Version Description
- Fix : fixed issues with paging introduced in 1.7.4
- Fix : fixed conflicts with other lazy loading plugins
- Update : FooGallery client side 1.2.3
Download this release
Release Info
Developer | bradvin |
Plugin | FooGallery – Image Gallery WordPress Plugin |
Version | 1.7.6 |
Comparing to | |
See all releases |
Code changes from version 1.6.17 to 1.7.6
- .gitignore +0 -1
- README.txt +17 -2
- assets/1x1.gif +0 -0
- extensions/default-templates/shared/css/foogallery.css +8 -12
- extensions/default-templates/shared/css/foogallery.min.css +1 -1
- extensions/default-templates/shared/js/foogallery.js +140 -137
- extensions/default-templates/shared/js/foogallery.min.js +4 -4
- foogallery.php +4 -5
- freemius/templates/debug.php +726 -726
- gutenberg/class-foogallery-blocks.php +0 -23
- gutenberg/dist/blocks.build.js +1 -1
- gutenberg/dist/blocks.editor.build.css +2 -2
- gutenberg/src/block/edit/components/modal/editor.scss +15 -4
- gutenberg/src/block/edit/components/modal/index.js +26 -11
- includes/admin/class-settings.php +0 -8
- includes/class-foogallery-force-https.php +94 -0
- includes/class-foogallery-lazyload.php +14 -23
- includes/foopluginbase/.gitignore +183 -0
- includes/functions.php +2 -0
- includes/includes.php +1 -0
- includes/render-functions.php +12 -10
- js/foogallery.admin.min.js +1 -1
- package-lock.json +670 -335
- package.json +1 -1
.gitignore
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
*~
|
2 |
apigen
|
3 |
documentation
|
4 |
-
dist
|
5 |
vendor
|
6 |
node_modules
|
7 |
.DS_Store
|
1 |
*~
|
2 |
apigen
|
3 |
documentation
|
|
|
4 |
vendor
|
5 |
node_modules
|
6 |
.DS_Store
|
README.txt
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
=== FooGallery - Image Gallery WordPress Plugin ===
|
2 |
-
Contributors: bradvin, steveush, fooplugins
|
3 |
Donate link: http://fooplugins.com
|
4 |
Tags: gallery, image gallery, photo gallery, responsive, album, media gallery, masonry gallery, portfolio, justified gallery, video gallery, photography, youtube gallery
|
5 |
Requires at least: 3.9
|
6 |
-
Tested up to: 5.1
|
7 |
Stable tag: trunk
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -58,6 +58,7 @@ https://youtu.be/zY8eSTEIwpU
|
|
58 |
* Video Support - [demo](https://foo.gallery/demos/video-gallery-demos/)
|
59 |
* Media Tags and Categories
|
60 |
* Gallery Filtering using Media Tags or Categories - [demo](https://foo.gallery/demos/filtering-demos/)
|
|
|
61 |
* Polaroid PRO Gallery Template - [demo](https://foo.gallery/demos/polaroid-pro-image-gallery/)
|
62 |
* Grid PRO Gallery Template - [demo](https://foo.gallery/demos/grid-pro-demo/)
|
63 |
* Slider PRO Gallery Template - [demo](https://foo.gallery/demos/slider-pro/)
|
@@ -143,6 +144,20 @@ Update now to get all the latest features, bug fixes and improvements!
|
|
143 |
|
144 |
== Changelog ==
|
145 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
= 1.6.17 =
|
147 |
* IMPORTANT : Please update to address a security vulnerability.
|
148 |
* Fix : Security vulnerability
|
1 |
=== FooGallery - Image Gallery WordPress Plugin ===
|
2 |
+
Contributors: bradvin, steveush, fooplugins, freemius
|
3 |
Donate link: http://fooplugins.com
|
4 |
Tags: gallery, image gallery, photo gallery, responsive, album, media gallery, masonry gallery, portfolio, justified gallery, video gallery, photography, youtube gallery
|
5 |
Requires at least: 3.9
|
6 |
+
Tested up to: 5.1.1
|
7 |
Stable tag: trunk
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
58 |
* Video Support - [demo](https://foo.gallery/demos/video-gallery-demos/)
|
59 |
* Media Tags and Categories
|
60 |
* Gallery Filtering using Media Tags or Categories - [demo](https://foo.gallery/demos/filtering-demos/)
|
61 |
+
* 12 CSS thumbnail filters (Instagram) - [demo](https://foo.gallery/demos/thumbnail-filters/)
|
62 |
* Polaroid PRO Gallery Template - [demo](https://foo.gallery/demos/polaroid-pro-image-gallery/)
|
63 |
* Grid PRO Gallery Template - [demo](https://foo.gallery/demos/grid-pro-demo/)
|
64 |
* Slider PRO Gallery Template - [demo](https://foo.gallery/demos/slider-pro/)
|
144 |
|
145 |
== Changelog ==
|
146 |
|
147 |
+
= 1.7.6 =
|
148 |
+
* Fix : fixed issues with paging introduced in 1.7.4
|
149 |
+
* Fix : fixed conflicts with other lazy loading plugins
|
150 |
+
* Update : FooGallery client side 1.2.3
|
151 |
+
|
152 |
+
= 1.7.4 =
|
153 |
+
* New : Major performance enhancements for all galleries
|
154 |
+
* New : Performance enhancements with FooBox
|
155 |
+
* New : Force HTTPS setting for migrated sites
|
156 |
+
* New : FooGallery Gutenberg block gallery search
|
157 |
+
* Fix : fixed scroll blocking violation warnings in dev tools
|
158 |
+
* Fix : fixed Wistia video import issues
|
159 |
+
* Update : FooGallery client side 1.2.2
|
160 |
+
|
161 |
= 1.6.17 =
|
162 |
* IMPORTANT : Please update to address a security vulnerability.
|
163 |
* Fix : Security vulnerability
|
assets/1x1.gif
ADDED
Binary file
|
extensions/default-templates/shared/css/foogallery.css
CHANGED
@@ -80,7 +80,6 @@ only screen and (min-resolution: 2.25dppx) {
|
|
80 |
outline: 0;
|
81 |
text-decoration: none;
|
82 |
z-index: 4;
|
83 |
-
-moz-box-shadow: none;
|
84 |
box-shadow: none;
|
85 |
}
|
86 |
.foogallery .fg-thumb:hover,
|
@@ -88,7 +87,6 @@ only screen and (min-resolution: 2.25dppx) {
|
|
88 |
border: none;
|
89 |
outline: 0;
|
90 |
text-decoration: none;
|
91 |
-
-moz-box-shadow: none;
|
92 |
box-shadow: none;
|
93 |
}
|
94 |
.foogallery .fg-image-wrap {
|
@@ -1176,8 +1174,6 @@ only screen and (min-resolution: 2.25dppx) {
|
|
1176 |
transform: translateX(-100%);
|
1177 |
}
|
1178 |
.fg-paging-container, .fg-paging-container *, .fg-paging-container *:before, .fg-paging-container *:after {
|
1179 |
-
-webkit-box-sizing: border-box;
|
1180 |
-
-moz-box-sizing: border-box;
|
1181 |
box-sizing: border-box;
|
1182 |
}
|
1183 |
.fg-paging-container {
|
@@ -1268,22 +1264,22 @@ only screen and (min-resolution: 2.25dppx) {
|
|
1268 |
}
|
1269 |
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link {
|
1270 |
background-color: #eee;
|
1271 |
-
border-color: #
|
1272 |
}
|
1273 |
.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link {
|
1274 |
-
border-color: #
|
1275 |
}
|
1276 |
.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link:before,
|
1277 |
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:hover:before,
|
1278 |
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:focus:before {
|
1279 |
background-color: #666;
|
1280 |
-
border-color: #
|
1281 |
}
|
1282 |
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link,
|
1283 |
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:hover,
|
1284 |
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:focus {
|
1285 |
background-color: #eee;
|
1286 |
-
border-color: #
|
1287 |
opacity: 0.5;
|
1288 |
}
|
1289 |
|
@@ -1402,8 +1398,6 @@ only screen and (min-resolution: 2.25dppx) {
|
|
1402 |
}
|
1403 |
/* Base styles */
|
1404 |
.fg-masonry * {
|
1405 |
-
-webkit-box-sizing: border-box;
|
1406 |
-
-moz-box-sizing: border-box;
|
1407 |
box-sizing: border-box;
|
1408 |
}
|
1409 |
.foogallery.fg-masonry.fg-center {
|
@@ -1936,7 +1930,6 @@ only screen and (min-resolution: 2.25dppx) {
|
|
1936 |
.foogallery.fg-preset.fg-polaroid .fg-item {
|
1937 |
-webkit-backface-visibility: hidden;
|
1938 |
backface-visibility: hidden;
|
1939 |
-
-webkit-transition: -webkit-transform 0.35s, background-color 0.65s;
|
1940 |
transition: transform 0.35s, background-color 0.65s;
|
1941 |
}
|
1942 |
.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(2n+1) {
|
@@ -2064,7 +2057,7 @@ only screen and (min-resolution: 2.25dppx) {
|
|
2064 |
}
|
2065 |
|
2066 |
.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item {
|
2067 |
-
position:
|
2068 |
visibility: visible;
|
2069 |
opacity: 1;
|
2070 |
border: none;
|
@@ -2073,6 +2066,9 @@ only screen and (min-resolution: 2.25dppx) {
|
|
2073 |
box-shadow: none;
|
2074 |
max-width: 100%;
|
2075 |
}
|
|
|
|
|
|
|
2076 |
.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb img {
|
2077 |
display: block;
|
2078 |
max-width: 100%;
|
80 |
outline: 0;
|
81 |
text-decoration: none;
|
82 |
z-index: 4;
|
|
|
83 |
box-shadow: none;
|
84 |
}
|
85 |
.foogallery .fg-thumb:hover,
|
87 |
border: none;
|
88 |
outline: 0;
|
89 |
text-decoration: none;
|
|
|
90 |
box-shadow: none;
|
91 |
}
|
92 |
.foogallery .fg-image-wrap {
|
1174 |
transform: translateX(-100%);
|
1175 |
}
|
1176 |
.fg-paging-container, .fg-paging-container *, .fg-paging-container *:before, .fg-paging-container *:after {
|
|
|
|
|
1177 |
box-sizing: border-box;
|
1178 |
}
|
1179 |
.fg-paging-container {
|
1264 |
}
|
1265 |
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link {
|
1266 |
background-color: #eee;
|
1267 |
+
border-color: #9d9d9d;
|
1268 |
}
|
1269 |
.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link {
|
1270 |
+
border-color: #888;
|
1271 |
}
|
1272 |
.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link:before,
|
1273 |
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:hover:before,
|
1274 |
.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:focus:before {
|
1275 |
background-color: #666;
|
1276 |
+
border-color: #888;
|
1277 |
}
|
1278 |
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link,
|
1279 |
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:hover,
|
1280 |
.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:focus {
|
1281 |
background-color: #eee;
|
1282 |
+
border-color: #9d9d9d;
|
1283 |
opacity: 0.5;
|
1284 |
}
|
1285 |
|
1398 |
}
|
1399 |
/* Base styles */
|
1400 |
.fg-masonry * {
|
|
|
|
|
1401 |
box-sizing: border-box;
|
1402 |
}
|
1403 |
.foogallery.fg-masonry.fg-center {
|
1930 |
.foogallery.fg-preset.fg-polaroid .fg-item {
|
1931 |
-webkit-backface-visibility: hidden;
|
1932 |
backface-visibility: hidden;
|
|
|
1933 |
transition: transform 0.35s, background-color 0.65s;
|
1934 |
}
|
1935 |
.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(2n+1) {
|
2057 |
}
|
2058 |
|
2059 |
.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item {
|
2060 |
+
position: absolute;
|
2061 |
visibility: visible;
|
2062 |
opacity: 1;
|
2063 |
border: none;
|
2066 |
box-shadow: none;
|
2067 |
max-width: 100%;
|
2068 |
}
|
2069 |
+
.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item:first-of-type {
|
2070 |
+
position: relative;
|
2071 |
+
}
|
2072 |
.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb img {
|
2073 |
display: block;
|
2074 |
max-width: 100%;
|
extensions/default-templates/shared/css/foogallery.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.foogallery,.foogallery *{box-sizing:border-box}.foogallery{display:block;z-index:1;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;position:relative;line-height:0;font-size:0;width:100%;max-width:100%}.foogallery .fg-item{display:inline-block;position:relative;background-color:transparent;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.foogallery .fg-item-inner{display:block;position:relative;visibility:hidden;overflow:hidden;opacity:0;z-index:3;margin:0;border:solid 0 transparent}.foogallery .fg-item.fg-error,.foogallery .fg-item.fg-loading{background:no-repeat center}.foogallery .fg-item.fg-error{background-image:url(../img/image.png)}@media only screen and (-o-min-device-pixel-ratio:5/4),only screen and (-webkit-min-device-pixel-ratio:1.25),only screen and (min-device-pixel-ratio:1.25),only screen and (min-resolution:1.25dppx){.foogallery .fg-item.fg-error{background-image:url(../img/image@2x.png)}}@media only screen and (-o-min-device-pixel-ratio:9/4),only screen and (-webkit-min-device-pixel-ratio:2.25),only screen and (min-device-pixel-ratio:2.25),only screen and (min-resolution:2.25dppx){.foogallery .fg-item.fg-error{background-image:url(../img/image@3x.png)}}.foogallery .fg-item.fg-loaded{z-index:4}.foogallery .fg-loaded .fg-item-inner{visibility:visible;opacity:1;z-index:5}.foogallery .fg-error .fg-item-inner{pointer-events:none;cursor:default}.foogallery .fg-thumb{display:block;position:relative;border:none;outline:0;text-decoration:none;z-index:4;-moz-box-shadow:none;box-shadow:none}.foogallery .fg-thumb:focus,.foogallery .fg-thumb:hover{border:none;outline:0;text-decoration:none;-moz-box-shadow:none;box-shadow:none}.foogallery .fg-image-wrap{display:block;position:relative}.foogallery .fg-image{display:block;position:relative;border:none;outline:0;text-decoration:none;z-index:5;max-width:none;height:auto;margin:0}.foogallery .fg-loaded .fg-thumb{z-index:6}.foogallery .fg-loaded .fg-image{z-index:7}.foogallery.fg-light .fg-item-inner{background-color:#fff;color:#333;border-color:#fff}.foogallery.fg-dark .fg-item-inner{background-color:#333;color:#fff;border-color:#333}.foogallery.fg-light .fg-item.fg-error,.foogallery.fg-light .fg-item.fg-idle,.foogallery.fg-light .fg-item.fg-loading{background-color:#eee;box-shadow:inset 0 0 0 1px #ddd}.foogallery.fg-dark .fg-item.fg-error,.foogallery.fg-dark .fg-item.fg-idle,.foogallery.fg-dark .fg-item.fg-loading{background-color:#444;box-shadow:inset 0 0 0 1px #333}.foogallery.fg-border-thin .fg-item-inner{border-width:4px}.foogallery.fg-border-medium .fg-item-inner{border-width:10px}.foogallery.fg-border-thick .fg-item-inner{border-width:16px}.foogallery.fg-light.fg-shadow-outline .fg-item-inner{box-shadow:0 0 0 1px #ddd}.foogallery.fg-dark.fg-shadow-outline .fg-item-inner{box-shadow:0 0 0 1px #222}.foogallery.fg-dark.fg-shadow-small .fg-item-inner,.foogallery.fg-light.fg-shadow-small .fg-item-inner{box-shadow:0 1px 4px 0 rgba(0,0,0,.5)}.foogallery.fg-dark.fg-shadow-medium .fg-item-inner,.foogallery.fg-light.fg-shadow-medium .fg-item-inner{box-shadow:0 1px 10px 0 rgba(0,0,0,.5)}.foogallery.fg-dark.fg-shadow-large .fg-item-inner,.foogallery.fg-light.fg-shadow-large .fg-item-inner{box-shadow:0 1px 16px 0 rgba(0,0,0,.5)}.foogallery.fg-shadow-inset-large .fg-thumb:after,.foogallery.fg-shadow-inset-medium .fg-thumb:after,.foogallery.fg-shadow-inset-small .fg-thumb:after{display:block;content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:7}.foogallery.fg-dark.fg-shadow-inset-small .fg-thumb:after,.foogallery.fg-light.fg-shadow-inset-small .fg-thumb:after{box-shadow:inset 0 1px 4px 0 rgba(0,0,0,.3)}.foogallery.fg-dark.fg-shadow-inset-medium .fg-thumb:after,.foogallery.fg-light.fg-shadow-inset-medium .fg-thumb:after{box-shadow:inset 0 1px 10px 0 rgba(0,0,0,.3)}.foogallery.fg-dark.fg-shadow-inset-large .fg-thumb:after,.foogallery.fg-light.fg-shadow-inset-large .fg-thumb:after{box-shadow:inset 0 1px 16px 0 rgba(0,0,0,.3)}.foogallery.fg-round-full.fg-shadow-inset-large .fg-thumb:after,.foogallery.fg-round-full.fg-shadow-inset-medium .fg-thumb:after,.foogallery.fg-round-full.fg-shadow-inset-small .fg-thumb:after{border-radius:50%}.foogallery.fg-round-small .fg-item,.foogallery.fg-round-small .fg-item-inner{border-radius:5px}.foogallery.fg-round-medium .fg-item,.foogallery.fg-round-medium .fg-item-inner{border-radius:10px}.foogallery.fg-round-large .fg-item,.foogallery.fg-round-large .fg-item-inner{border-radius:15px}.foogallery.fg-round-full .fg-item,.foogallery.fg-round-full .fg-item-inner{border-radius:50%}.foogallery .fg-loader{position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);width:1em;height:1em;font-size:5px;visibility:hidden;opacity:0}.foogallery .fg-loading .fg-loader{visibility:visible;opacity:1}.fg-loading-default .fg-loader{border-radius:50%;text-indent:-9999em;-webkit-animation:loading-default 1.1s infinite ease;animation:loading-default 1.1s infinite ease}@-webkit-keyframes loading-default{0%,100%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,1),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.5),-1.8em -1.8em 0 0 rgba(130,130,130,.7)}12.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.7),1.8em -1.8em 0 0 rgba(130,130,130,1),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.5)}25%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.5),1.8em -1.8em 0 0 rgba(130,130,130,.7),2.5em 0 0 0 rgba(130,130,130,1),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}37.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.5),2.5em 0 0 0 rgba(130,130,130,.7),1.75em 1.75em 0 0 rgba(130,130,130,1),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}50%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.5),1.75em 1.75em 0 0 rgba(130,130,130,.7),0 2.5em 0 0 rgba(130,130,130,1),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}62.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.5),0 2.5em 0 0 rgba(130,130,130,.7),-1.8em 1.8em 0 0 rgba(130,130,130,1),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}75%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.5),-1.8em 1.8em 0 0 rgba(130,130,130,.7),-2.6em 0 0 0 rgba(130,130,130,1),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}87.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.5),-2.6em 0 0 0 rgba(130,130,130,.7),-1.8em -1.8em 0 0 rgba(130,130,130,1)}}@keyframes loading-default{0%,100%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,1),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.5),-1.8em -1.8em 0 0 rgba(130,130,130,.7)}12.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.7),1.8em -1.8em 0 0 rgba(130,130,130,1),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.5)}25%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.5),1.8em -1.8em 0 0 rgba(130,130,130,.7),2.5em 0 0 0 rgba(130,130,130,1),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}37.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.5),2.5em 0 0 0 rgba(130,130,130,.7),1.75em 1.75em 0 0 rgba(130,130,130,1),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}50%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.5),1.75em 1.75em 0 0 rgba(130,130,130,.7),0 2.5em 0 0 rgba(130,130,130,1),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}62.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.5),0 2.5em 0 0 rgba(130,130,130,.7),-1.8em 1.8em 0 0 rgba(130,130,130,1),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}75%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.5),-1.8em 1.8em 0 0 rgba(130,130,130,.7),-2.6em 0 0 0 rgba(130,130,130,1),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}87.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.5),-2.6em 0 0 0 rgba(130,130,130,.7),-1.8em -1.8em 0 0 rgba(130,130,130,1)}}.fg-loading-bars .fg-loader,.fg-loading-bars .fg-loader:after,.fg-loading-bars .fg-loader:before{background:rgba(130,130,130,1);-webkit-animation:loading-bars 1s infinite ease-in-out;animation:loading-bars 1s infinite ease-in-out;width:1em;height:4em}.fg-loading-bars .fg-loader{color:rgba(130,130,130,1);text-indent:-9999em;font-size:4px;-webkit-animation-delay:-.16s;animation-delay:-.16s}.fg-loading-bars .fg-loader:after,.fg-loading-bars .fg-loader:before{position:absolute;top:0;content:''}.fg-loading-bars .fg-loader:before{left:-1.5em;-webkit-animation-delay:-.32s;animation-delay:-.32s}.fg-loading-bars .fg-loader:after{left:1.5em}@-webkit-keyframes loading-bars{0%,100%,80%{box-shadow:0 0;height:4em}40%{box-shadow:0 -2em;height:5em}}@keyframes loading-bars{0%,100%,80%{box-shadow:0 0;height:4em}40%{box-shadow:0 -2em;height:5em}}.fg-loading-trail .fg-loader{color:#828282;font-size:20px;text-indent:-9999em;overflow:hidden;border-radius:50%;-webkit-animation:loading-trail-1 1.7s infinite ease,loading-trail-2 1.7s infinite ease;animation:loading-trail-1 1.7s infinite ease,loading-trail-2 1.7s infinite ease}@-webkit-keyframes loading-trail-1{0%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}5%,95%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}10%,59%{box-shadow:0 -.83em 0 -.4em,-.087em -.825em 0 -.42em,-.173em -.812em 0 -.44em,-.256em -.789em 0 -.46em,-.297em -.775em 0 -.477em}20%{box-shadow:0 -.83em 0 -.4em,-.338em -.758em 0 -.42em,-.555em -.617em 0 -.44em,-.671em -.488em 0 -.46em,-.749em -.34em 0 -.477em}38%{box-shadow:0 -.83em 0 -.4em,-.377em -.74em 0 -.42em,-.645em -.522em 0 -.44em,-.775em -.297em 0 -.46em,-.82em -.09em 0 -.477em}100%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}}@keyframes loading-trail-1{0%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}5%,95%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}10%,59%{box-shadow:0 -.83em 0 -.4em,-.087em -.825em 0 -.42em,-.173em -.812em 0 -.44em,-.256em -.789em 0 -.46em,-.297em -.775em 0 -.477em}20%{box-shadow:0 -.83em 0 -.4em,-.338em -.758em 0 -.42em,-.555em -.617em 0 -.44em,-.671em -.488em 0 -.46em,-.749em -.34em 0 -.477em}38%{box-shadow:0 -.83em 0 -.4em,-.377em -.74em 0 -.42em,-.645em -.522em 0 -.44em,-.775em -.297em 0 -.46em,-.82em -.09em 0 -.477em}100%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}}@-webkit-keyframes loading-trail-2{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}@keyframes loading-trail-2{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}.fg-loading-pulse .fg-loader,.fg-loading-pulse .fg-loader:after,.fg-loading-pulse .fg-loader:before{border-radius:50%;width:2.5em;height:2.5em;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation:loading-pulse 1.8s infinite ease-in-out;animation:loading-pulse 1.8s infinite ease-in-out}.fg-loading-pulse .fg-loader{color:#828282;font-size:4px;text-indent:-9999em;transform:translateX(-50%) translateY(-150%);-webkit-animation-delay:-.16s;animation-delay:-.16s}.fg-loading-pulse .fg-loader:after,.fg-loading-pulse .fg-loader:before{content:'';position:absolute;top:0}.fg-loading-pulse .fg-loader:before{left:-3.5em;-webkit-animation-delay:-.32s;animation-delay:-.32s}.fg-loading-pulse .fg-loader:after{left:3.5em}@-webkit-keyframes loading-pulse{0%,100%,80%{box-shadow:0 2.5em 0 -1.3em}40%{box-shadow:0 2.5em 0 0}}@keyframes loading-pulse{0%,100%,80%{box-shadow:0 2.5em 0 -1.3em}40%{box-shadow:0 2.5em 0 0}}.fg-loading-dots .fg-loader{color:#828282;font-size:5px;border-radius:50%;text-indent:-9999em;-webkit-animation:loading-dots 1.3s infinite linear;animation:loading-dots 1.3s infinite linear}@-webkit-keyframes loading-dots{0%,100%{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}@keyframes loading-dots{0%,100%{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}.fg-loading-partial .fg-loader,.fg-loading-partial .fg-loader:after{border-radius:50%;width:10em;height:10em}.fg-loading-partial .fg-loader{font-size:4px;text-indent:-9999em;border-top:1.1em solid rgba(130,130,130,.2);border-right:1.1em solid rgba(130,130,130,.2);border-bottom:1.1em solid rgba(130,130,130,.2);border-left:1.1em solid #828282;-webkit-animation:loading-partial 1.1s infinite linear;animation:loading-partial 1.1s infinite linear}@-webkit-keyframes loading-partial{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}@keyframes loading-partial{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}.foogallery.fg-loaded-drop .fg-item,.foogallery.fg-loaded-fade-in .fg-item,.foogallery.fg-loaded-flip .fg-item,.foogallery.fg-loaded-fly .fg-item,.foogallery.fg-loaded-scale-up .fg-item,.foogallery.fg-loaded-slide-down .fg-item,.foogallery.fg-loaded-slide-left .fg-item,.foogallery.fg-loaded-slide-right .fg-item,.foogallery.fg-loaded-slide-up .fg-item,.foogallery.fg-loaded-swing-down .fg-item{transition-timing-function:ease;transition-duration:650ms;transition-property:background-color,transform}.foogallery.fg-loaded-drop .fg-item-inner,.foogallery.fg-loaded-fade-in .fg-item-inner,.foogallery.fg-loaded-flip .fg-item-inner,.foogallery.fg-loaded-fly .fg-item-inner,.foogallery.fg-loaded-scale-up .fg-item-inner,.foogallery.fg-loaded-slide-down .fg-item-inner,.foogallery.fg-loaded-slide-left .fg-item-inner,.foogallery.fg-loaded-slide-right .fg-item-inner,.foogallery.fg-loaded-slide-up .fg-item-inner,.foogallery.fg-loaded-swing-down .fg-item-inner{transition-timing-function:ease;transition-duration:650ms}.foogallery.fg-loaded-drop .fg-item.fg-loaded,.foogallery.fg-loaded-flip .fg-item.fg-loaded,.foogallery.fg-loaded-fly .fg-item.fg-loaded,.foogallery.fg-loaded-swing-down .fg-item.fg-loaded{perspective:1300px}.foogallery.fg-loaded-fade-in .fg-item-inner{transition-property:visibility,opacity}.foogallery .fg-caption{visibility:hidden;opacity:0;background-color:rgba(0,0,0,.6);color:#fff;position:absolute;z-index:8;width:100%;max-height:100%;overflow:hidden;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:13px;font-weight:400;line-height:1.3;border:none;text-align:center;cursor:pointer}.foogallery .fg-caption a{text-decoration:none;color:#fff;border-bottom:1px solid #fff}.foogallery .fg-caption a:hover{border-bottom:none}.foogallery .fg-caption-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:400;padding:5px}.foogallery .fg-caption-desc{padding:5px}.foogallery .fg-caption-title+.fg-caption-desc{padding-top:0}.foogallery.fg-caption-always .fg-caption .fg-caption-inner:before{display:none}.foogallery.fg-caption-always .fg-item.fg-loaded .fg-caption{left:0;bottom:0;transition-timing-function:ease;transition-duration:.3s;transition-property:visibility,opacity;visibility:visible;opacity:1;text-align:left}.foogallery.fg-caption-hover .fg-caption .fg-caption-inner{width:100%;max-height:100%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.foogallery.fg-caption-hover .fg-item.fg-loaded .fg-thumb:before{display:none}.foogallery.fg-hover-circle-plus .fg-thumb:before,.foogallery.fg-hover-external .fg-thumb:before,.foogallery.fg-hover-eye .fg-thumb:before,.foogallery.fg-hover-plus .fg-thumb:before,.foogallery.fg-hover-tint .fg-thumb:before,.foogallery.fg-hover-zoom .fg-thumb:before,.foogallery.fg-hover-zoom2 .fg-thumb:before,.foogallery.fg-hover-zoom3 .fg-thumb:before{content:"";display:block;position:absolute;visibility:hidden;opacity:0;top:0;bottom:0;left:0;right:0;z-index:8;background:rgba(0,0,0,.5) no-repeat center center;background-size:32px 32px}.foogallery.fg-hover-circle-plus .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-circle-plus .fg-thumb:focus:before,.foogallery.fg-hover-external .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-external .fg-thumb:focus:before,.foogallery.fg-hover-eye .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-eye .fg-thumb:focus:before,.foogallery.fg-hover-plus .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-plus .fg-thumb:focus:before,.foogallery.fg-hover-tint .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-tint .fg-thumb:focus:before,.foogallery.fg-hover-zoom .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-zoom .fg-thumb:focus:before,.foogallery.fg-hover-zoom2 .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-zoom2 .fg-thumb:focus:before,.foogallery.fg-hover-zoom3 .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-zoom3 .fg-thumb:focus:before{visibility:visible;opacity:1}.foogallery.fg-hover-circle-plus .fg-caption-inner:before,.foogallery.fg-hover-external .fg-caption-inner:before,.foogallery.fg-hover-eye .fg-caption-inner:before,.foogallery.fg-hover-plus .fg-caption-inner:before,.foogallery.fg-hover-tint .fg-caption-inner:before,.foogallery.fg-hover-zoom .fg-caption-inner:before,.foogallery.fg-hover-zoom2 .fg-caption-inner:before,.foogallery.fg-hover-zoom3 .fg-caption-inner:before{content:"";display:inline-block;position:relative;width:32px;height:32px;margin:10px 0 5px 0;background:transparent no-repeat center center;background-size:32px 32px;vertical-align:middle}.foogallery.fg-hover-zoom .fg-caption-inner:before,.foogallery.fg-hover-zoom .fg-thumb:before{background-image:url(../img/zoom.png)}.foogallery.fg-hover-zoom2 .fg-caption-inner:before,.foogallery.fg-hover-zoom2 .fg-thumb:before{background-image:url(../img/zoom2.png)}.foogallery.fg-hover-zoom3 .fg-caption-inner:before,.foogallery.fg-hover-zoom3 .fg-thumb:before{background-image:url(../img/zoom3.png)}.foogallery.fg-hover-plus .fg-caption-inner:before,.foogallery.fg-hover-plus .fg-thumb:before{background-image:url(../img/plus.png)}.foogallery.fg-hover-circle-plus .fg-caption-inner:before,.foogallery.fg-hover-circle-plus .fg-thumb:before{background-image:url(../img/circle-plus.png)}.foogallery.fg-hover-eye .fg-caption-inner:before,.foogallery.fg-hover-eye .fg-thumb:before{background-image:url(../img/eye.png)}.foogallery.fg-hover-external .fg-caption-inner:before,.foogallery.fg-hover-external .fg-thumb:before{background-image:url(../img/external.png)}@media only screen and (-o-min-device-pixel-ratio:5/4),only screen and (-webkit-min-device-pixel-ratio:1.25),only screen and (min-device-pixel-ratio:1.25),only screen and (min-resolution:1.25dppx){.foogallery.fg-hover-zoom .fg-caption-inner:before,.foogallery.fg-hover-zoom .fg-thumb:before{background-image:url(../img/zoom@2x.png)}.foogallery.fg-hover-zoom2 .fg-caption-inner:before,.foogallery.fg-hover-zoom2 .fg-thumb:before{background-image:url(../img/zoom2@2x.png)}.foogallery.fg-hover-zoom3 .fg-caption-inner:before,.foogallery.fg-hover-zoom3 .fg-thumb:before{background-image:url(../img/zoom3@2x.png)}.foogallery.fg-hover-plus .fg-caption-inner:before,.foogallery.fg-hover-plus .fg-thumb:before{background-image:url(../img/plus@2x.png)}.foogallery.fg-hover-circle-plus .fg-caption-inner:before,.foogallery.fg-hover-circle-plus .fg-thumb:before{background-image:url(../img/circle-plus@2x.png)}.foogallery.fg-hover-eye .fg-caption-inner:before,.foogallery.fg-hover-eye .fg-thumb:before{background-image:url(../img/eye@2x.png)}.foogallery.fg-hover-external .fg-caption-inner:before,.foogallery.fg-hover-external .fg-thumb:before{background-image:url(../img/external@2x.png)}}@media only screen and (-o-min-device-pixel-ratio:9/4),only screen and (-webkit-min-device-pixel-ratio:2.25),only screen and (min-device-pixel-ratio:2.25),only screen and (min-resolution:2.25dppx){.foogallery.fg-hover-zoom .fg-caption-inner:before,.foogallery.fg-hover-zoom .fg-thumb:before{background-image:url(../img/zoom@3x.png)}.foogallery.fg-hover-zoom2 .fg-caption-inner:before,.foogallery.fg-hover-zoom2 .fg-thumb:before{background-image:url(../img/zoom2@3x.png)}.foogallery.fg-hover-zoom3 .fg-caption-inner:before,.foogallery.fg-hover-zoom3 .fg-thumb:before{background-image:url(../img/zoom3@3x.png)}.foogallery.fg-hover-plus .fg-caption-inner:before,.foogallery.fg-hover-plus .fg-thumb:before{background-image:url(../img/plus@3x.png)}.foogallery.fg-hover-circle-plus .fg-caption-inner:before,.foogallery.fg-hover-circle-plus .fg-thumb:before{background-image:url(../img/circle-plus@3x.png)}.foogallery.fg-hover-eye .fg-caption-inner:before,.foogallery.fg-hover-eye .fg-thumb:before{background-image:url(../img/eye@3x.png)}.foogallery.fg-hover-external .fg-caption-inner:before,.foogallery.fg-hover-external .fg-thumb:before{background-image:url(../img/external@3x.png)}}.foogallery.fg-caption-hover.fg-hover-colorize .fg-caption,.foogallery.fg-caption-hover.fg-hover-fade .fg-caption,.foogallery.fg-caption-hover.fg-hover-grayscale .fg-caption,.foogallery.fg-caption-hover.fg-hover-instant .fg-caption,.foogallery.fg-caption-hover.fg-hover-push .fg-caption,.foogallery.fg-caption-hover.fg-hover-scale .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-down .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-left .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-right .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-up .fg-caption,.foogallery.fg-hover-colorize .fg-image,.foogallery.fg-hover-colorize .fg-thumb:before,.foogallery.fg-hover-fade .fg-thumb:before,.foogallery.fg-hover-grayscale .fg-image,.foogallery.fg-hover-grayscale .fg-thumb:before,.foogallery.fg-hover-instant .fg-thumb:before,.foogallery.fg-hover-push .fg-thumb,.foogallery.fg-hover-scale .fg-item,.foogallery.fg-hover-scale .fg-thumb:before,.foogallery.fg-hover-slide-down .fg-thumb:before,.foogallery.fg-hover-slide-left .fg-thumb:before,.foogallery.fg-hover-slide-right .fg-thumb:before,.foogallery.fg-hover-slide-up .fg-thumb:before{transition-timing-function:ease;transition-duration:.3s}.foogallery.fg-hover-colorize .fg-image{filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'saturate\' values=\'0\'/></filter></svg>#grayscale");filter:gray;-webkit-filter:grayscale(100%);-webkit-transition-property:-webkit-filter;transition-property:filter}.foogallery.fg-hover-colorize .fg-item-inner:hover .fg-image{-webkit-filter:none;filter:none}.foogallery.fg-caption-hover.fg-hover-colorize .fg-caption,.foogallery.fg-hover-colorize .fg-thumb:before{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-colorize .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-colorize .fg-item-inner:hover .fg-thumb:before{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-caption,.foogallery.fg-hover-fade .fg-loaded .fg-thumb:before{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-fade .fg-loaded .fg-item-inner:hover .fg-thumb:before{visibility:visible;opacity:1}.foogallery.fg-hover-grayscale .fg-image{-webkit-filter:none;filter:none;-webkit-transition-property:-webkit-filter;transition-property:filter}.foogallery.fg-hover-grayscale .fg-item-inner:hover .fg-image{-webkit-filter:grayscale(1);-webkit-filter:grayscale(100%);filter:grayscale(100%);filter:gray;opacity:1}.foogallery.fg-caption-hover.fg-hover-grayscale .fg-caption,.foogallery.fg-hover-grayscale .fg-thumb:before{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-grayscale .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-grayscale .fg-item-inner:hover .fg-thumb:before{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-caption,.foogallery.fg-hover-instant .fg-loaded .fg-thumb:before{display:block;left:0;top:0;bottom:0;transition-property:none}.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-instant .fg-loaded .fg-item-inner:hover .fg-thumb:before{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption,.foogallery.fg-hover-push .fg-loaded .fg-thumb:before{display:block;left:0;top:0;bottom:0;transform:translateX(100%);visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption,.foogallery.fg-hover-push .fg-loaded .fg-thumb{transition-property:transform}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-caption{transform:translateY(0)}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-thumb,.foogallery.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-thumb{transform:translateX(-100%)}.foogallery.fg-hover-scale .fg-item{transition-property:transform;z-index:4}.foogallery.fg-hover-scale .fg-item:hover{transform:scale(1.048);z-index:10}.foogallery.fg-caption-hover.fg-hover-scale .fg-caption,.foogallery.fg-hover-scale .fg-thumb:before{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-scale .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-scale .fg-item-inner:hover .fg-thumb:before{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-caption,.foogallery.fg-hover-slide-down .fg-loaded .fg-thumb:before,.foogallery.fg-hover-slide-left .fg-loaded .fg-thumb:before,.foogallery.fg-hover-slide-right .fg-loaded .fg-thumb:before,.foogallery.fg-hover-slide-up .fg-loaded .fg-thumb:before{display:block;left:0;top:0;bottom:0;transition-property:transform,background-color,opacity,visibility;visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-slide-down .fg-loaded .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-slide-left .fg-loaded .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-slide-right .fg-loaded .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-slide-up .fg-loaded .fg-item-inner:hover .fg-thumb:before{transform:translateY(0) translateX(0)}.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-caption,.foogallery.fg-hover-slide-up .fg-loaded .fg-thumb:before{transform:translateY(100%)}.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-caption,.foogallery.fg-hover-slide-down .fg-loaded .fg-thumb:before{transform:translateY(-100%)}.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-caption,.foogallery.fg-hover-slide-left .fg-loaded .fg-thumb:before{transform:translateX(100%)}.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-caption,.foogallery.fg-hover-slide-right .fg-loaded .fg-thumb:before{transform:translateX(-100%)}.fg-paging-container,.fg-paging-container *,.fg-paging-container :after,.fg-paging-container :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fg-paging-container{display:block;padding:15px;text-align:center;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fg-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fg-paging-container .fg-dot-item,.fg-paging-container .fg-dots{display:inline-block;margin:0;padding:0;outline:0;list-style:none}.fg-paging-container .fg-dot-item .fg-dot-link{display:inline-block;margin:3px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;user-select:none;background-image:none;text-decoration:none;border:1px solid transparent;position:relative;border-radius:50%;padding:0;font-size:0;outline:0;color:transparent;box-shadow:none}.fg-paging-container .fg-dot-item .fg-dot-link:before{content:"";background-color:transparent;border:1px solid transparent;display:block;border-radius:50%;width:9px;height:9px;padding:0;margin:2px}.fg-paging-container .fg-dot-item .fg-dot-link:active,.fg-paging-container .fg-dot-item .fg-dot-link:focus,.fg-paging-container .fg-dot-item .fg-dot-link:hover{text-decoration:none;box-shadow:none;outline:0}.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link,.fg-paging-container .fg-dot-item.fg-selected .fg-dot-link{cursor:not-allowed;pointer-events:none}.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link{cursor:not-allowed;pointer-events:none;outline:0}.fg-paging-container.fg-light .fg-dot-item .fg-dot-link,.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:before{transition-timing-function:ease-out;transition-duration:.3s;transition-property:color,border-color,background-color}.fg-paging-container.fg-light .fg-dot-item .fg-dot-link{background-color:#eee;border-color:#9e9e9e}.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link{border-color:#8a8a8a}.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:focus:before,.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:hover:before,.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link:before{background-color:#666;border-color:#8a8a8a}.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link,.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:focus,.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:hover{background-color:#eee;border-color:#9e9e9e;opacity:.5}.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link,.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:before{transition-timing-function:ease-out;transition-duration:.3s;transition-property:color,border-color,background-color}.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link{background-color:#666;border-color:#333}.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link{border-color:#444}.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:focus:before,.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:hover:before,.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link:before{background-color:#333;border-color:#444}.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link,.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:focus,.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:hover{background-color:#666;border-color:#333;opacity:.5}.fg-default:after{content:'';display:block;clear:both}.fg-default .fg-item,.fg-default .fg-item-inner,.fg-default .fg-thumb{display:inline-block;vertical-align:top;max-width:100%}.fg-default .fg-image{border-radius:0;display:block;max-width:100%;height:auto;margin:0;padding:0}.fg-default .fg-image{vertical-align:top}.fg-default.fg-left{text-align:left}.fg-default.fg-center{text-align:center}.fg-default.fg-right{text-align:right}.fg-default.fg-gutter-5{padding-left:5px;margin-bottom:-5px}.fg-default.fg-gutter-5 .fg-item{margin-right:5px;margin-bottom:5px}.fg-default.fg-gutter-10{padding-left:10px;margin-bottom:-10px}.fg-default.fg-gutter-10 .fg-item{margin-right:10px;margin-bottom:10px}.fg-default.fg-gutter-15{padding-left:15px;margin-bottom:-15px}.fg-default.fg-gutter-15 .fg-item{margin-right:15px;margin-bottom:15px}.fg-default.fg-gutter-20{padding-left:20px;margin-bottom:-20px}.fg-default.fg-gutter-20 .fg-item{margin-right:20px;margin-bottom:20px}.fg-default.fg-gutter-25{padding-left:25px;margin-bottom:-25px}.fg-default.fg-gutter-25 .fg-item{margin-right:25px;margin-bottom:25px}.fg-masonry *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.foogallery.fg-masonry.fg-center{margin:0 auto}.fg-masonry .fg-thumb{display:block}.fg-masonry.fg-masonry-fixed .fg-thumb{display:inline-block}.fg-masonry.fg-masonry-fixed .fg-image{max-width:100%}.fg-masonry .fg-column-width{display:inline-block;visibility:hidden;height:0;border:solid 0 transparent}.fg-masonry.fg-masonry-2col .fg-image,.fg-masonry.fg-masonry-3col .fg-image,.fg-masonry.fg-masonry-4col .fg-image,.fg-masonry.fg-masonry-5col .fg-image{width:100%;height:auto;max-width:100%}.fg-masonry .fg-item{line-height:0;font-size:0}.fg-masonry.fg-masonry-fixed .fg-column-width,.fg-masonry.fg-masonry-fixed .fg-item{max-width:100%}.fg-masonry.fg-masonry-2col .fg-item{margin-bottom:1%;width:49%}.fg-masonry.fg-masonry-2col .fg-column-width{width:49%}.fg-masonry.fg-masonry-2col .fg-gutter-width{width:1%}.fg-masonry.fg-masonry-2col.fg-gutter-none .fg-item{margin-bottom:0;width:50%}.fg-masonry.fg-masonry-2col.fg-gutter-none .fg-column-width{width:50%}.fg-masonry.fg-masonry-2col.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-masonry-2col.fg-gutter-large .fg-item{margin-bottom:3%;width:47%}.fg-masonry.fg-masonry-2col.fg-gutter-large .fg-column-width{width:47%}.fg-masonry.fg-masonry-2col.fg-gutter-large .fg-gutter-width{width:3%}.fg-masonry.fg-masonry-3col .fg-item{margin-bottom:1%;width:32%}.fg-masonry.fg-masonry-3col .fg-column-width{width:32%}.fg-masonry.fg-masonry-3col .fg-gutter-width{width:1%}.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-item{margin-bottom:0;width:33%}.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-column-width{width:33%}.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-item{margin-bottom:3%;width:30%}.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-column-width{width:30%}.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-gutter-width{width:3%}.fg-masonry.fg-masonry-4col .fg-item{margin-bottom:1%;width:24%}.fg-masonry.fg-masonry-4col .fg-column-width{width:24%}.fg-masonry.fg-masonry-4col .fg-gutter-width{width:1%}.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-item{margin-bottom:0;width:25%}.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-column-width{width:25%}.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-item{margin-bottom:3%;width:22%}.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-column-width{width:22%}.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-gutter-width{width:3%}.fg-masonry.fg-masonry-5col .fg-item{margin-bottom:1%;width:19%}.fg-masonry.fg-masonry-5col .fg-column-width{width:19%}.fg-masonry.fg-masonry-5col .fg-gutter-width{width:1%}.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-item{margin-bottom:0;width:20%}.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-column-width{width:20%}.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-item{margin-bottom:3%;width:17%}.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-column-width{width:17%}.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-gutter-width{width:3%}@media screen and (max-width:720px){.fg-masonry.fg-masonry-4col .fg-item,.fg-masonry.fg-masonry-5col .fg-item{margin-bottom:1%;width:32%}.fg-masonry.fg-masonry-4col .fg-column-width,.fg-masonry.fg-masonry-5col .fg-column-width{width:32%}.fg-masonry.fg-masonry-4col .fg-gutter-width,.fg-masonry.fg-masonry-5col .fg-gutter-width{width:1%}.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-item,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-item{margin-bottom:0;width:33%}.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-column-width,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-column-width{width:33%}.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-item,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-item{margin-bottom:3%;width:30%}.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-column-width,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-column-width{width:30%}.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-gutter-width{width:3%}}@media screen and (max-width:480px){.fg-masonry.fg-masonry-3col .fg-item,.fg-masonry.fg-masonry-4col .fg-item,.fg-masonry.fg-masonry-5col .fg-item{margin-bottom:1%;width:49%}.fg-masonry.fg-masonry-3col .fg-column-width,.fg-masonry.fg-masonry-4col .fg-column-width,.fg-masonry.fg-masonry-5col .fg-column-width{width:49%}.fg-masonry.fg-masonry-3col .fg-gutter-width,.fg-masonry.fg-masonry-4col .fg-gutter-width,.fg-masonry.fg-masonry-5col .fg-gutter-width{width:1%}.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-item,.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-item,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-item{margin-bottom:0;width:50%}.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-column-width,.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-column-width,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-column-width{width:50%}.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-item,.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-item,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-item{margin-bottom:3%;width:47%}.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-column-width,.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-column-width,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-column-width{width:47%}.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-gutter-width{width:3%}}@media screen and (max-width:320px){.fg-masonry.fg-masonry-2col .fg-item,.fg-masonry.fg-masonry-3col .fg-item,.fg-masonry.fg-masonry-4col .fg-item,.fg-masonry.fg-masonry-5col .fg-item{margin-bottom:1%;width:100%}.fg-masonry.fg-masonry-2col .fg-column-width,.fg-masonry.fg-masonry-3col .fg-column-width,.fg-masonry.fg-masonry-4col .fg-column-width,.fg-masonry.fg-masonry-5col .fg-column-width{width:100%}.fg-masonry.fg-masonry-2col .fg-gutter-width,.fg-masonry.fg-masonry-3col .fg-gutter-width,.fg-masonry.fg-masonry-4col .fg-gutter-width,.fg-masonry.fg-masonry-5col .fg-gutter-width{width:0}.fg-masonry.fg-masonry-2col.fg-gutter-none .fg-item,.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-item,.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-item,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-item{margin-bottom:0;width:100%}.fg-masonry.fg-masonry-2col.fg-gutter-none .fg-column-width,.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-column-width,.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-column-width,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-column-width{width:100%}.fg-masonry.fg-masonry-2col.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-masonry-2col.fg-gutter-large .fg-item,.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-item,.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-item,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-item{margin-bottom:3%;width:100%}.fg-masonry.fg-masonry-2col.fg-gutter-large .fg-column-width,.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-column-width,.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-column-width,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-column-width{width:100%}.fg-masonry.fg-masonry-2col.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-gutter-width{width:0}}.foogallery.fg-border-thin .fg-column-width{border-width:4px}.foogallery.fg-border-medium .fg-column-width{border-width:10px}.foogallery.fg-border-thick .fg-column-width{border-width:16px}.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner .fg-caption{visibility:visible;opacity:1;font-size:13px;position:relative;display:block;top:auto;bottom:auto;left:auto;right:auto;width:auto;height:auto;text-transform:none;transform:none;transition:none;background-color:transparent;border-style:solid;border-color:transparent}.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner:hover .fg-caption{transform:none;transition:none}.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner .fg-caption-inner{display:block;position:relative;max-height:none;top:auto;bottom:auto;left:auto;right:auto;width:auto;height:auto;border:none;transform:none;transition:none}.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner .fg-caption-inner:before{display:none}.foogallery.fg-masonry.fg-captions-bottom.fg-caption-hover .fg-item-inner .fg-thumb:before{display:block}.foogallery.fg-masonry.fg-captions-bottom.fg-caption-always .fg-item-inner:hover .fg-caption{visibility:visible;opacity:1}.fg-masonry.fg-captions-bottom .fg-caption-desc,.fg-masonry.fg-captions-bottom .fg-caption-title{text-align:left}.fg-masonry.fg-captions-bottom.fg-dark .fg-caption,.fg-masonry.fg-captions-bottom.fg-light .fg-caption{color:#828282}.fg-masonry.fg-captions-bottom.fg-dark .fg-caption a,.fg-masonry.fg-captions-bottom.fg-light .fg-caption a{color:#828282;border-bottom:1px solid #828282}.fg-masonry.fg-captions-bottom.fg-dark .fg-caption a:hover,.fg-masonry.fg-captions-bottom.fg-light .fg-caption a:hover{border-bottom:none}.fg-masonry.fg-captions-bottom.fg-light .fg-caption-title,.fg-masonry.fg-captions-bottom.fg-light .fg-caption-title a{color:#222}.fg-masonry.fg-captions-bottom.fg-dark .fg-caption-title,.fg-masonry.fg-captions-bottom.fg-dark .fg-caption-title a{color:#fff}.fg-masonry.fg-captions-bottom.fg-light .fg-caption-title a{border-bottom:1px solid #222}.fg-masonry.fg-captions-bottom.fg-dark .fg-caption-title a{border-bottom:1px solid #fff}.fg-masonry.fg-captions-bottom .fg-caption{border-width:10px}.fg-masonry.fg-captions-bottom .fg-caption-title+.fg-caption-desc{margin-top:4px}.fg-masonry.fg-captions-bottom.fg-border-thin .fg-caption{border-width:10px 4px 4px 4px}.fg-masonry.fg-captions-bottom.fg-border-medium .fg-caption{border-width:10px 0 0 0}.fg-masonry.fg-captions-bottom.fg-border-thick .fg-caption{border-width:16px 0 0 0}.fg-masonry.fg-captions-bottom.fg-border-thick .fg-caption-title+.fg-caption-desc{margin-top:10px}.fg-justified{box-sizing:border-box;position:relative}.foogallery.fg-justified .fg-image,.foogallery.fg-justified .fg-item,.foogallery.fg-justified .fg-item-inner,.foogallery.fg-justified .fg-thumb{box-sizing:border-box;display:block;margin:0;padding:0}.fg-justified .fg-item{visibility:visible;position:absolute}.fg-justified .fg-item-inner{position:relative;width:100%;height:100%}.fg-justified .fg-thumb{position:relative;overflow:hidden}.fg-justified .fg-image{z-index:1}.fg-justified .fg-item.fg-positioned .fg-image-wrap,.fg-justified .fg-item.fg-positioned .fg-thumb{width:100%;height:100%}.fg-justified .fg-item.fg-positioned .fg-image{width:100%;height:auto;min-height:100%;top:50%;transform:translateY(-50%)}.fg-simple_portfolio{box-sizing:border-box;position:relative;font-size:16px;margin:0 auto;padding:0;width:100%}.fg-simple_portfolio .fg-item{position:absolute;display:inline-block;margin:0;padding:0;outline:0}.fg-simple_portfolio .fg-image,.fg-simple_portfolio .fg-item-inner,.fg-simple_portfolio .fg-thumb{display:block;margin:0;padding:0;outline:0}.fg-simple_portfolio .fg-item-inner{position:relative;width:100%;height:100%}.fg-simple_portfolio .fg-thumb{box-sizing:border-box;display:block;margin:0;padding:0;border:none;outline:0;position:relative;overflow:hidden}.fg-simple_portfolio .fg-item.fg-positioned .fg-image{width:100%;height:auto}.fg-simple_portfolio .fg-image{z-index:1}.foogallery.fg-simple_portfolio .fg-item-inner .fg-caption{visibility:visible;opacity:1;font-size:13px;position:relative;display:block;top:auto;bottom:auto;left:auto;right:auto;width:auto;height:auto;text-transform:none;transform:none;transition:none;background-color:transparent;border-style:solid;border-color:transparent}.foogallery.fg-simple_portfolio .fg-item-inner:hover .fg-caption{transform:none;transition:none}.foogallery.fg-simple_portfolio .fg-item-inner .fg-caption-inner{display:block;top:auto;bottom:auto;left:auto;right:auto;width:auto;height:auto;border:none;transform:none;transition:none}.foogallery.fg-simple_portfolio .fg-item-inner .fg-caption-inner:before{display:none}.foogallery.fg-simple_portfolio.fg-caption-hover .fg-item-inner .fg-thumb:before{display:block}.foogallery.fg-simple_portfolio.fg-caption-always .fg-item-inner:hover .fg-caption{visibility:visible;opacity:1}.fg-simple_portfolio .fg-caption-title{text-align:left}.fg-simple_portfolio .fg-caption-desc{text-align:left}.fg-simple_portfolio.fg-dark .fg-caption,.fg-simple_portfolio.fg-light .fg-caption{color:#828282}.fg-simple_portfolio.fg-dark .fg-caption a,.fg-simple_portfolio.fg-light .fg-caption a{color:#828282;border-bottom:1px solid #828282}.fg-simple_portfolio.fg-dark .fg-caption a:hover,.fg-simple_portfolio.fg-light .fg-caption a:hover{border-bottom:none}.fg-simple_portfolio.fg-light .fg-caption-title,.fg-simple_portfolio.fg-light .fg-caption-title a{color:#222}.fg-simple_portfolio.fg-dark .fg-caption-title,.fg-simple_portfolio.fg-dark .fg-caption-title a{color:#fff}.fg-simple_portfolio.fg-light .fg-caption-title a{border-bottom:1px solid #222}.fg-simple_portfolio.fg-dark .fg-caption-title a{border-bottom:1px solid #fff}.fg-simple_portfolio.fg-captions-top .fg-item.fg-positioned .fg-thumb{position:absolute;bottom:0;left:0}.fg-simple_portfolio .fg-caption{border-width:0}.fg-simple_portfolio .fg-caption-title+.fg-caption-desc{margin-top:4px}.fg-simple_portfolio.fg-border-thin .fg-caption{border-width:10px 4px 4px 4px}.fg-simple_portfolio.fg-captions-top.fg-border-thin .fg-caption{border-width:4px 4px 10px 4px}.fg-simple_portfolio.fg-border-medium .fg-caption{border-width:10px 0 0 0}.fg-simple_portfolio.fg-captions-top.fg-border-medium .fg-caption{border-width:0 0 10px 0}.fg-simple_portfolio.fg-border-thick .fg-caption{border-width:16px 0 0 0}.fg-simple_portfolio.fg-captions-top.fg-border-thick .fg-caption{border-width:0 0 16px 0}.fg-simple_portfolio.fg-border-thick .fg-caption-title+.fg-caption-desc{margin-top:10px}.foogallery.fg-preset.fg-polaroid .fg-item{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .35s,background-color .65s;transition:transform .35s,background-color .65s}.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(2n+1){-webkit-transform:rotate(3deg);transform:rotate(3deg)}.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(2n){-webkit-transform:rotate(-3deg);transform:rotate(-3deg)}.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(3n){-webkit-transform:rotate(1deg);transform:rotate(1deg)}.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(5n){-webkit-transform:rotate(-2deg);transform:rotate(-2deg)}.foogallery.fg-preset.fg-polaroid .fg-item:hover{-webkit-transform:rotate(0);transform:rotate(0)}.foogallery.fg-preset.fg-polaroid .fg-caption{position:relative;width:auto;font-family:"Segoe Print Regular",-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}.foogallery.fg-preset.fg-polaroid .fg-caption-inner,.foogallery.fg-preset.fg-polaroid .fg-caption-title{position:relative;width:auto}.foogallery.fg-preset.fg-polaroid .fg-caption-title{text-align:center}.foogallery.fg-preset.fg-polaroid .fg-caption-desc{display:none}.foogallery.fg-light.fg-preset.fg-polaroid .fg-caption-title,.foogallery.fg-preset.fg-polaroid .fg-caption-title{color:#333}.foogallery.fg-dark.fg-preset.fg-polaroid .fg-caption-title{color:#fff}.foogallery.fg-preset.fg-polaroid .fg-caption{border-style:solid;border-color:transparent;border-width:10px}.foogallery.fg-preset.fg-polaroid .fg-caption-title+.fg-caption-desc{margin-top:4px}.foogallery.fg-preset.fg-polaroid.fg-border-thin .fg-caption{border-width:10px 4px 4px 4px}.foogallery.fg-preset.fg-polaroid.fg-captions-top.fg-border-thin .fg-caption{border-width:4px 4px 10px 4px}.foogallery.fg-preset.fg-polaroid.fg-border-medium .fg-caption{border-width:10px 0 0 0}.foogallery.fg-preset.fg-polaroid.fg-captions-top.fg-border-medium .fg-caption{border-width:0 0 10px 0}.foogallery.fg-preset.fg-polaroid.fg-border-thick .fg-caption{border-width:16px 0 0 0}.foogallery.fg-preset.fg-polaroid.fg-captions-top.fg-border-thick .fg-caption{border-width:0 0 16px 0}.foogallery.fg-preset.fg-polaroid.fg-border-thick .fg-caption-title+.fg-caption-desc{margin-top:10px}.fg-image-viewer{display:block;font-family:'Open Sans','Helvetica Neue',Arial,sans-serif}.fg-image-viewer.fg-left{text-align:left}.fg-image-viewer.fg-center{text-align:center}.fg-image-viewer.fg-right{text-align:right}.fiv-inner{position:relative;display:inline-block;max-width:100%;overflow:hidden;z-index:6}.fiv-inner .fiv-inner-container{position:relative;overflow:hidden;max-width:100%;border-style:solid;border-width:0;border-bottom-width:4px;z-index:5}.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb,.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb:active,.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb:hover,.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb:visited{position:relative;display:block;border:none;outline:0;text-decoration:none;box-shadow:none;max-width:100%}.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item{position:relative;visibility:visible;opacity:1;border:none;outline:0;text-decoration:none;box-shadow:none;max-width:100%}.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb img{display:block;max-width:100%;height:auto;border:none;outline:0;text-decoration:none}.fg-image-viewer .fiv-inner .fiv-ctrls{display:block;text-align:center;font-size:14px;border-style:solid;line-height:34px}.fg-image-viewer .fiv-inner .fiv-ctrls:after{content:'';display:block;clear:both}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-count{display:inline-block;font-weight:400;margin:0}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next,.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:none;min-width:80px;position:relative;overflow:hidden;transition:background-color .3s}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:before,.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:before{display:block;position:absolute;font-size:24px;line-height:30px;top:0;left:0;width:100%;transform:translateY(0);transition:transform .3s}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:hover:before,.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:hover:before{transform:translateY(-100%)}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next span,.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev span{display:block;width:100%;transform:translateY(100%);transition:transform .3s}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:hover span,.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:hover span{transform:translateY(0)}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev{float:left}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:before{content:'\2190'}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next{float:right}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:before{content:'\2192'}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-count span{margin:0 4px}/*!* Theme - Default (Light) *!*//*!* Theme - Dark *!*/.foogallery.fg-image-viewer.fg-caption-always .fg-item-inner .fg-caption{padding:0;border:none;background:#000;background:-moz-linear-gradient(left,rgba(0,0,0,.8) 0,rgba(0,0,0,.8) 60%,rgba(0,0,0,0) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,.8) 0,rgba(0,0,0,.8) 60%,rgba(0,0,0,0) 100%);background:linear-gradient(to right,rgba(0,0,0,.8) 0,rgba(0,0,0,.8) 60%,rgba(0,0,0,0) 100%)}.foogallery.fg-image-viewer.fg-caption-always .fg-caption-title{padding:10px 10px 10px 10px}.foogallery.fg-image-viewer.fg-caption-always .fg-caption-desc{padding:10px 10px 10px 10px}.foogallery.fg-image-viewer.fg-caption-always .fg-caption-title+.fg-caption-desc{padding:0 10px 10px 10px}.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls,.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-count,.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-next,.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-prev,.fg-image-viewer.fg-light .fiv-inner .fiv-inner-container{background-color:#fff;color:#333;border-color:#fff}.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-next:hover,.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-prev:hover{background-color:#f2f2f2}.fg-image-viewer.fg-light .fiv-next,.fg-image-viewer.fg-light .fiv-prev{box-shadow:inset 0 0 0 1px #ddd}.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls,.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-count,.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-next,.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-prev,.fg-image-viewer.fg-dark .fiv-inner .fiv-inner-container{background-color:#333;color:#fff;border-color:#333}.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-next:hover,.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-prev:hover{background-color:#444}.fg-image-viewer.fg-dark .fiv-next,.fg-image-viewer.fg-dark .fiv-prev{box-shadow:inset 0 0 0 1px #222}.foogallery.fg-image-viewer.fg-border-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thick .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thin .fg-item-inner{border-width:0}.foogallery.fg-image-viewer .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-thin .fiv-inner-container{border-width:4px}.foogallery.fg-image-viewer.fg-border-medium .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-medium .fiv-inner-container{border-width:10px}.foogallery.fg-image-viewer.fg-border-thick .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-thick .fiv-inner-container{border-width:16px}.foogallery.fg-image-viewer .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-medium .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-thick .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-thin .fiv-ctrls{border-top-width:1px}.foogallery.fg-image-viewer.fg-round-small .fg-item,.foogallery.fg-image-viewer.fg-round-small .fg-item-inner,.foogallery.fg-image-viewer.fg-round-small .fiv-inner{border-radius:5px}.foogallery.fg-image-viewer.fg-round-small .fg-item,.foogallery.fg-image-viewer.fg-round-small .fg-item-inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.foogallery.fg-image-viewer.fg-round-small .fiv-next,.foogallery.fg-image-viewer.fg-round-small .fiv-prev{border-radius:3px}.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fg-item,.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fg-item-inner,.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fiv-next,.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fiv-prev,.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fg-item,.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fiv-next,.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fiv-prev,.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fg-item,.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fiv-next,.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fiv-prev{border-radius:3px}.foogallery.fg-image-viewer.fg-round-medium .fg-item,.foogallery.fg-image-viewer.fg-round-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-round-medium .fiv-inner{border-radius:10px}.foogallery.fg-image-viewer.fg-round-medium .fg-item,.foogallery.fg-image-viewer.fg-round-medium .fg-item-inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.foogallery.fg-image-viewer.fg-round-medium .fiv-next,.foogallery.fg-image-viewer.fg-round-medium .fiv-prev{border-radius:5px}.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fg-item,.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fiv-next,.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fiv-prev{border-radius:5px}.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fg-item,.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fiv-next,.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fiv-prev,.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fg-item,.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fiv-next,.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fiv-prev{border-radius:3px}.foogallery.fg-image-viewer.fg-round-large .fg-item,.foogallery.fg-image-viewer.fg-round-large .fg-item-inner,.foogallery.fg-image-viewer.fg-round-large .fiv-inner{border-radius:15px}.foogallery.fg-image-viewer.fg-round-large .fg-item,.foogallery.fg-image-viewer.fg-round-large .fg-item-inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.foogallery.fg-image-viewer.fg-round-large .fiv-next,.foogallery.fg-image-viewer.fg-round-large .fiv-prev{border-radius:11px}.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fg-item,.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fiv-next,.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fiv-prev{border-radius:11px}.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fg-item,.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fg-item-inner,.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fiv-next,.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fiv-prev{border-radius:5px}.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fg-item,.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fiv-next,.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fiv-prev{border-radius:3px}.foogallery.fg-image-viewer.fg-round-full .fiv-inner,.foogallery.fg-image-viewer.fg-round-full .fiv-next,.foogallery.fg-image-viewer.fg-round-full .fiv-prev{border-radius:50%}.foogallery.fg-image-viewer.fg-dark.fg-shadow-large .fg-item-inner,.foogallery.fg-image-viewer.fg-dark.fg-shadow-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-dark.fg-shadow-outline .fg-item-inner,.foogallery.fg-image-viewer.fg-dark.fg-shadow-small .fg-item-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-large .fg-item-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-outline .fg-item-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-small .fg-item-inner{box-shadow:none}.foogallery.fg-image-viewer.fg-light.fg-shadow-outline .fiv-inner{box-shadow:0 0 0 1px #ddd}.foogallery.fg-image-viewer.fg-dark.fg-shadow-outline .fiv-inner{box-shadow:0 0 0 1px #222}.foogallery.fg-image-viewer.fg-dark.fg-shadow-small .fiv-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-small .fiv-inner{box-shadow:0 1px 4px 0 rgba(0,0,0,.5)}.foogallery.fg-image-viewer.fg-dark.fg-shadow-medium .fiv-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-medium .fiv-inner{box-shadow:0 1px 10px 0 rgba(0,0,0,.5)}.foogallery.fg-image-viewer.fg-dark.fg-shadow-large .fiv-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-large .fiv-inner{box-shadow:0 1px 16px 0 rgba(0,0,0,.5)}.foogallery.fg-thumbnail,.foogallery.fg-thumbnail.fg-center{text-align:center}.foogallery.fg-thumbnail.fg-left{text-align:left}.foogallery.fg-thumbnail.fg-right{text-align:right}.foogallery.fg-thumbnail.fg-float-left{float:left;width:auto}.foogallery.fg-thumbnail.fg-float-right{float:right;width:auto}.foogallery.fg-thumbnail .fg-item{display:inline-block;vertical-align:top;max-width:100%}.foogallery.fg-thumbnail .fg-image{max-width:100%}.foogallery.fg-thumbnail .fg-st-hidden{display:none}
|
1 |
+
.foogallery,.foogallery *{box-sizing:border-box}.foogallery{display:block;z-index:1;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;position:relative;line-height:0;font-size:0;width:100%;max-width:100%}.foogallery .fg-item{display:inline-block;position:relative;background-color:transparent;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.foogallery .fg-item-inner{display:block;position:relative;visibility:hidden;overflow:hidden;opacity:0;z-index:3;margin:0;border:solid 0 transparent}.foogallery .fg-item.fg-error,.foogallery .fg-item.fg-loading{background:no-repeat center}.foogallery .fg-item.fg-error{background-image:url(../img/image.png)}@media only screen and (-o-min-device-pixel-ratio:5/4),only screen and (-webkit-min-device-pixel-ratio:1.25),only screen and (min-device-pixel-ratio:1.25),only screen and (min-resolution:1.25dppx){.foogallery .fg-item.fg-error{background-image:url(../img/image@2x.png)}}@media only screen and (-o-min-device-pixel-ratio:9/4),only screen and (-webkit-min-device-pixel-ratio:2.25),only screen and (min-device-pixel-ratio:2.25),only screen and (min-resolution:2.25dppx){.foogallery .fg-item.fg-error{background-image:url(../img/image@3x.png)}}.foogallery .fg-item.fg-loaded{z-index:4}.foogallery .fg-loaded .fg-item-inner{visibility:visible;opacity:1;z-index:5}.foogallery .fg-error .fg-item-inner{pointer-events:none;cursor:default}.foogallery .fg-thumb{display:block;position:relative;border:none;outline:0;text-decoration:none;z-index:4;box-shadow:none}.foogallery .fg-thumb:focus,.foogallery .fg-thumb:hover{border:none;outline:0;text-decoration:none;box-shadow:none}.foogallery .fg-image-wrap{display:block;position:relative}.foogallery .fg-image{display:block;position:relative;border:none;outline:0;text-decoration:none;z-index:5;max-width:none;height:auto;margin:0}.foogallery .fg-loaded .fg-thumb{z-index:6}.foogallery .fg-loaded .fg-image{z-index:7}.foogallery.fg-light .fg-item-inner{background-color:#fff;color:#333;border-color:#fff}.foogallery.fg-dark .fg-item-inner{background-color:#333;color:#fff;border-color:#333}.foogallery.fg-light .fg-item.fg-error,.foogallery.fg-light .fg-item.fg-idle,.foogallery.fg-light .fg-item.fg-loading{background-color:#eee;box-shadow:inset 0 0 0 1px #ddd}.foogallery.fg-dark .fg-item.fg-error,.foogallery.fg-dark .fg-item.fg-idle,.foogallery.fg-dark .fg-item.fg-loading{background-color:#444;box-shadow:inset 0 0 0 1px #333}.foogallery.fg-border-thin .fg-item-inner{border-width:4px}.foogallery.fg-border-medium .fg-item-inner{border-width:10px}.foogallery.fg-border-thick .fg-item-inner{border-width:16px}.foogallery.fg-light.fg-shadow-outline .fg-item-inner{box-shadow:0 0 0 1px #ddd}.foogallery.fg-dark.fg-shadow-outline .fg-item-inner{box-shadow:0 0 0 1px #222}.foogallery.fg-dark.fg-shadow-small .fg-item-inner,.foogallery.fg-light.fg-shadow-small .fg-item-inner{box-shadow:0 1px 4px 0 rgba(0,0,0,.5)}.foogallery.fg-dark.fg-shadow-medium .fg-item-inner,.foogallery.fg-light.fg-shadow-medium .fg-item-inner{box-shadow:0 1px 10px 0 rgba(0,0,0,.5)}.foogallery.fg-dark.fg-shadow-large .fg-item-inner,.foogallery.fg-light.fg-shadow-large .fg-item-inner{box-shadow:0 1px 16px 0 rgba(0,0,0,.5)}.foogallery.fg-shadow-inset-large .fg-thumb:after,.foogallery.fg-shadow-inset-medium .fg-thumb:after,.foogallery.fg-shadow-inset-small .fg-thumb:after{display:block;content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:7}.foogallery.fg-dark.fg-shadow-inset-small .fg-thumb:after,.foogallery.fg-light.fg-shadow-inset-small .fg-thumb:after{box-shadow:inset 0 1px 4px 0 rgba(0,0,0,.3)}.foogallery.fg-dark.fg-shadow-inset-medium .fg-thumb:after,.foogallery.fg-light.fg-shadow-inset-medium .fg-thumb:after{box-shadow:inset 0 1px 10px 0 rgba(0,0,0,.3)}.foogallery.fg-dark.fg-shadow-inset-large .fg-thumb:after,.foogallery.fg-light.fg-shadow-inset-large .fg-thumb:after{box-shadow:inset 0 1px 16px 0 rgba(0,0,0,.3)}.foogallery.fg-round-full.fg-shadow-inset-large .fg-thumb:after,.foogallery.fg-round-full.fg-shadow-inset-medium .fg-thumb:after,.foogallery.fg-round-full.fg-shadow-inset-small .fg-thumb:after{border-radius:50%}.foogallery.fg-round-small .fg-item,.foogallery.fg-round-small .fg-item-inner{border-radius:5px}.foogallery.fg-round-medium .fg-item,.foogallery.fg-round-medium .fg-item-inner{border-radius:10px}.foogallery.fg-round-large .fg-item,.foogallery.fg-round-large .fg-item-inner{border-radius:15px}.foogallery.fg-round-full .fg-item,.foogallery.fg-round-full .fg-item-inner{border-radius:50%}.foogallery .fg-loader{position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);width:1em;height:1em;font-size:5px;visibility:hidden;opacity:0}.foogallery .fg-loading .fg-loader{visibility:visible;opacity:1}.fg-loading-default .fg-loader{border-radius:50%;text-indent:-9999em;-webkit-animation:loading-default 1.1s infinite ease;animation:loading-default 1.1s infinite ease}@-webkit-keyframes loading-default{0%,100%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,1),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.5),-1.8em -1.8em 0 0 rgba(130,130,130,.7)}12.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.7),1.8em -1.8em 0 0 rgba(130,130,130,1),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.5)}25%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.5),1.8em -1.8em 0 0 rgba(130,130,130,.7),2.5em 0 0 0 rgba(130,130,130,1),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}37.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.5),2.5em 0 0 0 rgba(130,130,130,.7),1.75em 1.75em 0 0 rgba(130,130,130,1),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}50%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.5),1.75em 1.75em 0 0 rgba(130,130,130,.7),0 2.5em 0 0 rgba(130,130,130,1),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}62.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.5),0 2.5em 0 0 rgba(130,130,130,.7),-1.8em 1.8em 0 0 rgba(130,130,130,1),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}75%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.5),-1.8em 1.8em 0 0 rgba(130,130,130,.7),-2.6em 0 0 0 rgba(130,130,130,1),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}87.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.5),-2.6em 0 0 0 rgba(130,130,130,.7),-1.8em -1.8em 0 0 rgba(130,130,130,1)}}@keyframes loading-default{0%,100%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,1),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.5),-1.8em -1.8em 0 0 rgba(130,130,130,.7)}12.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.7),1.8em -1.8em 0 0 rgba(130,130,130,1),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.5)}25%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.5),1.8em -1.8em 0 0 rgba(130,130,130,.7),2.5em 0 0 0 rgba(130,130,130,1),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}37.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.5),2.5em 0 0 0 rgba(130,130,130,.7),1.75em 1.75em 0 0 rgba(130,130,130,1),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}50%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.5),1.75em 1.75em 0 0 rgba(130,130,130,.7),0 2.5em 0 0 rgba(130,130,130,1),-1.8em 1.8em 0 0 rgba(130,130,130,.2),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}62.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.5),0 2.5em 0 0 rgba(130,130,130,.7),-1.8em 1.8em 0 0 rgba(130,130,130,1),-2.6em 0 0 0 rgba(130,130,130,.2),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}75%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.5),-1.8em 1.8em 0 0 rgba(130,130,130,.7),-2.6em 0 0 0 rgba(130,130,130,1),-1.8em -1.8em 0 0 rgba(130,130,130,.2)}87.5%{box-shadow:0 -2.6em 0 0 rgba(130,130,130,.2),1.8em -1.8em 0 0 rgba(130,130,130,.2),2.5em 0 0 0 rgba(130,130,130,.2),1.75em 1.75em 0 0 rgba(130,130,130,.2),0 2.5em 0 0 rgba(130,130,130,.2),-1.8em 1.8em 0 0 rgba(130,130,130,.5),-2.6em 0 0 0 rgba(130,130,130,.7),-1.8em -1.8em 0 0 rgba(130,130,130,1)}}.fg-loading-bars .fg-loader,.fg-loading-bars .fg-loader:after,.fg-loading-bars .fg-loader:before{background:rgba(130,130,130,1);-webkit-animation:loading-bars 1s infinite ease-in-out;animation:loading-bars 1s infinite ease-in-out;width:1em;height:4em}.fg-loading-bars .fg-loader{color:rgba(130,130,130,1);text-indent:-9999em;font-size:4px;-webkit-animation-delay:-.16s;animation-delay:-.16s}.fg-loading-bars .fg-loader:after,.fg-loading-bars .fg-loader:before{position:absolute;top:0;content:''}.fg-loading-bars .fg-loader:before{left:-1.5em;-webkit-animation-delay:-.32s;animation-delay:-.32s}.fg-loading-bars .fg-loader:after{left:1.5em}@-webkit-keyframes loading-bars{0%,100%,80%{box-shadow:0 0;height:4em}40%{box-shadow:0 -2em;height:5em}}@keyframes loading-bars{0%,100%,80%{box-shadow:0 0;height:4em}40%{box-shadow:0 -2em;height:5em}}.fg-loading-trail .fg-loader{color:#828282;font-size:20px;text-indent:-9999em;overflow:hidden;border-radius:50%;-webkit-animation:loading-trail-1 1.7s infinite ease,loading-trail-2 1.7s infinite ease;animation:loading-trail-1 1.7s infinite ease,loading-trail-2 1.7s infinite ease}@-webkit-keyframes loading-trail-1{0%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}5%,95%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}10%,59%{box-shadow:0 -.83em 0 -.4em,-.087em -.825em 0 -.42em,-.173em -.812em 0 -.44em,-.256em -.789em 0 -.46em,-.297em -.775em 0 -.477em}20%{box-shadow:0 -.83em 0 -.4em,-.338em -.758em 0 -.42em,-.555em -.617em 0 -.44em,-.671em -.488em 0 -.46em,-.749em -.34em 0 -.477em}38%{box-shadow:0 -.83em 0 -.4em,-.377em -.74em 0 -.42em,-.645em -.522em 0 -.44em,-.775em -.297em 0 -.46em,-.82em -.09em 0 -.477em}100%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}}@keyframes loading-trail-1{0%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}5%,95%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}10%,59%{box-shadow:0 -.83em 0 -.4em,-.087em -.825em 0 -.42em,-.173em -.812em 0 -.44em,-.256em -.789em 0 -.46em,-.297em -.775em 0 -.477em}20%{box-shadow:0 -.83em 0 -.4em,-.338em -.758em 0 -.42em,-.555em -.617em 0 -.44em,-.671em -.488em 0 -.46em,-.749em -.34em 0 -.477em}38%{box-shadow:0 -.83em 0 -.4em,-.377em -.74em 0 -.42em,-.645em -.522em 0 -.44em,-.775em -.297em 0 -.46em,-.82em -.09em 0 -.477em}100%{box-shadow:0 -.83em 0 -.4em,0 -.83em 0 -.42em,0 -.83em 0 -.44em,0 -.83em 0 -.46em,0 -.83em 0 -.477em}}@-webkit-keyframes loading-trail-2{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}@keyframes loading-trail-2{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}.fg-loading-pulse .fg-loader,.fg-loading-pulse .fg-loader:after,.fg-loading-pulse .fg-loader:before{border-radius:50%;width:2.5em;height:2.5em;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation:loading-pulse 1.8s infinite ease-in-out;animation:loading-pulse 1.8s infinite ease-in-out}.fg-loading-pulse .fg-loader{color:#828282;font-size:4px;text-indent:-9999em;transform:translateX(-50%) translateY(-150%);-webkit-animation-delay:-.16s;animation-delay:-.16s}.fg-loading-pulse .fg-loader:after,.fg-loading-pulse .fg-loader:before{content:'';position:absolute;top:0}.fg-loading-pulse .fg-loader:before{left:-3.5em;-webkit-animation-delay:-.32s;animation-delay:-.32s}.fg-loading-pulse .fg-loader:after{left:3.5em}@-webkit-keyframes loading-pulse{0%,100%,80%{box-shadow:0 2.5em 0 -1.3em}40%{box-shadow:0 2.5em 0 0}}@keyframes loading-pulse{0%,100%,80%{box-shadow:0 2.5em 0 -1.3em}40%{box-shadow:0 2.5em 0 0}}.fg-loading-dots .fg-loader{color:#828282;font-size:5px;border-radius:50%;text-indent:-9999em;-webkit-animation:loading-dots 1.3s infinite linear;animation:loading-dots 1.3s infinite linear}@-webkit-keyframes loading-dots{0%,100%{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}@keyframes loading-dots{0%,100%{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}.fg-loading-partial .fg-loader,.fg-loading-partial .fg-loader:after{border-radius:50%;width:10em;height:10em}.fg-loading-partial .fg-loader{font-size:4px;text-indent:-9999em;border-top:1.1em solid rgba(130,130,130,.2);border-right:1.1em solid rgba(130,130,130,.2);border-bottom:1.1em solid rgba(130,130,130,.2);border-left:1.1em solid #828282;-webkit-animation:loading-partial 1.1s infinite linear;animation:loading-partial 1.1s infinite linear}@-webkit-keyframes loading-partial{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}@keyframes loading-partial{0%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(0);transform:translateX(-50%) translateY(-50%) rotate(0)}100%{-webkit-transform:translateX(-50%) translateY(-50%) rotate(360deg);transform:translateX(-50%) translateY(-50%) rotate(360deg)}}.foogallery.fg-loaded-drop .fg-item,.foogallery.fg-loaded-fade-in .fg-item,.foogallery.fg-loaded-flip .fg-item,.foogallery.fg-loaded-fly .fg-item,.foogallery.fg-loaded-scale-up .fg-item,.foogallery.fg-loaded-slide-down .fg-item,.foogallery.fg-loaded-slide-left .fg-item,.foogallery.fg-loaded-slide-right .fg-item,.foogallery.fg-loaded-slide-up .fg-item,.foogallery.fg-loaded-swing-down .fg-item{transition-timing-function:ease;transition-duration:650ms;transition-property:background-color,transform}.foogallery.fg-loaded-drop .fg-item-inner,.foogallery.fg-loaded-fade-in .fg-item-inner,.foogallery.fg-loaded-flip .fg-item-inner,.foogallery.fg-loaded-fly .fg-item-inner,.foogallery.fg-loaded-scale-up .fg-item-inner,.foogallery.fg-loaded-slide-down .fg-item-inner,.foogallery.fg-loaded-slide-left .fg-item-inner,.foogallery.fg-loaded-slide-right .fg-item-inner,.foogallery.fg-loaded-slide-up .fg-item-inner,.foogallery.fg-loaded-swing-down .fg-item-inner{transition-timing-function:ease;transition-duration:650ms}.foogallery.fg-loaded-drop .fg-item.fg-loaded,.foogallery.fg-loaded-flip .fg-item.fg-loaded,.foogallery.fg-loaded-fly .fg-item.fg-loaded,.foogallery.fg-loaded-swing-down .fg-item.fg-loaded{perspective:1300px}.foogallery.fg-loaded-fade-in .fg-item-inner{transition-property:visibility,opacity}.foogallery .fg-caption{visibility:hidden;opacity:0;background-color:rgba(0,0,0,.6);color:#fff;position:absolute;z-index:8;width:100%;max-height:100%;overflow:hidden;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:13px;font-weight:400;line-height:1.3;border:none;text-align:center;cursor:pointer}.foogallery .fg-caption a{text-decoration:none;color:#fff;border-bottom:1px solid #fff}.foogallery .fg-caption a:hover{border-bottom:none}.foogallery .fg-caption-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:400;padding:5px}.foogallery .fg-caption-desc{padding:5px}.foogallery .fg-caption-title+.fg-caption-desc{padding-top:0}.foogallery.fg-caption-always .fg-caption .fg-caption-inner:before{display:none}.foogallery.fg-caption-always .fg-item.fg-loaded .fg-caption{left:0;bottom:0;transition-timing-function:ease;transition-duration:.3s;transition-property:visibility,opacity;visibility:visible;opacity:1;text-align:left}.foogallery.fg-caption-hover .fg-caption .fg-caption-inner{width:100%;max-height:100%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.foogallery.fg-caption-hover .fg-item.fg-loaded .fg-thumb:before{display:none}.foogallery.fg-hover-circle-plus .fg-thumb:before,.foogallery.fg-hover-external .fg-thumb:before,.foogallery.fg-hover-eye .fg-thumb:before,.foogallery.fg-hover-plus .fg-thumb:before,.foogallery.fg-hover-tint .fg-thumb:before,.foogallery.fg-hover-zoom .fg-thumb:before,.foogallery.fg-hover-zoom2 .fg-thumb:before,.foogallery.fg-hover-zoom3 .fg-thumb:before{content:"";display:block;position:absolute;visibility:hidden;opacity:0;top:0;bottom:0;left:0;right:0;z-index:8;background:rgba(0,0,0,.5) no-repeat center center;background-size:32px 32px}.foogallery.fg-hover-circle-plus .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-circle-plus .fg-thumb:focus:before,.foogallery.fg-hover-external .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-external .fg-thumb:focus:before,.foogallery.fg-hover-eye .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-eye .fg-thumb:focus:before,.foogallery.fg-hover-plus .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-plus .fg-thumb:focus:before,.foogallery.fg-hover-tint .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-tint .fg-thumb:focus:before,.foogallery.fg-hover-zoom .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-zoom .fg-thumb:focus:before,.foogallery.fg-hover-zoom2 .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-zoom2 .fg-thumb:focus:before,.foogallery.fg-hover-zoom3 .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-zoom3 .fg-thumb:focus:before{visibility:visible;opacity:1}.foogallery.fg-hover-circle-plus .fg-caption-inner:before,.foogallery.fg-hover-external .fg-caption-inner:before,.foogallery.fg-hover-eye .fg-caption-inner:before,.foogallery.fg-hover-plus .fg-caption-inner:before,.foogallery.fg-hover-tint .fg-caption-inner:before,.foogallery.fg-hover-zoom .fg-caption-inner:before,.foogallery.fg-hover-zoom2 .fg-caption-inner:before,.foogallery.fg-hover-zoom3 .fg-caption-inner:before{content:"";display:inline-block;position:relative;width:32px;height:32px;margin:10px 0 5px 0;background:transparent no-repeat center center;background-size:32px 32px;vertical-align:middle}.foogallery.fg-hover-zoom .fg-caption-inner:before,.foogallery.fg-hover-zoom .fg-thumb:before{background-image:url(../img/zoom.png)}.foogallery.fg-hover-zoom2 .fg-caption-inner:before,.foogallery.fg-hover-zoom2 .fg-thumb:before{background-image:url(../img/zoom2.png)}.foogallery.fg-hover-zoom3 .fg-caption-inner:before,.foogallery.fg-hover-zoom3 .fg-thumb:before{background-image:url(../img/zoom3.png)}.foogallery.fg-hover-plus .fg-caption-inner:before,.foogallery.fg-hover-plus .fg-thumb:before{background-image:url(../img/plus.png)}.foogallery.fg-hover-circle-plus .fg-caption-inner:before,.foogallery.fg-hover-circle-plus .fg-thumb:before{background-image:url(../img/circle-plus.png)}.foogallery.fg-hover-eye .fg-caption-inner:before,.foogallery.fg-hover-eye .fg-thumb:before{background-image:url(../img/eye.png)}.foogallery.fg-hover-external .fg-caption-inner:before,.foogallery.fg-hover-external .fg-thumb:before{background-image:url(../img/external.png)}@media only screen and (-o-min-device-pixel-ratio:5/4),only screen and (-webkit-min-device-pixel-ratio:1.25),only screen and (min-device-pixel-ratio:1.25),only screen and (min-resolution:1.25dppx){.foogallery.fg-hover-zoom .fg-caption-inner:before,.foogallery.fg-hover-zoom .fg-thumb:before{background-image:url(../img/zoom@2x.png)}.foogallery.fg-hover-zoom2 .fg-caption-inner:before,.foogallery.fg-hover-zoom2 .fg-thumb:before{background-image:url(../img/zoom2@2x.png)}.foogallery.fg-hover-zoom3 .fg-caption-inner:before,.foogallery.fg-hover-zoom3 .fg-thumb:before{background-image:url(../img/zoom3@2x.png)}.foogallery.fg-hover-plus .fg-caption-inner:before,.foogallery.fg-hover-plus .fg-thumb:before{background-image:url(../img/plus@2x.png)}.foogallery.fg-hover-circle-plus .fg-caption-inner:before,.foogallery.fg-hover-circle-plus .fg-thumb:before{background-image:url(../img/circle-plus@2x.png)}.foogallery.fg-hover-eye .fg-caption-inner:before,.foogallery.fg-hover-eye .fg-thumb:before{background-image:url(../img/eye@2x.png)}.foogallery.fg-hover-external .fg-caption-inner:before,.foogallery.fg-hover-external .fg-thumb:before{background-image:url(../img/external@2x.png)}}@media only screen and (-o-min-device-pixel-ratio:9/4),only screen and (-webkit-min-device-pixel-ratio:2.25),only screen and (min-device-pixel-ratio:2.25),only screen and (min-resolution:2.25dppx){.foogallery.fg-hover-zoom .fg-caption-inner:before,.foogallery.fg-hover-zoom .fg-thumb:before{background-image:url(../img/zoom@3x.png)}.foogallery.fg-hover-zoom2 .fg-caption-inner:before,.foogallery.fg-hover-zoom2 .fg-thumb:before{background-image:url(../img/zoom2@3x.png)}.foogallery.fg-hover-zoom3 .fg-caption-inner:before,.foogallery.fg-hover-zoom3 .fg-thumb:before{background-image:url(../img/zoom3@3x.png)}.foogallery.fg-hover-plus .fg-caption-inner:before,.foogallery.fg-hover-plus .fg-thumb:before{background-image:url(../img/plus@3x.png)}.foogallery.fg-hover-circle-plus .fg-caption-inner:before,.foogallery.fg-hover-circle-plus .fg-thumb:before{background-image:url(../img/circle-plus@3x.png)}.foogallery.fg-hover-eye .fg-caption-inner:before,.foogallery.fg-hover-eye .fg-thumb:before{background-image:url(../img/eye@3x.png)}.foogallery.fg-hover-external .fg-caption-inner:before,.foogallery.fg-hover-external .fg-thumb:before{background-image:url(../img/external@3x.png)}}.foogallery.fg-caption-hover.fg-hover-colorize .fg-caption,.foogallery.fg-caption-hover.fg-hover-fade .fg-caption,.foogallery.fg-caption-hover.fg-hover-grayscale .fg-caption,.foogallery.fg-caption-hover.fg-hover-instant .fg-caption,.foogallery.fg-caption-hover.fg-hover-push .fg-caption,.foogallery.fg-caption-hover.fg-hover-scale .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-down .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-left .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-right .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-up .fg-caption,.foogallery.fg-hover-colorize .fg-image,.foogallery.fg-hover-colorize .fg-thumb:before,.foogallery.fg-hover-fade .fg-thumb:before,.foogallery.fg-hover-grayscale .fg-image,.foogallery.fg-hover-grayscale .fg-thumb:before,.foogallery.fg-hover-instant .fg-thumb:before,.foogallery.fg-hover-push .fg-thumb,.foogallery.fg-hover-scale .fg-item,.foogallery.fg-hover-scale .fg-thumb:before,.foogallery.fg-hover-slide-down .fg-thumb:before,.foogallery.fg-hover-slide-left .fg-thumb:before,.foogallery.fg-hover-slide-right .fg-thumb:before,.foogallery.fg-hover-slide-up .fg-thumb:before{transition-timing-function:ease;transition-duration:.3s}.foogallery.fg-hover-colorize .fg-image{filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'saturate\' values=\'0\'/></filter></svg>#grayscale");filter:gray;-webkit-filter:grayscale(100%);-webkit-transition-property:-webkit-filter;transition-property:filter}.foogallery.fg-hover-colorize .fg-item-inner:hover .fg-image{-webkit-filter:none;filter:none}.foogallery.fg-caption-hover.fg-hover-colorize .fg-caption,.foogallery.fg-hover-colorize .fg-thumb:before{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-colorize .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-colorize .fg-item-inner:hover .fg-thumb:before{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-caption,.foogallery.fg-hover-fade .fg-loaded .fg-thumb:before{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-fade .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-fade .fg-loaded .fg-item-inner:hover .fg-thumb:before{visibility:visible;opacity:1}.foogallery.fg-hover-grayscale .fg-image{-webkit-filter:none;filter:none;-webkit-transition-property:-webkit-filter;transition-property:filter}.foogallery.fg-hover-grayscale .fg-item-inner:hover .fg-image{-webkit-filter:grayscale(1);-webkit-filter:grayscale(100%);filter:grayscale(100%);filter:gray;opacity:1}.foogallery.fg-caption-hover.fg-hover-grayscale .fg-caption,.foogallery.fg-hover-grayscale .fg-thumb:before{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-grayscale .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-grayscale .fg-item-inner:hover .fg-thumb:before{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-caption,.foogallery.fg-hover-instant .fg-loaded .fg-thumb:before{display:block;left:0;top:0;bottom:0;transition-property:none}.foogallery.fg-caption-hover.fg-hover-instant .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-instant .fg-loaded .fg-item-inner:hover .fg-thumb:before{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption,.foogallery.fg-hover-push .fg-loaded .fg-thumb:before{display:block;left:0;top:0;bottom:0;transform:translateX(100%);visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-caption,.foogallery.fg-hover-push .fg-loaded .fg-thumb{transition-property:transform}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-caption{transform:translateY(0)}.foogallery.fg-caption-hover.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-thumb,.foogallery.fg-hover-push .fg-loaded .fg-item-inner:hover .fg-thumb{transform:translateX(-100%)}.foogallery.fg-hover-scale .fg-item{transition-property:transform;z-index:4}.foogallery.fg-hover-scale .fg-item:hover{transform:scale(1.048);z-index:10}.foogallery.fg-caption-hover.fg-hover-scale .fg-caption,.foogallery.fg-hover-scale .fg-thumb:before{display:block;left:0;top:0;bottom:0;transition-property:visibility,opacity,background-color}.foogallery.fg-caption-hover.fg-hover-scale .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-scale .fg-item-inner:hover .fg-thumb:before{visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-caption,.foogallery.fg-hover-slide-down .fg-loaded .fg-thumb:before,.foogallery.fg-hover-slide-left .fg-loaded .fg-thumb:before,.foogallery.fg-hover-slide-right .fg-loaded .fg-thumb:before,.foogallery.fg-hover-slide-up .fg-loaded .fg-thumb:before{display:block;left:0;top:0;bottom:0;transition-property:transform,background-color,opacity,visibility;visibility:visible;opacity:1}.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-item-inner:hover .fg-caption,.foogallery.fg-hover-slide-down .fg-loaded .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-slide-left .fg-loaded .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-slide-right .fg-loaded .fg-item-inner:hover .fg-thumb:before,.foogallery.fg-hover-slide-up .fg-loaded .fg-item-inner:hover .fg-thumb:before{transform:translateY(0) translateX(0)}.foogallery.fg-caption-hover.fg-hover-slide-up .fg-loaded .fg-caption,.foogallery.fg-hover-slide-up .fg-loaded .fg-thumb:before{transform:translateY(100%)}.foogallery.fg-caption-hover.fg-hover-slide-down .fg-loaded .fg-caption,.foogallery.fg-hover-slide-down .fg-loaded .fg-thumb:before{transform:translateY(-100%)}.foogallery.fg-caption-hover.fg-hover-slide-left .fg-loaded .fg-caption,.foogallery.fg-hover-slide-left .fg-loaded .fg-thumb:before{transform:translateX(100%)}.foogallery.fg-caption-hover.fg-hover-slide-right .fg-loaded .fg-caption,.foogallery.fg-hover-slide-right .fg-loaded .fg-thumb:before{transform:translateX(-100%)}.fg-paging-container,.fg-paging-container *,.fg-paging-container :after,.fg-paging-container :before{box-sizing:border-box}.fg-paging-container{display:block;padding:15px;text-align:center;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fg-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fg-paging-container .fg-dot-item,.fg-paging-container .fg-dots{display:inline-block;margin:0;padding:0;outline:0;list-style:none}.fg-paging-container .fg-dot-item .fg-dot-link{display:inline-block;margin:3px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;user-select:none;background-image:none;text-decoration:none;border:1px solid transparent;position:relative;border-radius:50%;padding:0;font-size:0;outline:0;color:transparent;box-shadow:none}.fg-paging-container .fg-dot-item .fg-dot-link:before{content:"";background-color:transparent;border:1px solid transparent;display:block;border-radius:50%;width:9px;height:9px;padding:0;margin:2px}.fg-paging-container .fg-dot-item .fg-dot-link:active,.fg-paging-container .fg-dot-item .fg-dot-link:focus,.fg-paging-container .fg-dot-item .fg-dot-link:hover{text-decoration:none;box-shadow:none;outline:0}.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link,.fg-paging-container .fg-dot-item.fg-selected .fg-dot-link{cursor:not-allowed;pointer-events:none}.fg-paging-container .fg-dot-item.fg-disabled .fg-dot-link{cursor:not-allowed;pointer-events:none;outline:0}.fg-paging-container.fg-light .fg-dot-item .fg-dot-link,.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:before{transition-timing-function:ease-out;transition-duration:.3s;transition-property:color,border-color,background-color}.fg-paging-container.fg-light .fg-dot-item .fg-dot-link{background-color:#eee;border-color:#9d9d9d}.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link{border-color:#888}.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:focus:before,.fg-paging-container.fg-light .fg-dot-item .fg-dot-link:hover:before,.fg-paging-container.fg-light .fg-dot-item.fg-selected .fg-dot-link:before{background-color:#666;border-color:#888}.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link,.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:focus,.fg-paging-container.fg-light .fg-dot-item.fg-disabled .fg-dot-link:hover{background-color:#eee;border-color:#9d9d9d;opacity:.5}.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link,.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:before{transition-timing-function:ease-out;transition-duration:.3s;transition-property:color,border-color,background-color}.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link{background-color:#666;border-color:#333}.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link{border-color:#444}.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:focus:before,.fg-paging-container.fg-dark .fg-dot-item .fg-dot-link:hover:before,.fg-paging-container.fg-dark .fg-dot-item.fg-selected .fg-dot-link:before{background-color:#333;border-color:#444}.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link,.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:focus,.fg-paging-container.fg-dark .fg-dot-item.fg-disabled .fg-dot-link:hover{background-color:#666;border-color:#333;opacity:.5}.fg-default:after{content:'';display:block;clear:both}.fg-default .fg-item,.fg-default .fg-item-inner,.fg-default .fg-thumb{display:inline-block;vertical-align:top;max-width:100%}.fg-default .fg-image{border-radius:0;display:block;max-width:100%;height:auto;margin:0;padding:0}.fg-default .fg-image{vertical-align:top}.fg-default.fg-left{text-align:left}.fg-default.fg-center{text-align:center}.fg-default.fg-right{text-align:right}.fg-default.fg-gutter-5{padding-left:5px;margin-bottom:-5px}.fg-default.fg-gutter-5 .fg-item{margin-right:5px;margin-bottom:5px}.fg-default.fg-gutter-10{padding-left:10px;margin-bottom:-10px}.fg-default.fg-gutter-10 .fg-item{margin-right:10px;margin-bottom:10px}.fg-default.fg-gutter-15{padding-left:15px;margin-bottom:-15px}.fg-default.fg-gutter-15 .fg-item{margin-right:15px;margin-bottom:15px}.fg-default.fg-gutter-20{padding-left:20px;margin-bottom:-20px}.fg-default.fg-gutter-20 .fg-item{margin-right:20px;margin-bottom:20px}.fg-default.fg-gutter-25{padding-left:25px;margin-bottom:-25px}.fg-default.fg-gutter-25 .fg-item{margin-right:25px;margin-bottom:25px}.fg-masonry *{box-sizing:border-box}.foogallery.fg-masonry.fg-center{margin:0 auto}.fg-masonry .fg-thumb{display:block}.fg-masonry.fg-masonry-fixed .fg-thumb{display:inline-block}.fg-masonry.fg-masonry-fixed .fg-image{max-width:100%}.fg-masonry .fg-column-width{display:inline-block;visibility:hidden;height:0;border:solid 0 transparent}.fg-masonry.fg-masonry-2col .fg-image,.fg-masonry.fg-masonry-3col .fg-image,.fg-masonry.fg-masonry-4col .fg-image,.fg-masonry.fg-masonry-5col .fg-image{width:100%;height:auto;max-width:100%}.fg-masonry .fg-item{line-height:0;font-size:0}.fg-masonry.fg-masonry-fixed .fg-column-width,.fg-masonry.fg-masonry-fixed .fg-item{max-width:100%}.fg-masonry.fg-masonry-2col .fg-item{margin-bottom:1%;width:49%}.fg-masonry.fg-masonry-2col .fg-column-width{width:49%}.fg-masonry.fg-masonry-2col .fg-gutter-width{width:1%}.fg-masonry.fg-masonry-2col.fg-gutter-none .fg-item{margin-bottom:0;width:50%}.fg-masonry.fg-masonry-2col.fg-gutter-none .fg-column-width{width:50%}.fg-masonry.fg-masonry-2col.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-masonry-2col.fg-gutter-large .fg-item{margin-bottom:3%;width:47%}.fg-masonry.fg-masonry-2col.fg-gutter-large .fg-column-width{width:47%}.fg-masonry.fg-masonry-2col.fg-gutter-large .fg-gutter-width{width:3%}.fg-masonry.fg-masonry-3col .fg-item{margin-bottom:1%;width:32%}.fg-masonry.fg-masonry-3col .fg-column-width{width:32%}.fg-masonry.fg-masonry-3col .fg-gutter-width{width:1%}.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-item{margin-bottom:0;width:33%}.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-column-width{width:33%}.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-item{margin-bottom:3%;width:30%}.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-column-width{width:30%}.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-gutter-width{width:3%}.fg-masonry.fg-masonry-4col .fg-item{margin-bottom:1%;width:24%}.fg-masonry.fg-masonry-4col .fg-column-width{width:24%}.fg-masonry.fg-masonry-4col .fg-gutter-width{width:1%}.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-item{margin-bottom:0;width:25%}.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-column-width{width:25%}.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-item{margin-bottom:3%;width:22%}.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-column-width{width:22%}.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-gutter-width{width:3%}.fg-masonry.fg-masonry-5col .fg-item{margin-bottom:1%;width:19%}.fg-masonry.fg-masonry-5col .fg-column-width{width:19%}.fg-masonry.fg-masonry-5col .fg-gutter-width{width:1%}.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-item{margin-bottom:0;width:20%}.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-column-width{width:20%}.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-item{margin-bottom:3%;width:17%}.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-column-width{width:17%}.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-gutter-width{width:3%}@media screen and (max-width:720px){.fg-masonry.fg-masonry-4col .fg-item,.fg-masonry.fg-masonry-5col .fg-item{margin-bottom:1%;width:32%}.fg-masonry.fg-masonry-4col .fg-column-width,.fg-masonry.fg-masonry-5col .fg-column-width{width:32%}.fg-masonry.fg-masonry-4col .fg-gutter-width,.fg-masonry.fg-masonry-5col .fg-gutter-width{width:1%}.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-item,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-item{margin-bottom:0;width:33%}.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-column-width,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-column-width{width:33%}.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-item,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-item{margin-bottom:3%;width:30%}.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-column-width,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-column-width{width:30%}.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-gutter-width{width:3%}}@media screen and (max-width:480px){.fg-masonry.fg-masonry-3col .fg-item,.fg-masonry.fg-masonry-4col .fg-item,.fg-masonry.fg-masonry-5col .fg-item{margin-bottom:1%;width:49%}.fg-masonry.fg-masonry-3col .fg-column-width,.fg-masonry.fg-masonry-4col .fg-column-width,.fg-masonry.fg-masonry-5col .fg-column-width{width:49%}.fg-masonry.fg-masonry-3col .fg-gutter-width,.fg-masonry.fg-masonry-4col .fg-gutter-width,.fg-masonry.fg-masonry-5col .fg-gutter-width{width:1%}.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-item,.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-item,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-item{margin-bottom:0;width:50%}.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-column-width,.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-column-width,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-column-width{width:50%}.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-item,.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-item,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-item{margin-bottom:3%;width:47%}.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-column-width,.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-column-width,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-column-width{width:47%}.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-gutter-width{width:3%}}@media screen and (max-width:320px){.fg-masonry.fg-masonry-2col .fg-item,.fg-masonry.fg-masonry-3col .fg-item,.fg-masonry.fg-masonry-4col .fg-item,.fg-masonry.fg-masonry-5col .fg-item{margin-bottom:1%;width:100%}.fg-masonry.fg-masonry-2col .fg-column-width,.fg-masonry.fg-masonry-3col .fg-column-width,.fg-masonry.fg-masonry-4col .fg-column-width,.fg-masonry.fg-masonry-5col .fg-column-width{width:100%}.fg-masonry.fg-masonry-2col .fg-gutter-width,.fg-masonry.fg-masonry-3col .fg-gutter-width,.fg-masonry.fg-masonry-4col .fg-gutter-width,.fg-masonry.fg-masonry-5col .fg-gutter-width{width:0}.fg-masonry.fg-masonry-2col.fg-gutter-none .fg-item,.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-item,.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-item,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-item{margin-bottom:0;width:100%}.fg-masonry.fg-masonry-2col.fg-gutter-none .fg-column-width,.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-column-width,.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-column-width,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-column-width{width:100%}.fg-masonry.fg-masonry-2col.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-masonry-3col.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-masonry-4col.fg-gutter-none .fg-gutter-width,.fg-masonry.fg-masonry-5col.fg-gutter-none .fg-gutter-width{width:0}.fg-masonry.fg-masonry-2col.fg-gutter-large .fg-item,.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-item,.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-item,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-item{margin-bottom:3%;width:100%}.fg-masonry.fg-masonry-2col.fg-gutter-large .fg-column-width,.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-column-width,.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-column-width,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-column-width{width:100%}.fg-masonry.fg-masonry-2col.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-masonry-3col.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-masonry-4col.fg-gutter-large .fg-gutter-width,.fg-masonry.fg-masonry-5col.fg-gutter-large .fg-gutter-width{width:0}}.foogallery.fg-border-thin .fg-column-width{border-width:4px}.foogallery.fg-border-medium .fg-column-width{border-width:10px}.foogallery.fg-border-thick .fg-column-width{border-width:16px}.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner .fg-caption{visibility:visible;opacity:1;font-size:13px;position:relative;display:block;top:auto;bottom:auto;left:auto;right:auto;width:auto;height:auto;text-transform:none;transform:none;transition:none;background-color:transparent;border-style:solid;border-color:transparent}.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner:hover .fg-caption{transform:none;transition:none}.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner .fg-caption-inner{display:block;position:relative;max-height:none;top:auto;bottom:auto;left:auto;right:auto;width:auto;height:auto;border:none;transform:none;transition:none}.foogallery.fg-masonry.fg-captions-bottom .fg-item-inner .fg-caption-inner:before{display:none}.foogallery.fg-masonry.fg-captions-bottom.fg-caption-hover .fg-item-inner .fg-thumb:before{display:block}.foogallery.fg-masonry.fg-captions-bottom.fg-caption-always .fg-item-inner:hover .fg-caption{visibility:visible;opacity:1}.fg-masonry.fg-captions-bottom .fg-caption-desc,.fg-masonry.fg-captions-bottom .fg-caption-title{text-align:left}.fg-masonry.fg-captions-bottom.fg-dark .fg-caption,.fg-masonry.fg-captions-bottom.fg-light .fg-caption{color:#828282}.fg-masonry.fg-captions-bottom.fg-dark .fg-caption a,.fg-masonry.fg-captions-bottom.fg-light .fg-caption a{color:#828282;border-bottom:1px solid #828282}.fg-masonry.fg-captions-bottom.fg-dark .fg-caption a:hover,.fg-masonry.fg-captions-bottom.fg-light .fg-caption a:hover{border-bottom:none}.fg-masonry.fg-captions-bottom.fg-light .fg-caption-title,.fg-masonry.fg-captions-bottom.fg-light .fg-caption-title a{color:#222}.fg-masonry.fg-captions-bottom.fg-dark .fg-caption-title,.fg-masonry.fg-captions-bottom.fg-dark .fg-caption-title a{color:#fff}.fg-masonry.fg-captions-bottom.fg-light .fg-caption-title a{border-bottom:1px solid #222}.fg-masonry.fg-captions-bottom.fg-dark .fg-caption-title a{border-bottom:1px solid #fff}.fg-masonry.fg-captions-bottom .fg-caption{border-width:10px}.fg-masonry.fg-captions-bottom .fg-caption-title+.fg-caption-desc{margin-top:4px}.fg-masonry.fg-captions-bottom.fg-border-thin .fg-caption{border-width:10px 4px 4px 4px}.fg-masonry.fg-captions-bottom.fg-border-medium .fg-caption{border-width:10px 0 0 0}.fg-masonry.fg-captions-bottom.fg-border-thick .fg-caption{border-width:16px 0 0 0}.fg-masonry.fg-captions-bottom.fg-border-thick .fg-caption-title+.fg-caption-desc{margin-top:10px}.fg-justified{box-sizing:border-box;position:relative}.foogallery.fg-justified .fg-image,.foogallery.fg-justified .fg-item,.foogallery.fg-justified .fg-item-inner,.foogallery.fg-justified .fg-thumb{box-sizing:border-box;display:block;margin:0;padding:0}.fg-justified .fg-item{visibility:visible;position:absolute}.fg-justified .fg-item-inner{position:relative;width:100%;height:100%}.fg-justified .fg-thumb{position:relative;overflow:hidden}.fg-justified .fg-image{z-index:1}.fg-justified .fg-item.fg-positioned .fg-image-wrap,.fg-justified .fg-item.fg-positioned .fg-thumb{width:100%;height:100%}.fg-justified .fg-item.fg-positioned .fg-image{width:100%;height:auto;min-height:100%;top:50%;transform:translateY(-50%)}.fg-simple_portfolio{box-sizing:border-box;position:relative;font-size:16px;margin:0 auto;padding:0;width:100%}.fg-simple_portfolio .fg-item{position:absolute;display:inline-block;margin:0;padding:0;outline:0}.fg-simple_portfolio .fg-image,.fg-simple_portfolio .fg-item-inner,.fg-simple_portfolio .fg-thumb{display:block;margin:0;padding:0;outline:0}.fg-simple_portfolio .fg-item-inner{position:relative;width:100%;height:100%}.fg-simple_portfolio .fg-thumb{box-sizing:border-box;display:block;margin:0;padding:0;border:none;outline:0;position:relative;overflow:hidden}.fg-simple_portfolio .fg-item.fg-positioned .fg-image{width:100%;height:auto}.fg-simple_portfolio .fg-image{z-index:1}.foogallery.fg-simple_portfolio .fg-item-inner .fg-caption{visibility:visible;opacity:1;font-size:13px;position:relative;display:block;top:auto;bottom:auto;left:auto;right:auto;width:auto;height:auto;text-transform:none;transform:none;transition:none;background-color:transparent;border-style:solid;border-color:transparent}.foogallery.fg-simple_portfolio .fg-item-inner:hover .fg-caption{transform:none;transition:none}.foogallery.fg-simple_portfolio .fg-item-inner .fg-caption-inner{display:block;top:auto;bottom:auto;left:auto;right:auto;width:auto;height:auto;border:none;transform:none;transition:none}.foogallery.fg-simple_portfolio .fg-item-inner .fg-caption-inner:before{display:none}.foogallery.fg-simple_portfolio.fg-caption-hover .fg-item-inner .fg-thumb:before{display:block}.foogallery.fg-simple_portfolio.fg-caption-always .fg-item-inner:hover .fg-caption{visibility:visible;opacity:1}.fg-simple_portfolio .fg-caption-title{text-align:left}.fg-simple_portfolio .fg-caption-desc{text-align:left}.fg-simple_portfolio.fg-dark .fg-caption,.fg-simple_portfolio.fg-light .fg-caption{color:#828282}.fg-simple_portfolio.fg-dark .fg-caption a,.fg-simple_portfolio.fg-light .fg-caption a{color:#828282;border-bottom:1px solid #828282}.fg-simple_portfolio.fg-dark .fg-caption a:hover,.fg-simple_portfolio.fg-light .fg-caption a:hover{border-bottom:none}.fg-simple_portfolio.fg-light .fg-caption-title,.fg-simple_portfolio.fg-light .fg-caption-title a{color:#222}.fg-simple_portfolio.fg-dark .fg-caption-title,.fg-simple_portfolio.fg-dark .fg-caption-title a{color:#fff}.fg-simple_portfolio.fg-light .fg-caption-title a{border-bottom:1px solid #222}.fg-simple_portfolio.fg-dark .fg-caption-title a{border-bottom:1px solid #fff}.fg-simple_portfolio.fg-captions-top .fg-item.fg-positioned .fg-thumb{position:absolute;bottom:0;left:0}.fg-simple_portfolio .fg-caption{border-width:0}.fg-simple_portfolio .fg-caption-title+.fg-caption-desc{margin-top:4px}.fg-simple_portfolio.fg-border-thin .fg-caption{border-width:10px 4px 4px 4px}.fg-simple_portfolio.fg-captions-top.fg-border-thin .fg-caption{border-width:4px 4px 10px 4px}.fg-simple_portfolio.fg-border-medium .fg-caption{border-width:10px 0 0 0}.fg-simple_portfolio.fg-captions-top.fg-border-medium .fg-caption{border-width:0 0 10px 0}.fg-simple_portfolio.fg-border-thick .fg-caption{border-width:16px 0 0 0}.fg-simple_portfolio.fg-captions-top.fg-border-thick .fg-caption{border-width:0 0 16px 0}.fg-simple_portfolio.fg-border-thick .fg-caption-title+.fg-caption-desc{margin-top:10px}.foogallery.fg-preset.fg-polaroid .fg-item{-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .35s,background-color .65s}.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(2n+1){-webkit-transform:rotate(3deg);transform:rotate(3deg)}.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(2n){-webkit-transform:rotate(-3deg);transform:rotate(-3deg)}.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(3n){-webkit-transform:rotate(1deg);transform:rotate(1deg)}.foogallery.fg-preset.fg-polaroid .fg-item:nth-child(5n){-webkit-transform:rotate(-2deg);transform:rotate(-2deg)}.foogallery.fg-preset.fg-polaroid .fg-item:hover{-webkit-transform:rotate(0);transform:rotate(0)}.foogallery.fg-preset.fg-polaroid .fg-caption{position:relative;width:auto;font-family:"Segoe Print Regular",-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}.foogallery.fg-preset.fg-polaroid .fg-caption-inner,.foogallery.fg-preset.fg-polaroid .fg-caption-title{position:relative;width:auto}.foogallery.fg-preset.fg-polaroid .fg-caption-title{text-align:center}.foogallery.fg-preset.fg-polaroid .fg-caption-desc{display:none}.foogallery.fg-light.fg-preset.fg-polaroid .fg-caption-title,.foogallery.fg-preset.fg-polaroid .fg-caption-title{color:#333}.foogallery.fg-dark.fg-preset.fg-polaroid .fg-caption-title{color:#fff}.foogallery.fg-preset.fg-polaroid .fg-caption{border-style:solid;border-color:transparent;border-width:10px}.foogallery.fg-preset.fg-polaroid .fg-caption-title+.fg-caption-desc{margin-top:4px}.foogallery.fg-preset.fg-polaroid.fg-border-thin .fg-caption{border-width:10px 4px 4px 4px}.foogallery.fg-preset.fg-polaroid.fg-captions-top.fg-border-thin .fg-caption{border-width:4px 4px 10px 4px}.foogallery.fg-preset.fg-polaroid.fg-border-medium .fg-caption{border-width:10px 0 0 0}.foogallery.fg-preset.fg-polaroid.fg-captions-top.fg-border-medium .fg-caption{border-width:0 0 10px 0}.foogallery.fg-preset.fg-polaroid.fg-border-thick .fg-caption{border-width:16px 0 0 0}.foogallery.fg-preset.fg-polaroid.fg-captions-top.fg-border-thick .fg-caption{border-width:0 0 16px 0}.foogallery.fg-preset.fg-polaroid.fg-border-thick .fg-caption-title+.fg-caption-desc{margin-top:10px}.fg-image-viewer{display:block;font-family:'Open Sans','Helvetica Neue',Arial,sans-serif}.fg-image-viewer.fg-left{text-align:left}.fg-image-viewer.fg-center{text-align:center}.fg-image-viewer.fg-right{text-align:right}.fiv-inner{position:relative;display:inline-block;max-width:100%;overflow:hidden;z-index:6}.fiv-inner .fiv-inner-container{position:relative;overflow:hidden;max-width:100%;border-style:solid;border-width:0;border-bottom-width:4px;z-index:5}.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb,.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb:active,.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb:hover,.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb:visited{position:relative;display:block;border:none;outline:0;text-decoration:none;box-shadow:none;max-width:100%}.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item{position:absolute;visibility:visible;opacity:1;border:none;outline:0;text-decoration:none;box-shadow:none;max-width:100%}.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item:first-of-type{position:relative}.fg-image-viewer .fiv-inner .fiv-inner-container .fg-item .fg-thumb img{display:block;max-width:100%;height:auto;border:none;outline:0;text-decoration:none}.fg-image-viewer .fiv-inner .fiv-ctrls{display:block;text-align:center;font-size:14px;border-style:solid;line-height:34px}.fg-image-viewer .fiv-inner .fiv-ctrls:after{content:'';display:block;clear:both}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-count{display:inline-block;font-weight:400;margin:0}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next,.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:none;min-width:80px;position:relative;overflow:hidden;transition:background-color .3s}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:before,.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:before{display:block;position:absolute;font-size:24px;line-height:30px;top:0;left:0;width:100%;transform:translateY(0);transition:transform .3s}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:hover:before,.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:hover:before{transform:translateY(-100%)}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next span,.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev span{display:block;width:100%;transform:translateY(100%);transition:transform .3s}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:hover span,.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:hover span{transform:translateY(0)}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev{float:left}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-prev:before{content:'\2190'}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next{float:right}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-next:before{content:'\2192'}.fg-image-viewer .fiv-inner .fiv-ctrls .fiv-count span{margin:0 4px}/*!* Theme - Default (Light) *!*//*!* Theme - Dark *!*/.foogallery.fg-image-viewer.fg-caption-always .fg-item-inner .fg-caption{padding:0;border:none;background:#000;background:-moz-linear-gradient(left,rgba(0,0,0,.8) 0,rgba(0,0,0,.8) 60%,rgba(0,0,0,0) 100%);background:-webkit-linear-gradient(left,rgba(0,0,0,.8) 0,rgba(0,0,0,.8) 60%,rgba(0,0,0,0) 100%);background:linear-gradient(to right,rgba(0,0,0,.8) 0,rgba(0,0,0,.8) 60%,rgba(0,0,0,0) 100%)}.foogallery.fg-image-viewer.fg-caption-always .fg-caption-title{padding:10px 10px 10px 10px}.foogallery.fg-image-viewer.fg-caption-always .fg-caption-desc{padding:10px 10px 10px 10px}.foogallery.fg-image-viewer.fg-caption-always .fg-caption-title+.fg-caption-desc{padding:0 10px 10px 10px}.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls,.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-count,.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-next,.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-prev,.fg-image-viewer.fg-light .fiv-inner .fiv-inner-container{background-color:#fff;color:#333;border-color:#fff}.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-next:hover,.fg-image-viewer.fg-light .fiv-inner .fiv-ctrls .fiv-prev:hover{background-color:#f2f2f2}.fg-image-viewer.fg-light .fiv-next,.fg-image-viewer.fg-light .fiv-prev{box-shadow:inset 0 0 0 1px #ddd}.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls,.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-count,.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-next,.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-prev,.fg-image-viewer.fg-dark .fiv-inner .fiv-inner-container{background-color:#333;color:#fff;border-color:#333}.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-next:hover,.fg-image-viewer.fg-dark .fiv-inner .fiv-ctrls .fiv-prev:hover{background-color:#444}.fg-image-viewer.fg-dark .fiv-next,.fg-image-viewer.fg-dark .fiv-prev{box-shadow:inset 0 0 0 1px #222}.foogallery.fg-image-viewer.fg-border-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thick .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thin .fg-item-inner{border-width:0}.foogallery.fg-image-viewer .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-thin .fiv-inner-container{border-width:4px}.foogallery.fg-image-viewer.fg-border-medium .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-medium .fiv-inner-container{border-width:10px}.foogallery.fg-image-viewer.fg-border-thick .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-thick .fiv-inner-container{border-width:16px}.foogallery.fg-image-viewer .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-medium .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-thick .fiv-ctrls,.foogallery.fg-image-viewer.fg-border-thin .fiv-ctrls{border-top-width:1px}.foogallery.fg-image-viewer.fg-round-small .fg-item,.foogallery.fg-image-viewer.fg-round-small .fg-item-inner,.foogallery.fg-image-viewer.fg-round-small .fiv-inner{border-radius:5px}.foogallery.fg-image-viewer.fg-round-small .fg-item,.foogallery.fg-image-viewer.fg-round-small .fg-item-inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.foogallery.fg-image-viewer.fg-round-small .fiv-next,.foogallery.fg-image-viewer.fg-round-small .fiv-prev{border-radius:3px}.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fg-item,.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fg-item-inner,.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fiv-next,.foogallery.fg-image-viewer.fg-border-medium.fg-round-small .fiv-prev,.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fg-item,.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fiv-next,.foogallery.fg-image-viewer.fg-border-thick.fg-round-small .fiv-prev,.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fg-item,.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fiv-next,.foogallery.fg-image-viewer.fg-border-thin.fg-round-small .fiv-prev{border-radius:3px}.foogallery.fg-image-viewer.fg-round-medium .fg-item,.foogallery.fg-image-viewer.fg-round-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-round-medium .fiv-inner{border-radius:10px}.foogallery.fg-image-viewer.fg-round-medium .fg-item,.foogallery.fg-image-viewer.fg-round-medium .fg-item-inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.foogallery.fg-image-viewer.fg-round-medium .fiv-next,.foogallery.fg-image-viewer.fg-round-medium .fiv-prev{border-radius:5px}.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fg-item,.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fiv-next,.foogallery.fg-image-viewer.fg-border-thin.fg-round-medium .fiv-prev{border-radius:5px}.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fg-item,.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fiv-next,.foogallery.fg-image-viewer.fg-border-medium.fg-round-medium .fiv-prev,.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fg-item,.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fiv-next,.foogallery.fg-image-viewer.fg-border-thick.fg-round-medium .fiv-prev{border-radius:3px}.foogallery.fg-image-viewer.fg-round-large .fg-item,.foogallery.fg-image-viewer.fg-round-large .fg-item-inner,.foogallery.fg-image-viewer.fg-round-large .fiv-inner{border-radius:15px}.foogallery.fg-image-viewer.fg-round-large .fg-item,.foogallery.fg-image-viewer.fg-round-large .fg-item-inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.foogallery.fg-image-viewer.fg-round-large .fiv-next,.foogallery.fg-image-viewer.fg-round-large .fiv-prev{border-radius:11px}.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fg-item,.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fiv-next,.foogallery.fg-image-viewer.fg-border-thin.fg-round-large .fiv-prev{border-radius:11px}.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fg-item,.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fg-item-inner,.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fiv-next,.foogallery.fg-image-viewer.fg-border-medium.fg-round-large .fiv-prev{border-radius:5px}.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fg-item,.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fg-item-inner,.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fiv-next,.foogallery.fg-image-viewer.fg-border-thick.fg-round-large .fiv-prev{border-radius:3px}.foogallery.fg-image-viewer.fg-round-full .fiv-inner,.foogallery.fg-image-viewer.fg-round-full .fiv-next,.foogallery.fg-image-viewer.fg-round-full .fiv-prev{border-radius:50%}.foogallery.fg-image-viewer.fg-dark.fg-shadow-large .fg-item-inner,.foogallery.fg-image-viewer.fg-dark.fg-shadow-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-dark.fg-shadow-outline .fg-item-inner,.foogallery.fg-image-viewer.fg-dark.fg-shadow-small .fg-item-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-large .fg-item-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-medium .fg-item-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-outline .fg-item-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-small .fg-item-inner{box-shadow:none}.foogallery.fg-image-viewer.fg-light.fg-shadow-outline .fiv-inner{box-shadow:0 0 0 1px #ddd}.foogallery.fg-image-viewer.fg-dark.fg-shadow-outline .fiv-inner{box-shadow:0 0 0 1px #222}.foogallery.fg-image-viewer.fg-dark.fg-shadow-small .fiv-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-small .fiv-inner{box-shadow:0 1px 4px 0 rgba(0,0,0,.5)}.foogallery.fg-image-viewer.fg-dark.fg-shadow-medium .fiv-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-medium .fiv-inner{box-shadow:0 1px 10px 0 rgba(0,0,0,.5)}.foogallery.fg-image-viewer.fg-dark.fg-shadow-large .fiv-inner,.foogallery.fg-image-viewer.fg-light.fg-shadow-large .fiv-inner{box-shadow:0 1px 16px 0 rgba(0,0,0,.5)}.foogallery.fg-thumbnail,.foogallery.fg-thumbnail.fg-center{text-align:center}.foogallery.fg-thumbnail.fg-left{text-align:left}.foogallery.fg-thumbnail.fg-right{text-align:right}.foogallery.fg-thumbnail.fg-float-left{float:left;width:auto}.foogallery.fg-thumbnail.fg-float-right{float:right;width:auto}.foogallery.fg-thumbnail .fg-item{display:inline-block;vertical-align:top;max-width:100%}.foogallery.fg-thumbnail .fg-image{max-width:100%}.foogallery.fg-thumbnail .fg-st-hidden{display:none}
|
extensions/default-templates/shared/js/foogallery.js
CHANGED
@@ -3177,7 +3177,20 @@
|
|
3177 |
TOUCH = "ontouchstart" in window,
|
3178 |
POINTER_IE10 = window.navigator.msPointerEnabled && !window.navigator.pointerEnabled && !TOUCH,
|
3179 |
POINTER = (window.navigator.pointerEnabled || window.navigator.msPointerEnabled) && !TOUCH,
|
3180 |
-
USE_TOUCH = TOUCH || POINTER
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3181 |
|
3182 |
_.Swipe = _utils.Class.extend(/** @lend FooGallery.Swipe */{
|
3183 |
/**
|
@@ -3251,10 +3264,18 @@
|
|
3251 |
* @function init
|
3252 |
*/
|
3253 |
init: function(){
|
3254 |
-
var self = this;
|
3255 |
-
|
|
|
|
|
|
|
|
|
3256 |
self.$el.on(self.events.move, {self: self}, self.onMove);
|
3257 |
-
|
|
|
|
|
|
|
|
|
3258 |
if (_is.string(self.events.leave)) self.$el.on(self.events.leave, {self: self}, self.onEnd);
|
3259 |
self.$el.data(DATA_NAME, self);
|
3260 |
},
|
@@ -3264,10 +3285,18 @@
|
|
3264 |
* @function destroy
|
3265 |
*/
|
3266 |
destroy: function(){
|
3267 |
-
var self = this;
|
3268 |
-
|
|
|
|
|
|
|
|
|
3269 |
self.$el.off(self.events.move, self.onMove);
|
3270 |
-
|
|
|
|
|
|
|
|
|
3271 |
if (_is.string(self.events.leave)) self.$el.off(self.events.leave, self.onEnd);
|
3272 |
self.$el.removeData(DATA_NAME);
|
3273 |
},
|
@@ -4127,11 +4156,8 @@
|
|
4127 |
self.initialized = true;
|
4128 |
|
4129 |
// performed purely to re-check if any items need to be loaded after content has possibly shifted
|
4130 |
-
self._check(200);
|
4131 |
-
self._check(500);
|
4132 |
self._check(1000);
|
4133 |
-
self._check(
|
4134 |
-
self._check(5000);
|
4135 |
|
4136 |
/**
|
4137 |
* @summary Raised after the template is fully initialized and is ready to be interacted with.
|
@@ -4318,6 +4344,10 @@
|
|
4318 |
return this.items.load(this.getAvailable());
|
4319 |
},
|
4320 |
|
|
|
|
|
|
|
|
|
4321 |
/**
|
4322 |
* @summary Check if any available items need to be loaded and loads them.
|
4323 |
* @memberof FooGallery.Template#
|
@@ -4450,11 +4480,12 @@
|
|
4450 |
lazy: true,
|
4451 |
viewport: 200,
|
4452 |
items: [],
|
4453 |
-
|
|
|
4454 |
throttle: 50,
|
4455 |
timeout: 60000,
|
4456 |
-
srcset: "data-srcset",
|
4457 |
-
src: "data-src",
|
4458 |
template: {}
|
4459 |
}, {
|
4460 |
container: "foogallery"
|
@@ -4470,11 +4501,12 @@
|
|
4470 |
* @property {boolean} [lazy=true] - Whether or not to enable lazy loading of images.
|
4471 |
* @property {number} [viewport=200] - The number of pixels to inflate the viewport by when checking to lazy load items.
|
4472 |
* @property {(FooGallery.Item~Options[]|FooGallery.Item[]| string)} [items=[]] - An array of items to load when required. A url can be provided and the items will be fetched using an ajax call, the response should be a properly formatted JSON array of {@link FooGallery.Item~Options|item} object.
|
4473 |
-
* @property {
|
|
|
4474 |
* @property {number} [throttle=50] - The number of milliseconds to wait once scrolling has stopped before performing any work.
|
4475 |
* @property {number} [timeout=60000] - The number of milliseconds to wait before forcing a timeout when loading items.
|
4476 |
-
* @property {string} [src="data-src"] - The name of the attribute to retrieve an images src url from.
|
4477 |
-
* @property {string} [srcset="data-srcset"] - The name of the attribute to retrieve an images srcset url from.
|
4478 |
* @property {object} [template={}] - An object containing any additional custom options for the template.
|
4479 |
* @property {FooGallery.Template~CSSClasses} [cls] - An object containing all CSS classes for the template.
|
4480 |
* @property {FooGallery.Template~CSSSelectors} [sel] - An object containing all CSS selectors for the template.
|
@@ -4996,6 +5028,13 @@
|
|
4996 |
*/
|
4997 |
self.$caption = null;
|
4998 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4999 |
/**
|
5000 |
* @memberof FooGallery.Item#
|
5001 |
* @name type
|
@@ -5112,14 +5151,6 @@
|
|
5112 |
* @private
|
5113 |
*/
|
5114 |
self._thumbUrl = null;
|
5115 |
-
/**
|
5116 |
-
* @summary The placeholder url for this item generated by calling the {@link FooGallery.Items#placeholder|placeholder} method.
|
5117 |
-
* @memberof FooGallery.Item#
|
5118 |
-
* @name _placeholder
|
5119 |
-
* @type {string}
|
5120 |
-
* @private
|
5121 |
-
*/
|
5122 |
-
self._placeholder = null;
|
5123 |
/**
|
5124 |
* @summary This property is used to store the promise created when loading an item for the first time.
|
5125 |
* @memberof FooGallery.Item#
|
@@ -5242,7 +5273,7 @@
|
|
5242 |
if (self._undo.loader) {
|
5243 |
self.$el.find(self.sel.loader).remove();
|
5244 |
}
|
5245 |
-
if (self._undo.placeholder && self.$image.prop("src") ==
|
5246 |
self.$image.removeAttr("src");
|
5247 |
}
|
5248 |
} else if (self.isCreated) {
|
@@ -5307,7 +5338,7 @@
|
|
5307 |
var e = self.tmpl.raise("parse-item", [self, $el]);
|
5308 |
if (!e.isDefaultPrevented() && (self.isCreated = $el.is(self.sel.elem))) {
|
5309 |
self.isParsed = self.doParseItem($el);
|
5310 |
-
self.fix();
|
5311 |
// We don't load the attributes when parsing as they are only ever used to create an item and if you're parsing it's already created.
|
5312 |
}
|
5313 |
if (self.isParsed) {
|
@@ -5346,25 +5377,27 @@
|
|
5346 |
self._undo.style = $el.attr("style") || "";
|
5347 |
|
5348 |
self.$el = $el.data(_.dataItem, self);
|
5349 |
-
self.$inner = self.$el.
|
5350 |
-
self.$anchor = self.$
|
5351 |
self.$image = self.$anchor.find(sel.image);
|
5352 |
-
self.$caption = self.$
|
5353 |
self.isAttached = self.$el.parent().length > 0;
|
5354 |
self.isLoading = self.$el.is(sel.loading);
|
5355 |
self.isLoaded = self.$el.is(sel.loaded);
|
5356 |
self.isError = self.$el.is(sel.error);
|
5357 |
-
|
5358 |
-
|
5359 |
-
self.
|
|
|
|
|
5360 |
self.src = self.$image.attr(o.src) || self.src;
|
5361 |
self.srcset = self.$image.attr(o.srcset) || self.srcset;
|
5362 |
self.width = parseInt(self.$image.attr("width")) || self.width;
|
5363 |
self.height = parseInt(self.$image.attr("height")) || self.height;
|
5364 |
self.title = self.$image.attr("title") || self.title;
|
5365 |
self.alt = self.$image.attr("alt") || self.alt;
|
5366 |
-
self.caption =
|
5367 |
-
self.description =
|
5368 |
// if the caption or description are not set yet try fetching it from the html
|
5369 |
if (_is.empty(self.caption)) self.caption = $.trim(self.$caption.find(sel.caption.title).html());
|
5370 |
if (_is.empty(self.description)) self.description = $.trim(self.$caption.find(sel.caption.description).html());
|
@@ -5376,19 +5409,20 @@
|
|
5376 |
self.$caption.find(sel.caption.description).html(self.description.substr(0, self.maxDescriptionLength) + "…");
|
5377 |
}
|
5378 |
// check if the item has a wrap
|
5379 |
-
if (self.$anchor.
|
5380 |
-
|
|
|
5381 |
self._undo.wrap = true;
|
5382 |
}
|
5383 |
// check if the item has a loader
|
5384 |
-
if (self.$el.
|
5385 |
self.$el.append($("<div/>", {"class": cls.loader}));
|
5386 |
self._undo.loader = true;
|
5387 |
}
|
5388 |
// if the image has no src url then set the placeholder
|
5389 |
-
|
5390 |
-
|
5391 |
-
|
5392 |
self._undo.placeholder = true;
|
5393 |
}
|
5394 |
if (self.isCreated && self.isAttached && !self.isLoading && !self.isLoaded && !self.isError) {
|
@@ -5496,7 +5530,7 @@
|
|
5496 |
}
|
5497 |
|
5498 |
attr.image["class"] = cls.image;
|
5499 |
-
attr.image["src"] =
|
5500 |
attr.image[o.src] = self.src;
|
5501 |
attr.image[o.srcset] = self.srcset;
|
5502 |
attr.image["width"] = self.width;
|
@@ -5521,23 +5555,21 @@
|
|
5521 |
attr.title["class"] = cls.title;
|
5522 |
attr.description["class"] = cls.description;
|
5523 |
if (hasTitle) {
|
5524 |
-
var $title;
|
5525 |
// enforce the max length for the caption
|
5526 |
if (_is.number(self.maxCaptionLength) && self.maxCaptionLength > 0 && _is.string(self.caption) && self.caption.length > self.maxCaptionLength) {
|
5527 |
-
|
5528 |
-
} else {
|
5529 |
-
$title = $("<div/>").attr(attr.title).html(self.caption);
|
5530 |
}
|
|
|
5531 |
$inner.append($title);
|
5532 |
}
|
5533 |
if (hasDesc) {
|
5534 |
-
var $desc;
|
5535 |
// enforce the max length for the description
|
5536 |
if (_is.number(self.maxDescriptionLength) && self.maxDescriptionLength > 0 && _is.string(self.description) && self.description.length > self.maxDescriptionLength) {
|
5537 |
-
|
5538 |
-
} else {
|
5539 |
-
$desc = $("<div/>").attr(attr.description).html(self.description);
|
5540 |
}
|
|
|
5541 |
$inner.append($desc);
|
5542 |
}
|
5543 |
}
|
@@ -5603,7 +5635,7 @@
|
|
5603 |
var e = self.tmpl.raise("append-item", [self]);
|
5604 |
if (!e.isDefaultPrevented()) {
|
5605 |
self.tmpl.$el.append(self.$el);
|
5606 |
-
self.fix();
|
5607 |
self.isAttached = true;
|
5608 |
}
|
5609 |
if (self.isAttached) {
|
@@ -5681,7 +5713,7 @@
|
|
5681 |
var e = self.tmpl.raise("detach-item", [self]);
|
5682 |
if (!e.isDefaultPrevented()) {
|
5683 |
self.$el.detach();
|
5684 |
-
self.unfix();
|
5685 |
self.isAttached = false;
|
5686 |
}
|
5687 |
if (!self.isAttached) {
|
@@ -5727,7 +5759,7 @@
|
|
5727 |
self.isLoading = false;
|
5728 |
self.isLoaded = true;
|
5729 |
self.$el.removeClass(cls.loading).addClass(cls.loaded);
|
5730 |
-
self.unfix();
|
5731 |
self.tmpl.raise("loaded-item", [self]);
|
5732 |
def.resolve(self);
|
5733 |
};
|
@@ -5758,11 +5790,10 @@
|
|
5758 |
fix: function () {
|
5759 |
var self = this;
|
5760 |
if (self.tmpl == null) return self;
|
5761 |
-
|
5762 |
-
|
5763 |
-
var w = self.width, h = self.height;
|
5764 |
// if we have a base width and height to work with
|
5765 |
-
if (!isNaN(w) && !isNaN(h)) {
|
5766 |
// figure out the max image width and calculate the height the image should be displayed as
|
5767 |
var width = _is.fn(self.maxWidth) ? self.maxWidth(self) : self.$image.width();
|
5768 |
if (width <= 0) width = w;
|
@@ -5782,8 +5813,7 @@
|
|
5782 |
unfix: function () {
|
5783 |
var self = this;
|
5784 |
if (self.tmpl == null) return self;
|
5785 |
-
|
5786 |
-
if (!e.isDefaultPrevented() && self.isCreated) self.$image.css({width: '', height: ''});
|
5787 |
return self;
|
5788 |
},
|
5789 |
/**
|
@@ -6136,14 +6166,6 @@
|
|
6136 |
reset: function () {
|
6137 |
this.setAvailable(this.all());
|
6138 |
},
|
6139 |
-
placeholder: function (width, height) {
|
6140 |
-
if (this._canvas && this._canvas.toDataURL && _is.number(width) && _is.number(height)) {
|
6141 |
-
this._canvas.width = width;
|
6142 |
-
this._canvas.height = height;
|
6143 |
-
return this._canvas.toDataURL();
|
6144 |
-
}
|
6145 |
-
return _.emptyImage;
|
6146 |
-
},
|
6147 |
/**
|
6148 |
* @summary Filter the supplied `items` and return only those that can be loaded.
|
6149 |
* @memberof FooGallery.Items#
|
@@ -6683,6 +6705,9 @@
|
|
6683 |
available: function () {
|
6684 |
return this.get(this.current);
|
6685 |
},
|
|
|
|
|
|
|
6686 |
controls: function (pageNumber) {
|
6687 |
var self = this;
|
6688 |
if (self.isValid(pageNumber)) {
|
@@ -6702,8 +6727,8 @@
|
|
6702 |
pageNumber = self.number(pageNumber);
|
6703 |
var index = pageNumber - 1;
|
6704 |
self.tmpl.items.detach(self.tmpl.items.all());
|
6705 |
-
self.tmpl.items.create(self._arr[index], true);
|
6706 |
self.current = pageNumber;
|
|
|
6707 |
},
|
6708 |
get: function (pageNumber) {
|
6709 |
var self = this;
|
@@ -7358,8 +7383,9 @@
|
|
7358 |
(function($, _, _utils, _is){
|
7359 |
|
7360 |
_.Justified = _utils.Class.extend({
|
7361 |
-
construct: function(
|
7362 |
-
this
|
|
|
7363 |
this.options = $.extend(true, {}, _.Justified.defaults, options);
|
7364 |
this._items = [];
|
7365 |
this._lastRefresh = 0;
|
@@ -7392,37 +7418,17 @@
|
|
7392 |
}
|
7393 |
},
|
7394 |
parse: function(){
|
7395 |
-
var self = this
|
7396 |
-
|
7397 |
-
position: 'absolute',
|
7398 |
-
top: 0,
|
7399 |
-
left: -9999,
|
7400 |
-
visibility: 'hidden',
|
7401 |
-
maxWidth: self.getContainerWidth()
|
7402 |
-
}).appendTo('body');
|
7403 |
-
self._items = self.$el.find(self.options.itemSelector).removeAttr("style").removeClass("fg-positioned").map(function(i, el){
|
7404 |
-
var $item = $(el), width = 0, height = 0;
|
7405 |
-
if (!visible){
|
7406 |
-
var $clone = $item.clone();
|
7407 |
-
$clone.appendTo($test);
|
7408 |
-
width = $clone.outerWidth();
|
7409 |
-
height = $clone.outerHeight();
|
7410 |
-
} else {
|
7411 |
-
width = $item.outerWidth();
|
7412 |
-
height = $item.outerHeight();
|
7413 |
-
}
|
7414 |
-
|
7415 |
return {
|
7416 |
index: i,
|
7417 |
-
width: width,
|
7418 |
-
height: height,
|
7419 |
top: 0,
|
7420 |
left: 0,
|
7421 |
-
$item:
|
7422 |
};
|
7423 |
-
})
|
7424 |
-
$test.remove();
|
7425 |
-
return self._items;
|
7426 |
},
|
7427 |
getMaxRowHeight: function() {
|
7428 |
var self = this;
|
@@ -7649,7 +7655,7 @@
|
|
7649 |
return rows;
|
7650 |
},
|
7651 |
onWindowResize: function(e){
|
7652 |
-
e.data.self.layout();
|
7653 |
}
|
7654 |
});
|
7655 |
|
@@ -7669,11 +7675,11 @@
|
|
7669 |
FooGallery.utils,
|
7670 |
FooGallery.utils.is
|
7671 |
);
|
7672 |
-
(function($, _,
|
7673 |
|
7674 |
_.JustifiedTemplate = _.Template.extend({
|
7675 |
onPreInit: function(event, self){
|
7676 |
-
self.justified = new _.Justified( self
|
7677 |
},
|
7678 |
onInit: function(event, self){
|
7679 |
self.justified.init();
|
@@ -7690,14 +7696,13 @@
|
|
7690 |
onLayout: function(event, self){
|
7691 |
self.justified.layout( true );
|
7692 |
},
|
7693 |
-
|
7694 |
-
if (
|
7695 |
-
|
7696 |
-
|
7697 |
-
if (self.initialized || self.initializing) self.justified.layout( true );
|
7698 |
},
|
7699 |
-
|
7700 |
-
|
7701 |
}
|
7702 |
});
|
7703 |
|
@@ -7708,13 +7713,14 @@
|
|
7708 |
})(
|
7709 |
FooGallery.$,
|
7710 |
FooGallery,
|
7711 |
-
FooGallery.utils
|
7712 |
);
|
7713 |
(function($, _, _utils, _is){
|
7714 |
|
7715 |
_.Portfolio = _utils.Class.extend({
|
7716 |
-
construct: function(
|
7717 |
-
this
|
|
|
7718 |
this.options = $.extend(true, {}, _.Portfolio.defaults, options);
|
7719 |
this._items = [];
|
7720 |
this._lastWidth = 0;
|
@@ -7736,37 +7742,29 @@
|
|
7736 |
visibility: 'hidden',
|
7737 |
maxWidth: maxWidth
|
7738 |
}).appendTo('body');
|
7739 |
-
|
7740 |
-
|
7741 |
-
|
7742 |
-
|
7743 |
-
width = parseFloat($img.attr("width")),
|
7744 |
-
height = parseFloat($img.attr("height")),
|
7745 |
-
iWidth = maxWidth < width ? maxWidth : width,
|
7746 |
-
iHeight = maxWidth < width ? 'auto' : height;
|
7747 |
-
|
7748 |
-
$item.find(".fg-caption").css("max-width", iWidth);
|
7749 |
-
$img.css({ width: iWidth, height: iHeight });
|
7750 |
if (!visible){
|
7751 |
-
var $clone =
|
7752 |
$clone.appendTo($test);
|
7753 |
width = $clone.outerWidth();
|
7754 |
height = $clone.outerHeight();
|
7755 |
} else {
|
7756 |
-
width =
|
7757 |
-
height =
|
7758 |
}
|
7759 |
-
$img.css({ width: '', height: '' });
|
7760 |
return {
|
7761 |
index: i,
|
7762 |
width: width,
|
7763 |
height: height,
|
7764 |
top: 0,
|
7765 |
left: 0,
|
7766 |
-
$item:
|
7767 |
-
$thumb:
|
7768 |
};
|
7769 |
-
})
|
7770 |
$test.remove();
|
7771 |
return self._items;
|
7772 |
},
|
@@ -7942,7 +7940,7 @@
|
|
7942 |
this.portfolio = null;
|
7943 |
},
|
7944 |
onPreInit: function(event, self){
|
7945 |
-
self.portfolio = new _.Portfolio( self
|
7946 |
},
|
7947 |
onInit: function(event, self){
|
7948 |
self.portfolio.init();
|
@@ -7959,19 +7957,20 @@
|
|
7959 |
onLayout: function(event, self){
|
7960 |
self.portfolio.layout( true );
|
7961 |
},
|
7962 |
-
|
7963 |
-
if (
|
7964 |
-
|
7965 |
-
|
7966 |
-
if (self.initialized || self.initializing) self.portfolio.layout( true );
|
7967 |
},
|
7968 |
-
|
7969 |
-
|
7970 |
}
|
7971 |
});
|
7972 |
|
7973 |
_.template.register("simple_portfolio", _.PortfolioTemplate, {
|
7974 |
-
|
|
|
|
|
7975 |
}, {
|
7976 |
container: "foogallery fg-simple_portfolio"
|
7977 |
});
|
@@ -8252,7 +8251,11 @@
|
|
8252 |
try {
|
8253 |
// if the gallery is displayed within a FooBox do not trigger the post-load which would cause the lightbox to re-init
|
8254 |
if (tmpl.$el.parents(".fbx-item").length > 0) return;
|
8255 |
-
|
|
|
|
|
|
|
|
|
8256 |
} catch(err) {
|
8257 |
console.error(err);
|
8258 |
}
|
3177 |
TOUCH = "ontouchstart" in window,
|
3178 |
POINTER_IE10 = window.navigator.msPointerEnabled && !window.navigator.pointerEnabled && !TOUCH,
|
3179 |
POINTER = (window.navigator.pointerEnabled || window.navigator.msPointerEnabled) && !TOUCH,
|
3180 |
+
USE_TOUCH = TOUCH || POINTER,
|
3181 |
+
SUPPORTS_PASSIVE = false;
|
3182 |
+
|
3183 |
+
|
3184 |
+
// @see https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
|
3185 |
+
try {
|
3186 |
+
var opts = Object.defineProperty({}, 'passive', {
|
3187 |
+
get: function() {
|
3188 |
+
SUPPORTS_PASSIVE = true;
|
3189 |
+
}
|
3190 |
+
});
|
3191 |
+
window.addEventListener("testPassive", null, opts);
|
3192 |
+
window.removeEventListener("testPassive", null, opts);
|
3193 |
+
} catch (e) {}
|
3194 |
|
3195 |
_.Swipe = _utils.Class.extend(/** @lend FooGallery.Swipe */{
|
3196 |
/**
|
3264 |
* @function init
|
3265 |
*/
|
3266 |
init: function(){
|
3267 |
+
var self = this, elem = self.$el.get(0);
|
3268 |
+
if (SUPPORTS_PASSIVE && self.events.start == 'touchstart' && !!elem.addEventListener){
|
3269 |
+
elem.addEventListener('touchstart', self.onStart, { passive: true });
|
3270 |
+
} else {
|
3271 |
+
self.$el.on(self.events.start, {self: self}, self.onStart);
|
3272 |
+
}
|
3273 |
self.$el.on(self.events.move, {self: self}, self.onMove);
|
3274 |
+
if (SUPPORTS_PASSIVE && self.events.end == 'touchend' && !!elem.addEventListener){
|
3275 |
+
elem.addEventListener('touchend', self.onEnd, { passive: true });
|
3276 |
+
} else {
|
3277 |
+
self.$el.on(self.events.end, {self: self}, self.onEnd);
|
3278 |
+
}
|
3279 |
if (_is.string(self.events.leave)) self.$el.on(self.events.leave, {self: self}, self.onEnd);
|
3280 |
self.$el.data(DATA_NAME, self);
|
3281 |
},
|
3285 |
* @function destroy
|
3286 |
*/
|
3287 |
destroy: function(){
|
3288 |
+
var self = this, elem = self.$el.get(0);
|
3289 |
+
if (SUPPORTS_PASSIVE && self.events.start == 'touchstart' && !!elem.removeEventListener){
|
3290 |
+
elem.removeEventListener('touchstart', self.onStart, { passive: true });
|
3291 |
+
} else {
|
3292 |
+
self.$el.off(self.events.start, self.onStart);
|
3293 |
+
}
|
3294 |
self.$el.off(self.events.move, self.onMove);
|
3295 |
+
if (SUPPORTS_PASSIVE && self.events.end == 'touchend' && !!elem.removeEventListener){
|
3296 |
+
elem.removeEventListener('touchend', self.onEnd, { passive: true });
|
3297 |
+
} else {
|
3298 |
+
self.$el.off(self.events.end, self.onEnd);
|
3299 |
+
}
|
3300 |
if (_is.string(self.events.leave)) self.$el.off(self.events.leave, self.onEnd);
|
3301 |
self.$el.removeData(DATA_NAME);
|
3302 |
},
|
4156 |
self.initialized = true;
|
4157 |
|
4158 |
// performed purely to re-check if any items need to be loaded after content has possibly shifted
|
|
|
|
|
4159 |
self._check(1000);
|
4160 |
+
// self._check(3000);
|
|
|
4161 |
|
4162 |
/**
|
4163 |
* @summary Raised after the template is fully initialized and is ready to be interacted with.
|
4344 |
return this.items.load(this.getAvailable());
|
4345 |
},
|
4346 |
|
4347 |
+
getItems: function(){
|
4348 |
+
return this.pages ? this.pages.items() : this.items.available();
|
4349 |
+
},
|
4350 |
+
|
4351 |
/**
|
4352 |
* @summary Check if any available items need to be loaded and loads them.
|
4353 |
* @memberof FooGallery.Template#
|
4480 |
lazy: true,
|
4481 |
viewport: 200,
|
4482 |
items: [],
|
4483 |
+
fixLayout: true,
|
4484 |
+
delay: 0,
|
4485 |
throttle: 50,
|
4486 |
timeout: 60000,
|
4487 |
+
srcset: "data-srcset-fg",
|
4488 |
+
src: "data-src-fg",
|
4489 |
template: {}
|
4490 |
}, {
|
4491 |
container: "foogallery"
|
4501 |
* @property {boolean} [lazy=true] - Whether or not to enable lazy loading of images.
|
4502 |
* @property {number} [viewport=200] - The number of pixels to inflate the viewport by when checking to lazy load items.
|
4503 |
* @property {(FooGallery.Item~Options[]|FooGallery.Item[]| string)} [items=[]] - An array of items to load when required. A url can be provided and the items will be fetched using an ajax call, the response should be a properly formatted JSON array of {@link FooGallery.Item~Options|item} object.
|
4504 |
+
* @property {boolean} [fixLayout=true] - Whether or not the items' size should be set with CSS until the image is loaded.
|
4505 |
+
* @property {number} [delay=0] - The number of milliseconds to delay the initialization of a template.
|
4506 |
* @property {number} [throttle=50] - The number of milliseconds to wait once scrolling has stopped before performing any work.
|
4507 |
* @property {number} [timeout=60000] - The number of milliseconds to wait before forcing a timeout when loading items.
|
4508 |
+
* @property {string} [src="data-src-fg"] - The name of the attribute to retrieve an images src url from.
|
4509 |
+
* @property {string} [srcset="data-srcset-fg"] - The name of the attribute to retrieve an images srcset url from.
|
4510 |
* @property {object} [template={}] - An object containing any additional custom options for the template.
|
4511 |
* @property {FooGallery.Template~CSSClasses} [cls] - An object containing all CSS classes for the template.
|
4512 |
* @property {FooGallery.Template~CSSSelectors} [sel] - An object containing all CSS selectors for the template.
|
5028 |
*/
|
5029 |
self.$caption = null;
|
5030 |
|
5031 |
+
/**
|
5032 |
+
* @memberof FooGallery.Item#
|
5033 |
+
* @name fixLayout
|
5034 |
+
* @type {boolean}
|
5035 |
+
*/
|
5036 |
+
self.fixLayout = self.tmpl.opt.fixLayout;
|
5037 |
+
|
5038 |
/**
|
5039 |
* @memberof FooGallery.Item#
|
5040 |
* @name type
|
5151 |
* @private
|
5152 |
*/
|
5153 |
self._thumbUrl = null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5154 |
/**
|
5155 |
* @summary This property is used to store the promise created when loading an item for the first time.
|
5156 |
* @memberof FooGallery.Item#
|
5273 |
if (self._undo.loader) {
|
5274 |
self.$el.find(self.sel.loader).remove();
|
5275 |
}
|
5276 |
+
if (self._undo.placeholder && self.$image.prop("src") == _.emptyImage) {
|
5277 |
self.$image.removeAttr("src");
|
5278 |
}
|
5279 |
} else if (self.isCreated) {
|
5338 |
var e = self.tmpl.raise("parse-item", [self, $el]);
|
5339 |
if (!e.isDefaultPrevented() && (self.isCreated = $el.is(self.sel.elem))) {
|
5340 |
self.isParsed = self.doParseItem($el);
|
5341 |
+
if (self.fixLayout) self.fix();
|
5342 |
// We don't load the attributes when parsing as they are only ever used to create an item and if you're parsing it's already created.
|
5343 |
}
|
5344 |
if (self.isParsed) {
|
5377 |
self._undo.style = $el.attr("style") || "";
|
5378 |
|
5379 |
self.$el = $el.data(_.dataItem, self);
|
5380 |
+
self.$inner = self.$el.children(sel.inner);
|
5381 |
+
self.$anchor = self.$inner.children(sel.anchor).on("click.foogallery", {self: self}, self.onAnchorClick);
|
5382 |
self.$image = self.$anchor.find(sel.image);
|
5383 |
+
self.$caption = self.$inner.children(sel.caption.elem).on("click.foogallery", {self: self}, self.onCaptionClick);
|
5384 |
self.isAttached = self.$el.parent().length > 0;
|
5385 |
self.isLoading = self.$el.is(sel.loading);
|
5386 |
self.isLoaded = self.$el.is(sel.loaded);
|
5387 |
self.isError = self.$el.is(sel.error);
|
5388 |
+
|
5389 |
+
var data = self.$anchor.data();
|
5390 |
+
self.id = data.id || self.id;
|
5391 |
+
self.tags = data.tags || self.tags;
|
5392 |
+
self.href = data.href || self.$anchor.attr('href') || self.href;
|
5393 |
self.src = self.$image.attr(o.src) || self.src;
|
5394 |
self.srcset = self.$image.attr(o.srcset) || self.srcset;
|
5395 |
self.width = parseInt(self.$image.attr("width")) || self.width;
|
5396 |
self.height = parseInt(self.$image.attr("height")) || self.height;
|
5397 |
self.title = self.$image.attr("title") || self.title;
|
5398 |
self.alt = self.$image.attr("alt") || self.alt;
|
5399 |
+
self.caption = data.title || data.captionTitle || self.caption || self.title;
|
5400 |
+
self.description = data.description || data.captionDesc || self.description || self.alt;
|
5401 |
// if the caption or description are not set yet try fetching it from the html
|
5402 |
if (_is.empty(self.caption)) self.caption = $.trim(self.$caption.find(sel.caption.title).html());
|
5403 |
if (_is.empty(self.description)) self.description = $.trim(self.$caption.find(sel.caption.description).html());
|
5409 |
self.$caption.find(sel.caption.description).html(self.description.substr(0, self.maxDescriptionLength) + "…");
|
5410 |
}
|
5411 |
// check if the item has a wrap
|
5412 |
+
if (self.$anchor.children(sel.wrap).length === 0) {
|
5413 |
+
var $wrap = $("<span/>", {"class": cls.wrap});
|
5414 |
+
self.$anchor.append($wrap.append(self.$image));
|
5415 |
self._undo.wrap = true;
|
5416 |
}
|
5417 |
// check if the item has a loader
|
5418 |
+
if (self.$el.children(sel.loader).length === 0) {
|
5419 |
self.$el.append($("<div/>", {"class": cls.loader}));
|
5420 |
self._undo.loader = true;
|
5421 |
}
|
5422 |
// if the image has no src url then set the placeholder
|
5423 |
+
var img = self.$image.get(0);
|
5424 |
+
if (_is.empty(img.src)) {
|
5425 |
+
img.src = _.emptyImage;
|
5426 |
self._undo.placeholder = true;
|
5427 |
}
|
5428 |
if (self.isCreated && self.isAttached && !self.isLoading && !self.isLoaded && !self.isError) {
|
5530 |
}
|
5531 |
|
5532 |
attr.image["class"] = cls.image;
|
5533 |
+
attr.image["src"] = _.emptyImage;
|
5534 |
attr.image[o.src] = self.src;
|
5535 |
attr.image[o.srcset] = self.srcset;
|
5536 |
attr.image["width"] = self.width;
|
5555 |
attr.title["class"] = cls.title;
|
5556 |
attr.description["class"] = cls.description;
|
5557 |
if (hasTitle) {
|
5558 |
+
var $title = $("<div/>").attr(attr.title), titleHtml = self.caption;
|
5559 |
// enforce the max length for the caption
|
5560 |
if (_is.number(self.maxCaptionLength) && self.maxCaptionLength > 0 && _is.string(self.caption) && self.caption.length > self.maxCaptionLength) {
|
5561 |
+
titleHtml = self.caption.substr(0, self.maxCaptionLength) + "…";
|
|
|
|
|
5562 |
}
|
5563 |
+
$title.get(0).innerHTML = titleHtml;
|
5564 |
$inner.append($title);
|
5565 |
}
|
5566 |
if (hasDesc) {
|
5567 |
+
var $desc = $("<div/>").attr(attr.description), descHtml = self.description;
|
5568 |
// enforce the max length for the description
|
5569 |
if (_is.number(self.maxDescriptionLength) && self.maxDescriptionLength > 0 && _is.string(self.description) && self.description.length > self.maxDescriptionLength) {
|
5570 |
+
descHtml = self.description.substr(0, self.maxDescriptionLength) + "…";
|
|
|
|
|
5571 |
}
|
5572 |
+
$desc.get(0).innerHTML = descHtml;
|
5573 |
$inner.append($desc);
|
5574 |
}
|
5575 |
}
|
5635 |
var e = self.tmpl.raise("append-item", [self]);
|
5636 |
if (!e.isDefaultPrevented()) {
|
5637 |
self.tmpl.$el.append(self.$el);
|
5638 |
+
if (self.fixLayout) self.fix();
|
5639 |
self.isAttached = true;
|
5640 |
}
|
5641 |
if (self.isAttached) {
|
5713 |
var e = self.tmpl.raise("detach-item", [self]);
|
5714 |
if (!e.isDefaultPrevented()) {
|
5715 |
self.$el.detach();
|
5716 |
+
if (self.fixLayout) self.unfix();
|
5717 |
self.isAttached = false;
|
5718 |
}
|
5719 |
if (!self.isAttached) {
|
5759 |
self.isLoading = false;
|
5760 |
self.isLoaded = true;
|
5761 |
self.$el.removeClass(cls.loading).addClass(cls.loaded);
|
5762 |
+
if (self.fixLayout) self.unfix();
|
5763 |
self.tmpl.raise("loaded-item", [self]);
|
5764 |
def.resolve(self);
|
5765 |
};
|
5790 |
fix: function () {
|
5791 |
var self = this;
|
5792 |
if (self.tmpl == null) return self;
|
5793 |
+
if (self.isCreated && !self.isLoading && !self.isLoaded && !self.isError) {
|
5794 |
+
var w = self.width, h = self.height, img = self.$image.get(0);
|
|
|
5795 |
// if we have a base width and height to work with
|
5796 |
+
if (!isNaN(w) && !isNaN(h) && !!img) {
|
5797 |
// figure out the max image width and calculate the height the image should be displayed as
|
5798 |
var width = _is.fn(self.maxWidth) ? self.maxWidth(self) : self.$image.width();
|
5799 |
if (width <= 0) width = w;
|
5813 |
unfix: function () {
|
5814 |
var self = this;
|
5815 |
if (self.tmpl == null) return self;
|
5816 |
+
if (self.isCreated) self.$image.css({width: '', height: ''});
|
|
|
5817 |
return self;
|
5818 |
},
|
5819 |
/**
|
6166 |
reset: function () {
|
6167 |
this.setAvailable(this.all());
|
6168 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6169 |
/**
|
6170 |
* @summary Filter the supplied `items` and return only those that can be loaded.
|
6171 |
* @memberof FooGallery.Items#
|
6705 |
available: function () {
|
6706 |
return this.get(this.current);
|
6707 |
},
|
6708 |
+
items: function(){
|
6709 |
+
return this.get(this.current);
|
6710 |
+
},
|
6711 |
controls: function (pageNumber) {
|
6712 |
var self = this;
|
6713 |
if (self.isValid(pageNumber)) {
|
6727 |
pageNumber = self.number(pageNumber);
|
6728 |
var index = pageNumber - 1;
|
6729 |
self.tmpl.items.detach(self.tmpl.items.all());
|
|
|
6730 |
self.current = pageNumber;
|
6731 |
+
self.tmpl.items.create(self._arr[index], true);
|
6732 |
},
|
6733 |
get: function (pageNumber) {
|
6734 |
var self = this;
|
7383 |
(function($, _, _utils, _is){
|
7384 |
|
7385 |
_.Justified = _utils.Class.extend({
|
7386 |
+
construct: function(template, options){
|
7387 |
+
this.tmpl = template;
|
7388 |
+
this.$el = template.$el;
|
7389 |
this.options = $.extend(true, {}, _.Justified.defaults, options);
|
7390 |
this._items = [];
|
7391 |
this._lastRefresh = 0;
|
7418 |
}
|
7419 |
},
|
7420 |
parse: function(){
|
7421 |
+
var self = this;
|
7422 |
+
return self._items = $.map(self.tmpl.getItems(), function(item, i){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7423 |
return {
|
7424 |
index: i,
|
7425 |
+
width: item.width,
|
7426 |
+
height: item.height,
|
7427 |
top: 0,
|
7428 |
left: 0,
|
7429 |
+
$item: item.$el
|
7430 |
};
|
7431 |
+
});
|
|
|
|
|
7432 |
},
|
7433 |
getMaxRowHeight: function() {
|
7434 |
var self = this;
|
7655 |
return rows;
|
7656 |
},
|
7657 |
onWindowResize: function(e){
|
7658 |
+
e.data.self.layout( true );
|
7659 |
}
|
7660 |
});
|
7661 |
|
7675 |
FooGallery.utils,
|
7676 |
FooGallery.utils.is
|
7677 |
);
|
7678 |
+
(function($, _, _is){
|
7679 |
|
7680 |
_.JustifiedTemplate = _.Template.extend({
|
7681 |
onPreInit: function(event, self){
|
7682 |
+
self.justified = new _.Justified( self, self.template );
|
7683 |
},
|
7684 |
onInit: function(event, self){
|
7685 |
self.justified.init();
|
7696 |
onLayout: function(event, self){
|
7697 |
self.justified.layout( true );
|
7698 |
},
|
7699 |
+
onAfterPageChange: function(event, self, current, prev, isFilter){
|
7700 |
+
if (!isFilter){
|
7701 |
+
self.justified.layout( true );
|
7702 |
+
}
|
|
|
7703 |
},
|
7704 |
+
onAfterFilterChange: function(event, self){
|
7705 |
+
self.justified.layout( true );
|
7706 |
}
|
7707 |
});
|
7708 |
|
7713 |
})(
|
7714 |
FooGallery.$,
|
7715 |
FooGallery,
|
7716 |
+
FooGallery.utils.is
|
7717 |
);
|
7718 |
(function($, _, _utils, _is){
|
7719 |
|
7720 |
_.Portfolio = _utils.Class.extend({
|
7721 |
+
construct: function(tmpl, options){
|
7722 |
+
this.tmpl = tmpl;
|
7723 |
+
this.$el = tmpl.$el;
|
7724 |
this.options = $.extend(true, {}, _.Portfolio.defaults, options);
|
7725 |
this._items = [];
|
7726 |
this._lastWidth = 0;
|
7742 |
visibility: 'hidden',
|
7743 |
maxWidth: maxWidth
|
7744 |
}).appendTo('body');
|
7745 |
+
|
7746 |
+
self._items = $.map(self.tmpl.getItems(), function(item, i){
|
7747 |
+
var width = item.width, height = item.height;
|
7748 |
+
item.$caption.css("max-width", width);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7749 |
if (!visible){
|
7750 |
+
var $clone = item.$el.clone();
|
7751 |
$clone.appendTo($test);
|
7752 |
width = $clone.outerWidth();
|
7753 |
height = $clone.outerHeight();
|
7754 |
} else {
|
7755 |
+
width = item.$el.outerWidth();
|
7756 |
+
height = item.$el.outerHeight();
|
7757 |
}
|
|
|
7758 |
return {
|
7759 |
index: i,
|
7760 |
width: width,
|
7761 |
height: height,
|
7762 |
top: 0,
|
7763 |
left: 0,
|
7764 |
+
$item: item.$el,
|
7765 |
+
$thumb: item.$thumb
|
7766 |
};
|
7767 |
+
});
|
7768 |
$test.remove();
|
7769 |
return self._items;
|
7770 |
},
|
7940 |
this.portfolio = null;
|
7941 |
},
|
7942 |
onPreInit: function(event, self){
|
7943 |
+
self.portfolio = new _.Portfolio( self, self.template );
|
7944 |
},
|
7945 |
onInit: function(event, self){
|
7946 |
self.portfolio.init();
|
7957 |
onLayout: function(event, self){
|
7958 |
self.portfolio.layout( true );
|
7959 |
},
|
7960 |
+
onAfterPageChange: function(event, self, current, prev, isFilter){
|
7961 |
+
if (!isFilter){
|
7962 |
+
self.portfolio.layout( true );
|
7963 |
+
}
|
|
|
7964 |
},
|
7965 |
+
onAfterFilterChange: function(event, self){
|
7966 |
+
self.portfolio.layout( true );
|
7967 |
}
|
7968 |
});
|
7969 |
|
7970 |
_.template.register("simple_portfolio", _.PortfolioTemplate, {
|
7971 |
+
template: {
|
7972 |
+
gutter: 40
|
7973 |
+
}
|
7974 |
}, {
|
7975 |
container: "foogallery fg-simple_portfolio"
|
7976 |
});
|
8251 |
try {
|
8252 |
// if the gallery is displayed within a FooBox do not trigger the post-load which would cause the lightbox to re-init
|
8253 |
if (tmpl.$el.parents(".fbx-item").length > 0) return;
|
8254 |
+
if (tmpl.$el.hasClass("fbx-instance") && !!window.FOOBOX && !!$.fn.foobox){
|
8255 |
+
tmpl.$el.foobox(window.FOOBOX.o);
|
8256 |
+
} else {
|
8257 |
+
$("body").trigger("post-load");
|
8258 |
+
}
|
8259 |
} catch(err) {
|
8260 |
console.error(err);
|
8261 |
}
|
extensions/default-templates/shared/js/foogallery.min.js
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
/*
|
2 |
* FooGallery - The Most Intuitive and Extensible Gallery Creation and Management Tool Ever Created for WordPress
|
3 |
-
* @version 1.
|
4 |
* @link
|
5 |
* @copyright Steven Usher & Brad Vincent 2015
|
6 |
* @license Released under the GPLv3 license.
|
7 |
*/
|
8 |
|
9 |
-
!function(a,b){b.$=a}(jQuery,window.FooGallery=window.FooGallery||{}),function(a){if(!a)return void console.warn("jQuery must be included in the page prior to the FooGallery.utils library.");var b={$:a,version:"0.0.8"};b.versionCompare=function(a,b){function c(a){for(var b=a.split("."),c=0,d=b.length;c<d;c++)b[c]=parseInt(b[c]),isNaN(b[c])&&(b[c]=0);return b}if(!/[\d.]/.test(a)||!/[\d.]/.test(b))return NaN;for(var d=c(a),e=c(b);d.length<e.length;)d.push(0);for(;e.length<d.length;)e.push(0);for(var f=0;f<d.length;++f){if(e.length==f)return 1;if(d[f]!=e[f])return d[f]>e[f]?1:-1}return d.length!=e.length?-1:0},!function(){try{return!!window.FooGallery.utils}catch(a){return!1}}()?window.FooGallery.utils=b:b.versionCompare(b.version,window.FooGallery.utils.version)>0?(console.warn("An older version of FooGallery.utils ("+window.FooGallery.utils.version+") already exists in the page, version "+b.version+" will override it."),window.FooGallery.utils=b):console.warn("A newer version of FooGallery.utils ("+window.FooGallery.utils.version+") already exists in the page, version "+b.version+" will not register itself.")}(jQuery),function(a,b){"0.0.8"===b.version&&(b.is={},b.is.array=function(a){return"[object Array]"===Object.prototype.toString.call(a)},b.is.boolean=function(a){return"[object Boolean]"===Object.prototype.toString.call(a)},b.is.element=function(a){return"object"==typeof HTMLElement?a instanceof HTMLElement:!!a&&"object"==typeof a&&null!==a&&1===a.nodeType&&"string"==typeof a.nodeName},b.is.empty=function(a){if(b.is.undef(a)||null===a)return!0;if(b.is.number(a)&&0==a)return!0;if(b.is.boolean(a)&&!1===a)return!0;if(b.is.string(a)&&0===a.length)return!0;if(b.is.array(a)&&0===a.length)return!0;if(b.is.jq(a)&&0===a.length)return!0;if(b.is.hash(a)){for(var c in a)if(a.hasOwnProperty(c))return!1;return!0}return!1},b.is.error=function(a){return"[object Error]"===Object.prototype.toString.call(a)},b.is.fn=function(a){return a===window.alert||"[object Function]"===Object.prototype.toString.call(a)},b.is.hash=function(a){return b.is.object(a)&&a.constructor===Object&&!a.nodeType&&!a.setInterval},b.is.jq=function(c){return!b.is.undef(a)&&c instanceof a},b.is.number=function(a){return"[object Number]"===Object.prototype.toString.call(a)&&!isNaN(a)},b.is.object=function(a){return"[object Object]"===Object.prototype.toString.call(a)&&!b.is.undef(a)&&null!==a},b.is.promise=function(a){return b.is.object(a)&&b.is.fn(a.then)&&b.is.fn(a.promise)},b.is.size=function(a){return!!(b.is.string(a)&&!b.is.empty(a)||b.is.number(a))&&/^(auto|none|(?:[\d\.]*)+?(?:%|px|mm|q|cm|in|pt|pc|em|ex|ch|rem|vh|vw|vmin|vmax)?)$/.test(a)},b.is.string=function(a){return"[object String]"===Object.prototype.toString.call(a)},b.is.undef=function(a){return void 0===a})}(FooGallery.utils.$,FooGallery.utils),function(a,b,c){if("0.0.8"===b.version){b.fn={};var d=Function.prototype.toString;b.fn.CONTAINS_SUPER=/xyz/.test(d.call(function(){xyz}))?/\b_super\b/:/.*/,b.fn.addOrOverride=function(a,e,f){if(c.object(a)&&c.string(e)&&!c.empty(e)&&c.fn(f)){var g=a[e],h=c.fn(g)&&b.fn.CONTAINS_SUPER.test(d.call(f));a[e]=h?function(a,b){return function(){var c=this._super;this._super=a;var d=b.apply(this,arguments);return this._super=c,d}}(g,f):f}},b.fn.apply=function(a,b){function d(){return a.apply(this,b)}return b=c.array(b)?b:[],d.prototype=a.prototype,new d},b.fn.arg2arr=function(a){return Array.prototype.slice.call(a)},b.fn.check=function(d,e,f,g){function h(a){return function(){return a.apply(d,arguments)}}return f=c.fn(f)?f:a.noop,d=c.object(d)?d:window,e=c.string(e)?b.fn.fetch(e,g):e,h(c.fn(e)?e:f)},b.fn.fetch=function(b,d){return!c.string(b)||c.empty(b)?null:(d=c.object(d)?d:window,a.each(b.split("."),function(a,b){if(!d[b])return!1;d=d[b]}),c.fn(d)?d:null)},b.fn.enqueue=function(d,e,f,g){function h(a,b){try{return n.push(a),b.apply(a,i)}catch(a){return j.reject(a,n),j}}var i=b.fn.arg2arr(arguments),j=a.Deferred(),k=a.Deferred(),l=k.promise(),m=[],n=[],o=!0;return d=i.shift(),e=i.shift(),a.each(d,function(a,d){c.fn(d[e])&&(l=l.then(function(){if(!o){var a=b.fn.arg2arr(arguments);m.push(a)}return o=!1,h(d,d[e])}))}),l.then(function(){if(!o){var a=b.fn.arg2arr(arguments);m.push(a)}o=!1,j.resolve(m)}),l.fail(function(){var a=b.fn.arg2arr(arguments);a.push(n),j.reject.apply(j,a)}),k.resolve(),j.promise()},b.fn.when=function(b){if(!c.array(b)||c.empty(b))return a.when();for(var d=a.Deferred(),e=[],f=b.length,g=0;g<b.length;g++)b[g].then(function(a){e.push(a)}).always(function(){--f||d.resolve(e)});return d.promise()},b.fn.rejectWith=function(c,d){var e=a.Deferred(),f=b.fn.arg2arr(arguments);return e.reject.apply(e,f).promise()},b.fn.resolveWith=function(c,d){var e=a.Deferred(),f=b.fn.arg2arr(arguments);return e.resolve.apply(e,f).promise()},b.fn.resolved=a.Deferred().resolve().promise(),b.fn.rejected=a.Deferred().reject().promise()}}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is),function(a,b){if("0.0.8"===a.version){a.url={};var c=document.createElement("a");a.url.parts=function(a){return c.href=a,{hash:c.hash,host:c.host,hostname:c.hostname,href:c.href,origin:c.origin,pathname:c.pathname,port:c.port,protocol:c.protocol,search:c.search}},a.url.full=function(a){return!b.string(a)||b.empty(a)?null:(c.href=a,c.href)},a.url.param=function(a,c,d){if(!b.string(a)||!b.string(c)||b.empty(c))return a;var e,f,g,h;return b.undef(d)?(e=new RegExp("[?|&]"+c+"=([^&;]+?)(&|#|;|$)"),f=e.exec(a)||[,""],g=f[1].replace(/\+/g,"%20"),b.string(g)&&!b.empty(g)?decodeURIComponent(g):null):(""===d||null===d?(e=new RegExp("^([^#]*?)(([^#]*)&)?"+c+"(=[^&#]*)?(&|#|$)"),g=a.replace(e,"$1$3$5").replace(/^([^#]*)((\?)&|\?(#|$))/,"$1$3$4")):(e=new RegExp("([?&])"+c+"[^&]*"),h=c+"="+encodeURIComponent(d),(g=a.replace(e,"$1"+h))!==a||e.test(g)||(g+=(-1!==g.indexOf("?")?"&":"?")+h)),g)}}}(FooGallery.utils,FooGallery.utils.is),function(a,b,c){"0.0.8"===a.version&&(a.str={},a.str.camel=function(a){return b.empty(a)?a:a.toUpperCase()===a?a.toLowerCase():a.replace(/^([A-Z])|[-\s_]+(\w)/g,function(a,c,d){return b.string(d)?d.toUpperCase():c.toLowerCase()})},a.str.contains=function(a,c,d){return!(!b.string(a)||b.empty(a)||!b.string(c)||b.empty(c))&&(c.length<=a.length&&-1!==(d?a.toUpperCase().indexOf(c.toUpperCase()):a.indexOf(c)))},a.str.containsWord=function(a,c,d){if(!b.string(a)||b.empty(a)||!b.string(c)||b.empty(c)||a.length<c.length)return!1;for(var e=a.split(/\W/),f=0,g=e.length;f<g;f++)if(d?e[f].toUpperCase()==c.toUpperCase():e[f]==c)return!0;return!1},a.str.endsWith=function(a,c){return!b.string(a)||b.empty(a)||!b.string(c)||b.empty(c)?a==c:a.slice(a.length-c.length)==c},a.str.escapeRegExp=function(a){return b.empty(a)?a:a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},a.str.fnv1a=function(a){if(!b.string(a)||b.empty(a))return null;var c,d,e=2166136261;for(c=0,d=a.length;c<d;c++)e^=a.charCodeAt(c),e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24);return e>>>0},a.str.from=function(c,d){return!b.string(c)||b.empty(c)||!b.string(d)||b.empty(d)?null:a.str.contains(c,d)?c.substring(c.indexOf(d)+d.length):null},a.str.join=function(d,e,f){if(!b.string(d)||!b.string(e))return null;var g=c.arg2arr(arguments);d=g.shift();var h,i,j=g.shift();for(h=0,i=g.length;h<i;h++)e=g[h],b.empty(e)||(a.str.endsWith(j,d)&&(j=j.slice(0,j.length-d.length)),a.str.startsWith(e,d)&&(e=e.slice(d.length)),j+=d+e);return j},a.str.startsWith=function(a,c){return!b.empty(a)&&!b.empty(c)&&a.slice(0,c.length)==c},a.str.until=function(c,d){return b.empty(c)||b.empty(d)?c:a.str.contains(c,d)?c.substring(0,c.indexOf(d)):c},a.str.format=function(a,d,e){var f=c.arg2arr(arguments);if(a=f.shift(),b.empty(a)||b.empty(f))return a;1===f.length&&(b.array(f[0])||b.object(f[0]))&&(f=f[0]);for(var g in f)a=a.replace(new RegExp("\\{"+g+"\\}","gi"),f[g]);return a})}(FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn),function(a,b,c,d,e){if("0.0.8"===b.version){b.obj={};var f=function(){};b.obj.create=function(a){if(!c.object(a))throw TypeError("Argument must be an object");f.prototype=a;var b=new f;return f.prototype=null,b},b.obj.extend=function(e,f,g){e=c.object(e)?e:{};var h=d.arg2arr(arguments);return h.shift(),a.each(h,function(a,c){b.obj.merge(e,c)}),e},b.obj.merge=function(a,d){a=c.hash(a)?a:{},d=c.hash(d)?d:{};for(var e in d)d.hasOwnProperty(e)&&(c.hash(d[e])?(a[e]=c.hash(a[e])?a[e]:{},b.obj.merge(a[e],d[e])):c.array(d[e])?a[e]=d[e].slice():a[e]=d[e]);return a},b.obj.mergeValid=function(d,e,f,g){if(!c.hash(f)||!c.hash(e))return d;e=c.hash(e)?e:{},g=c.hash(g)?g:{};var h,i,j;for(h in e)e.hasOwnProperty(h)&&c.fn(e[h])&&(i=c.array(g[h])?g[h]:c.string(g[h])?[g[h]]:[h],a.each(i,function(a,g){if(j=b.obj.prop(f,g),!c.undef(j))return e[h](j)?(b.obj.prop(d,h,j),!1):void 0}));return d},b.obj.prop=function(b,d,f){if(c.object(b)&&!c.empty(d)){var g,h;if(c.undef(f))return e.contains(d,".")?(g=d.split("."),h=g.length-1,a.each(g,function(a,d){if(a===h)f=b[d];else{if(!c.hash(b[d]))return!1;b=b[d]}})):c.undef(b[d])||(f=b[d]),f;e.contains(d,".")?(g=d.split("."),h=g.length-1,a.each(g,function(a,d){a===h?b[d]=f:b=c.hash(b[d])?b[d]:b[d]={}})):c.undef(b[d])||(b[d]=f)}}}}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.str),function(a,b,c){if("0.0.8"===b.version){b.ready=function(a){function c(){try{a.call(window,b.$)}catch(a){console.error(a)}}(Function("/*@cc_on return true@*/")()?"complete"===document.readyState:"loading"!==document.readyState)?c():document.addEventListener("DOMContentLoaded",c,!1)};var d=0;b.uniqueId=function(a,b){var e=a.attr("id");return c.empty(e)&&(b=c.string(b)&&!c.empty(b)?b:"uid-",e=b+ ++d,a.attr("id",e).data("__uniqueId__",!0)),e},b.removeUniqueId=function(a){a.data("__uniqueId__")&&a.removeAttr("id").removeData("__uniqueId__")}}}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is),function(a,b,c){if("0.0.8"===b.version){b.transition={};var d=document.createElement("div");b.transition.supported=function(a){var b=a.style;return c.string(b.transition)||c.string(b.WebkitTransition)||c.string(b.MozTransition)||c.string(b.msTransition)||c.string(b.OTransition)}(d),b.transition.end=function(a){var b=a.style;return c.string(b.transition)?"transitionend":c.string(b.WebkitTransition)?"webkitTransitionEnd":c.string(b.MozTransition)?"transitionend":c.string(b.msTransition)?"msTransitionEnd":c.string(b.OTransition)?"oTransitionEnd":null}(d),b.transition.duration=function(a,b){if(b=c.number(b)?b:0,!c.jq(a))return b;var d=a.css("transition-duration");if(/^([\d\.]*)+?(ms|s)$/i.test(d)){var e=d.match(/^([\d\.]*)+?(ms|s)$/i),f=parseFloat(e[1]);return"s"===e[2].toLowerCase()&&(f*=1e3),f}return b},b.transition.start=function(d,e,f,g){var h=a.Deferred();if(d=d.first(),b.transition.supported){var i=d.data("transition_safety");c.hash(i)&&c.number(i.timer)&&(clearTimeout(i.timer),d.removeData("transition_safety").off(b.transition.end+".utils"),i.deferred.reject()),g=c.number(g)?g:b.transition.duration(d)+50,i={deferred:h,timer:setTimeout(function(){d.removeData("transition_safety").off(b.transition.end+".utils"),h.resolve()},g)},d.data("transition_safety",i),d.on(b.transition.end+".utils",function(a){d.is(a.target)&&(clearTimeout(i.timer),d.removeData("transition_safety").off(b.transition.end+".utils"),h.resolve())})}return setTimeout(function(){c.fn(e)?e.apply(d.get(0),[d]):d.toggleClass(e,f),b.transition.supported||h.resolve()},20),h.promise()}}}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is),function(a,b,c,d,e){"0.0.8"===b.version&&(b.Class=function(){},b.Class.extend=function(a){function f(){if(!c.fn(this.construct))throw new SyntaxError('FooGallery.utils.Class objects must be constructed with the "new" keyword.');this.construct.apply(this,arguments)}a=c.hash(a)?a:{};var g=d.create(this.prototype);for(var h in a)a.hasOwnProperty(h)&&e.addOrOverride(g,h,a[h]);return g.construct=c.fn(g.construct)?g.construct:function(){},f.prototype=g,f.prototype.constructor=c.fn(g.__ctor__)?g.__ctor__:f,f.extend=b.Class.extend,f.override=b.Class.override,f},b.Class.override=function(a,b){e.addOrOverride(this.prototype,a,b)})}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj,FooGallery.utils.fn),function(a,b,c){if("0.0.8"===b.version){b.Bounds=b.Class.extend({construct:function(){var a=this;a.top=0,a.right=0,a.bottom=0,a.left=0,a.width=0,a.height=0},inflate:function(a){var b=this;return c.number(a)&&(b.top-=a,b.right+=a,b.bottom+=a,b.left-=a,b.width+=2*a,b.height+=2*a),b},intersects:function(a){var b=this;return b.left<=a.right&&a.left<=b.right&&b.top<=a.bottom&&a.top<=b.bottom}});var d;b.getViewportBounds=function(c){d||(d=a(window));var e=new b.Bounds;return e.top=d.scrollTop(),e.left=d.scrollLeft(),e.width=d.width(),e.height=d.height(),e.right=e.left+e.width,e.bottom=e.top+e.height,e.inflate(c),e},b.getElementBounds=function(d){c.jq(d)||(d=a(d));var e=new b.Bounds;if(0!==d.length){var f=d.offset();e.top=f.top,e.left=f.left,e.width=d.width(),e.height=d.height()}return e.right=e.left+e.width,e.bottom=e.top+e.height,e}}}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is),function(a,b,c,d){"0.0.8"===b.version&&(b.Factory=b.Class.extend({construct:function(){this.registered={}},contains:function(a){return!c.undef(this.registered[a])},load:function(b,e,f){var g,h,i=this,j=d.arg2arr(arguments),k=[],l=[];b=j.shift()||{};for(g in i.registered)if(i.registered.hasOwnProperty(g)){var m=i.registered[g];b.hasOwnProperty(g)&&(h=b[g],c.string(h)&&(h=d.fetch(b[g])),c.fn(h)&&(m={name:g,klass:h,priority:i.registered[g].priority})),k.push(m)}for(g in b)b.hasOwnProperty(g)&&!i.registered.hasOwnProperty(g)&&(h=b[g],c.string(h)&&(h=d.fetch(b[g])),c.fn(h)&&k.push({name:g,klass:h,priority:0}));return k.sort(function(a,b){return b.priority-a.priority}),a.each(k,function(a,b){c.fn(b.klass)&&l.push(d.apply(b.klass,j))}),l},make:function(a,b,e){var f,g=this,h=d.arg2arr(arguments);return a=h.shift(),f=g.registered[a],c.hash(f)&&c.fn(f.klass)?d.apply(f.klass,h):null},names:function(b){b=!!c.boolean(b)&&b;var d,e=[];if(b){var f=[];for(d in this.registered)this.registered.hasOwnProperty(d)&&f.push(this.registered[d]);f.sort(function(a,b){return b.priority-a.priority}),a.each(f,function(a,b){e.push(b.name)})}else for(d in this.registered)this.registered.hasOwnProperty(d)&&e.push(d);return e},register:function(a,b,d){if(!c.string(a)||c.empty(a)||!c.fn(b))return!1;d=c.number(d)?d:0;var e=this.registered[a];return this.registered[a]={name:a,klass:b,priority:c.undef(e)?d:e.priority},!0}}))}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn),function(a,b,c){if("0.0.8"===a.version){var d=!1;try{d=!!window.localStorage}catch(a){d=!1}a.Debugger=a.Class.extend({construct:function(a){this.key=a,this.enabled=!!d&&!!localStorage.getItem(this.key)},enable:function(){d&&(this.enabled=!0,localStorage.setItem(this.key,this.enabled))},disable:function(){d&&(this.enabled=!1,localStorage.removeItem(this.key))},log:function(a,c){this.enabled&&console.log.apply(console,b.arg2arr(arguments))},logf:function(a,d,e){if(this.enabled){var f=b.arg2arr(arguments);a=f.shift(),d=f.shift(),f.unshift(c.format(a,d)),this.log.apply(this,f)}}})}}(FooGallery.utils,FooGallery.utils.fn,FooGallery.utils.str),function(a,b,c){"0.0.8"===b.version&&(b.Throttle=b.Class.extend({construct:function(a){this.id=null,this.active=!1,this.idle=c.number(a)?a:0},limit:function(a){if(c.fn(a)){this.clear();var b=this;this.active=!0,this.id=setTimeout(function(){b.active=!1,b.id=null,a()},this.idle)}},clear:function(){c.number(this.id)&&(clearTimeout(this.id),this.active=!1,this.id=null)}}))}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is),function(a,b,c,d,e){b.debug=new c.Debugger("__FooGallery__"),c.selectify=function(b){if(d.empty(b))return null;if(d.hash(b)){var e,f={};for(var g in b)b.hasOwnProperty(g)&&(e=c.selectify(b[g]))&&(f[g]=e);return f}return d.string(b)||d.array(b)?(d.string(b)&&(b=[b]),a.map(b,function(a){return d.string(a)?"."+a.split(/\s/g).join("."):null}).join(",")):null},b.emptyImage="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",b.dataTemplate="__FooGallery__",b.dataItem="__FooGalleryItem__",b.init=function(a,c){return b.template.make(a,c).initialize()},b.initAll=function(c){return e.when(a(".foogallery").map(function(a,d){return b.init(c,d)}).get())},b.parseSrc=function(b,c,e,f,g,h){if(!d.string(b))return null;if(!d.string(f))return b;var i=a.map(f.replace(/(\s[\d.]+[whx]),/g,"$1 @,@ ").split(" @,@ "),function(a){return{url:/^\s*(\S*)/.exec(a)[1],w:parseFloat((/\S\s+(\d+)w/.exec(a)||[0,1/0])[1]),h:parseFloat((/\S\s+(\d+)h/.exec(a)||[0,1/0])[1]),x:parseFloat((/\S\s+([\d.]+)x/.exec(a)||[0,1])[1])}});if(!i.length)return b;i.unshift({url:b,w:i[0].w!==1/0&&i[0].h===1/0?c:1/0,h:i[0].h!==1/0&&i[0].w===1/0?e:1/0,x:1});var j,k=window.devicePixelRatio||1,l={w:g*k,h:h*k,x:k};for(j in l)l.hasOwnProperty(j)&&(i=a.grep(i,function(a,b){return function(c){return c[a]>=l[a]||c[a]===b}}(j,Math.max.apply(null,a.map(i,function(a){return a[j]})))));for(j in l)l.hasOwnProperty(j)&&(i=a.grep(i,function(a,b){return function(c){return c[a]===b}}(j,Math.min.apply(null,a.map(i,function(a){return a[j]})))));return i[0].url},a.fn.foogallery=function(c,e){return this.each(function(f,g){if(d.string(c)){var h=a.data(g,b.dataTemplate);if(h instanceof b.Template)switch(c){case"layout":return void h.layout();case"destroy":return void h.destroy()}}else b.template.make(c,g).initialize().then(function(a){d.fn(e)&&e(a)})})},b.isCached=function(a){var b=new Image;b.src=a;var c=b.complete;return b.src="",b=null,c}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn),function(a,b,c,d,e){var f="__FooGallerySwipe__",g="ontouchstart"in window,h=window.navigator.msPointerEnabled&&!window.navigator.pointerEnabled&&!g,i=(window.navigator.pointerEnabled||window.navigator.msPointerEnabled)&&!g,j=g||i;b.Swipe=c.Class.extend({construct:function(b,c){var d=this,f=".fgswipe";d.$el=a(b),d.opt=e.extend({threshold:20,allowPageScroll:!1,swipe:a.noop,data:{}},c),d.active=!1,d.startPoint=null,d.endPoint=null,d.events={start:(j?i?h?"MSPointerDown":"pointerdown":"touchstart":"mousedown")+f,move:(j?i?h?"MSPointerMove":"pointermove":"touchmove":"mousemove")+f,end:(j?i?h?"MSPointerUp":"pointerup":"touchend":"mouseup")+f,leave:(j?i?"mouseleave":null:"mouseleave")+f}},init:function(){var a=this;a.$el.on(a.events.start,{self:a},a.onStart),a.$el.on(a.events.move,{self:a},a.onMove),a.$el.on(a.events.end,{self:a},a.onEnd),d.string(a.events.leave)&&a.$el.on(a.events.leave,{self:a},a.onEnd),a.$el.data(f,a)},destroy:function(){var a=this;a.$el.off(a.events.start,a.onStart),a.$el.off(a.events.move,a.onMove),a.$el.off(a.events.end,a.onEnd),d.string(a.events.leave)&&a.$el.off(a.events.leave,a.onEnd),a.$el.removeData(f)},getAngle:function(a,b){var c=Math.atan2(a.x-b.x,a.y-b.y),d=Math.round(180*c/Math.PI);return 360-(d<0?360-Math.abs(d):d)},getDistance:function(a,b){var c=b.x-a.x,d=b.y-a.y;return c*=c,d*=d,Math.sqrt(c+d)},getDirection:function(a,b){var c=this,d=c.getAngle(a,b);return d>337.5||d<=22.5?"N":d>22.5&&d<=67.5?"NE":d>67.5&&d<=112.5?"E":d>112.5&&d<=157.5?"SE":d>157.5&&d<=202.5?"S":d>202.5&&d<=247.5?"SW":d>247.5&&d<=292.5?"W":d>292.5&&d<=337.5?"NW":"NONE"},getPoint:function(a){var b;return j&&!d.empty(b=a.originalEvent.touches||a.touches)?{x:b[0].pageX,y:b[0].pageY}:d.number(a.pageX)&&d.number(a.pageY)?{x:a.pageX,y:a.pageY}:null},getOffset:function(a){var b=this,c=b.$el.offset();return{left:a.x-c.left,top:a.y-c.top}},onStart:function(a){var b=a.data.self,c=b.getPoint(a);d.empty(c)||(b.active=!0,b.startPoint=b.endPoint=c)},onMove:function(b){var c=b.data.self,e=c.getPoint(b);if(c.active&&!d.empty(e))if(c.endPoint=e,c.opt.allowPageScroll){if(d.hash(c.opt.allowPageScroll)){var f=c.getDirection(c.startPoint,c.endPoint);c.opt.allowPageScroll.x||-1===a.inArray(f,["NE","E","SE","NW","W","SW"])||b.preventDefault(),c.opt.allowPageScroll.y||-1===a.inArray(f,["NW","N","NE","SW","S","SE"])||b.preventDefault()}}else b.preventDefault()},onEnd:function(a){var b=a.data.self;if(b.active){b.active=!1;var c={startPoint:b.startPoint,endPoint:b.endPoint,startOffset:b.getOffset(b.startPoint),endOffset:b.getOffset(b.endPoint),angle:b.getAngle(b.startPoint,b.endPoint),distance:b.getDistance(b.startPoint,b.endPoint),direction:b.getDirection(b.startPoint,b.endPoint)};if(b.opt.threshold>0&&c.distance<b.opt.threshold)return;b.opt.swipe.apply(this,[c,b.opt.data]),b.startPoint=null,b.endPoint=null}}}),a.fn.fgswipe=function(c){return this.each(function(){var e=a(this),g=e.data(f);if(g instanceof b.Swipe){if(d.string(c)&&d.fn(g[c]))return void g[c]();g.destroy()}d.hash(c)&&(g=new b.Swipe(this,c),g.init())})}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(a,b,c,d,e,f){b.TemplateFactory=c.Factory.extend({construct:function(){this.registered={}},register:function(a,b,c,e,f,g){var h=this,i=h._super(a,b,g);if(i){var j=h.registered;j[a].opt=d.hash(c)?c:{},j[a].cls=d.hash(e)?e:{},j[a].il8n=d.hash(f)?f:{}}return i},make:function(b,c){c=d.jq(c)?c:a(c),b=f.extend({},b,c.data("foogallery"));var e=this,g=e.type(b,c);return e.contains(g)?(b=e.options(g,b),e._super(g,b,c)):null},type:function(b,e){e=d.jq(e)?e:a(e);var f=this,g=d.hash(b)&&d.hash(b)&&d.string(b.type)&&f.contains(b.type)?b.type:"core";if("core"===g&&e.length>0)for(var h=f.registered,i=f.names(!0),j=0,k=i.length;j<k;j++)if(h.hasOwnProperty(i[j])){var l=i[j],m=h[l].cls;if(d.string(m.container)){var n=c.selectify(m.container);if(e.is(n)){g=i[j];break}}}return g},configure:function(a,b,c,d){var e=this;if(e.contains(a)){var g=e.registered;f.extend(g[a].opt,b),f.extend(g[a].cls,c),f.extend(g[a].il8n,d)}},options:function(a,c){c=f.extend({type:a},c);var e=this,g=e.registered,h=g.core.opt,i=g.core.cls,j=g.core.il8n;return d.hash(c.cls)||(c.cls={}),d.hash(c.il8n)||(c.il8n={}),d.undef(b.filtering)||(c=b.filtering.merge(c)),d.undef(b.paging)||(c=b.paging.merge(c)),"core"!==a&&e.contains(a)?(c=f.extend({},h,g[a].opt,c),c.cls=f.extend({},i,g[a].cls,c.cls),c.il8n=f.extend({},j,g[a].il8n,c.il8n)):(c=f.extend({},h,c),c.cls=f.extend({},i,c.cls),c.il8n=f.extend({},j,c.il8n)),c}}),b.template=new b.TemplateFactory}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(a,b,c,d,e){a.PagingFactory=b.Factory.extend({construct:function(){this.registered={}},register:function(a,b,d,e,f,g,h){var i=this,j=i._super(a,b,h);if(j){var k=i.registered;k[a].ctrl=c.fn(d)?d:null,k[a].opt=c.hash(e)?e:{},k[a].cls=c.hash(f)?f:{},k[a].il8n=c.hash(g)?g:{}}return j},type:function(a){var b,d=this;return c.hash(a)&&c.hash(b=a.paging)&&c.string(b.type)&&d.contains(b.type)?b.type:null},merge:function(a){a=e.extend({},a);var b=this,d=b.type(a),f=b.registered,g=f.default.opt,h=f.default.cls,i=f.default.il8n,j=c.hash(a.paging)?a.paging:{},k=c.hash(a.cls)&&c.hash(a.cls.paging)?e.extend({},a.cls.paging):{},l=c.hash(a.il8n)&&c.hash(a.il8n.paging)?e.extend({},a.il8n.paging):{};return c.hash(a.cls)||(a.cls={}),c.hash(a.il8n)||(a.il8n={}),"default"!==d&&b.contains(d)?(a.paging=e.extend({},g,f[d].opt,j,{type:d}),a.cls=e.extend(a.cls,{paging:h},{paging:f[d].cls},{paging:k}),a.il8n=e.extend(a.il8n,{paging:i},{paging:f[d].il8n},{paging:l})):(a.paging=e.extend({},g,j,{type:d}),a.cls=e.extend(a.cls,{paging:h},{paging:k}),a.il8n=e.extend(a.il8n,{paging:i},{paging:l})),a},configure:function(a,b,c,d){var f=this;if(f.contains(a)){var g=f.registered;e.extend(g[a].opt,b),e.extend(g[a].cls,c),e.extend(g[a].il8n,d)}},hasCtrl:function(a){var b=this,d=b.registered[a];return c.hash(d)&&c.fn(d.ctrl)},makeCtrl:function(a,b,d,e){var f=this,g=f.registered[a];return c.hash(g)&&c.fn(g.ctrl)?new g.ctrl(b,d,e):null}}),a.paging=new a.PagingFactory}(FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(a,b,c,d,e,f){var g=0;b.Template=c.Class.extend({construct:function(e,f){var h=this;h.namespace=".foogallery-"+ ++g,h.$el=d.jq(f)?f:a(f),h.opt=e,h.template=e.template,h.id=h.$el.prop("id")||e.id,h.cls=e.cls,h.il8n=e.il8n,h.sel=c.selectify(h.cls),h.items=b.components.make("items",h),h.pages=d.undef(b.paging)?null:b.paging.make(e.paging.type,h),h.filter=d.undef(b.filtering)?null:b.filtering.make(e.filtering.type,h),h.state=b.components.make("state",h),h._initialize=null,h.initializing=!1,h.initialized=!1,h.destroying=!1,h.destroyed=!1,h._undo={classes:"",style:"",create:!1,children:!1}},initialize:function(f){var g=this;return d.promise(g._initialize)?g._initialize:(f=d.jq(f)?f:a(f),g._initialize=a.Deferred(function(h){if(g.initializing=!0,0===f.length&&0===g.$el.parent().length)return void h.reject("A parent element is required.");0===g.$el.length&&(g.$el=g.create(),g._undo.create=!0),f.length>0&&g.$el.appendTo(f);var i,j=a.Deferred(),k=j.promise();g.$el.length>0&&(i=g.$el.data(b.dataTemplate))instanceof b.Template?k=k.then(function(){return i.destroy().then(function(){g.$el.data(b.dataTemplate,g)})}):g.$el.data(b.dataTemplate,g),k.then(function(){if(g.destroying)return e.rejectWith("destroy in progress");d.empty(g.opt.on)||g.$el.on(g.opt.on),g._undo.classes=g.$el.attr("class"),g._undo.style=g.$el.attr("style"),g.$el.is(g.sel.container)||g.$el.addClass(g.cls.container);var a=c.selectify(g.opt.classes);return null==a||g.$el.is(a)||g.$el.addClass(g.opt.classes),0==g.$el.children().not(g.sel.item.elem).length&&(g.$el.append(g.createChildren()),g._undo.children=!0),g.raise("pre-init").isDefaultPrevented()?e.rejectWith("pre-init default prevented"):void 0}).then(function(){return g.destroying?e.rejectWith("destroy in progress"):g.opt.delay<=0?e.resolved:a.Deferred(function(a){g._delay=setTimeout(function(){g._delay=null,a.resolve()},g.opt.delay)}).promise()}).then(function(){return g.destroying?e.rejectWith("destroy in progress"):g.raise("init").isDefaultPrevented()?e.rejectWith("init default prevented"):g.items.fetch()}).then(function(){if(g.destroying)return e.rejectWith("destroy in progress");if(g.raise("post-init").isDefaultPrevented())return e.rejectWith("post-init default prevented");var b=g.state.parse();g.state.set(d.empty(b)?g.state.initial():b),a(window).on("scroll"+g.namespace,{self:g},g.throttle(g.onWindowScroll,g.opt.throttle)).on("popstate"+g.namespace,{self:g},g.onWindowPopState)}).then(function(){return g.destroying?e.rejectWith("destroy in progress"):(g.raise("first-load"),g.loadAvailable())}).then(function(){if(g.destroying)return e.rejectWith("destroy in progress");g.initializing=!1,g.initialized=!0,g._check(200),g._check(500),g._check(1e3),g._check(2e3),g._check(5e3),g.raise("ready"),h.resolve(g)}).fail(function(a){h.reject(a)}),j.resolve()}).promise().fail(function(a){console.log("initialize failed",g,a),g.destroy()}))},create:function(){var b=this;return a("<div/>",{id:b.id,class:b.cls.container}).addClass(b.opt.classes)},createChildren:function(){return a()},destroy:function(){var b=this;return b.destroyed?e.resolved:(b.destroying=!0,a.Deferred(function(a){b.initializing&&d.promise(b._initialize)?b._initialize.always(function(){b.destroying=!1,b._destroy(),a.resolve()}):(b.destroying=!1,b._destroy(),a.resolve())}).promise())},_destroy:function(){var c=this;c.destroyed||(c.raise("destroy"),a(window).off(c.namespace),c.state.destroy(),c.filter&&c.filter.destroy(),c.pages&&c.pages.destroy(),c.items.destroy(),d.empty(c.opt.on)||c.$el.off(c.opt.on),c.raise("destroyed"),c.$el.removeData(b.dataTemplate),d.empty(c._undo.classes)?c.$el.removeAttr("class"):c.$el.attr("class",c._undo.classes),d.empty(c._undo.style)?c.$el.removeAttr("style"):c.$el.attr("style",c._undo.style),c._undo.children&&c.destroyChildren(),c._undo.create&&c.$el.remove(),c.$el=c.state=c.items=c.pages=null,c.destroyed=!0,c.initializing=!1,c.initialized=!1)},destroyChildren:function(){},getAvailable:function(){return this.pages?this.pages.available():this.items.available()},loadAvailable:function(){return this.items.load(this.getAvailable())},_check:function(a){a=d.number(a)?a:0;var b=this;setTimeout(function(){!b.initialized||b.destroying&&b.destroyed||b.loadAvailable()},a)},raise:function(c,e){if(!d.string(c)||d.empty(c))return null;e=d.array(e)?e:[];var g=this,h=c.split(".")[0],i=f.camel("on-"+h),j=a.Event(h+".foogallery");return e.unshift(g),g.$el.trigger(j,e),b.debug.logf("{id}|{name}:",{id:g.id,name:h},e),d.fn(g[i])&&(e.unshift(j),g[i].apply(g.$el.get(0),e)),j},layout:function(){var a=this;null!==a._initialize&&a.raise("layout")},throttle:function(a,b){var c=Date.now();return function(){if(c+b-Date.now()<0){var d=e.arg2arr(arguments);a.apply(this,d),c=Date.now()}}},onWindowPopState:function(a){var b=a.data.self,c=a.originalEvent.state;d.empty(c)||c.id!==b.id||(b.state.set(c),b.loadAvailable())},onWindowScroll:function(a){a.data.self.loadAvailable()}}),b.template.register("core",b.Template,{id:null,type:"core",classes:"",on:{},lazy:!0,viewport:200,items:[],delay:100,throttle:50,timeout:6e4,srcset:"data-srcset",src:"data-src",template:{}},{container:"foogallery"},{},-100)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.str),function(a,b){a.Component=b.Class.extend({construct:function(a){this.tmpl=a},destroy:function(){this.tmpl=null}}),a.components=new b.Factory}(FooGallery,FooGallery.utils),function(a,b,c,d){b.State=b.Component.extend({construct:function(a){var b=this;b._super(a),b.apiEnabled=!!window.history&&!!history.replaceState,b.opt=b.tmpl.opt.state,b.enabled=b.opt.enabled,b.pushOrReplace=b.isPushOrReplace(b.opt.pushOrReplace)?b.opt.pushOrReplace:"replace";var c=d.escapeRegExp(b.tmpl.id),e=d.escapeRegExp(b.opt.values),f=d.escapeRegExp(b.opt.pair);b.regex={exists:new RegExp("^#"+c+"\\"+e+".+?"),values:new RegExp("(\\w+)"+f+"([^"+e+"]+)","g")}},destroy:function(){var a=this;a.clear(),a.opt=a.regex={},a._super()},isPushOrReplace:function(b){return-1!==a.inArray(b,["push","replace"])},exists:function(){return this.regex.exists.test(location.hash)&&this.regex.values.test(location.hash)},parse:function(){var b=this,d={};if(b.exists())if(b.enabled){d.id=b.tmpl.id;var e=location.hash.match(b.regex.values);a.each(e,function(e,f){var g=f.split(b.opt.pair);2===g.length&&(d[g[0]]=-1===g[1].indexOf(b.opt.array)?decodeURIComponent(g[1].replace(/\+/g,"%20")):a.map(g[1].split(b.opt.array),function(a){return decodeURIComponent(a.replace(/\+/g,"%20"))}),c.string(d[g[0]])&&!isNaN(d[g[0]])&&(d[g[0]]=parseInt(d[g[0]])))})}else b.apiEnabled?history.replaceState(null,"",location.pathname+location.search):location.hash="#";return d},hashify:function(b){var d=this;if(c.hash(b)){var e=[];return a.each(b,function(b,f){c.empty(f)||"id"===b||(f=c.array(f)?a.map(f,function(a){return encodeURIComponent(a)}).join(d.opt.array):encodeURIComponent(f),e.push(b+d.opt.pair+f))}),e.length>0&&e.unshift("#"+d.tmpl.id),e.join(d.opt.values)}return""},replace:function(a){var b=this;if(b.enabled&&b.apiEnabled){a.id=b.tmpl.id;var d=b.hashify(a),e=c.empty(d);history.replaceState(e?null:a,"",e?location.pathname+location.search:d)}},push:function(a){var b=this;if(b.enabled&&b.apiEnabled){a.id=b.tmpl.id;var d=b.hashify(a),e=c.empty(d);history.pushState(e?null:a,"",e?location.pathname+location.search:d)}},update:function(a,b){var c=this;c.enabled&&c.apiEnabled&&(b=c.isPushOrReplace(b)?b:c.pushOrReplace,c[b](a))},clear:function(){this.exists()&&this.replace({})},initial:function(){var a=this,b=a.tmpl,d={};return b.filter&&!c.empty(b.filter.current)&&(d.f=b.filter.current),b.pages&&b.pages.current>1&&(d.p=b.pages.current),d},get:function(a){var d=this,e=d.tmpl,f={};return a instanceof b.Item&&(f.i=a.id),e.filter&&!c.empty(e.filter.current)&&(f.f=e.filter.current),e.pages&&e.pages.isValid(e.pages.current)&&(f.p=e.pages.current),f},set:function(a){var b=this,d=b.tmpl;if(c.hash(a)){d.items.reset();var e=d.items.get(a.i);if(d.filter){d.filter.rebuild();var f=c.empty(a.f)?[]:a.f;d.filter.set(f,!1)}if(d.pages){d.pages.rebuild();var g=d.pages.number(a.p);e&&!d.pages.contains(g,e)&&(g=d.pages.find(e),g=0!==g?g:1),
|
10 |
-
d.pages.set(g,!c.empty(a),!1,!0),e&&d.pages.contains(g,e)&&e.scrollTo()}else d.items.detach(d.items.all()),d.items.create(d.items.available(),!0),e&&e.scrollTo();c.empty(a.i)||(a.i=null,b.replace(a))}}}),b.template.configure("core",{state:{enabled:!1,pushOrReplace:"replace",values:"/",pair:":",array:"+"}}),b.components.register("state",b.State)}(FooGallery.$,FooGallery,FooGallery.utils.is,FooGallery.utils.str),function(a,b,c,d,e,f){b.Item=b.Component.extend({construct:function(a,b){var c=this;c._super(a),c.cls=a.cls.item,c.il8n=a.il8n.item,c.sel=a.sel.item,c.opt=f.extend({},a.opt.item,b),c.isAttached=!1,c.isCreated=!1,c.isDestroyed=!1,c.isLoading=!1,c.isLoaded=!1,c.isError=!1,c.isParsed=!1,c.$el=null,c.$inner=null,c.$anchor=null,c.$wrap=null,c.$image=null,c.$caption=null,c.type=c.opt.type,c.id=c.opt.id,c.href=c.opt.href,c.src=c.opt.src,c.srcset=c.opt.srcset,c.width=c.opt.width,c.height=c.opt.height,c.title=c.opt.title,c.alt=c.opt.alt,c.caption=d.empty(c.opt.caption)?c.title:c.opt.caption,c.description=d.empty(c.opt.description)?c.alt:c.opt.description,c.attr=c.opt.attr,c.tags=c.opt.tags,c.maxWidth=c.opt.maxWidth,c.maxCaptionLength=c.opt.maxCaptionLength,c.maxDescriptionLength=c.opt.maxDescriptionLength,c.showCaptionTitle=c.opt.showCaptionTitle,c.showCaptionDescription=c.opt.showCaptionDescription,c._thumbUrl=null,c._placeholder=null,c._load=null,c._undo={classes:"",style:"",loader:!1,wrap:!1,placeholder:!1}},destroy:function(){var a=this;return a.tmpl.raise("destroy-item",[a]).isDefaultPrevented()||(a.isDestroyed=a.doDestroyItem()),a.isDestroyed&&(a.tmpl.raise("destroyed-item",[a]),a._super()),a.isDestroyed},doDestroyItem:function(){var a=this;return a.isParsed?(a.append(),d.empty(a._undo.classes)?a.$el.removeAttr("class"):a.$el.attr("class",a._undo.classes),d.empty(a._undo.style)?a.$el.removeAttr("style"):a.$el.attr("style",a._undo.style),a._undo.wrap&&a.$image.unwrap(),a._undo.loader&&a.$el.find(a.sel.loader).remove(),a._undo.placeholder&&a.$image.prop("src")==a._placeholder&&a.$image.removeAttr("src")):a.isCreated&&(a.detach(),a.$el.remove()),!0},parse:function(b){var c=this,d=a(b);return!c.tmpl.raise("parse-item",[c,d]).isDefaultPrevented()&&(c.isCreated=d.is(c.sel.elem))&&(c.isParsed=c.doParseItem(d),c.fix()),c.isParsed&&c.tmpl.raise("parsed-item",[c]),c.isParsed},doParseItem:function(c){var e=this,f=e.tmpl.opt,g=e.cls,h=e.sel;return e._undo.classes=c.attr("class")||"",e._undo.style=c.attr("style")||"",e.$el=c.data(b.dataItem,e),e.$inner=e.$el.find(h.inner),e.$anchor=e.$el.find(h.anchor).on("click.foogallery",{self:e},e.onAnchorClick),e.$image=e.$anchor.find(h.image),e.$caption=e.$el.find(h.caption.elem).on("click.foogallery",{self:e},e.onCaptionClick),e.isAttached=e.$el.parent().length>0,e.isLoading=e.$el.is(h.loading),e.isLoaded=e.$el.is(h.loaded),e.isError=e.$el.is(h.error),e.id=e.$anchor.data("id")||e.id,e.tags=e.$anchor.data("tags")||e.tags,e.href=e.$anchor.attr("href")||e.href,e.src=e.$image.attr(f.src)||e.src,e.srcset=e.$image.attr(f.srcset)||e.srcset,e.width=parseInt(e.$image.attr("width"))||e.width,e.height=parseInt(e.$image.attr("height"))||e.height,e.title=e.$image.attr("title")||e.title,e.alt=e.$image.attr("alt")||e.alt,e.caption=e.$anchor.data("title")||e.$anchor.data("captionTitle")||e.caption||e.title,e.description=e.$anchor.data("description")||e.$anchor.data("captionDesc")||e.description||e.alt,d.empty(e.caption)&&(e.caption=a.trim(e.$caption.find(h.caption.title).html())),d.empty(e.description)&&(e.description=a.trim(e.$caption.find(h.caption.description).html())),d.number(e.maxCaptionLength)&&e.maxCaptionLength>0&&!d.empty(e.caption)&&d.string(e.caption)&&e.caption.length>e.maxCaptionLength&&e.$caption.find(h.caption.title).html(e.caption.substr(0,e.maxCaptionLength)+"…"),d.number(e.maxDescriptionLength)&&e.maxDescriptionLength>0&&!d.empty(e.description)&&d.string(e.description)&&e.description.length>e.maxDescriptionLength&&e.$caption.find(h.caption.description).html(e.description.substr(0,e.maxDescriptionLength)+"…"),0===e.$anchor.find(h.wrap).length&&(e.$image.wrap(a("<span/>",{class:g.wrap})),e._undo.wrap=!0),0===e.$el.find(h.loader).length&&(e.$el.append(a("<div/>",{class:g.loader})),e._undo.loader=!0),d.empty(e.$image.prop("src"))&&(e._placeholder=e.tmpl.items.placeholder(e.width,e.height),e.$image.prop("src",e._placeholder),e._undo.placeholder=!0),!e.isCreated||!e.isAttached||e.isLoading||e.isLoaded||e.isError||e.$el.addClass(g.idle),!0},create:function(){var a=this;if(!a.isCreated&&d.string(a.href)&&d.string(a.src)&&d.number(a.width)&&d.number(a.height)){a.tmpl.raise("create-item",[a]).isDefaultPrevented()||(a.isCreated=a.doCreateItem()),a.isCreated&&a.tmpl.raise("created-item",[a])}return a.isCreated},doCreateItem:function(){var c=this,e=c.tmpl.opt,f=c.cls,g=c.attr;g.elem.class=f.elem+" "+f.idle,g.inner.class=f.inner,g.anchor.class=f.anchor,g.anchor.href=c.href,g.anchor["data-id"]=c.id,g.anchor["data-title"]=c.caption,g.anchor["data-description"]=c.description,d.empty(c.tags)||(g.anchor["data-tags"]=JSON.stringify(c.tags)),g.image.class=f.image,g.image.src=c.tmpl.items.placeholder(c.width,c.height),g.image[e.src]=c.src,g.image[e.srcset]=c.srcset,g.image.width=c.width,g.image.height=c.height,g.image.title=c.title,g.image.alt=c.alt,c.$el=a("<div/>").attr(g.elem).data(b.dataItem,c),c.$inner=a("<figure/>").attr(g.inner).appendTo(c.$el),c.$anchor=a("<a/>").attr(g.anchor).appendTo(c.$inner).on("click.foogallery",{self:c},c.onAnchorClick);var h=a("<span/>",{class:f.wrap}).appendTo(c.$anchor);c.$image=a("<img/>").attr(g.image).appendTo(h),f=c.cls.caption,g=c.attr.caption,g.elem.class=f.elem,c.$caption=a("<figcaption/>").attr(g.elem).on("click.foogallery",{self:c},c.onCaptionClick),g.inner.class=f.inner;var i=a("<div/>").attr(g.inner).appendTo(c.$caption),j=c.showCaptionTitle&&!d.empty(c.caption),k=c.showCaptionDescription&&!d.empty(c.description);if(j||k){if(g.title.class=f.title,g.description.class=f.description,j){var l;l=d.number(c.maxCaptionLength)&&c.maxCaptionLength>0&&d.string(c.caption)&&c.caption.length>c.maxCaptionLength?a("<div/>").attr(g.title).html(c.caption.substr(0,c.maxCaptionLength)+"…"):a("<div/>").attr(g.title).html(c.caption),i.append(l)}if(k){var m;m=d.number(c.maxDescriptionLength)&&c.maxDescriptionLength>0&&d.string(c.description)&&c.description.length>c.maxDescriptionLength?a("<div/>").attr(g.description).html(c.description.substr(0,c.maxDescriptionLength)+"…"):a("<div/>").attr(g.description).html(c.description),i.append(m)}}return c.$caption.appendTo(c.$inner),0===c.$el.find(c.sel.loader).length&&c.$el.append(a("<div/>",{class:c.cls.loader})),!0},append:function(){var a=this;if(a.isCreated&&!a.isAttached){a.tmpl.raise("append-item",[a]).isDefaultPrevented()||(a.tmpl.$el.append(a.$el),a.fix(),a.isAttached=!0),a.isAttached&&a.tmpl.raise("appended-item",[a])}return a.isAttached},detach:function(){var a=this;if(a.isCreated&&a.isAttached){a.tmpl.raise("detach-item",[a]).isDefaultPrevented()||(a.$el.detach(),a.unfix(),a.isAttached=!1),a.isAttached||a.tmpl.raise("detached-item",[a])}return!a.isAttached},load:function(){var b=this;if(d.promise(b._load))return b._load;if(!b.isCreated||!b.isAttached)return e.rejectWith("not created or attached");if(b.tmpl.raise("load-item",[b]).isDefaultPrevented())return e.rejectWith("default prevented");var c=b.cls,f=b.$image.get(0),g=f.src;return b.isLoading=!0,b.$el.removeClass(c.idle).removeClass(c.loaded).removeClass(c.error).addClass(c.loading),b._load=a.Deferred(function(a){f.onload=function(){f.onload=f.onerror=null,b.isLoading=!1,b.isLoaded=!0,b.$el.removeClass(c.loading).addClass(c.loaded),b.unfix(),b.tmpl.raise("loaded-item",[b]),a.resolve(b)},f.onerror=function(){f.onload=f.onerror=null,b.isLoading=!1,b.isError=!0,b.$el.removeClass(c.loading).addClass(c.error),d.string(g)&&b.$image.prop("src",g),b.tmpl.raise("error-item",[b]),a.reject(b)},f.src=b.getThumbUrl(),f.complete&&f.onload()}).promise()},fix:function(){var a=this;if(null==a.tmpl)return a;if(!a.tmpl.raise("fix-item",[a]).isDefaultPrevented()&&a.isCreated&&!a.isLoading&&!a.isLoaded&&!a.isError){var b=a.width,c=a.height;if(!isNaN(b)&&!isNaN(c)){var e=d.fn(a.maxWidth)?a.maxWidth(a):a.$image.width();e<=0&&(e=b);var f=e/b,g=c*f;a.$image.css({width:e,height:g})}}return a},unfix:function(){var a=this;return null==a.tmpl?a:(!a.tmpl.raise("unfix-item",[a]).isDefaultPrevented()&&a.isCreated&&a.$image.css({width:"",height:""}),a)},getThumbUrl:function(a){a=!!d.boolean(a)&&a;var c=this;return!a&&d.string(c._thumbUrl)?c._thumbUrl:c._thumbUrl=b.parseSrc(c.src,c.width,c.height,c.srcset,c.$anchor.innerWidth(),c.$anchor.innerHeight())},scrollTo:function(a){var b=this;if(b.isAttached){var d=b.bounds(),e=c.getViewportBounds();switch(a){case"top":d.left+=d.width/2-e.width/2,d.top-=e.height/5;break;default:d.left+=d.width/2-e.width/2,d.top+=d.height/2-e.height/2}window.scrollTo(d.left,d.top)}return b},bounds:function(){return this.isAttached?c.getElementBounds(this.$el):null},intersects:function(a){return!!this.isAttached&&this.bounds().intersects(a)},onAnchorClick:function(a){var b=a.data.self,c=b.tmpl.state.get(b);b.tmpl.state.update(c)},onCaptionClick:function(a){var b=a.data.self;b.$anchor.length>0&&b.$anchor.get(0).click()}}),b.template.configure("core",{item:{type:"item",id:"",href:"",src:"",srcset:"",width:0,height:0,title:"",alt:"",caption:"",description:"",tags:[],maxWidth:null,maxCaptionLength:0,maxDescriptionLength:0,showCaptionTitle:!0,showCaptionDescription:!0,attr:{elem:{},inner:{},anchor:{},image:{},caption:{elem:{},inner:{},title:{},description:{}}}}},{item:{elem:"fg-item",inner:"fg-item-inner",anchor:"fg-thumb",wrap:"fg-image-wrap",image:"fg-image",loader:"fg-loader",idle:"fg-idle",loading:"fg-loading",loaded:"fg-loaded",error:"fg-error",caption:{elem:"fg-caption",inner:"fg-caption-inner",title:"fg-caption-title",description:"fg-caption-desc"}}},{item:{}}),b.components.register("item",b.Item)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(a,b,c,d,e,f){b.Items=b.Component.extend({construct:function(a){var b=this;b._super(a),b.idMap={},b._fetched=null,b._arr=[],b._available=[],b._canvas=document.createElement("canvas");var d=b.tmpl.cls.item.caption;b.tmpl.sel.item.caption.all=c.selectify([d.elem,d.inner,d.title,d.description])},destroy:function(){var b=this,c=b.all(),d=[];c.length>0&&(b.tmpl.raise("destroy-items",[c]),d=a.map(c,function(a){return a.destroy()?a:null}),d.length>0&&b.tmpl.raise("destroyed-items",[d])),b.idMap={},b._canvas=b._fetched=null,b._arr=[],b._available=[],b._super()},fetch:function(b){var c=this;if(!b&&d.promise(c._fetched))return c._fetched;var e=c.tmpl,f=e.sel,g=e.opt.items,h=a.Deferred(),i=c.make(e.$el.find(f.item.elem));return d.empty(g)?(i.push.apply(i,c.make(window[e.id+"-items"])),h.resolve(i)):d.array(g)?(i.push.apply(i,c.make(g)),h.resolve(i)):d.string(g)?a.get(g).then(function(a){i.push.apply(i,c.make(a)),h.resolve(i)},function(a,b,c){console.log("FooGallery: GET items error.",g,a,b,c),h.resolve(i)}):h.resolve(i),h.then(function(a){c.setAll(a)}),c._fetched=h.promise()},all:function(){return this._arr.slice()},count:function(a){return a?this.all().length:this.available().length},available:function(){return this._available.slice()},get:function(a){return!d.empty(a)&&this.idMap[a]?this.idMap[a]:null},setAll:function(a){this._arr=d.array(a)?a:[],this.idMap=this.createIdMap(a),this._available=this.all()},setAvailable:function(a){this._available=d.array(a)?a:[]},reset:function(){this.setAvailable(this.all())},placeholder:function(a,c){return this._canvas&&this._canvas.toDataURL&&d.number(a)&&d.number(c)?(this._canvas.width=a,this._canvas.height=c,this._canvas.toDataURL()):b.emptyImage},loadable:function(b){var e,f=this,g=f.tmpl.opt;return g.lazy&&(e=c.getViewportBounds(g.viewport)),d.array(b)?a.map(b,function(a){return a.isCreated&&a.isAttached&&!a.isLoading&&!a.isLoaded&&!a.isError&&(!g.lazy||g.lazy&&a.intersects(e))?a:null}):[]},creatable:function(c){return d.array(c)?a.map(c,function(a){return a instanceof b.Item&&!a.isCreated?a:null}):[]},appendable:function(c){return d.array(c)?a.map(c,function(a){return a instanceof b.Item&&a.isCreated&&!a.isAttached?a:null}):[]},detachable:function(c){return d.array(c)?a.map(c,function(a){return a instanceof b.Item&&a.isCreated&&a.isAttached?a:null}):[]},jquerify:function(b){return a(a.map(b,function(a){return a.$el.get()}))},make:function(c){var e=this,g=[];if(d.jq(c)||d.array(c)){var h=[],i=a.makeArray(c);if(0===i.length)return g;e.tmpl.raise("make-items",[i]).isDefaultPrevented()||(g=a.map(i,function(a){var c=e.type(a),g=f.extend(d.hash(a)?a:{},{type:c}),i=b.components.make(c,e.tmpl,g);return d.element(a)?i.parse(a)?(h.push(i),i):null:i})),g.length>0&&e.tmpl.raise("made-items",[g]),h.length>0&&e.tmpl.raise("parsed-items",[h])}return g},type:function(c){var e;if(d.hash(c))e=c.type;else if(d.element(c)){var f=a(c),g=this.tmpl.sel.item;e=f.find(g.anchor).data("type")}return d.string(e)&&b.components.contains(e)?e:"item"},create:function(b,c){var e=this,f=[],g=e.creatable(b);if(g.length>0){e.tmpl.raise("create-items",[g]).isDefaultPrevented()||(f=a.map(g,function(a){return a.create()?a:null})),f.length>0&&e.tmpl.raise("created-items",[f])}return d.boolean(c)&&c?e.append(b):f},append:function(b){var c=this,d=[],e=c.appendable(b);if(e.length>0){c.tmpl.raise("append-items",[e]).isDefaultPrevented()||(d=a.map(e,function(a){return a.append()?a:null})),d.length>0&&c.tmpl.raise("appended-items",[d])}return d},detach:function(b){var c=this,d=[],e=c.detachable(b);if(e.length>0){c.tmpl.raise("detach-items",[e]).isDefaultPrevented()||(d=a.map(e,function(a){return a.detach()?a:null})),d.length>0&&c.tmpl.raise("detached-items",[d])}return d},load:function(b){var c=this;if(b=c.loadable(b),b.length>0){if(!c.tmpl.raise("load-items",[b]).isDefaultPrevented()){var d=a.map(b,function(a){return a.load()});return e.when(d).done(function(a){c.tmpl.raise("loaded-items",[a])})}}return e.resolveWith([])},createIdMap:function(b){var c={};return a.each(b,function(a,b){d.empty(b.id)&&(b.id=""+(a+1)),c[b.id]=b}),c}}),b.components.register("items",b.Items)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(a,b,c,d){b.Paging=b.Component.extend({construct:function(a){var b=this;b._super(a),b.opt=b.tmpl.opt.paging,b.cls=b.tmpl.cls.paging,b.il8n=b.tmpl.il8n.paging,b.sel=b.tmpl.sel.paging,b.pushOrReplace=b.opt.pushOrReplace,b.type=b.opt.type,b.theme=b.opt.theme,b.size=b.opt.size,b.position=b.opt.position,b.scrollToTop=b.opt.scrollToTop,b.current=0,b.total=0,b.ctrls=[],b._arr=[]},destroy:function(){var b=this;b._arr.splice(0,b._arr.length),a.each(b.ctrls.splice(0,b.ctrls.length),function(a,b){b.destroy()}),b._super()},build:function(){var a=this,c=a.tmpl.items.available();a.total=a.size>0&&c.length>0?Math.ceil(c.length/a.size):1;for(var d=0;d<a.total;d++)a._arr.push(c.splice(0,a.size));if(a.total>1&&b.paging.hasCtrl(a.type)){var e,f,g=a.position;"both"!==g&&"top"!==g||(e=b.paging.makeCtrl(a.type,a.tmpl,a,"top"),e.create()&&(e.append(),a.ctrls.push(e))),"both"!==g&&"bottom"!==g||(f=b.paging.makeCtrl(a.type,a.tmpl,a,"bottom"),f.create()&&(f.append(),a.ctrls.push(f)))}},rebuild:function(){var b=this;b.current=0,b.total=0,b._arr.splice(0,b._arr.length),a.each(b.ctrls.splice(0,b.ctrls.length),function(a,b){b.destroy()}),b.build()},all:function(){return this._arr.slice()},available:function(){return this.get(this.current)},controls:function(b){var c=this;c.isValid(b)&&a.each(c.ctrls,function(a,c){c.update(b)})},isValid:function(a){return d.number(a)&&a>0&&a<=this.total},number:function(a){return this.isValid(a)?a:0===this.current?1:this.current},create:function(a,b){var c=this;a=c.number(a);var d=a-1;c.tmpl.items.detach(c.tmpl.items.all()),c.tmpl.items.create(c._arr[d],!0),c.current=a},get:function(a){var b=this;return b.isValid(a)?(a=b.number(a),b._arr[a-1]):[]},set:function(a,b,c,e){var f=this;if(f.isValid(a)){var g,h=f.number(a);if(h!==f.current){var i=f.current,j=function(){if(c=!d.boolean(c)||c,e=!!d.boolean(e)&&e,c&&1===f.current&&!f.tmpl.state.exists()&&(g=f.tmpl.state.get(),f.tmpl.state.update(g,f.pushOrReplace)),f.controls(a),f.create(h,e),c&&(g=f.tmpl.state.get(),f.tmpl.state.update(g,f.pushOrReplace)),f.scrollToTop&&d.boolean(b)&&b){var j=f.get(f.current);j.length>0&&j[0].scrollTo("top")}f.tmpl.raise("after-page-change",[f.current,i,e])};return!f.tmpl.raise("before-page-change",[f.current,h,j,e]).isDefaultPrevented()&&(j(),!0)}}return!1},find:function(b){for(var c=this,d=0,e=c._arr.length;d<e;d++)if(-1!==a.inArray(b,c._arr[d]))return d+1;return 0},contains:function(b,c){var d=this.get(b);return-1!==a.inArray(c,d)},first:function(){this.goto(1)},last:function(){this.goto(this._arr.length)},prev:function(){this.goto(this.current-1)},next:function(){this.goto(this.current+1)},goto:function(a){var b=this;b.set(a,!0)&&b.tmpl.loadAvailable()}}),b.PagingControl=b.Component.extend({construct:function(a,b,c){var d=this;d._super(a),d.pages=b,d.position=c,d.$container=null},create:function(){var b=this;return b.$container=a("<nav/>",{class:b.pages.cls.container}).addClass(b.pages.theme),!0},destroy:function(){var a=this;a.$container.remove(),a.$container=null},append:function(){var a=this;"top"===a.position?a.$container.insertBefore(a.tmpl.$el):a.$container.insertAfter(a.tmpl.$el)},update:function(a){}}),b.paging.register("default",b.Paging,null,{type:"none",theme:"fg-light",size:30,pushOrReplace:"push",position:"none",scrollToTop:!0},{container:"fg-paging-container"},null,-100)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(a,b,c,d){b.Dots=b.Paging.extend({}),b.DotsControl=b.PagingControl.extend({construct:function(b,c,d){this._super(b,c,d),this.$container=a(),this.$list=a(),this.$items=a()},create:function(){for(var b,c=this,d=c.pages.cls,e=c.pages.il8n,f=[],g=a("<ul/>",{class:d.list}),h=0,i=c.pages.total;h<i;h++)f.push(b=c.createItem(h+1,e.page)),g.append(b);return c.$list=g,c.$container=a("<nav/>",{class:d.container}).addClass(c.pages.theme).append(g),c.$items=a(a.map(f,function(a){return a.get()})),!0},append:function(){var a=this;"top"===a.position?a.$container.insertBefore(a.tmpl.$el):a.$container.insertAfter(a.tmpl.$el)},destroy:function(){var b=this,c=b.pages.sel;b.$list.find(c.link).off("click.foogallery",b.onLinkClick),b.$container.remove(),b.$container=a(),b.$list=a(),b.$items=a()},update:function(a){this.setSelected(a-1)},setSelected:function(b){var c=this,e=c.pages.cls,f=c.pages.il8n,g=c.pages.sel;c.$items.filter(g.selected).removeClass(e.selected).each(function(b,c){var e=a(c),f=e.data("label"),h=e.find(g.reader);d.string(f)&&0!==h.length&&h.html(f)}),c.$items.eq(b).addClass(e.selected).each(function(b,c){var e=a(c),h=e.find(g.reader),i=h.html();d.string(i)&&0!==h.length&&(e.data("label",i),h.html(f.current))})},createItem:function(b,c,e,f,g){e=d.string(e)?e:b,c=d.string(c)?c:"";var h=this,i=h.pages.opt,j=h.pages.cls,k=a("<a/>",{class:j.link,href:"#page-"+b}).html(e).on("click.foogallery",{self:h,page:b},h.onLinkClick);d.empty(c)||k.attr("title",c.replace(/\{PAGE}/g,b).replace(/\{LIMIT}/g,i.limit+"")),g=d.string(g)?g:c,d.empty(g)||k.prepend(a("<span/>",{class:j.reader,text:g.replace(/\{PAGE}/g,"").replace(/\{LIMIT}/g,i.limit+"")}));var l=a("<li/>",{class:j.item}).append(k);return f=d.string(f)?f:"",d.empty(f)||l.addClass(f),l},onLinkClick:function(b){b.preventDefault();var c=b.data.self,d=b.data.page,e=c.pages.sel;a(this).closest(e.item).is(e.disabled)||(c.pages.set(d,!0),c.tmpl.loadAvailable())}}),b.paging.register("dots",b.Dots,b.DotsControl,{type:"dots",position:"both",pushOrReplace:"push"},{list:"fg-dots",item:"fg-dot-item",link:"fg-dot-link",disabled:"fg-disabled",selected:"fg-selected",visible:"fg-visible",reader:"fg-sr-only"},{current:"Current page",page:"Page {PAGE}"})}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(a,b,c){b.DefaultTemplate=b.Template.extend({}),b.template.register("default",b.DefaultTemplate,null,{container:"foogallery fg-default"})}(FooGallery.$,FooGallery,FooGallery.utils),function(a,b,c,d){b.MasonryTemplate=b.Template.extend({construct:function(a,b){this._super(a,b),this.masonry=null,this.style=null,this.$columnWidth=null},getStylesheet:function(){var a=this;return null===a.style&&(a.style=document.createElement("style"),a.style.appendChild(document.createTextNode("")),document.head.appendChild(a.style)),a.style.sheet},onPreInit:function(b,c){var e=c.sel,f=c.cls;f.layouts=a.map(f.layout,function(a){return a}).join(" ");for(var g=a.map(f.layout,function(a,b){return{key:b,value:a}}),h=0,i=g.length;h<i;h++)if(c.$el.hasClass(g[h].value)){c.template.layout=g[h].key;break}d.string(f.layout[c.template.layout])||(c.template.layout="col4");var j,k,l="fixed"===c.template.layout;if(c.template.isFitWidth=l,c.template.percentPosition=!l,c.template.transitionDuration=0,c.template.itemSelector=e.item.elem,c.$el.removeClass(f.layouts).addClass(f.layout[c.template.layout]),l||(0===c.$el.find(e.gutterWidth).length&&c.$el.prepend(a("<div/>").addClass(f.gutterWidth)),c.template.gutter=e.gutterWidth),0===c.$el.find(e.columnWidth).length&&c.$el.prepend(a("<div/>").addClass(f.columnWidth)),l&&d.number(c.template.columnWidth)){var m=c.$el.find(e.columnWidth).width(c.template.columnWidth);j=c.getStylesheet(),k="#"+c.id+e.container+" "+e.item.elem+" { width: "+m.outerWidth()+"px; }",j.insertRule(k,0)}c.template.columnWidth=e.columnWidth,l&&d.number(c.template.gutter)&&(j=c.getStylesheet(),k="#"+c.id+e.container+" "+e.item.elem+" { margin-bottom: "+c.template.gutter+"px; }",j.insertRule(k,0)),c.masonry=new Masonry(c.$el.get(0),c.template)},onPostInit:function(a,b){b.masonry.layout()},onFirstLoad:function(a,b){b.masonry.layout()},onReady:function(a,b){b.masonry.layout()},onDestroy:function(a,b){b.$el.find(b.sel.columnWidth).remove(),b.$el.find(b.sel.gutterWidth).remove(),b.style&&b.style.parentNode&&b.style.parentNode.removeChild(b.style)},onDestroyed:function(a,b){b.masonry instanceof Masonry&&b.masonry.destroy()},onLayout:function(a,b){b.masonry.layout()},onParsedItems:function(a,b,c){b.masonry.layout()},onAppendedItems:function(a,b,c){c=b.items.jquerify(c),c=b.masonry.addItems(c),b.masonry.layoutItems(c,!0)},onDetachItem:function(a,b,c){a.isDefaultPrevented()||(a.preventDefault(),b.masonry.remove(c.$el),c.isAttached=!1,c.unfix())},onDetachedItems:function(a,b,c){b.masonry.layout()},onLoadedItems:function(a,b,c){b.masonry.layout()}}),b.template.register("masonry",b.MasonryTemplate,{template:{initLayout:!1,isInitLayout:!1,layout:"col4"}},{container:"foogallery fg-masonry",columnWidth:"fg-column-width",gutterWidth:"fg-gutter-width",layout:{fixed:"fg-masonry-fixed",col2:"fg-masonry-2col",col3:"fg-masonry-3col",col4:"fg-masonry-4col",col5:"fg-masonry-5col"}})}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(a,b,c,d){b.Justified=c.Class.extend({construct:function(c,d){this.$el=a(c),this.options=a.extend(!0,{},b.Justified.defaults,d),this._items=[],this._lastRefresh=0,this._refresh=null},init:function(){var b=this;d.string(b.options.maxRowHeight)&&(b.options.maxRowHeight.indexOf("%")?b.options.maxRowHeight=b.options.rowHeight*(parseInt(b.options.maxRowHeight)/100):b.options.maxRowHeight=parseInt(b.options.maxRowHeight)),a(window).on("resize.justified",{self:b},b.onWindowResize),this._refresh=setInterval(function(){b.refresh()},b.options.refreshInterval)},destroy:function(){this._refresh&&clearInterval(this._refresh),a(window).off("resize.justified"),this.$el.removeAttr("style")},refresh:function(){var a=this.getContainerWidth();a!=this._lastRefresh&&(this.layout(),this._lastRefresh=a)},parse:function(){var b=this,c=b.$el.is(":visible"),d=a("<div/>",{class:b.$el.attr("class")}).css({position:"absolute",top:0,left:-9999,visibility:"hidden",maxWidth:b.getContainerWidth()}).appendTo("body");return b._items=b.$el.find(b.options.itemSelector).removeAttr("style").removeClass("fg-positioned").map(function(b,e){var f=a(e),g=0,h=0;if(c)g=f.outerWidth(),h=f.outerHeight();else{var i=f.clone();i.appendTo(d),g=i.outerWidth(),h=i.outerHeight()}return{index:b,width:g,height:h,top:0,left:0,$item:f}}).get(),d.remove(),b._items},getMaxRowHeight:function(){var a=this;return d.string(a.options.maxRowHeight)&&(a.options.maxRowHeight.indexOf("%")?a.options.maxRowHeight=a.options.rowHeight*(parseInt(a.options.maxRowHeight)/100):a.options.maxRowHeight=parseInt(a.options.maxRowHeight)),d.number(a.options.maxRowHeight)?a.options.maxRowHeight:a.options.rowHeight},getContainerWidth:function(){var a=this;return a.$el.is(":visible")?a.$el.width():a.$el.parents(":visible:first").innerWidth()},layout:function(b,c){b=!!d.boolean(b)&&b,c=!d.boolean(c)||c,(b||0===this._items.length)&&this.parse();var e=this,f=0,g=e.getContainerWidth(),h=e.getMaxRowHeight(),i=e.rows(g,h);a.each(i,function(a,b){b.visible&&(a>0&&(f+=e.options.margins),f+=b.height,e.render(b))}),e.$el.height(f),c&&e.getContainerWidth()<g&&e.layout(!1,!1)},render:function(a){for(var b,c=0,d=a.items.length;c<d;c++)b=a.items[c],a.visible?b.$item.css({width:b.width,height:b.height,top:b.top,left:b.left,display:"",maxHeight:this.options.maxRowHeight>0?this.options.maxRowHeight:""}).addClass("fg-positioned"):b.$item.css("display","none")},justify:function(a,b,c,d){var e=this,f=e.options.margins*(a.items.length-1),g=c-f,h=g/a.width;a.width=a.width*h,a.height=a.height*h,a.top=b,a.height>d&&(a.height=d),a.left=0,a.width<g&&(a.left=(g-a.width)/2),a.width+=f;for(var i,j=a.left,k=0,l=a.items.length;k<l;k++)k>0&&(j+=e.options.margins),i=a.items[k],i.left=j,i.top=b,i.width=i.width*h,i.height=i.height*h,i.height>d&&(i.height=d),j+=i.width;return a.height},position:function(a,b,c,d){var e=this,f=e.options.margins*(a.items.length-1),g=c-f;if(a.top=b,a.left=0,a.width<g)switch(d){case"center":a.left=(g-a.width)/2;break;case"right":a.left=g-a.width}a.width+=f;for(var h,i=a.left,j=0,k=a.items.length;j<k;j++)j>0&&(i+=e.options.margins),h=a.items[j],h.left=i,h.top=b,i+=h.width;return a.height},lastRow:function(a,b,c,d){var e=this,f=e.options.margins*(a.items.length-1),g=c-f,h=a.width/g>e.options.justifyThreshold;switch(e.options.lastRow){case"hide":h?e.justify(a,b,c,d):a.visible=!1;break;case"justify":e.justify(a,b,c,d);break;case"nojustify":h?e.justify(a,b,c,d):e.position(a,b,c,"left");break;case"left":case"center":case"right":h?e.justify(a,b,c,d):e.position(a,b,c,e.options.lastRow)}},items:function(){return a.map(this._items,function(a){return{index:a.index,width:a.width,height:a.height,$item:a.$item,top:a.top,left:a.left}})},rows:function(a,b){function c(){var a={index:++h,visible:!0,width:0,height:e.options.rowHeight,top:0,left:0,items:[]};return g.push(a),a}for(var d,e=this,f=e.items(),g=[],h=-1,i=c(),j=0,k=0,l=0,m=f.length;l<m;l++){if(d=f[l],d.height!=e.options.rowHeight){var n=e.options.rowHeight/d.height;d.height=d.height*n,d.width=d.width*n}k+d.width>a&&l>0&&(g.length>1&&(j+=e.options.margins),j+=e.justify(i,j,a,b),i=c(),k=0),i.items.length>0&&(k+=e.options.margins),k+=d.width,i.width+=d.width,i.items.push(d)}return g.length>1&&(j+=e.options.margins),e.lastRow(i,j,a,b),g},onWindowResize:function(a){a.data.self.layout()}}),b.Justified.defaults={itemSelector:".fg-item",rowHeight:150,maxRowHeight:"200%",margins:0,lastRow:"center",justifyThreshold:.5,refreshInterval:250}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(a,b,c){b.JustifiedTemplate=b.Template.extend({onPreInit:function(a,c){c.justified=new b.Justified(c.$el.get(0),c.template)},onInit:function(a,b){b.justified.init()},onFirstLoad:function(a,b){b.justified.layout(!0)},onReady:function(a,b){b.justified.layout(!0)},onDestroy:function(a,b){b.justified.destroy()},onLayout:function(a,b){b.justified.layout(!0)},onParsedItems:function(a,b,c){(b.initialized||b.initializing)&&b.justified.layout(!0)},onAppendedItems:function(a,b,c){(b.initialized||b.initializing)&&b.justified.layout(!0)},onDetachedItems:function(a,b,c){b.initialized&&b.justified.layout(!0)}}),b.template.register("justified",b.JustifiedTemplate,null,{container:"foogallery fg-justified"})}(FooGallery.$,FooGallery,FooGallery.utils),function(a,b,c,d){b.Portfolio=c.Class.extend({construct:function(c,d){this.$el=a(c),this.options=a.extend(!0,{},b.Portfolio.defaults,d),this._items=[],this._lastWidth=0},init:function(){var b=this;a(window).on("resize.portfolio",{self:b},b.onWindowResize)},destroy:function(){a(window).off("resize.portfolio"),this.$el.removeAttr("style")},parse:function(){var b=this,c=b.$el.is(":visible"),d=b.getContainerWidth(),e=a("<div/>",{class:b.$el.attr("class")}).css({position:"absolute",top:0,left:-9999,visibility:"hidden",maxWidth:d}).appendTo("body");return b._items=b.$el.find(".fg-item").removeAttr("style").removeClass("fg-positioned").map(function(b,f){var g=a(f),h=g.find(".fg-thumb"),i=g.find(".fg-image"),j=parseFloat(i.attr("width")),k=parseFloat(i.attr("height")),l=d<j?d:j,m=d<j?"auto":k;if(g.find(".fg-caption").css("max-width",l),i.css({width:l,height:m}),c)j=g.outerWidth(),k=g.outerHeight();else{var n=g.clone();n.appendTo(e),j=n.outerWidth(),k=n.outerHeight()}return i.css({width:"",height:""}),{index:b,width:j,height:k,top:0,left:0,$item:g,$thumb:h}}).get(),e.remove(),b._items},round:function(a){return Math.round(2*a)/2},getContainerWidth:function(){var a=this;return a.$el.is(":visible")?a.$el.width():a.$el.parents(":visible:first").innerWidth()},layout:function(a,b){a=!!d.boolean(a)&&a,b=!d.boolean(b)||b;var c=this,e=c.getContainerWidth();0!=c._lastWidth&&Math.abs(e-c._lastWidth)>0&&(a=!0,c._lastWidth=e),(a||0===c._items.length)&&c.parse();for(var f,g=c.rows(e),h=0,i=0,j=g.length;i<j;i++)f=g[i],h=c.position(f,e,h,c.options.align),c.render(f);c.$el.height(h),0==c._lastWidth&&(c._lastWidth=e),b&&c.getContainerWidth()<e&&c.layout(!1,!1)},render:function(a){for(var b,c=0,d=a.items.length;c<d;c++)b=a.items[c],a.visible?b.$item.css({width:b.width,height:a.height,top:b.top,left:b.left,display:""}).addClass("fg-positioned"):b.$item.css("display","none")},position:function(a,b,c,d){var e=this,f=a.items[a.items.length-1],g=b-(f.left+f.width);a.index>0&&(c+=e.options.gutter),a.top=c;for(var h,i=0,j=a.items.length;i<j;i++)h=a.items[i],h.top=c,"center"===d?h.left+=g/2:"right"===d&&(h.left+=g);return c+a.height},items:function(){return a.map(this._items,function(a){return{index:a.index,width:a.width,height:a.height,$item:a.$item,$thumb:a.$thumb,top:a.top,left:a.left}})},rows:function(a){for(var b=this,c=b.items(),d=[],e=c.length>0,f=-1,g=0;e;){f+=1,f>0&&(g+=b.options.gutter);for(var h,i,j,k={index:f,visible:!0,top:g,width:0,height:0,items:[]},l=[],m=0,n=0,o=c.length;n<o&&(i=c[n],!((h=k.width+i.width)>a&&n>0));n++)h>a&&0==n&&(h=a,j=a/i.width,i.width=b.round(i.width*j),i.height=b.round(i.height*j),k.height=i.height),i.top=k.top,n>0&&(m+=b.options.gutter),n!==o-1&&(h+=b.options.gutter),i.left=m,m+=i.width,i.height>k.height&&(k.height=i.height),k.width=h,k.items.push(i),l.push(n);if(0===l.length){e=!1;break}l.sort(function(a,b){return b-a});for(var p=0,q=l.length;p<q;p++)c.splice(l[p],1);d.push(k),e=c.length>0}return d},onWindowResize:function(a){a.data.self.layout()}}),b.Portfolio.defaults={gutter:40,align:"center"}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(a,b,c){b.PortfolioTemplate=b.Template.extend({construct:function(a,b){this._super(a,b),this.portfolio=null},onPreInit:function(a,c){c.portfolio=new b.Portfolio(c.$el.get(0),c.template)},onInit:function(a,b){b.portfolio.init()},onFirstLoad:function(a,b){b.portfolio.layout(!0)},onReady:function(a,b){b.portfolio.layout(!0)},onDestroy:function(a,b){b.portfolio.destroy()},onLayout:function(a,b){b.portfolio.layout(!0)},onParsedItems:function(a,b,c){(b.initialized||b.initializing)&&b.portfolio.layout(!0)},onAppendedItems:function(a,b,c){(b.initialized||b.initializing)&&b.portfolio.layout(!0)},onDetachedItems:function(a,b,c){
|
11 |
-
|
1 |
/*
|
2 |
* FooGallery - The Most Intuitive and Extensible Gallery Creation and Management Tool Ever Created for WordPress
|
3 |
+
* @version 1.2.3
|
4 |
* @link
|
5 |
* @copyright Steven Usher & Brad Vincent 2015
|
6 |
* @license Released under the GPLv3 license.
|
7 |
*/
|
8 |
|
9 |
+
!function(a,b){b.$=a}(jQuery,window.FooGallery=window.FooGallery||{}),function(a){if(!a)return void console.warn("jQuery must be included in the page prior to the FooGallery.utils library.");var b={$:a,version:"0.0.8"};b.versionCompare=function(a,b){function c(a){for(var b=a.split("."),c=0,d=b.length;c<d;c++)b[c]=parseInt(b[c]),isNaN(b[c])&&(b[c]=0);return b}if(!/[\d.]/.test(a)||!/[\d.]/.test(b))return NaN;for(var d=c(a),e=c(b);d.length<e.length;)d.push(0);for(;e.length<d.length;)e.push(0);for(var f=0;f<d.length;++f){if(e.length==f)return 1;if(d[f]!=e[f])return d[f]>e[f]?1:-1}return d.length!=e.length?-1:0},!function(){try{return!!window.FooGallery.utils}catch(a){return!1}}()?window.FooGallery.utils=b:b.versionCompare(b.version,window.FooGallery.utils.version)>0?(console.warn("An older version of FooGallery.utils ("+window.FooGallery.utils.version+") already exists in the page, version "+b.version+" will override it."),window.FooGallery.utils=b):console.warn("A newer version of FooGallery.utils ("+window.FooGallery.utils.version+") already exists in the page, version "+b.version+" will not register itself.")}(jQuery),function(a,b){"0.0.8"===b.version&&(b.is={},b.is.array=function(a){return"[object Array]"===Object.prototype.toString.call(a)},b.is.boolean=function(a){return"[object Boolean]"===Object.prototype.toString.call(a)},b.is.element=function(a){return"object"==typeof HTMLElement?a instanceof HTMLElement:!!a&&"object"==typeof a&&null!==a&&1===a.nodeType&&"string"==typeof a.nodeName},b.is.empty=function(a){if(b.is.undef(a)||null===a)return!0;if(b.is.number(a)&&0==a)return!0;if(b.is.boolean(a)&&!1===a)return!0;if(b.is.string(a)&&0===a.length)return!0;if(b.is.array(a)&&0===a.length)return!0;if(b.is.jq(a)&&0===a.length)return!0;if(b.is.hash(a)){for(var c in a)if(a.hasOwnProperty(c))return!1;return!0}return!1},b.is.error=function(a){return"[object Error]"===Object.prototype.toString.call(a)},b.is.fn=function(a){return a===window.alert||"[object Function]"===Object.prototype.toString.call(a)},b.is.hash=function(a){return b.is.object(a)&&a.constructor===Object&&!a.nodeType&&!a.setInterval},b.is.jq=function(c){return!b.is.undef(a)&&c instanceof a},b.is.number=function(a){return"[object Number]"===Object.prototype.toString.call(a)&&!isNaN(a)},b.is.object=function(a){return"[object Object]"===Object.prototype.toString.call(a)&&!b.is.undef(a)&&null!==a},b.is.promise=function(a){return b.is.object(a)&&b.is.fn(a.then)&&b.is.fn(a.promise)},b.is.size=function(a){return!!(b.is.string(a)&&!b.is.empty(a)||b.is.number(a))&&/^(auto|none|(?:[\d\.]*)+?(?:%|px|mm|q|cm|in|pt|pc|em|ex|ch|rem|vh|vw|vmin|vmax)?)$/.test(a)},b.is.string=function(a){return"[object String]"===Object.prototype.toString.call(a)},b.is.undef=function(a){return void 0===a})}(FooGallery.utils.$,FooGallery.utils),function(a,b,c){if("0.0.8"===b.version){b.fn={};var d=Function.prototype.toString;b.fn.CONTAINS_SUPER=/xyz/.test(d.call(function(){xyz}))?/\b_super\b/:/.*/,b.fn.addOrOverride=function(a,e,f){if(c.object(a)&&c.string(e)&&!c.empty(e)&&c.fn(f)){var g=a[e],h=c.fn(g)&&b.fn.CONTAINS_SUPER.test(d.call(f));a[e]=h?function(a,b){return function(){var c=this._super;this._super=a;var d=b.apply(this,arguments);return this._super=c,d}}(g,f):f}},b.fn.apply=function(a,b){function d(){return a.apply(this,b)}return b=c.array(b)?b:[],d.prototype=a.prototype,new d},b.fn.arg2arr=function(a){return Array.prototype.slice.call(a)},b.fn.check=function(d,e,f,g){function h(a){return function(){return a.apply(d,arguments)}}return f=c.fn(f)?f:a.noop,d=c.object(d)?d:window,e=c.string(e)?b.fn.fetch(e,g):e,h(c.fn(e)?e:f)},b.fn.fetch=function(b,d){return!c.string(b)||c.empty(b)?null:(d=c.object(d)?d:window,a.each(b.split("."),function(a,b){if(!d[b])return!1;d=d[b]}),c.fn(d)?d:null)},b.fn.enqueue=function(d,e,f,g){function h(a,b){try{return n.push(a),b.apply(a,i)}catch(a){return j.reject(a,n),j}}var i=b.fn.arg2arr(arguments),j=a.Deferred(),k=a.Deferred(),l=k.promise(),m=[],n=[],o=!0;return d=i.shift(),e=i.shift(),a.each(d,function(a,d){c.fn(d[e])&&(l=l.then(function(){if(!o){var a=b.fn.arg2arr(arguments);m.push(a)}return o=!1,h(d,d[e])}))}),l.then(function(){if(!o){var a=b.fn.arg2arr(arguments);m.push(a)}o=!1,j.resolve(m)}),l.fail(function(){var a=b.fn.arg2arr(arguments);a.push(n),j.reject.apply(j,a)}),k.resolve(),j.promise()},b.fn.when=function(b){if(!c.array(b)||c.empty(b))return a.when();for(var d=a.Deferred(),e=[],f=b.length,g=0;g<b.length;g++)b[g].then(function(a){e.push(a)}).always(function(){--f||d.resolve(e)});return d.promise()},b.fn.rejectWith=function(c,d){var e=a.Deferred(),f=b.fn.arg2arr(arguments);return e.reject.apply(e,f).promise()},b.fn.resolveWith=function(c,d){var e=a.Deferred(),f=b.fn.arg2arr(arguments);return e.resolve.apply(e,f).promise()},b.fn.resolved=a.Deferred().resolve().promise(),b.fn.rejected=a.Deferred().reject().promise()}}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is),function(a,b){if("0.0.8"===a.version){a.url={};var c=document.createElement("a");a.url.parts=function(a){return c.href=a,{hash:c.hash,host:c.host,hostname:c.hostname,href:c.href,origin:c.origin,pathname:c.pathname,port:c.port,protocol:c.protocol,search:c.search}},a.url.full=function(a){return!b.string(a)||b.empty(a)?null:(c.href=a,c.href)},a.url.param=function(a,c,d){if(!b.string(a)||!b.string(c)||b.empty(c))return a;var e,f,g,h;return b.undef(d)?(e=new RegExp("[?|&]"+c+"=([^&;]+?)(&|#|;|$)"),f=e.exec(a)||[,""],g=f[1].replace(/\+/g,"%20"),b.string(g)&&!b.empty(g)?decodeURIComponent(g):null):(""===d||null===d?(e=new RegExp("^([^#]*?)(([^#]*)&)?"+c+"(=[^&#]*)?(&|#|$)"),g=a.replace(e,"$1$3$5").replace(/^([^#]*)((\?)&|\?(#|$))/,"$1$3$4")):(e=new RegExp("([?&])"+c+"[^&]*"),h=c+"="+encodeURIComponent(d),(g=a.replace(e,"$1"+h))!==a||e.test(g)||(g+=(-1!==g.indexOf("?")?"&":"?")+h)),g)}}}(FooGallery.utils,FooGallery.utils.is),function(a,b,c){"0.0.8"===a.version&&(a.str={},a.str.camel=function(a){return b.empty(a)?a:a.toUpperCase()===a?a.toLowerCase():a.replace(/^([A-Z])|[-\s_]+(\w)/g,function(a,c,d){return b.string(d)?d.toUpperCase():c.toLowerCase()})},a.str.contains=function(a,c,d){return!(!b.string(a)||b.empty(a)||!b.string(c)||b.empty(c))&&(c.length<=a.length&&-1!==(d?a.toUpperCase().indexOf(c.toUpperCase()):a.indexOf(c)))},a.str.containsWord=function(a,c,d){if(!b.string(a)||b.empty(a)||!b.string(c)||b.empty(c)||a.length<c.length)return!1;for(var e=a.split(/\W/),f=0,g=e.length;f<g;f++)if(d?e[f].toUpperCase()==c.toUpperCase():e[f]==c)return!0;return!1},a.str.endsWith=function(a,c){return!b.string(a)||b.empty(a)||!b.string(c)||b.empty(c)?a==c:a.slice(a.length-c.length)==c},a.str.escapeRegExp=function(a){return b.empty(a)?a:a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},a.str.fnv1a=function(a){if(!b.string(a)||b.empty(a))return null;var c,d,e=2166136261;for(c=0,d=a.length;c<d;c++)e^=a.charCodeAt(c),e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24);return e>>>0},a.str.from=function(c,d){return!b.string(c)||b.empty(c)||!b.string(d)||b.empty(d)?null:a.str.contains(c,d)?c.substring(c.indexOf(d)+d.length):null},a.str.join=function(d,e,f){if(!b.string(d)||!b.string(e))return null;var g=c.arg2arr(arguments);d=g.shift();var h,i,j=g.shift();for(h=0,i=g.length;h<i;h++)e=g[h],b.empty(e)||(a.str.endsWith(j,d)&&(j=j.slice(0,j.length-d.length)),a.str.startsWith(e,d)&&(e=e.slice(d.length)),j+=d+e);return j},a.str.startsWith=function(a,c){return!b.empty(a)&&!b.empty(c)&&a.slice(0,c.length)==c},a.str.until=function(c,d){return b.empty(c)||b.empty(d)?c:a.str.contains(c,d)?c.substring(0,c.indexOf(d)):c},a.str.format=function(a,d,e){var f=c.arg2arr(arguments);if(a=f.shift(),b.empty(a)||b.empty(f))return a;1===f.length&&(b.array(f[0])||b.object(f[0]))&&(f=f[0]);for(var g in f)a=a.replace(new RegExp("\\{"+g+"\\}","gi"),f[g]);return a})}(FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn),function(a,b,c,d,e){if("0.0.8"===b.version){b.obj={};var f=function(){};b.obj.create=function(a){if(!c.object(a))throw TypeError("Argument must be an object");f.prototype=a;var b=new f;return f.prototype=null,b},b.obj.extend=function(e,f,g){e=c.object(e)?e:{};var h=d.arg2arr(arguments);return h.shift(),a.each(h,function(a,c){b.obj.merge(e,c)}),e},b.obj.merge=function(a,d){a=c.hash(a)?a:{},d=c.hash(d)?d:{};for(var e in d)d.hasOwnProperty(e)&&(c.hash(d[e])?(a[e]=c.hash(a[e])?a[e]:{},b.obj.merge(a[e],d[e])):c.array(d[e])?a[e]=d[e].slice():a[e]=d[e]);return a},b.obj.mergeValid=function(d,e,f,g){if(!c.hash(f)||!c.hash(e))return d;e=c.hash(e)?e:{},g=c.hash(g)?g:{};var h,i,j;for(h in e)e.hasOwnProperty(h)&&c.fn(e[h])&&(i=c.array(g[h])?g[h]:c.string(g[h])?[g[h]]:[h],a.each(i,function(a,g){if(j=b.obj.prop(f,g),!c.undef(j))return e[h](j)?(b.obj.prop(d,h,j),!1):void 0}));return d},b.obj.prop=function(b,d,f){if(c.object(b)&&!c.empty(d)){var g,h;if(c.undef(f))return e.contains(d,".")?(g=d.split("."),h=g.length-1,a.each(g,function(a,d){if(a===h)f=b[d];else{if(!c.hash(b[d]))return!1;b=b[d]}})):c.undef(b[d])||(f=b[d]),f;e.contains(d,".")?(g=d.split("."),h=g.length-1,a.each(g,function(a,d){a===h?b[d]=f:b=c.hash(b[d])?b[d]:b[d]={}})):c.undef(b[d])||(b[d]=f)}}}}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.str),function(a,b,c){if("0.0.8"===b.version){b.ready=function(a){function c(){try{a.call(window,b.$)}catch(a){console.error(a)}}(Function("/*@cc_on return true@*/")()?"complete"===document.readyState:"loading"!==document.readyState)?c():document.addEventListener("DOMContentLoaded",c,!1)};var d=0;b.uniqueId=function(a,b){var e=a.attr("id");return c.empty(e)&&(b=c.string(b)&&!c.empty(b)?b:"uid-",e=b+ ++d,a.attr("id",e).data("__uniqueId__",!0)),e},b.removeUniqueId=function(a){a.data("__uniqueId__")&&a.removeAttr("id").removeData("__uniqueId__")}}}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is),function(a,b,c){if("0.0.8"===b.version){b.transition={};var d=document.createElement("div");b.transition.supported=function(a){var b=a.style;return c.string(b.transition)||c.string(b.WebkitTransition)||c.string(b.MozTransition)||c.string(b.msTransition)||c.string(b.OTransition)}(d),b.transition.end=function(a){var b=a.style;return c.string(b.transition)?"transitionend":c.string(b.WebkitTransition)?"webkitTransitionEnd":c.string(b.MozTransition)?"transitionend":c.string(b.msTransition)?"msTransitionEnd":c.string(b.OTransition)?"oTransitionEnd":null}(d),b.transition.duration=function(a,b){if(b=c.number(b)?b:0,!c.jq(a))return b;var d=a.css("transition-duration");if(/^([\d\.]*)+?(ms|s)$/i.test(d)){var e=d.match(/^([\d\.]*)+?(ms|s)$/i),f=parseFloat(e[1]);return"s"===e[2].toLowerCase()&&(f*=1e3),f}return b},b.transition.start=function(d,e,f,g){var h=a.Deferred();if(d=d.first(),b.transition.supported){var i=d.data("transition_safety");c.hash(i)&&c.number(i.timer)&&(clearTimeout(i.timer),d.removeData("transition_safety").off(b.transition.end+".utils"),i.deferred.reject()),g=c.number(g)?g:b.transition.duration(d)+50,i={deferred:h,timer:setTimeout(function(){d.removeData("transition_safety").off(b.transition.end+".utils"),h.resolve()},g)},d.data("transition_safety",i),d.on(b.transition.end+".utils",function(a){d.is(a.target)&&(clearTimeout(i.timer),d.removeData("transition_safety").off(b.transition.end+".utils"),h.resolve())})}return setTimeout(function(){c.fn(e)?e.apply(d.get(0),[d]):d.toggleClass(e,f),b.transition.supported||h.resolve()},20),h.promise()}}}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is),function(a,b,c,d,e){"0.0.8"===b.version&&(b.Class=function(){},b.Class.extend=function(a){function f(){if(!c.fn(this.construct))throw new SyntaxError('FooGallery.utils.Class objects must be constructed with the "new" keyword.');this.construct.apply(this,arguments)}a=c.hash(a)?a:{};var g=d.create(this.prototype);for(var h in a)a.hasOwnProperty(h)&&e.addOrOverride(g,h,a[h]);return g.construct=c.fn(g.construct)?g.construct:function(){},f.prototype=g,f.prototype.constructor=c.fn(g.__ctor__)?g.__ctor__:f,f.extend=b.Class.extend,f.override=b.Class.override,f},b.Class.override=function(a,b){e.addOrOverride(this.prototype,a,b)})}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj,FooGallery.utils.fn),function(a,b,c){if("0.0.8"===b.version){b.Bounds=b.Class.extend({construct:function(){var a=this;a.top=0,a.right=0,a.bottom=0,a.left=0,a.width=0,a.height=0},inflate:function(a){var b=this;return c.number(a)&&(b.top-=a,b.right+=a,b.bottom+=a,b.left-=a,b.width+=2*a,b.height+=2*a),b},intersects:function(a){var b=this;return b.left<=a.right&&a.left<=b.right&&b.top<=a.bottom&&a.top<=b.bottom}});var d;b.getViewportBounds=function(c){d||(d=a(window));var e=new b.Bounds;return e.top=d.scrollTop(),e.left=d.scrollLeft(),e.width=d.width(),e.height=d.height(),e.right=e.left+e.width,e.bottom=e.top+e.height,e.inflate(c),e},b.getElementBounds=function(d){c.jq(d)||(d=a(d));var e=new b.Bounds;if(0!==d.length){var f=d.offset();e.top=f.top,e.left=f.left,e.width=d.width(),e.height=d.height()}return e.right=e.left+e.width,e.bottom=e.top+e.height,e}}}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is),function(a,b,c,d){"0.0.8"===b.version&&(b.Factory=b.Class.extend({construct:function(){this.registered={}},contains:function(a){return!c.undef(this.registered[a])},load:function(b,e,f){var g,h,i=this,j=d.arg2arr(arguments),k=[],l=[];b=j.shift()||{};for(g in i.registered)if(i.registered.hasOwnProperty(g)){var m=i.registered[g];b.hasOwnProperty(g)&&(h=b[g],c.string(h)&&(h=d.fetch(b[g])),c.fn(h)&&(m={name:g,klass:h,priority:i.registered[g].priority})),k.push(m)}for(g in b)b.hasOwnProperty(g)&&!i.registered.hasOwnProperty(g)&&(h=b[g],c.string(h)&&(h=d.fetch(b[g])),c.fn(h)&&k.push({name:g,klass:h,priority:0}));return k.sort(function(a,b){return b.priority-a.priority}),a.each(k,function(a,b){c.fn(b.klass)&&l.push(d.apply(b.klass,j))}),l},make:function(a,b,e){var f,g=this,h=d.arg2arr(arguments);return a=h.shift(),f=g.registered[a],c.hash(f)&&c.fn(f.klass)?d.apply(f.klass,h):null},names:function(b){b=!!c.boolean(b)&&b;var d,e=[];if(b){var f=[];for(d in this.registered)this.registered.hasOwnProperty(d)&&f.push(this.registered[d]);f.sort(function(a,b){return b.priority-a.priority}),a.each(f,function(a,b){e.push(b.name)})}else for(d in this.registered)this.registered.hasOwnProperty(d)&&e.push(d);return e},register:function(a,b,d){if(!c.string(a)||c.empty(a)||!c.fn(b))return!1;d=c.number(d)?d:0;var e=this.registered[a];return this.registered[a]={name:a,klass:b,priority:c.undef(e)?d:e.priority},!0}}))}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn),function(a,b,c){if("0.0.8"===a.version){var d=!1;try{d=!!window.localStorage}catch(a){d=!1}a.Debugger=a.Class.extend({construct:function(a){this.key=a,this.enabled=!!d&&!!localStorage.getItem(this.key)},enable:function(){d&&(this.enabled=!0,localStorage.setItem(this.key,this.enabled))},disable:function(){d&&(this.enabled=!1,localStorage.removeItem(this.key))},log:function(a,c){this.enabled&&console.log.apply(console,b.arg2arr(arguments))},logf:function(a,d,e){if(this.enabled){var f=b.arg2arr(arguments);a=f.shift(),d=f.shift(),f.unshift(c.format(a,d)),this.log.apply(this,f)}}})}}(FooGallery.utils,FooGallery.utils.fn,FooGallery.utils.str),function(a,b,c){"0.0.8"===b.version&&(b.Throttle=b.Class.extend({construct:function(a){this.id=null,this.active=!1,this.idle=c.number(a)?a:0},limit:function(a){if(c.fn(a)){this.clear();var b=this;this.active=!0,this.id=setTimeout(function(){b.active=!1,b.id=null,a()},this.idle)}},clear:function(){c.number(this.id)&&(clearTimeout(this.id),this.active=!1,this.id=null)}}))}(FooGallery.utils.$,FooGallery.utils,FooGallery.utils.is),function(a,b,c,d,e){b.debug=new c.Debugger("__FooGallery__"),c.selectify=function(b){if(d.empty(b))return null;if(d.hash(b)){var e,f={};for(var g in b)b.hasOwnProperty(g)&&(e=c.selectify(b[g]))&&(f[g]=e);return f}return d.string(b)||d.array(b)?(d.string(b)&&(b=[b]),a.map(b,function(a){return d.string(a)?"."+a.split(/\s/g).join("."):null}).join(",")):null},b.emptyImage="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",b.dataTemplate="__FooGallery__",b.dataItem="__FooGalleryItem__",b.init=function(a,c){return b.template.make(a,c).initialize()},b.initAll=function(c){return e.when(a(".foogallery").map(function(a,d){return b.init(c,d)}).get())},b.parseSrc=function(b,c,e,f,g,h){if(!d.string(b))return null;if(!d.string(f))return b;var i=a.map(f.replace(/(\s[\d.]+[whx]),/g,"$1 @,@ ").split(" @,@ "),function(a){return{url:/^\s*(\S*)/.exec(a)[1],w:parseFloat((/\S\s+(\d+)w/.exec(a)||[0,1/0])[1]),h:parseFloat((/\S\s+(\d+)h/.exec(a)||[0,1/0])[1]),x:parseFloat((/\S\s+([\d.]+)x/.exec(a)||[0,1])[1])}});if(!i.length)return b;i.unshift({url:b,w:i[0].w!==1/0&&i[0].h===1/0?c:1/0,h:i[0].h!==1/0&&i[0].w===1/0?e:1/0,x:1});var j,k=window.devicePixelRatio||1,l={w:g*k,h:h*k,x:k};for(j in l)l.hasOwnProperty(j)&&(i=a.grep(i,function(a,b){return function(c){return c[a]>=l[a]||c[a]===b}}(j,Math.max.apply(null,a.map(i,function(a){return a[j]})))));for(j in l)l.hasOwnProperty(j)&&(i=a.grep(i,function(a,b){return function(c){return c[a]===b}}(j,Math.min.apply(null,a.map(i,function(a){return a[j]})))));return i[0].url},a.fn.foogallery=function(c,e){return this.each(function(f,g){if(d.string(c)){var h=a.data(g,b.dataTemplate);if(h instanceof b.Template)switch(c){case"layout":return void h.layout();case"destroy":return void h.destroy()}}else b.template.make(c,g).initialize().then(function(a){d.fn(e)&&e(a)})})},b.isCached=function(a){var b=new Image;b.src=a;var c=b.complete;return b.src="",b=null,c}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn),function(a,b,c,d,e){var f="__FooGallerySwipe__",g="ontouchstart"in window,h=window.navigator.msPointerEnabled&&!window.navigator.pointerEnabled&&!g,i=(window.navigator.pointerEnabled||window.navigator.msPointerEnabled)&&!g,j=g||i,k=!1;try{var l=Object.defineProperty({},"passive",{get:function(){k=!0}});window.addEventListener("testPassive",null,l),window.removeEventListener("testPassive",null,l)}catch(a){}b.Swipe=c.Class.extend({construct:function(b,c){var d=this,f=".fgswipe";d.$el=a(b),d.opt=e.extend({threshold:20,allowPageScroll:!1,swipe:a.noop,data:{}},c),d.active=!1,d.startPoint=null,d.endPoint=null,d.events={start:(j?i?h?"MSPointerDown":"pointerdown":"touchstart":"mousedown")+f,move:(j?i?h?"MSPointerMove":"pointermove":"touchmove":"mousemove")+f,end:(j?i?h?"MSPointerUp":"pointerup":"touchend":"mouseup")+f,leave:(j?i?"mouseleave":null:"mouseleave")+f}},init:function(){var a=this,b=a.$el.get(0);k&&"touchstart"==a.events.start&&b.addEventListener?b.addEventListener("touchstart",a.onStart,{passive:!0}):a.$el.on(a.events.start,{self:a},a.onStart),a.$el.on(a.events.move,{self:a},a.onMove),k&&"touchend"==a.events.end&&b.addEventListener?b.addEventListener("touchend",a.onEnd,{passive:!0}):a.$el.on(a.events.end,{self:a},a.onEnd),d.string(a.events.leave)&&a.$el.on(a.events.leave,{self:a},a.onEnd),a.$el.data(f,a)},destroy:function(){var a=this,b=a.$el.get(0);k&&"touchstart"==a.events.start&&b.removeEventListener?b.removeEventListener("touchstart",a.onStart,{passive:!0}):a.$el.off(a.events.start,a.onStart),a.$el.off(a.events.move,a.onMove),k&&"touchend"==a.events.end&&b.removeEventListener?b.removeEventListener("touchend",a.onEnd,{passive:!0}):a.$el.off(a.events.end,a.onEnd),d.string(a.events.leave)&&a.$el.off(a.events.leave,a.onEnd),a.$el.removeData(f)},getAngle:function(a,b){var c=Math.atan2(a.x-b.x,a.y-b.y),d=Math.round(180*c/Math.PI);return 360-(d<0?360-Math.abs(d):d)},getDistance:function(a,b){var c=b.x-a.x,d=b.y-a.y;return c*=c,d*=d,Math.sqrt(c+d)},getDirection:function(a,b){var c=this,d=c.getAngle(a,b);return d>337.5||d<=22.5?"N":d>22.5&&d<=67.5?"NE":d>67.5&&d<=112.5?"E":d>112.5&&d<=157.5?"SE":d>157.5&&d<=202.5?"S":d>202.5&&d<=247.5?"SW":d>247.5&&d<=292.5?"W":d>292.5&&d<=337.5?"NW":"NONE"},getPoint:function(a){var b;return j&&!d.empty(b=a.originalEvent.touches||a.touches)?{x:b[0].pageX,y:b[0].pageY}:d.number(a.pageX)&&d.number(a.pageY)?{x:a.pageX,y:a.pageY}:null},getOffset:function(a){var b=this,c=b.$el.offset();return{left:a.x-c.left,top:a.y-c.top}},onStart:function(a){var b=a.data.self,c=b.getPoint(a);d.empty(c)||(b.active=!0,b.startPoint=b.endPoint=c)},onMove:function(b){var c=b.data.self,e=c.getPoint(b);if(c.active&&!d.empty(e))if(c.endPoint=e,c.opt.allowPageScroll){if(d.hash(c.opt.allowPageScroll)){var f=c.getDirection(c.startPoint,c.endPoint);c.opt.allowPageScroll.x||-1===a.inArray(f,["NE","E","SE","NW","W","SW"])||b.preventDefault(),c.opt.allowPageScroll.y||-1===a.inArray(f,["NW","N","NE","SW","S","SE"])||b.preventDefault()}}else b.preventDefault()},onEnd:function(a){var b=a.data.self;if(b.active){b.active=!1;var c={startPoint:b.startPoint,endPoint:b.endPoint,startOffset:b.getOffset(b.startPoint),endOffset:b.getOffset(b.endPoint),angle:b.getAngle(b.startPoint,b.endPoint),distance:b.getDistance(b.startPoint,b.endPoint),direction:b.getDirection(b.startPoint,b.endPoint)};if(b.opt.threshold>0&&c.distance<b.opt.threshold)return;b.opt.swipe.apply(this,[c,b.opt.data]),b.startPoint=null,b.endPoint=null}}}),a.fn.fgswipe=function(c){return this.each(function(){var e=a(this),g=e.data(f);if(g instanceof b.Swipe){if(d.string(c)&&d.fn(g[c]))return void g[c]();g.destroy()}d.hash(c)&&(g=new b.Swipe(this,c),g.init())})}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.obj),function(a,b,c,d,e,f){b.TemplateFactory=c.Factory.extend({construct:function(){this.registered={}},register:function(a,b,c,e,f,g){var h=this,i=h._super(a,b,g);if(i){var j=h.registered;j[a].opt=d.hash(c)?c:{},j[a].cls=d.hash(e)?e:{},j[a].il8n=d.hash(f)?f:{}}return i},make:function(b,c){c=d.jq(c)?c:a(c),b=f.extend({},b,c.data("foogallery"));var e=this,g=e.type(b,c);return e.contains(g)?(b=e.options(g,b),e._super(g,b,c)):null},type:function(b,e){e=d.jq(e)?e:a(e);var f=this,g=d.hash(b)&&d.hash(b)&&d.string(b.type)&&f.contains(b.type)?b.type:"core";if("core"===g&&e.length>0)for(var h=f.registered,i=f.names(!0),j=0,k=i.length;j<k;j++)if(h.hasOwnProperty(i[j])){var l=i[j],m=h[l].cls;if(d.string(m.container)){var n=c.selectify(m.container);if(e.is(n)){g=i[j];break}}}return g},configure:function(a,b,c,d){var e=this;if(e.contains(a)){var g=e.registered;f.extend(g[a].opt,b),f.extend(g[a].cls,c),f.extend(g[a].il8n,d)}},options:function(a,c){c=f.extend({type:a},c);var e=this,g=e.registered,h=g.core.opt,i=g.core.cls,j=g.core.il8n;return d.hash(c.cls)||(c.cls={}),d.hash(c.il8n)||(c.il8n={}),d.undef(b.filtering)||(c=b.filtering.merge(c)),d.undef(b.paging)||(c=b.paging.merge(c)),"core"!==a&&e.contains(a)?(c=f.extend({},h,g[a].opt,c),c.cls=f.extend({},i,g[a].cls,c.cls),c.il8n=f.extend({},j,g[a].il8n,c.il8n)):(c=f.extend({},h,c),c.cls=f.extend({},i,c.cls),c.il8n=f.extend({},j,c.il8n)),c}}),b.template=new b.TemplateFactory}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(a,b,c,d,e){a.PagingFactory=b.Factory.extend({construct:function(){this.registered={}},register:function(a,b,d,e,f,g,h){var i=this,j=i._super(a,b,h);if(j){var k=i.registered;k[a].ctrl=c.fn(d)?d:null,k[a].opt=c.hash(e)?e:{},k[a].cls=c.hash(f)?f:{},k[a].il8n=c.hash(g)?g:{}}return j},type:function(a){var b,d=this;return c.hash(a)&&c.hash(b=a.paging)&&c.string(b.type)&&d.contains(b.type)?b.type:null},merge:function(a){a=e.extend({},a);var b=this,d=b.type(a),f=b.registered,g=f.default.opt,h=f.default.cls,i=f.default.il8n,j=c.hash(a.paging)?a.paging:{},k=c.hash(a.cls)&&c.hash(a.cls.paging)?e.extend({},a.cls.paging):{},l=c.hash(a.il8n)&&c.hash(a.il8n.paging)?e.extend({},a.il8n.paging):{};return c.hash(a.cls)||(a.cls={}),c.hash(a.il8n)||(a.il8n={}),"default"!==d&&b.contains(d)?(a.paging=e.extend({},g,f[d].opt,j,{type:d}),a.cls=e.extend(a.cls,{paging:h},{paging:f[d].cls},{paging:k}),a.il8n=e.extend(a.il8n,{paging:i},{paging:f[d].il8n},{paging:l})):(a.paging=e.extend({},g,j,{type:d}),a.cls=e.extend(a.cls,{paging:h},{paging:k}),a.il8n=e.extend(a.il8n,{paging:i},{paging:l})),a},configure:function(a,b,c,d){var f=this;if(f.contains(a)){var g=f.registered;e.extend(g[a].opt,b),e.extend(g[a].cls,c),e.extend(g[a].il8n,d)}},hasCtrl:function(a){var b=this,d=b.registered[a];return c.hash(d)&&c.fn(d.ctrl)},makeCtrl:function(a,b,d,e){var f=this,g=f.registered[a];return c.hash(g)&&c.fn(g.ctrl)?new g.ctrl(b,d,e):null}}),a.paging=new a.PagingFactory}(FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(a,b,c,d,e,f){var g=0;b.Template=c.Class.extend({construct:function(e,f){var h=this;h.namespace=".foogallery-"+ ++g,h.$el=d.jq(f)?f:a(f),h.opt=e,h.template=e.template,h.id=h.$el.prop("id")||e.id,h.cls=e.cls,h.il8n=e.il8n,h.sel=c.selectify(h.cls),h.items=b.components.make("items",h),h.pages=d.undef(b.paging)?null:b.paging.make(e.paging.type,h),h.filter=d.undef(b.filtering)?null:b.filtering.make(e.filtering.type,h),h.state=b.components.make("state",h),h._initialize=null,h.initializing=!1,h.initialized=!1,h.destroying=!1,h.destroyed=!1,h._undo={classes:"",style:"",create:!1,children:!1}},initialize:function(f){var g=this;return d.promise(g._initialize)?g._initialize:(f=d.jq(f)?f:a(f),g._initialize=a.Deferred(function(h){if(g.initializing=!0,0===f.length&&0===g.$el.parent().length)return void h.reject("A parent element is required.");0===g.$el.length&&(g.$el=g.create(),g._undo.create=!0),f.length>0&&g.$el.appendTo(f);var i,j=a.Deferred(),k=j.promise();g.$el.length>0&&(i=g.$el.data(b.dataTemplate))instanceof b.Template?k=k.then(function(){return i.destroy().then(function(){g.$el.data(b.dataTemplate,g)})}):g.$el.data(b.dataTemplate,g),k.then(function(){if(g.destroying)return e.rejectWith("destroy in progress");d.empty(g.opt.on)||g.$el.on(g.opt.on),g._undo.classes=g.$el.attr("class"),g._undo.style=g.$el.attr("style"),g.$el.is(g.sel.container)||g.$el.addClass(g.cls.container);var a=c.selectify(g.opt.classes);return null==a||g.$el.is(a)||g.$el.addClass(g.opt.classes),0==g.$el.children().not(g.sel.item.elem).length&&(g.$el.append(g.createChildren()),g._undo.children=!0),g.raise("pre-init").isDefaultPrevented()?e.rejectWith("pre-init default prevented"):void 0}).then(function(){return g.destroying?e.rejectWith("destroy in progress"):g.opt.delay<=0?e.resolved:a.Deferred(function(a){g._delay=setTimeout(function(){g._delay=null,a.resolve()},g.opt.delay)}).promise()}).then(function(){return g.destroying?e.rejectWith("destroy in progress"):g.raise("init").isDefaultPrevented()?e.rejectWith("init default prevented"):g.items.fetch()}).then(function(){if(g.destroying)return e.rejectWith("destroy in progress");if(g.raise("post-init").isDefaultPrevented())return e.rejectWith("post-init default prevented");var b=g.state.parse();g.state.set(d.empty(b)?g.state.initial():b),a(window).on("scroll"+g.namespace,{self:g},g.throttle(g.onWindowScroll,g.opt.throttle)).on("popstate"+g.namespace,{self:g},g.onWindowPopState)}).then(function(){return g.destroying?e.rejectWith("destroy in progress"):(g.raise("first-load"),g.loadAvailable())}).then(function(){if(g.destroying)return e.rejectWith("destroy in progress");g.initializing=!1,g.initialized=!0,g._check(1e3),g.raise("ready"),h.resolve(g)}).fail(function(a){h.reject(a)}),j.resolve()}).promise().fail(function(a){console.log("initialize failed",g,a),g.destroy()}))},create:function(){var b=this;return a("<div/>",{id:b.id,class:b.cls.container}).addClass(b.opt.classes)},createChildren:function(){return a()},destroy:function(){var b=this;return b.destroyed?e.resolved:(b.destroying=!0,a.Deferred(function(a){b.initializing&&d.promise(b._initialize)?b._initialize.always(function(){b.destroying=!1,b._destroy(),a.resolve()}):(b.destroying=!1,b._destroy(),a.resolve())}).promise())},_destroy:function(){var c=this;c.destroyed||(c.raise("destroy"),a(window).off(c.namespace),c.state.destroy(),c.filter&&c.filter.destroy(),c.pages&&c.pages.destroy(),c.items.destroy(),d.empty(c.opt.on)||c.$el.off(c.opt.on),c.raise("destroyed"),c.$el.removeData(b.dataTemplate),d.empty(c._undo.classes)?c.$el.removeAttr("class"):c.$el.attr("class",c._undo.classes),d.empty(c._undo.style)?c.$el.removeAttr("style"):c.$el.attr("style",c._undo.style),c._undo.children&&c.destroyChildren(),c._undo.create&&c.$el.remove(),c.$el=c.state=c.items=c.pages=null,c.destroyed=!0,c.initializing=!1,c.initialized=!1)},destroyChildren:function(){},getAvailable:function(){return this.pages?this.pages.available():this.items.available()},loadAvailable:function(){return this.items.load(this.getAvailable())},getItems:function(){return this.pages?this.pages.items():this.items.available()},_check:function(a){a=d.number(a)?a:0;var b=this;setTimeout(function(){!b.initialized||b.destroying&&b.destroyed||b.loadAvailable()},a)},raise:function(c,e){if(!d.string(c)||d.empty(c))return null;e=d.array(e)?e:[];var g=this,h=c.split(".")[0],i=f.camel("on-"+h),j=a.Event(h+".foogallery");return e.unshift(g),g.$el.trigger(j,e),b.debug.logf("{id}|{name}:",{id:g.id,name:h},e),d.fn(g[i])&&(e.unshift(j),g[i].apply(g.$el.get(0),e)),j},layout:function(){var a=this;null!==a._initialize&&a.raise("layout")},throttle:function(a,b){var c=Date.now();return function(){if(c+b-Date.now()<0){var d=e.arg2arr(arguments);a.apply(this,d),c=Date.now()}}},onWindowPopState:function(a){var b=a.data.self,c=a.originalEvent.state;d.empty(c)||c.id!==b.id||(b.state.set(c),b.loadAvailable())},onWindowScroll:function(a){a.data.self.loadAvailable()}}),b.template.register("core",b.Template,{id:null,type:"core",classes:"",on:{},lazy:!0,viewport:200,items:[],fixLayout:!0,delay:0,throttle:50,timeout:6e4,srcset:"data-srcset-fg",src:"data-src-fg",template:{}},{container:"foogallery"},{},-100)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.str),function(a,b){a.Component=b.Class.extend({construct:function(a){this.tmpl=a},destroy:function(){this.tmpl=null}}),a.components=new b.Factory}(FooGallery,FooGallery.utils),function(a,b,c,d){b.State=b.Component.extend({construct:function(a){var b=this;b._super(a),b.apiEnabled=!!window.history&&!!history.replaceState,b.opt=b.tmpl.opt.state,b.enabled=b.opt.enabled,b.pushOrReplace=b.isPushOrReplace(b.opt.pushOrReplace)?b.opt.pushOrReplace:"replace";var c=d.escapeRegExp(b.tmpl.id),e=d.escapeRegExp(b.opt.values),f=d.escapeRegExp(b.opt.pair);b.regex={exists:new RegExp("^#"+c+"\\"+e+".+?"),values:new RegExp("(\\w+)"+f+"([^"+e+"]+)","g")}},destroy:function(){var a=this;a.clear(),a.opt=a.regex={},a._super()},isPushOrReplace:function(b){return-1!==a.inArray(b,["push","replace"])},exists:function(){return this.regex.exists.test(location.hash)&&this.regex.values.test(location.hash)},parse:function(){var b=this,d={};if(b.exists())if(b.enabled){d.id=b.tmpl.id;var e=location.hash.match(b.regex.values);a.each(e,function(e,f){var g=f.split(b.opt.pair);2===g.length&&(d[g[0]]=-1===g[1].indexOf(b.opt.array)?decodeURIComponent(g[1].replace(/\+/g,"%20")):a.map(g[1].split(b.opt.array),function(a){return decodeURIComponent(a.replace(/\+/g,"%20"))}),c.string(d[g[0]])&&!isNaN(d[g[0]])&&(d[g[0]]=parseInt(d[g[0]])))})}else b.apiEnabled?history.replaceState(null,"",location.pathname+location.search):location.hash="#";return d},hashify:function(b){var d=this;if(c.hash(b)){var e=[];return a.each(b,function(b,f){c.empty(f)||"id"===b||(f=c.array(f)?a.map(f,function(a){return encodeURIComponent(a)}).join(d.opt.array):encodeURIComponent(f),e.push(b+d.opt.pair+f))}),e.length>0&&e.unshift("#"+d.tmpl.id),e.join(d.opt.values)}return""},replace:function(a){var b=this;if(b.enabled&&b.apiEnabled){a.id=b.tmpl.id;var d=b.hashify(a),e=c.empty(d);history.replaceState(e?null:a,"",e?location.pathname+location.search:d)}},push:function(a){var b=this;if(b.enabled&&b.apiEnabled){a.id=b.tmpl.id;var d=b.hashify(a),e=c.empty(d);history.pushState(e?null:a,"",e?location.pathname+location.search:d)}},update:function(a,b){var c=this;c.enabled&&c.apiEnabled&&(b=c.isPushOrReplace(b)?b:c.pushOrReplace,c[b](a))},clear:function(){
|
10 |
+
this.exists()&&this.replace({})},initial:function(){var a=this,b=a.tmpl,d={};return b.filter&&!c.empty(b.filter.current)&&(d.f=b.filter.current),b.pages&&b.pages.current>1&&(d.p=b.pages.current),d},get:function(a){var d=this,e=d.tmpl,f={};return a instanceof b.Item&&(f.i=a.id),e.filter&&!c.empty(e.filter.current)&&(f.f=e.filter.current),e.pages&&e.pages.isValid(e.pages.current)&&(f.p=e.pages.current),f},set:function(a){var b=this,d=b.tmpl;if(c.hash(a)){d.items.reset();var e=d.items.get(a.i);if(d.filter){d.filter.rebuild();var f=c.empty(a.f)?[]:a.f;d.filter.set(f,!1)}if(d.pages){d.pages.rebuild();var g=d.pages.number(a.p);e&&!d.pages.contains(g,e)&&(g=d.pages.find(e),g=0!==g?g:1),d.pages.set(g,!c.empty(a),!1,!0),e&&d.pages.contains(g,e)&&e.scrollTo()}else d.items.detach(d.items.all()),d.items.create(d.items.available(),!0),e&&e.scrollTo();c.empty(a.i)||(a.i=null,b.replace(a))}}}),b.template.configure("core",{state:{enabled:!1,pushOrReplace:"replace",values:"/",pair:":",array:"+"}}),b.components.register("state",b.State)}(FooGallery.$,FooGallery,FooGallery.utils.is,FooGallery.utils.str),function(a,b,c,d,e,f){b.Item=b.Component.extend({construct:function(a,b){var c=this;c._super(a),c.cls=a.cls.item,c.il8n=a.il8n.item,c.sel=a.sel.item,c.opt=f.extend({},a.opt.item,b),c.isAttached=!1,c.isCreated=!1,c.isDestroyed=!1,c.isLoading=!1,c.isLoaded=!1,c.isError=!1,c.isParsed=!1,c.$el=null,c.$inner=null,c.$anchor=null,c.$wrap=null,c.$image=null,c.$caption=null,c.fixLayout=c.tmpl.opt.fixLayout,c.type=c.opt.type,c.id=c.opt.id,c.href=c.opt.href,c.src=c.opt.src,c.srcset=c.opt.srcset,c.width=c.opt.width,c.height=c.opt.height,c.title=c.opt.title,c.alt=c.opt.alt,c.caption=d.empty(c.opt.caption)?c.title:c.opt.caption,c.description=d.empty(c.opt.description)?c.alt:c.opt.description,c.attr=c.opt.attr,c.tags=c.opt.tags,c.maxWidth=c.opt.maxWidth,c.maxCaptionLength=c.opt.maxCaptionLength,c.maxDescriptionLength=c.opt.maxDescriptionLength,c.showCaptionTitle=c.opt.showCaptionTitle,c.showCaptionDescription=c.opt.showCaptionDescription,c._thumbUrl=null,c._load=null,c._undo={classes:"",style:"",loader:!1,wrap:!1,placeholder:!1}},destroy:function(){var a=this;return a.tmpl.raise("destroy-item",[a]).isDefaultPrevented()||(a.isDestroyed=a.doDestroyItem()),a.isDestroyed&&(a.tmpl.raise("destroyed-item",[a]),a._super()),a.isDestroyed},doDestroyItem:function(){var a=this;return a.isParsed?(a.append(),d.empty(a._undo.classes)?a.$el.removeAttr("class"):a.$el.attr("class",a._undo.classes),d.empty(a._undo.style)?a.$el.removeAttr("style"):a.$el.attr("style",a._undo.style),a._undo.wrap&&a.$image.unwrap(),a._undo.loader&&a.$el.find(a.sel.loader).remove(),a._undo.placeholder&&a.$image.prop("src")==b.emptyImage&&a.$image.removeAttr("src")):a.isCreated&&(a.detach(),a.$el.remove()),!0},parse:function(b){var c=this,d=a(b);return!c.tmpl.raise("parse-item",[c,d]).isDefaultPrevented()&&(c.isCreated=d.is(c.sel.elem))&&(c.isParsed=c.doParseItem(d),c.fixLayout&&c.fix()),c.isParsed&&c.tmpl.raise("parsed-item",[c]),c.isParsed},doParseItem:function(c){var e=this,f=e.tmpl.opt,g=e.cls,h=e.sel;e._undo.classes=c.attr("class")||"",e._undo.style=c.attr("style")||"",e.$el=c.data(b.dataItem,e),e.$inner=e.$el.children(h.inner),e.$anchor=e.$inner.children(h.anchor).on("click.foogallery",{self:e},e.onAnchorClick),e.$image=e.$anchor.find(h.image),e.$caption=e.$inner.children(h.caption.elem).on("click.foogallery",{self:e},e.onCaptionClick),e.isAttached=e.$el.parent().length>0,e.isLoading=e.$el.is(h.loading),e.isLoaded=e.$el.is(h.loaded),e.isError=e.$el.is(h.error);var i=e.$anchor.data();if(e.id=i.id||e.id,e.tags=i.tags||e.tags,e.href=i.href||e.$anchor.attr("href")||e.href,e.src=e.$image.attr(f.src)||e.src,e.srcset=e.$image.attr(f.srcset)||e.srcset,e.width=parseInt(e.$image.attr("width"))||e.width,e.height=parseInt(e.$image.attr("height"))||e.height,e.title=e.$image.attr("title")||e.title,e.alt=e.$image.attr("alt")||e.alt,e.caption=i.title||i.captionTitle||e.caption||e.title,e.description=i.description||i.captionDesc||e.description||e.alt,d.empty(e.caption)&&(e.caption=a.trim(e.$caption.find(h.caption.title).html())),d.empty(e.description)&&(e.description=a.trim(e.$caption.find(h.caption.description).html())),d.number(e.maxCaptionLength)&&e.maxCaptionLength>0&&!d.empty(e.caption)&&d.string(e.caption)&&e.caption.length>e.maxCaptionLength&&e.$caption.find(h.caption.title).html(e.caption.substr(0,e.maxCaptionLength)+"…"),d.number(e.maxDescriptionLength)&&e.maxDescriptionLength>0&&!d.empty(e.description)&&d.string(e.description)&&e.description.length>e.maxDescriptionLength&&e.$caption.find(h.caption.description).html(e.description.substr(0,e.maxDescriptionLength)+"…"),0===e.$anchor.children(h.wrap).length){var j=a("<span/>",{class:g.wrap});e.$anchor.append(j.append(e.$image)),e._undo.wrap=!0}0===e.$el.children(h.loader).length&&(e.$el.append(a("<div/>",{class:g.loader})),e._undo.loader=!0);var k=e.$image.get(0);return d.empty(k.src)&&(k.src=b.emptyImage,e._undo.placeholder=!0),!e.isCreated||!e.isAttached||e.isLoading||e.isLoaded||e.isError||e.$el.addClass(g.idle),!0},create:function(){var a=this;if(!a.isCreated&&d.string(a.href)&&d.string(a.src)&&d.number(a.width)&&d.number(a.height)){a.tmpl.raise("create-item",[a]).isDefaultPrevented()||(a.isCreated=a.doCreateItem()),a.isCreated&&a.tmpl.raise("created-item",[a])}return a.isCreated},doCreateItem:function(){var c=this,e=c.tmpl.opt,f=c.cls,g=c.attr;g.elem.class=f.elem+" "+f.idle,g.inner.class=f.inner,g.anchor.class=f.anchor,g.anchor.href=c.href,g.anchor["data-id"]=c.id,g.anchor["data-title"]=c.caption,g.anchor["data-description"]=c.description,d.empty(c.tags)||(g.anchor["data-tags"]=JSON.stringify(c.tags)),g.image.class=f.image,g.image.src=b.emptyImage,g.image[e.src]=c.src,g.image[e.srcset]=c.srcset,g.image.width=c.width,g.image.height=c.height,g.image.title=c.title,g.image.alt=c.alt,c.$el=a("<div/>").attr(g.elem).data(b.dataItem,c),c.$inner=a("<figure/>").attr(g.inner).appendTo(c.$el),c.$anchor=a("<a/>").attr(g.anchor).appendTo(c.$inner).on("click.foogallery",{self:c},c.onAnchorClick);var h=a("<span/>",{class:f.wrap}).appendTo(c.$anchor);c.$image=a("<img/>").attr(g.image).appendTo(h),f=c.cls.caption,g=c.attr.caption,g.elem.class=f.elem,c.$caption=a("<figcaption/>").attr(g.elem).on("click.foogallery",{self:c},c.onCaptionClick),g.inner.class=f.inner;var i=a("<div/>").attr(g.inner).appendTo(c.$caption),j=c.showCaptionTitle&&!d.empty(c.caption),k=c.showCaptionDescription&&!d.empty(c.description);if(j||k){if(g.title.class=f.title,g.description.class=f.description,j){var l=a("<div/>").attr(g.title),m=c.caption;d.number(c.maxCaptionLength)&&c.maxCaptionLength>0&&d.string(c.caption)&&c.caption.length>c.maxCaptionLength&&(m=c.caption.substr(0,c.maxCaptionLength)+"…"),l.get(0).innerHTML=m,i.append(l)}if(k){var n=a("<div/>").attr(g.description),o=c.description;d.number(c.maxDescriptionLength)&&c.maxDescriptionLength>0&&d.string(c.description)&&c.description.length>c.maxDescriptionLength&&(o=c.description.substr(0,c.maxDescriptionLength)+"…"),n.get(0).innerHTML=o,i.append(n)}}return c.$caption.appendTo(c.$inner),0===c.$el.find(c.sel.loader).length&&c.$el.append(a("<div/>",{class:c.cls.loader})),!0},append:function(){var a=this;if(a.isCreated&&!a.isAttached){a.tmpl.raise("append-item",[a]).isDefaultPrevented()||(a.tmpl.$el.append(a.$el),a.fixLayout&&a.fix(),a.isAttached=!0),a.isAttached&&a.tmpl.raise("appended-item",[a])}return a.isAttached},detach:function(){var a=this;if(a.isCreated&&a.isAttached){a.tmpl.raise("detach-item",[a]).isDefaultPrevented()||(a.$el.detach(),a.fixLayout&&a.unfix(),a.isAttached=!1),a.isAttached||a.tmpl.raise("detached-item",[a])}return!a.isAttached},load:function(){var b=this;if(d.promise(b._load))return b._load;if(!b.isCreated||!b.isAttached)return e.rejectWith("not created or attached");if(b.tmpl.raise("load-item",[b]).isDefaultPrevented())return e.rejectWith("default prevented");var c=b.cls,f=b.$image.get(0),g=f.src;return b.isLoading=!0,b.$el.removeClass(c.idle).removeClass(c.loaded).removeClass(c.error).addClass(c.loading),b._load=a.Deferred(function(a){f.onload=function(){f.onload=f.onerror=null,b.isLoading=!1,b.isLoaded=!0,b.$el.removeClass(c.loading).addClass(c.loaded),b.fixLayout&&b.unfix(),b.tmpl.raise("loaded-item",[b]),a.resolve(b)},f.onerror=function(){f.onload=f.onerror=null,b.isLoading=!1,b.isError=!0,b.$el.removeClass(c.loading).addClass(c.error),d.string(g)&&b.$image.prop("src",g),b.tmpl.raise("error-item",[b]),a.reject(b)},f.src=b.getThumbUrl(),f.complete&&f.onload()}).promise()},fix:function(){var a=this;if(null==a.tmpl)return a;if(a.isCreated&&!a.isLoading&&!a.isLoaded&&!a.isError){var b=a.width,c=a.height,e=a.$image.get(0);if(!isNaN(b)&&!isNaN(c)&&e){var f=d.fn(a.maxWidth)?a.maxWidth(a):a.$image.width();f<=0&&(f=b);var g=f/b,h=c*g;a.$image.css({width:f,height:h})}}return a},unfix:function(){var a=this;return null==a.tmpl?a:(a.isCreated&&a.$image.css({width:"",height:""}),a)},getThumbUrl:function(a){a=!!d.boolean(a)&&a;var c=this;return!a&&d.string(c._thumbUrl)?c._thumbUrl:c._thumbUrl=b.parseSrc(c.src,c.width,c.height,c.srcset,c.$anchor.innerWidth(),c.$anchor.innerHeight())},scrollTo:function(a){var b=this;if(b.isAttached){var d=b.bounds(),e=c.getViewportBounds();switch(a){case"top":d.left+=d.width/2-e.width/2,d.top-=e.height/5;break;default:d.left+=d.width/2-e.width/2,d.top+=d.height/2-e.height/2}window.scrollTo(d.left,d.top)}return b},bounds:function(){return this.isAttached?c.getElementBounds(this.$el):null},intersects:function(a){return!!this.isAttached&&this.bounds().intersects(a)},onAnchorClick:function(a){var b=a.data.self,c=b.tmpl.state.get(b);b.tmpl.state.update(c)},onCaptionClick:function(a){var b=a.data.self;b.$anchor.length>0&&b.$anchor.get(0).click()}}),b.template.configure("core",{item:{type:"item",id:"",href:"",src:"",srcset:"",width:0,height:0,title:"",alt:"",caption:"",description:"",tags:[],maxWidth:null,maxCaptionLength:0,maxDescriptionLength:0,showCaptionTitle:!0,showCaptionDescription:!0,attr:{elem:{},inner:{},anchor:{},image:{},caption:{elem:{},inner:{},title:{},description:{}}}}},{item:{elem:"fg-item",inner:"fg-item-inner",anchor:"fg-thumb",wrap:"fg-image-wrap",image:"fg-image",loader:"fg-loader",idle:"fg-idle",loading:"fg-loading",loaded:"fg-loaded",error:"fg-error",caption:{elem:"fg-caption",inner:"fg-caption-inner",title:"fg-caption-title",description:"fg-caption-desc"}}},{item:{}}),b.components.register("item",b.Item)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(a,b,c,d,e,f){b.Items=b.Component.extend({construct:function(a){var b=this;b._super(a),b.idMap={},b._fetched=null,b._arr=[],b._available=[],b._canvas=document.createElement("canvas");var d=b.tmpl.cls.item.caption;b.tmpl.sel.item.caption.all=c.selectify([d.elem,d.inner,d.title,d.description])},destroy:function(){var b=this,c=b.all(),d=[];c.length>0&&(b.tmpl.raise("destroy-items",[c]),d=a.map(c,function(a){return a.destroy()?a:null}),d.length>0&&b.tmpl.raise("destroyed-items",[d])),b.idMap={},b._canvas=b._fetched=null,b._arr=[],b._available=[],b._super()},fetch:function(b){var c=this;if(!b&&d.promise(c._fetched))return c._fetched;var e=c.tmpl,f=e.sel,g=e.opt.items,h=a.Deferred(),i=c.make(e.$el.find(f.item.elem));return d.empty(g)?(i.push.apply(i,c.make(window[e.id+"-items"])),h.resolve(i)):d.array(g)?(i.push.apply(i,c.make(g)),h.resolve(i)):d.string(g)?a.get(g).then(function(a){i.push.apply(i,c.make(a)),h.resolve(i)},function(a,b,c){console.log("FooGallery: GET items error.",g,a,b,c),h.resolve(i)}):h.resolve(i),h.then(function(a){c.setAll(a)}),c._fetched=h.promise()},all:function(){return this._arr.slice()},count:function(a){return a?this.all().length:this.available().length},available:function(){return this._available.slice()},get:function(a){return!d.empty(a)&&this.idMap[a]?this.idMap[a]:null},setAll:function(a){this._arr=d.array(a)?a:[],this.idMap=this.createIdMap(a),this._available=this.all()},setAvailable:function(a){this._available=d.array(a)?a:[]},reset:function(){this.setAvailable(this.all())},loadable:function(b){var e,f=this,g=f.tmpl.opt;return g.lazy&&(e=c.getViewportBounds(g.viewport)),d.array(b)?a.map(b,function(a){return a.isCreated&&a.isAttached&&!a.isLoading&&!a.isLoaded&&!a.isError&&(!g.lazy||g.lazy&&a.intersects(e))?a:null}):[]},creatable:function(c){return d.array(c)?a.map(c,function(a){return a instanceof b.Item&&!a.isCreated?a:null}):[]},appendable:function(c){return d.array(c)?a.map(c,function(a){return a instanceof b.Item&&a.isCreated&&!a.isAttached?a:null}):[]},detachable:function(c){return d.array(c)?a.map(c,function(a){return a instanceof b.Item&&a.isCreated&&a.isAttached?a:null}):[]},jquerify:function(b){return a(a.map(b,function(a){return a.$el.get()}))},make:function(c){var e=this,g=[];if(d.jq(c)||d.array(c)){var h=[],i=a.makeArray(c);if(0===i.length)return g;e.tmpl.raise("make-items",[i]).isDefaultPrevented()||(g=a.map(i,function(a){var c=e.type(a),g=f.extend(d.hash(a)?a:{},{type:c}),i=b.components.make(c,e.tmpl,g);return d.element(a)?i.parse(a)?(h.push(i),i):null:i})),g.length>0&&e.tmpl.raise("made-items",[g]),h.length>0&&e.tmpl.raise("parsed-items",[h])}return g},type:function(c){var e;if(d.hash(c))e=c.type;else if(d.element(c)){var f=a(c),g=this.tmpl.sel.item;e=f.find(g.anchor).data("type")}return d.string(e)&&b.components.contains(e)?e:"item"},create:function(b,c){var e=this,f=[],g=e.creatable(b);if(g.length>0){e.tmpl.raise("create-items",[g]).isDefaultPrevented()||(f=a.map(g,function(a){return a.create()?a:null})),f.length>0&&e.tmpl.raise("created-items",[f])}return d.boolean(c)&&c?e.append(b):f},append:function(b){var c=this,d=[],e=c.appendable(b);if(e.length>0){c.tmpl.raise("append-items",[e]).isDefaultPrevented()||(d=a.map(e,function(a){return a.append()?a:null})),d.length>0&&c.tmpl.raise("appended-items",[d])}return d},detach:function(b){var c=this,d=[],e=c.detachable(b);if(e.length>0){c.tmpl.raise("detach-items",[e]).isDefaultPrevented()||(d=a.map(e,function(a){return a.detach()?a:null})),d.length>0&&c.tmpl.raise("detached-items",[d])}return d},load:function(b){var c=this;if(b=c.loadable(b),b.length>0){if(!c.tmpl.raise("load-items",[b]).isDefaultPrevented()){var d=a.map(b,function(a){return a.load()});return e.when(d).done(function(a){c.tmpl.raise("loaded-items",[a])})}}return e.resolveWith([])},createIdMap:function(b){var c={};return a.each(b,function(a,b){d.empty(b.id)&&(b.id=""+(a+1)),c[b.id]=b}),c}}),b.components.register("items",b.Items)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is,FooGallery.utils.fn,FooGallery.utils.obj),function(a,b,c,d){b.Paging=b.Component.extend({construct:function(a){var b=this;b._super(a),b.opt=b.tmpl.opt.paging,b.cls=b.tmpl.cls.paging,b.il8n=b.tmpl.il8n.paging,b.sel=b.tmpl.sel.paging,b.pushOrReplace=b.opt.pushOrReplace,b.type=b.opt.type,b.theme=b.opt.theme,b.size=b.opt.size,b.position=b.opt.position,b.scrollToTop=b.opt.scrollToTop,b.current=0,b.total=0,b.ctrls=[],b._arr=[]},destroy:function(){var b=this;b._arr.splice(0,b._arr.length),a.each(b.ctrls.splice(0,b.ctrls.length),function(a,b){b.destroy()}),b._super()},build:function(){var a=this,c=a.tmpl.items.available();a.total=a.size>0&&c.length>0?Math.ceil(c.length/a.size):1;for(var d=0;d<a.total;d++)a._arr.push(c.splice(0,a.size));if(a.total>1&&b.paging.hasCtrl(a.type)){var e,f,g=a.position;"both"!==g&&"top"!==g||(e=b.paging.makeCtrl(a.type,a.tmpl,a,"top"),e.create()&&(e.append(),a.ctrls.push(e))),"both"!==g&&"bottom"!==g||(f=b.paging.makeCtrl(a.type,a.tmpl,a,"bottom"),f.create()&&(f.append(),a.ctrls.push(f)))}},rebuild:function(){var b=this;b.current=0,b.total=0,b._arr.splice(0,b._arr.length),a.each(b.ctrls.splice(0,b.ctrls.length),function(a,b){b.destroy()}),b.build()},all:function(){return this._arr.slice()},available:function(){return this.get(this.current)},items:function(){return this.get(this.current)},controls:function(b){var c=this;c.isValid(b)&&a.each(c.ctrls,function(a,c){c.update(b)})},isValid:function(a){return d.number(a)&&a>0&&a<=this.total},number:function(a){return this.isValid(a)?a:0===this.current?1:this.current},create:function(a,b){var c=this;a=c.number(a);var d=a-1;c.tmpl.items.detach(c.tmpl.items.all()),c.current=a,c.tmpl.items.create(c._arr[d],!0)},get:function(a){var b=this;return b.isValid(a)?(a=b.number(a),b._arr[a-1]):[]},set:function(a,b,c,e){var f=this;if(f.isValid(a)){var g,h=f.number(a);if(h!==f.current){var i=f.current,j=function(){if(c=!d.boolean(c)||c,e=!!d.boolean(e)&&e,c&&1===f.current&&!f.tmpl.state.exists()&&(g=f.tmpl.state.get(),f.tmpl.state.update(g,f.pushOrReplace)),f.controls(a),f.create(h,e),c&&(g=f.tmpl.state.get(),f.tmpl.state.update(g,f.pushOrReplace)),f.scrollToTop&&d.boolean(b)&&b){var j=f.get(f.current);j.length>0&&j[0].scrollTo("top")}f.tmpl.raise("after-page-change",[f.current,i,e])};return!f.tmpl.raise("before-page-change",[f.current,h,j,e]).isDefaultPrevented()&&(j(),!0)}}return!1},find:function(b){for(var c=this,d=0,e=c._arr.length;d<e;d++)if(-1!==a.inArray(b,c._arr[d]))return d+1;return 0},contains:function(b,c){var d=this.get(b);return-1!==a.inArray(c,d)},first:function(){this.goto(1)},last:function(){this.goto(this._arr.length)},prev:function(){this.goto(this.current-1)},next:function(){this.goto(this.current+1)},goto:function(a){var b=this;b.set(a,!0)&&b.tmpl.loadAvailable()}}),b.PagingControl=b.Component.extend({construct:function(a,b,c){var d=this;d._super(a),d.pages=b,d.position=c,d.$container=null},create:function(){var b=this;return b.$container=a("<nav/>",{class:b.pages.cls.container}).addClass(b.pages.theme),!0},destroy:function(){var a=this;a.$container.remove(),a.$container=null},append:function(){var a=this;"top"===a.position?a.$container.insertBefore(a.tmpl.$el):a.$container.insertAfter(a.tmpl.$el)},update:function(a){}}),b.paging.register("default",b.Paging,null,{type:"none",theme:"fg-light",size:30,pushOrReplace:"push",position:"none",scrollToTop:!0},{container:"fg-paging-container"},null,-100)}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(a,b,c,d){b.Dots=b.Paging.extend({}),b.DotsControl=b.PagingControl.extend({construct:function(b,c,d){this._super(b,c,d),this.$container=a(),this.$list=a(),this.$items=a()},create:function(){for(var b,c=this,d=c.pages.cls,e=c.pages.il8n,f=[],g=a("<ul/>",{class:d.list}),h=0,i=c.pages.total;h<i;h++)f.push(b=c.createItem(h+1,e.page)),g.append(b);return c.$list=g,c.$container=a("<nav/>",{class:d.container}).addClass(c.pages.theme).append(g),c.$items=a(a.map(f,function(a){return a.get()})),!0},append:function(){var a=this;"top"===a.position?a.$container.insertBefore(a.tmpl.$el):a.$container.insertAfter(a.tmpl.$el)},destroy:function(){var b=this,c=b.pages.sel;b.$list.find(c.link).off("click.foogallery",b.onLinkClick),b.$container.remove(),b.$container=a(),b.$list=a(),b.$items=a()},update:function(a){this.setSelected(a-1)},setSelected:function(b){var c=this,e=c.pages.cls,f=c.pages.il8n,g=c.pages.sel;c.$items.filter(g.selected).removeClass(e.selected).each(function(b,c){var e=a(c),f=e.data("label"),h=e.find(g.reader);d.string(f)&&0!==h.length&&h.html(f)}),c.$items.eq(b).addClass(e.selected).each(function(b,c){var e=a(c),h=e.find(g.reader),i=h.html();d.string(i)&&0!==h.length&&(e.data("label",i),h.html(f.current))})},createItem:function(b,c,e,f,g){e=d.string(e)?e:b,c=d.string(c)?c:"";var h=this,i=h.pages.opt,j=h.pages.cls,k=a("<a/>",{class:j.link,href:"#page-"+b}).html(e).on("click.foogallery",{self:h,page:b},h.onLinkClick);d.empty(c)||k.attr("title",c.replace(/\{PAGE}/g,b).replace(/\{LIMIT}/g,i.limit+"")),g=d.string(g)?g:c,d.empty(g)||k.prepend(a("<span/>",{class:j.reader,text:g.replace(/\{PAGE}/g,"").replace(/\{LIMIT}/g,i.limit+"")}));var l=a("<li/>",{class:j.item}).append(k);return f=d.string(f)?f:"",d.empty(f)||l.addClass(f),l},onLinkClick:function(b){b.preventDefault();var c=b.data.self,d=b.data.page,e=c.pages.sel;a(this).closest(e.item).is(e.disabled)||(c.pages.set(d,!0),c.tmpl.loadAvailable())}}),b.paging.register("dots",b.Dots,b.DotsControl,{type:"dots",position:"both",pushOrReplace:"push"},{list:"fg-dots",item:"fg-dot-item",link:"fg-dot-link",disabled:"fg-disabled",selected:"fg-selected",visible:"fg-visible",reader:"fg-sr-only"},{current:"Current page",page:"Page {PAGE}"})}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(a,b,c){b.DefaultTemplate=b.Template.extend({}),b.template.register("default",b.DefaultTemplate,null,{container:"foogallery fg-default"})}(FooGallery.$,FooGallery,FooGallery.utils),function(a,b,c,d){b.MasonryTemplate=b.Template.extend({construct:function(a,b){this._super(a,b),this.masonry=null,this.style=null,this.$columnWidth=null},getStylesheet:function(){var a=this;return null===a.style&&(a.style=document.createElement("style"),a.style.appendChild(document.createTextNode("")),document.head.appendChild(a.style)),a.style.sheet},onPreInit:function(b,c){var e=c.sel,f=c.cls;f.layouts=a.map(f.layout,function(a){return a}).join(" ");for(var g=a.map(f.layout,function(a,b){return{key:b,value:a}}),h=0,i=g.length;h<i;h++)if(c.$el.hasClass(g[h].value)){c.template.layout=g[h].key;break}d.string(f.layout[c.template.layout])||(c.template.layout="col4");var j,k,l="fixed"===c.template.layout;if(c.template.isFitWidth=l,c.template.percentPosition=!l,c.template.transitionDuration=0,c.template.itemSelector=e.item.elem,c.$el.removeClass(f.layouts).addClass(f.layout[c.template.layout]),l||(0===c.$el.find(e.gutterWidth).length&&c.$el.prepend(a("<div/>").addClass(f.gutterWidth)),c.template.gutter=e.gutterWidth),0===c.$el.find(e.columnWidth).length&&c.$el.prepend(a("<div/>").addClass(f.columnWidth)),l&&d.number(c.template.columnWidth)){var m=c.$el.find(e.columnWidth).width(c.template.columnWidth);j=c.getStylesheet(),k="#"+c.id+e.container+" "+e.item.elem+" { width: "+m.outerWidth()+"px; }",j.insertRule(k,0)}c.template.columnWidth=e.columnWidth,l&&d.number(c.template.gutter)&&(j=c.getStylesheet(),k="#"+c.id+e.container+" "+e.item.elem+" { margin-bottom: "+c.template.gutter+"px; }",j.insertRule(k,0)),c.masonry=new Masonry(c.$el.get(0),c.template)},onPostInit:function(a,b){b.masonry.layout()},onFirstLoad:function(a,b){b.masonry.layout()},onReady:function(a,b){b.masonry.layout()},onDestroy:function(a,b){b.$el.find(b.sel.columnWidth).remove(),b.$el.find(b.sel.gutterWidth).remove(),b.style&&b.style.parentNode&&b.style.parentNode.removeChild(b.style)},onDestroyed:function(a,b){b.masonry instanceof Masonry&&b.masonry.destroy()},onLayout:function(a,b){b.masonry.layout()},onParsedItems:function(a,b,c){b.masonry.layout()},onAppendedItems:function(a,b,c){c=b.items.jquerify(c),c=b.masonry.addItems(c),b.masonry.layoutItems(c,!0)},onDetachItem:function(a,b,c){a.isDefaultPrevented()||(a.preventDefault(),b.masonry.remove(c.$el),c.isAttached=!1,c.unfix())},onDetachedItems:function(a,b,c){b.masonry.layout()},onLoadedItems:function(a,b,c){b.masonry.layout()}}),b.template.register("masonry",b.MasonryTemplate,{template:{initLayout:!1,isInitLayout:!1,layout:"col4"}},{container:"foogallery fg-masonry",columnWidth:"fg-column-width",gutterWidth:"fg-gutter-width",layout:{fixed:"fg-masonry-fixed",col2:"fg-masonry-2col",col3:"fg-masonry-3col",col4:"fg-masonry-4col",col5:"fg-masonry-5col"}})}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(a,b,c,d){b.Justified=c.Class.extend({construct:function(c,d){this.tmpl=c,this.$el=c.$el,this.options=a.extend(!0,{},b.Justified.defaults,d),this._items=[],this._lastRefresh=0,this._refresh=null},init:function(){var b=this;d.string(b.options.maxRowHeight)&&(b.options.maxRowHeight.indexOf("%")?b.options.maxRowHeight=b.options.rowHeight*(parseInt(b.options.maxRowHeight)/100):b.options.maxRowHeight=parseInt(b.options.maxRowHeight)),a(window).on("resize.justified",{self:b},b.onWindowResize),this._refresh=setInterval(function(){b.refresh()},b.options.refreshInterval)},destroy:function(){this._refresh&&clearInterval(this._refresh),a(window).off("resize.justified"),this.$el.removeAttr("style")},refresh:function(){var a=this.getContainerWidth();a!=this._lastRefresh&&(this.layout(),this._lastRefresh=a)},parse:function(){var b=this;return b._items=a.map(b.tmpl.getItems(),function(a,b){return{index:b,width:a.width,height:a.height,top:0,left:0,$item:a.$el}})},getMaxRowHeight:function(){var a=this;return d.string(a.options.maxRowHeight)&&(a.options.maxRowHeight.indexOf("%")?a.options.maxRowHeight=a.options.rowHeight*(parseInt(a.options.maxRowHeight)/100):a.options.maxRowHeight=parseInt(a.options.maxRowHeight)),d.number(a.options.maxRowHeight)?a.options.maxRowHeight:a.options.rowHeight},getContainerWidth:function(){var a=this;return a.$el.is(":visible")?a.$el.width():a.$el.parents(":visible:first").innerWidth()},layout:function(b,c){b=!!d.boolean(b)&&b,c=!d.boolean(c)||c,(b||0===this._items.length)&&this.parse();var e=this,f=0,g=e.getContainerWidth(),h=e.getMaxRowHeight(),i=e.rows(g,h);a.each(i,function(a,b){b.visible&&(a>0&&(f+=e.options.margins),f+=b.height,e.render(b))}),e.$el.height(f),c&&e.getContainerWidth()<g&&e.layout(!1,!1)},render:function(a){for(var b,c=0,d=a.items.length;c<d;c++)b=a.items[c],a.visible?b.$item.css({width:b.width,height:b.height,top:b.top,left:b.left,display:"",maxHeight:this.options.maxRowHeight>0?this.options.maxRowHeight:""}).addClass("fg-positioned"):b.$item.css("display","none")},justify:function(a,b,c,d){var e=this,f=e.options.margins*(a.items.length-1),g=c-f,h=g/a.width;a.width=a.width*h,a.height=a.height*h,a.top=b,a.height>d&&(a.height=d),a.left=0,a.width<g&&(a.left=(g-a.width)/2),a.width+=f;for(var i,j=a.left,k=0,l=a.items.length;k<l;k++)k>0&&(j+=e.options.margins),i=a.items[k],i.left=j,i.top=b,i.width=i.width*h,i.height=i.height*h,i.height>d&&(i.height=d),j+=i.width;return a.height},position:function(a,b,c,d){var e=this,f=e.options.margins*(a.items.length-1),g=c-f;if(a.top=b,a.left=0,a.width<g)switch(d){case"center":a.left=(g-a.width)/2;break;case"right":a.left=g-a.width}a.width+=f;for(var h,i=a.left,j=0,k=a.items.length;j<k;j++)j>0&&(i+=e.options.margins),h=a.items[j],h.left=i,h.top=b,i+=h.width;return a.height},lastRow:function(a,b,c,d){var e=this,f=e.options.margins*(a.items.length-1),g=c-f,h=a.width/g>e.options.justifyThreshold;switch(e.options.lastRow){case"hide":h?e.justify(a,b,c,d):a.visible=!1;break;case"justify":e.justify(a,b,c,d);break;case"nojustify":h?e.justify(a,b,c,d):e.position(a,b,c,"left");break;case"left":case"center":case"right":h?e.justify(a,b,c,d):e.position(a,b,c,e.options.lastRow)}},items:function(){return a.map(this._items,function(a){return{index:a.index,width:a.width,height:a.height,$item:a.$item,top:a.top,left:a.left}})},rows:function(a,b){function c(){var a={index:++h,visible:!0,width:0,height:e.options.rowHeight,top:0,left:0,items:[]};return g.push(a),a}for(var d,e=this,f=e.items(),g=[],h=-1,i=c(),j=0,k=0,l=0,m=f.length;l<m;l++){if(d=f[l],d.height!=e.options.rowHeight){var n=e.options.rowHeight/d.height;d.height=d.height*n,d.width=d.width*n}k+d.width>a&&l>0&&(g.length>1&&(j+=e.options.margins),j+=e.justify(i,j,a,b),i=c(),k=0),i.items.length>0&&(k+=e.options.margins),k+=d.width,i.width+=d.width,i.items.push(d)}return g.length>1&&(j+=e.options.margins),e.lastRow(i,j,a,b),g},onWindowResize:function(a){a.data.self.layout(!0)}}),b.Justified.defaults={itemSelector:".fg-item",rowHeight:150,maxRowHeight:"200%",margins:0,lastRow:"center",justifyThreshold:.5,refreshInterval:250}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(a,b,c){b.JustifiedTemplate=b.Template.extend({onPreInit:function(a,c){c.justified=new b.Justified(c,c.template)},onInit:function(a,b){b.justified.init()},onFirstLoad:function(a,b){b.justified.layout(!0)},onReady:function(a,b){b.justified.layout(!0)},onDestroy:function(a,b){b.justified.destroy()},onLayout:function(a,b){b.justified.layout(!0)},onAfterPageChange:function(a,b,c,d,e){e||b.justified.layout(!0)},onAfterFilterChange:function(a,b){b.justified.layout(!0)}}),b.template.register("justified",b.JustifiedTemplate,null,{container:"foogallery fg-justified"})}(FooGallery.$,FooGallery,FooGallery.utils.is),function(a,b,c,d){b.Portfolio=c.Class.extend({construct:function(c,d){this.tmpl=c,this.$el=c.$el,this.options=a.extend(!0,{},b.Portfolio.defaults,d),this._items=[],this._lastWidth=0},init:function(){var b=this;a(window).on("resize.portfolio",{self:b},b.onWindowResize)},destroy:function(){a(window).off("resize.portfolio"),this.$el.removeAttr("style")},parse:function(){var b=this,c=b.$el.is(":visible"),d=b.getContainerWidth(),e=a("<div/>",{class:b.$el.attr("class")}).css({position:"absolute",top:0,left:-9999,visibility:"hidden",maxWidth:d}).appendTo("body");return b._items=a.map(b.tmpl.getItems(),function(a,b){var d=a.width,f=a.height;if(a.$caption.css("max-width",d),c)d=a.$el.outerWidth(),f=a.$el.outerHeight();else{var g=a.$el.clone();g.appendTo(e),d=g.outerWidth(),f=g.outerHeight()}return{index:b,width:d,height:f,top:0,left:0,$item:a.$el,$thumb:a.$thumb}}),e.remove(),b._items},round:function(a){return Math.round(2*a)/2},getContainerWidth:function(){var a=this;return a.$el.is(":visible")?a.$el.width():a.$el.parents(":visible:first").innerWidth()},layout:function(a,b){a=!!d.boolean(a)&&a,b=!d.boolean(b)||b;var c=this,e=c.getContainerWidth();0!=c._lastWidth&&Math.abs(e-c._lastWidth)>0&&(a=!0,c._lastWidth=e),(a||0===c._items.length)&&c.parse();for(var f,g=c.rows(e),h=0,i=0,j=g.length;i<j;i++)f=g[i],h=c.position(f,e,h,c.options.align),c.render(f);c.$el.height(h),0==c._lastWidth&&(c._lastWidth=e),b&&c.getContainerWidth()<e&&c.layout(!1,!1)},render:function(a){for(var b,c=0,d=a.items.length;c<d;c++)b=a.items[c],a.visible?b.$item.css({width:b.width,height:a.height,top:b.top,left:b.left,display:""}).addClass("fg-positioned"):b.$item.css("display","none")},position:function(a,b,c,d){var e=this,f=a.items[a.items.length-1],g=b-(f.left+f.width);a.index>0&&(c+=e.options.gutter),a.top=c;for(var h,i=0,j=a.items.length;i<j;i++)h=a.items[i],h.top=c,"center"===d?h.left+=g/2:"right"===d&&(h.left+=g);return c+a.height},items:function(){return a.map(this._items,function(a){return{index:a.index,width:a.width,height:a.height,$item:a.$item,$thumb:a.$thumb,top:a.top,left:a.left}})},rows:function(a){for(var b=this,c=b.items(),d=[],e=c.length>0,f=-1,g=0;e;){f+=1,f>0&&(g+=b.options.gutter);for(var h,i,j,k={index:f,visible:!0,top:g,width:0,height:0,items:[]},l=[],m=0,n=0,o=c.length;n<o&&(i=c[n],!((h=k.width+i.width)>a&&n>0));n++)h>a&&0==n&&(h=a,j=a/i.width,i.width=b.round(i.width*j),i.height=b.round(i.height*j),k.height=i.height),i.top=k.top,n>0&&(m+=b.options.gutter),n!==o-1&&(h+=b.options.gutter),i.left=m,m+=i.width,i.height>k.height&&(k.height=i.height),k.width=h,k.items.push(i),l.push(n);if(0===l.length){e=!1;break}l.sort(function(a,b){return b-a});for(var p=0,q=l.length;p<q;p++)c.splice(l[p],1);d.push(k),e=c.length>0}return d},onWindowResize:function(a){a.data.self.layout()}}),b.Portfolio.defaults={gutter:40,align:"center"}}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.is),function(a,b,c){b.PortfolioTemplate=b.Template.extend({construct:function(a,b){this._super(a,b),this.portfolio=null},onPreInit:function(a,c){c.portfolio=new b.Portfolio(c,c.template)},onInit:function(a,b){b.portfolio.init()},onFirstLoad:function(a,b){b.portfolio.layout(!0)},onReady:function(a,b){b.portfolio.layout(!0)},onDestroy:function(a,b){b.portfolio.destroy()},onLayout:function(a,b){b.portfolio.layout(!0)},onAfterPageChange:function(a,b,c,d,e){e||b.portfolio.layout(!0)},onAfterFilterChange:function(a,b){b.portfolio.layout(!0)}}),b.template.register("simple_portfolio",b.PortfolioTemplate,{template:{gutter:40}},{container:"foogallery fg-simple_portfolio"})}(FooGallery.$,FooGallery,FooGallery.utils),function(a,b,c,d){b.ImageViewerTemplate=b.Template.extend({construct:function(b,c){this._super(d.extend({},b,{paging:{pushOrReplace:"replace",theme:"fg-light",type:"default",size:1,position:"none",scrollToTop:!1}}),c),this.$inner=a(),this.$current=a(),
|
11 |
+
this.$total=a(),this.$prev=a(),this.$next=a()},createChildren:function(){var b=this;return a("<div/>",{class:b.cls.inner}).append(a("<div/>",{class:b.cls.innerContainer}),a("<div/>",{class:b.cls.controls}).append(a("<div/>",{class:b.cls.prev}).append(a("<span/>",{text:b.il8n.prev})),a("<label/>",{class:b.cls.count,text:b.il8n.count}).prepend(a("<span/>",{class:b.cls.countCurrent,text:"0"})).append(a("<span/>",{class:b.cls.countTotal,text:"0"})),a("<div/>",{class:b.cls.next}).append(a("<span/>",{text:b.il8n.next}))))},destroyChildren:function(){var a=this;a.$el.find(a.sel.inner).remove()},onPreInit:function(a,b){b.$inner=b.$el.find(b.sel.innerContainer),b.$current=b.$el.find(b.sel.countCurrent),b.$total=b.$el.find(b.sel.countTotal),b.$prev=b.$el.find(b.sel.prev),b.$next=b.$el.find(b.sel.next)},onInit:function(a,b){b.template.attachFooBox&&b.$el.on("foobox.previous",{self:b},b.onFooBoxPrev).on("foobox.next",{self:b},b.onFooBoxNext),b.$prev.on("click",{self:b},b.onPrevClick),b.$next.on("click",{self:b},b.onNextClick)},onFirstLoad:function(a,b){b.update()},onDestroy:function(a,b){b.template.attachFooBox&&b.$el.off({"foobox.previous":b.onFooBoxPrev,"foobox.next":b.onFooBoxNext}),b.$prev.off("click",b.onPrevClick),b.$next.off("click",b.onNextClick)},onAppendItem:function(a,b,c){a.preventDefault(),b.$inner.append(c.$el),c.fix(),c.isAttached=!0},onAfterPageChange:function(a,b,c,d,e){e||b.update()},onAfterFilterChange:function(a,b){b.update()},update:function(){this.pages&&(this.$current.text(this.pages.current),this.$total.text(this.pages.total))},prev:function(){this.pages&&(this.template.loop&&1===this.pages.current?this.pages.last():this.pages.prev(),this.update())},next:function(){this.pages&&(this.template.loop&&this.pages.current===this.pages.total?this.pages.first():this.pages.next(),this.update())},onFooBoxPrev:function(a){a.data.self.prev()},onFooBoxNext:function(a){a.data.self.next()},onPrevClick:function(a){a.preventDefault(),a.stopPropagation(),a.data.self.prev()},onNextClick:function(a){a.preventDefault(),a.stopPropagation(),a.data.self.next()}}),b.template.register("image-viewer",b.ImageViewerTemplate,{template:{attachFooBox:!1,loop:!1}},{container:"foogallery fg-image-viewer",inner:"fiv-inner",innerContainer:"fiv-inner-container",controls:"fiv-ctrls",prev:"fiv-prev",next:"fiv-next",count:"fiv-count",countCurrent:"fiv-count-current",countTotal:"fiv-count-total"},{prev:"Prev",next:"Next",count:"of"})}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.obj),function(a,b,c){b.ThumbnailTemplate=b.Template.extend({construct:function(a,b){this._super(c.extend({},a,{filtering:{type:"none"},paging:{pushOrReplace:"replace",theme:"fg-light",type:"default",size:1,position:"none",scrollToTop:!1}}),b)}}),b.template.register("thumbnail",b.ThumbnailTemplate,null,{container:"foogallery fg-thumbnail"})}(FooGallery.$,FooGallery,FooGallery.utils.obj),function(a,b,c,d){b.triggerPostLoad=function(b,c,d,e,f){if("first-load"===b.type||c.initialized&&("after-page-change"===b.type&&!f||"after-filter-change"===b.type))try{if(c.$el.parents(".fbx-item").length>0)return;c.$el.hasClass("fbx-instance")&&window.FOOBOX&&a.fn.foobox?c.$el.foobox(window.FOOBOX.o):a("body").trigger("post-load")}catch(a){console.error(a)}},b.autoDefaults={on:{"first-load.foogallery after-page-change.foogallery after-filter-change.foogallery":b.triggerPostLoad}},b.auto=function(a){b.autoDefaults=d.merge(b.autoDefaults,a)},b.load=b.reload=function(){a(function(){a('[id^="foogallery-gallery-"]:not(.fg-ready)').foogallery(b.autoDefaults)}),c.ready(function(){a('[id^="foogallery-gallery-"].fg-ready').foogallery(b.autoDefaults)})},b.load()}(FooGallery.$,FooGallery,FooGallery.utils,FooGallery.utils.obj);
|
foogallery.php
CHANGED
@@ -3,15 +3,13 @@
|
|
3 |
/*
|
4 |
Plugin Name: FooGallery
|
5 |
Description: FooGallery is the most intuitive and extensible gallery management tool ever created for WordPress
|
6 |
-
Version: 1.6
|
7 |
Author: FooPlugins
|
8 |
Plugin URI: https://foo.gallery
|
9 |
Author URI: http://fooplugins.com
|
10 |
Text Domain: foogallery
|
11 |
License: GPL-2.0+
|
12 |
-
Domain Path: /languages
|
13 |
-
|
14 |
-
@fs_premium_only /pro/
|
15 |
*/
|
16 |
// If this file is called directly, abort.
|
17 |
if ( !defined( 'WPINC' ) ) {
|
@@ -27,7 +25,7 @@ if ( function_exists( 'foogallery_fs' ) ) {
|
|
27 |
define( 'FOOGALLERY_PATH', plugin_dir_path( __FILE__ ) );
|
28 |
define( 'FOOGALLERY_URL', plugin_dir_url( __FILE__ ) );
|
29 |
define( 'FOOGALLERY_FILE', __FILE__ );
|
30 |
-
define( 'FOOGALLERY_VERSION', '1.6
|
31 |
define( 'FOOGALLERY_SETTINGS_VERSION', '2' );
|
32 |
require_once FOOGALLERY_PATH . 'includes/constants.php';
|
33 |
// Create a helper function for easy SDK access.
|
@@ -153,6 +151,7 @@ if ( function_exists( 'foogallery_fs' ) ) {
|
|
153 |
new FooGallery_Compatibility();
|
154 |
new FooGallery_Extensions_Compatibility();
|
155 |
new FooGallery_Default_Crop_Position();
|
|
|
156 |
$checker = new FooGallery_Version_Check();
|
157 |
$checker->wire_up_checker();
|
158 |
new FooGallery_Widget_Init();
|
3 |
/*
|
4 |
Plugin Name: FooGallery
|
5 |
Description: FooGallery is the most intuitive and extensible gallery management tool ever created for WordPress
|
6 |
+
Version: 1.7.6
|
7 |
Author: FooPlugins
|
8 |
Plugin URI: https://foo.gallery
|
9 |
Author URI: http://fooplugins.com
|
10 |
Text Domain: foogallery
|
11 |
License: GPL-2.0+
|
12 |
+
Domain Path: /languages
|
|
|
|
|
13 |
*/
|
14 |
// If this file is called directly, abort.
|
15 |
if ( !defined( 'WPINC' ) ) {
|
25 |
define( 'FOOGALLERY_PATH', plugin_dir_path( __FILE__ ) );
|
26 |
define( 'FOOGALLERY_URL', plugin_dir_url( __FILE__ ) );
|
27 |
define( 'FOOGALLERY_FILE', __FILE__ );
|
28 |
+
define( 'FOOGALLERY_VERSION', '1.7.6' );
|
29 |
define( 'FOOGALLERY_SETTINGS_VERSION', '2' );
|
30 |
require_once FOOGALLERY_PATH . 'includes/constants.php';
|
31 |
// Create a helper function for easy SDK access.
|
151 |
new FooGallery_Compatibility();
|
152 |
new FooGallery_Extensions_Compatibility();
|
153 |
new FooGallery_Default_Crop_Position();
|
154 |
+
new FooGallery_ForceHttps();
|
155 |
$checker = new FooGallery_Version_Check();
|
156 |
$checker->wire_up_checker();
|
157 |
new FooGallery_Widget_Init();
|
freemius/templates/debug.php
CHANGED
@@ -1,726 +1,726 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* @package Freemius
|
4 |
-
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
-
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
|
6 |
-
* @since 1.1.1
|
7 |
-
*/
|
8 |
-
|
9 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
-
exit;
|
11 |
-
}
|
12 |
-
|
13 |
-
global $fs_active_plugins;
|
14 |
-
|
15 |
-
$fs_options = FS_Options::instance( WP_FS__ACCOUNTS_OPTION_NAME, true );
|
16 |
-
|
17 |
-
$off_text = fs_text_x_inline( 'Off', 'as turned off' );
|
18 |
-
$on_text = fs_text_x_inline( 'On', 'as turned on' );
|
19 |
-
?>
|
20 |
-
<h1><?php echo fs_text_inline( 'Freemius Debug' ) . ' - ' . fs_text_inline( 'SDK' ) . ' v.' . $fs_active_plugins->newest->version ?></h1>
|
21 |
-
<div>
|
22 |
-
<!-- Debugging Switch -->
|
23 |
-
<?php //$debug_mode = get_option( 'fs_debug_mode', null ) ?>
|
24 |
-
<span class="switch-label"><?php fs_esc_html_echo_x_inline( 'Debugging', 'as code debugging' ) ?></span>
|
25 |
-
|
26 |
-
<div class="switch <?php echo WP_FS__DEBUG_SDK ? 'off' : 'on' ?>">
|
27 |
-
<div class="toggle"></div>
|
28 |
-
<span class="on"><?php echo esc_html( $on_text ) ?></span>
|
29 |
-
<span class="off"><?php echo esc_html( $off_text ) ?></span>
|
30 |
-
</div>
|
31 |
-
<script type="text/javascript">
|
32 |
-
(function ($) {
|
33 |
-
$(document).ready(function () {
|
34 |
-
// Switch toggle
|
35 |
-
$('.switch').click(function () {
|
36 |
-
$(this)
|
37 |
-
.toggleClass('on')
|
38 |
-
.toggleClass('off');
|
39 |
-
|
40 |
-
$.post(ajaxurl, {
|
41 |
-
action: 'fs_toggle_debug_mode',
|
42 |
-
is_on : ($(this).hasClass('off') ? 1 : 0)
|
43 |
-
}, function (response) {
|
44 |
-
if (1 == response) {
|
45 |
-
// Refresh page on success.
|
46 |
-
location.reload();
|
47 |
-
}
|
48 |
-
});
|
49 |
-
});
|
50 |
-
});
|
51 |
-
}(jQuery));
|
52 |
-
</script>
|
53 |
-
</div>
|
54 |
-
<h2><?php fs_esc_html_echo_inline( 'Actions', 'actions' ) ?></h2>
|
55 |
-
<table>
|
56 |
-
<tbody>
|
57 |
-
<tr>
|
58 |
-
<td>
|
59 |
-
<!-- Delete All Accounts -->
|
60 |
-
<form action="" method="POST">
|
61 |
-
<input type="hidden" name="fs_action" value="restart_freemius">
|
62 |
-
<?php wp_nonce_field( 'restart_freemius' ) ?>
|
63 |
-
<button class="button button-primary"
|
64 |
-
onclick="if (confirm('<?php fs_esc_attr_echo_inline( 'Are you sure you want to delete all Freemius data?', 'delete-all-confirm' ) ?>')) this.parentNode.submit(); return false;"><?php fs_esc_html_echo_inline( 'Delete All Accounts' ) ?></button>
|
65 |
-
</form>
|
66 |
-
</td>
|
67 |
-
<td>
|
68 |
-
<!-- Clear API Cache -->
|
69 |
-
<form action="" method="POST">
|
70 |
-
<input type="hidden" name="fs_clear_api_cache" value="true">
|
71 |
-
<button class="button button-primary"><?php fs_esc_html_echo_inline( 'Clear API Cache' ) ?></button>
|
72 |
-
</form>
|
73 |
-
</td>
|
74 |
-
<td>
|
75 |
-
<!-- Clear Updates Transients -->
|
76 |
-
<form action="" method="POST">
|
77 |
-
<input type="hidden" name="fs_action" value="clear_updates_data">
|
78 |
-
<?php wp_nonce_field( 'clear_updates_data' ) ?>
|
79 |
-
<button class="button"><?php fs_esc_html_echo_inline( 'Clear Updates Transients' ) ?></button>
|
80 |
-
</form>
|
81 |
-
</td>
|
82 |
-
<td>
|
83 |
-
<!-- Sync Data with Server -->
|
84 |
-
<form action="" method="POST">
|
85 |
-
<input type="hidden" name="background_sync" value="true">
|
86 |
-
<button class="button button-primary"><?php fs_esc_html_echo_inline( 'Sync Data From Server' ) ?></button>
|
87 |
-
</form>
|
88 |
-
</td>
|
89 |
-
<?php if ( fs_is_network_admin() && true !== $fs_options->get_option( 'ms_migration_complete', false, true ) ) : ?>
|
90 |
-
<td>
|
91 |
-
<!-- Migrate Options to Network -->
|
92 |
-
<form action="" method="POST">
|
93 |
-
<input type="hidden" name="fs_action" value="migrate_options_to_network">
|
94 |
-
<?php wp_nonce_field( 'migrate_options_to_network' ) ?>
|
95 |
-
<button class="button button-primary"><?php fs_esc_html_echo_inline( 'Migrate Options to Network' ) ?></button>
|
96 |
-
</form>
|
97 |
-
</td>
|
98 |
-
<?php endif ?>
|
99 |
-
<td>
|
100 |
-
<button id="fs_load_db_option" class="button"><?php fs_esc_html_echo_inline( 'Load DB Option' ) ?></button>
|
101 |
-
</td>
|
102 |
-
<td>
|
103 |
-
<button id="fs_set_db_option" class="button"><?php fs_esc_html_echo_inline( 'Set DB Option' ) ?></button>
|
104 |
-
</td>
|
105 |
-
</tr>
|
106 |
-
</tbody>
|
107 |
-
</table>
|
108 |
-
<script type="text/javascript">
|
109 |
-
(function ($) {
|
110 |
-
$('#fs_load_db_option').click(function () {
|
111 |
-
var optionName = prompt('Please enter the option name:');
|
112 |
-
|
113 |
-
if (optionName) {
|
114 |
-
$.post(ajaxurl, {
|
115 |
-
action : 'fs_get_db_option',
|
116 |
-
_wpnonce : '<?php echo wp_create_nonce( 'fs_get_db_option' ) ?>',
|
117 |
-
option_name: optionName
|
118 |
-
}, function (response) {
|
119 |
-
if (response.data.value)
|
120 |
-
prompt('The option value is:', response.data.value);
|
121 |
-
else
|
122 |
-
alert('Oops... Option does not exist in the DB.');
|
123 |
-
});
|
124 |
-
}
|
125 |
-
});
|
126 |
-
|
127 |
-
$('#fs_set_db_option').click(function () {
|
128 |
-
var optionName = prompt('Please enter the option name:');
|
129 |
-
|
130 |
-
if (optionName) {
|
131 |
-
var optionValue = prompt('Please enter the option value:');
|
132 |
-
|
133 |
-
if (optionValue) {
|
134 |
-
$.post(ajaxurl, {
|
135 |
-
action : 'fs_set_db_option',
|
136 |
-
_wpnonce : '<?php echo wp_create_nonce( 'fs_set_db_option' ) ?>',
|
137 |
-
option_name : optionName,
|
138 |
-
option_value: optionValue
|
139 |
-
}, function () {
|
140 |
-
alert('Option was successfully set.');
|
141 |
-
});
|
142 |
-
}
|
143 |
-
}
|
144 |
-
});
|
145 |
-
})(jQuery);
|
146 |
-
</script>
|
147 |
-
<?php
|
148 |
-
if ( ! defined( 'FS_API__ADDRESS' ) ) {
|
149 |
-
define( 'FS_API__ADDRESS', '://api.freemius.com' );
|
150 |
-
}
|
151 |
-
if ( ! defined( 'FS_API__SANDBOX_ADDRESS' ) ) {
|
152 |
-
define( 'FS_API__SANDBOX_ADDRESS', '://sandbox-api.freemius.com' );
|
153 |
-
}
|
154 |
-
|
155 |
-
$defines = array(
|
156 |
-
array(
|
157 |
-
'key' => 'WP_FS__REMOTE_ADDR',
|
158 |
-
'val' => WP_FS__REMOTE_ADDR,
|
159 |
-
),
|
160 |
-
array(
|
161 |
-
'key' => 'WP_FS__ADDRESS_PRODUCTION',
|
162 |
-
'val' => WP_FS__ADDRESS_PRODUCTION,
|
163 |
-
),
|
164 |
-
array(
|
165 |
-
'key' => 'FS_API__ADDRESS',
|
166 |
-
'val' => FS_API__ADDRESS,
|
167 |
-
),
|
168 |
-
array(
|
169 |
-
'key' => 'FS_API__SANDBOX_ADDRESS',
|
170 |
-
'val' => FS_API__SANDBOX_ADDRESS,
|
171 |
-
),
|
172 |
-
array(
|
173 |
-
'key' => 'WP_FS__DIR',
|
174 |
-
'val' => WP_FS__DIR,
|
175 |
-
),
|
176 |
-
)
|
177 |
-
?>
|
178 |
-
<br>
|
179 |
-
<table class="widefat">
|
180 |
-
<thead>
|
181 |
-
<tr>
|
182 |
-
<th><?php fs_esc_html_echo_inline( 'Key', 'key' ) ?></th>
|
183 |
-
<th><?php fs_esc_html_echo_inline( 'Value', 'value' ) ?></th>
|
184 |
-
</tr>
|
185 |
-
</thead>
|
186 |
-
<tbody>
|
187 |
-
<?php $alternate = false;
|
188 |
-
foreach ( $defines as $p ) : ?>
|
189 |
-
<tr<?php if ( $alternate ) {
|
190 |
-
echo ' class="alternate"';
|
191 |
-
} ?>>
|
192 |
-
<td><?php echo $p['key'] ?></td>
|
193 |
-
<td><?php echo $p['val'] ?></td>
|
194 |
-
</tr>
|
195 |
-
<?php $alternate = ! $alternate ?>
|
196 |
-
<?php endforeach ?>
|
197 |
-
</tbody>
|
198 |
-
</table>
|
199 |
-
<h2><?php fs_esc_html_echo_x_inline( 'SDK Versions', 'as software development kit versions', 'sdk-versions' ) ?></h2>
|
200 |
-
<table id="fs_sdks" class="widefat">
|
201 |
-
<thead>
|
202 |
-
<tr>
|
203 |
-
<th><?php fs_esc_html_echo_x_inline( 'Version', 'product version' ) ?></th>
|
204 |
-
<th><?php fs_esc_html_echo_inline( 'SDK Path' ) ?></th>
|
205 |
-
<th><?php fs_esc_html_echo_inline( 'Module Path' ) ?></th>
|
206 |
-
<th><?php fs_esc_html_echo_inline( 'Is Active' ) ?></th>
|
207 |
-
</tr>
|
208 |
-
</thead>
|
209 |
-
<tbody>
|
210 |
-
<?php foreach ( $fs_active_plugins->plugins as $sdk_path => $data ) : ?>
|
211 |
-
<?php $is_active = ( WP_FS__SDK_VERSION == $data->version ) ?>
|
212 |
-
<tr<?php if ( $is_active ) {
|
213 |
-
echo ' style="background: #E6FFE6; font-weight: bold"';
|
214 |
-
} ?>>
|
215 |
-
<td><?php echo $data->version ?></td>
|
216 |
-
<td><?php echo $sdk_path ?></td>
|
217 |
-
<td><?php echo $data->plugin_path ?></td>
|
218 |
-
<td><?php echo ( $is_active ) ? 'Active' : 'Inactive' ?></td>
|
219 |
-
</tr>
|
220 |
-
<?php endforeach ?>
|
221 |
-
</tbody>
|
222 |
-
</table>
|
223 |
-
|
224 |
-
<?php
|
225 |
-
$module_types = array(
|
226 |
-
WP_FS__MODULE_TYPE_PLUGIN,
|
227 |
-
WP_FS__MODULE_TYPE_THEME
|
228 |
-
);
|
229 |
-
?>
|
230 |
-
|
231 |
-
<?php foreach ( $module_types as $module_type ) : ?>
|
232 |
-
<?php $modules = $fs_options->get_option( $module_type . 's' ) ?>
|
233 |
-
<?php if ( is_array( $modules ) && count( $modules ) > 0 ) : ?>
|
234 |
-
<h2><?php echo esc_html( ( WP_FS__MODULE_TYPE_PLUGIN == $module_type ) ? fs_text_inline( 'Plugins', 'plugins' ) : fs_text_inline( 'Themes', 'themes' ) ) ?></h2>
|
235 |
-
<table id="fs_<?php echo $module_type ?>" class="widefat">
|
236 |
-
<thead>
|
237 |
-
<tr>
|
238 |
-
<th><?php fs_esc_html_echo_inline( 'ID', 'id' ) ?></th>
|
239 |
-
<th><?php fs_esc_html_echo_inline( 'Slug' ) ?></th>
|
240 |
-
<th><?php fs_esc_html_echo_x_inline( 'Version', 'product version' ) ?></th>
|
241 |
-
<th><?php fs_esc_html_echo_inline( 'Title' ) ?></th>
|
242 |
-
<th><?php fs_esc_html_echo_x_inline( 'API', 'as application program interface' ) ?></th>
|
243 |
-
<th><?php fs_esc_html_echo_inline( 'Freemius State' ) ?></th>
|
244 |
-
<th><?php fs_esc_html_echo_inline( 'Module Path' ) ?></th>
|
245 |
-
<th><?php fs_esc_html_echo_inline( 'Public Key' ) ?></th>
|
246 |
-
<?php if ( is_multisite() ) : ?>
|
247 |
-
<th><?php fs_esc_html_echo_inline( 'Network Blog' ) ?></th>
|
248 |
-
<th><?php fs_esc_html_echo_inline( 'Network User' ) ?></th>
|
249 |
-
<?php endif ?>
|
250 |
-
<th><?php fs_esc_html_echo_inline( 'Actions' ) ?></th>
|
251 |
-
</tr>
|
252 |
-
</thead>
|
253 |
-
<tbody>
|
254 |
-
<?php foreach ( $modules as $slug => $data ) : ?>
|
255 |
-
<?php
|
256 |
-
if ( WP_FS__MODULE_TYPE_THEME !== $module_type ) {
|
257 |
-
$is_active = is_plugin_active( $data->file );
|
258 |
-
} else {
|
259 |
-
$current_theme = wp_get_theme();
|
260 |
-
$is_active = ( $current_theme->stylesheet === $data->file );
|
261 |
-
|
262 |
-
if ( ! $is_active && is_child_theme() ) {
|
263 |
-
$parent_theme = $current_theme->parent();
|
264 |
-
|
265 |
-
$is_active = ( ( $parent_theme instanceof WP_Theme ) && $parent_theme->stylesheet === $data->file );
|
266 |
-
}
|
267 |
-
}
|
268 |
-
?>
|
269 |
-
<?php $fs = $is_active ? freemius( $data->id ) : null ?>
|
270 |
-
<tr<?php if ( $is_active ) {
|
271 |
-
if ( $fs->has_api_connectivity() && $fs->is_on() ) {
|
272 |
-
echo ' style="background: #E6FFE6; font-weight: bold"';
|
273 |
-
} else {
|
274 |
-
echo ' style="background: #ffd0d0; font-weight: bold"';
|
275 |
-
}
|
276 |
-
} ?>>
|
277 |
-
<td><?php echo $data->id ?></td>
|
278 |
-
<td><?php echo $slug ?></td>
|
279 |
-
<td><?php echo $data->version ?></td>
|
280 |
-
<td><?php echo $data->title ?></td>
|
281 |
-
<td<?php if ( $is_active && ! $fs->has_api_connectivity() ) {
|
282 |
-
echo ' style="color: red; text-transform: uppercase;"';
|
283 |
-
} ?>><?php if ( $is_active ) {
|
284 |
-
echo esc_html( $fs->has_api_connectivity() ?
|
285 |
-
fs_text_x_inline( 'Connected', 'as connection was successful' ) :
|
286 |
-
fs_text_x_inline( 'Blocked', 'as connection blocked' )
|
287 |
-
);
|
288 |
-
} ?></td>
|
289 |
-
<td<?php if ( $is_active && ! $fs->is_on() ) {
|
290 |
-
echo ' style="color: red; text-transform: uppercase;"';
|
291 |
-
} ?>><?php if ( $is_active ) {
|
292 |
-
echo esc_html( $fs->is_on() ?
|
293 |
-
$on_text :
|
294 |
-
$off_text
|
295 |
-
);
|
296 |
-
} ?></td>
|
297 |
-
<td><?php echo $data->file ?></td>
|
298 |
-
<td><?php echo $data->public_key ?></td>
|
299 |
-
<?php if ( is_multisite() ) : ?>
|
300 |
-
<?php
|
301 |
-
$network_blog_id = null;
|
302 |
-
$network_user = null;
|
303 |
-
|
304 |
-
if ( is_object( $fs ) ) {
|
305 |
-
$network_blog_id = $fs->get_network_install_blog_id();
|
306 |
-
$network_user = $fs->get_network_user();
|
307 |
-
}
|
308 |
-
?>
|
309 |
-
<td><?php echo is_numeric( $network_blog_id ) ? $network_blog_id : '' ?></td>
|
310 |
-
<td><?php if ( is_object( $network_user ) ) {
|
311 |
-
echo $network_user->email;
|
312 |
-
} ?></td>
|
313 |
-
<?php endif ?>
|
314 |
-
<td>
|
315 |
-
<?php if ( $is_active ) : ?>
|
316 |
-
<?php if ( $fs->has_trial_plan() ) : ?>
|
317 |
-
<form action="" method="POST">
|
318 |
-
<input type="hidden" name="fs_action" value="simulate_trial">
|
319 |
-
<input type="hidden" name="module_id" value="<?php echo $fs->get_id() ?>">
|
320 |
-
<?php wp_nonce_field( 'simulate_trial' ) ?>
|
321 |
-
|
322 |
-
<button type="submit" class="button button-primary simulate-trial"><?php fs_esc_html_echo_inline( 'Simulate Trial Promotion' ) ?></button>
|
323 |
-
</form>
|
324 |
-
<?php endif ?>
|
325 |
-
<?php if ( $fs->is_registered() ) : ?>
|
326 |
-
<a class="button" href="<?php echo $fs->get_account_url() ?>"><?php fs_esc_html_echo_inline( 'Account', 'account' ) ?></a>
|
327 |
-
<?php endif ?>
|
328 |
-
<?php if ( fs_is_network_admin() && ! $fs->is_network_upgrade_mode() ) : ?>
|
329 |
-
<form action="" method="POST">
|
330 |
-
<input type="hidden" name="fs_action" value="simulate_network_upgrade">
|
331 |
-
<input type="hidden" name="module_id" value="<?php echo $fs->get_id() ?>">
|
332 |
-
<?php wp_nonce_field( 'simulate_network_upgrade' ) ?>
|
333 |
-
|
334 |
-
<button type="submit" class="button button-small"><?php fs_esc_html_echo_inline( 'Simulate Network Upgrade' ) ?></button>
|
335 |
-
</form>
|
336 |
-
<?php endif ?>
|
337 |
-
<?php endif ?>
|
338 |
-
</td>
|
339 |
-
</tr>
|
340 |
-
<?php endforeach ?>
|
341 |
-
</tbody>
|
342 |
-
</table>
|
343 |
-
<?php endif ?>
|
344 |
-
<?php endforeach ?>
|
345 |
-
<?php foreach ( $module_types as $module_type ) : ?>
|
346 |
-
<?php
|
347 |
-
/**
|
348 |
-
* @var array $VARS
|
349 |
-
* @var array[string]FS_Site|array[string]FS_Site[] $sites_map
|
350 |
-
*/
|
351 |
-
$sites_map = $VARS[ $module_type . '_sites' ];
|
352 |
-
|
353 |
-
$is_multisite = is_multisite();
|
354 |
-
$all_plans = false;
|
355 |
-
$plans = false;
|
356 |
-
?>
|
357 |
-
<?php if ( is_array( $sites_map ) && count( $sites_map ) > 0 ) : ?>
|
358 |
-
<h2><?php echo esc_html( sprintf(
|
359 |
-
/* translators: %s: 'plugin' or 'theme' */
|
360 |
-
fs_text_inline( '%s Installs', 'module-installs' ),
|
361 |
-
( WP_FS__MODULE_TYPE_PLUGIN === $module_type ? fs_text_inline( 'Plugin', 'plugin' ) : fs_text_inline( 'Theme', 'theme' ) )
|
362 |
-
) ) ?> / <?php fs_esc_html_echo_x_inline( 'Sites', 'like websites', 'sites' ) ?></h2>
|
363 |
-
<table id="fs_<?php echo $module_type ?>_installs" class="widefat">
|
364 |
-
<thead>
|
365 |
-
<tr>
|
366 |
-
<th><?php fs_esc_html_echo_inline( 'ID', 'id' ) ?></th>
|
367 |
-
<?php if ( $is_multisite ) : ?>
|
368 |
-
<th><?php fs_esc_html_echo_inline( 'Blog ID' ) ?></th>
|
369 |
-
<th><?php fs_esc_html_echo_inline( 'Address' ) ?></th>
|
370 |
-
<?php endif ?>
|
371 |
-
<th><?php fs_esc_html_echo_inline( 'Slug' ) ?></th>
|
372 |
-
<th><?php fs_esc_html_echo_inline( 'User ID' ) ?></th>
|
373 |
-
<th><?php fs_esc_html_echo_x_inline( 'Plan', 'as product pricing plan', 'plan' ) ?></th>
|
374 |
-
<th><?php fs_esc_html_echo_inline( 'Public Key' ) ?></th>
|
375 |
-
<th><?php fs_esc_html_echo_inline( 'Secret Key' ) ?></th>
|
376 |
-
<th><?php fs_esc_html_echo_inline( 'Actions' ) ?></th>
|
377 |
-
</tr>
|
378 |
-
</thead>
|
379 |
-
<tbody>
|
380 |
-
<?php foreach ( $sites_map as $slug => $sites ) : ?>
|
381 |
-
<?php if ( ! is_array( $sites ) ) {
|
382 |
-
$sites = array( $sites );
|
383 |
-
} ?>
|
384 |
-
<?php foreach ( $sites as $site ) : ?>
|
385 |
-
<tr>
|
386 |
-
<td><?php echo $site->id ?></td>
|
387 |
-
<?php if ( $is_multisite ) : ?>
|
388 |
-
<td><?php echo $site->blog_id ?></td>
|
389 |
-
<td><?php echo fs_strip_url_protocol( $site->url ) ?></td>
|
390 |
-
<?php endif ?>
|
391 |
-
<td><?php echo $slug ?></td>
|
392 |
-
<td><?php echo $site->user_id ?></td>
|
393 |
-
<td><?php
|
394 |
-
$plan_name = '';
|
395 |
-
if ( FS_Plugin_Plan::is_valid_id( $site->plan_id ) ) {
|
396 |
-
if ( false === $all_plans ) {
|
397 |
-
$option_name = 'plans';
|
398 |
-
if ( WP_FS__MODULE_TYPE_PLUGIN !== $module_type ) {
|
399 |
-
$option_name = $module_type . '_' . $option_name;
|
400 |
-
}
|
401 |
-
|
402 |
-
$all_plans = $fs_options->get_option( $option_name, array() );
|
403 |
-
}
|
404 |
-
|
405 |
-
if ( false === $plans ) {
|
406 |
-
$plans = $all_plans[ $slug ];
|
407 |
-
}
|
408 |
-
|
409 |
-
foreach ( $plans as $plan ) {
|
410 |
-
$plan_id = Freemius::_decrypt( $plan->id );
|
411 |
-
|
412 |
-
if ( $site->plan_id == $plan_id ) {
|
413 |
-
$plan_name = Freemius::_decrypt( $plan->name );
|
414 |
-
break;
|
415 |
-
}
|
416 |
-
}
|
417 |
-
}
|
418 |
-
|
419 |
-
echo $plan_name;
|
420 |
-
?></td>
|
421 |
-
<td><?php echo $site->public_key ?></td>
|
422 |
-
<td><?php echo esc_html( $site->secret_key ) ?></td>
|
423 |
-
<td>
|
424 |
-
<form action="" method="POST">
|
425 |
-
<input type="hidden" name="fs_action" value="delete_install">
|
426 |
-
<?php wp_nonce_field( 'delete_install' ) ?>
|
427 |
-
<input type="hidden" name="module_id" value="<?php echo $site->plugin_id ?>">
|
428 |
-
<?php if ( $is_multisite ) : ?>
|
429 |
-
<input type="hidden" name="blog_id" value="<?php echo $site->blog_id ?>">
|
430 |
-
<?php endif ?>
|
431 |
-
<input type="hidden" name="module_type" value="<?php echo $module_type ?>">
|
432 |
-
<input type="hidden" name="slug" value="<?php echo $slug ?>">
|
433 |
-
<button type="submit" class="button"><?php fs_esc_html_echo_x_inline( 'Delete', 'verb', 'delete' ) ?></button>
|
434 |
-
</form>
|
435 |
-
</td>
|
436 |
-
</tr>
|
437 |
-
<?php endforeach ?>
|
438 |
-
<?php endforeach ?>
|
439 |
-
</tbody>
|
440 |
-
</table>
|
441 |
-
<?php endif ?>
|
442 |
-
<?php endforeach ?>
|
443 |
-
<?php
|
444 |
-
$addons = $VARS['addons'];
|
445 |
-
?>
|
446 |
-
<?php foreach ( $addons as $plugin_id => $plugin_addons ) : ?>
|
447 |
-
<h2><?php echo esc_html( sprintf( fs_text_inline( 'Add Ons of module %s', 'addons-of-x' ), $plugin_id ) ) ?></h2>
|
448 |
-
<table id="fs_addons" class="widefat">
|
449 |
-
<thead>
|
450 |
-
<tr>
|
451 |
-
<th><?php fs_esc_html_echo_inline( 'ID', 'id' ) ?></th>
|
452 |
-
<th><?php fs_esc_html_echo_inline( 'Title' ) ?></th>
|
453 |
-
<th><?php fs_esc_html_echo_inline( 'Slug' ) ?></th>
|
454 |
-
<th><?php fs_esc_html_echo_x_inline( 'Version', 'product version' ) ?></th>
|
455 |
-
<th><?php fs_esc_html_echo_inline( 'Public Key' ) ?></th>
|
456 |
-
<th><?php fs_esc_html_echo_inline( 'Secret Key' ) ?></th>
|
457 |
-
</tr>
|
458 |
-
</thead>
|
459 |
-
<tbody>
|
460 |
-
<?php
|
461 |
-
/**
|
462 |
-
* @var FS_Plugin[] $plugin_addons
|
463 |
-
*/
|
464 |
-
foreach ( $plugin_addons as $addon ) : ?>
|
465 |
-
<tr>
|
466 |
-
<td><?php echo $addon->id ?></td>
|
467 |
-
<td><?php echo $addon->title ?></td>
|
468 |
-
<td><?php echo $addon->slug ?></td>
|
469 |
-
<td><?php echo $addon->version ?></td>
|
470 |
-
<td><?php echo $addon->public_key ?></td>
|
471 |
-
<td><?php echo esc_html( $addon->secret_key ) ?></td>
|
472 |
-
</tr>
|
473 |
-
<?php endforeach ?>
|
474 |
-
</tbody>
|
475 |
-
</table>
|
476 |
-
<?php endforeach ?>
|
477 |
-
<?php
|
478 |
-
/**
|
479 |
-
* @var FS_User[] $users
|
480 |
-
*/
|
481 |
-
$users = $VARS['users'];
|
482 |
-
?>
|
483 |
-
<?php if ( is_array( $users ) && 0 < count( $users ) ) : ?>
|
484 |
-
<h2><?php fs_esc_html_echo_inline( 'Users' ) ?></h2>
|
485 |
-
<table id="fs_users" class="widefat">
|
486 |
-
<thead>
|
487 |
-
<tr>
|
488 |
-
<th><?php fs_esc_html_echo_inline( 'ID', 'id' ) ?></th>
|
489 |
-
<th><?php fs_esc_html_echo_inline( 'Name' ) ?></th>
|
490 |
-
<th><?php fs_esc_html_echo_inline( 'Email' ) ?></th>
|
491 |
-
<th><?php fs_esc_html_echo_inline( 'Verified' ) ?></th>
|
492 |
-
<th><?php fs_esc_html_echo_inline( 'Public Key' ) ?></th>
|
493 |
-
<th><?php fs_esc_html_echo_inline( 'Secret Key' ) ?></th>
|
494 |
-
<th><?php fs_esc_html_echo_inline( 'Actions' ) ?></th>
|
495 |
-
</tr>
|
496 |
-
</thead>
|
497 |
-
<tbody>
|
498 |
-
<?php foreach ( $users as $user_id => $user ) : ?>
|
499 |
-
<tr>
|
500 |
-
<td><?php echo $user->id ?></td>
|
501 |
-
<td><?php echo $user->get_name() ?></td>
|
502 |
-
<td><a href="mailto:<?php echo esc_attr( $user->email ) ?>"><?php echo $user->email ?></a></td>
|
503 |
-
<td><?php echo json_encode( $user->is_verified ) ?></td>
|
504 |
-
<td><?php echo $user->public_key ?></td>
|
505 |
-
<td><?php echo esc_html( $user->secret_key ) ?></td>
|
506 |
-
<td>
|
507 |
-
<form action="" method="POST">
|
508 |
-
<input type="hidden" name="fs_action" value="delete_user">
|
509 |
-
<?php wp_nonce_field( 'delete_user' ) ?>
|
510 |
-
<input type="hidden" name="user_id" value="<?php echo $user->id ?>">
|
511 |
-
<button type="submit" class="button"><?php fs_esc_html_echo_x_inline( 'Delete', 'verb', 'delete' ) ?></button>
|
512 |
-
</form>
|
513 |
-
</td>
|
514 |
-
</tr>
|
515 |
-
<?php endforeach ?>
|
516 |
-
</tbody>
|
517 |
-
</table>
|
518 |
-
<?php endif ?>
|
519 |
-
<?php foreach ( $module_types as $module_type ) : ?>
|
520 |
-
<?php $licenses = $VARS[ $module_type . '_licenses' ] ?>
|
521 |
-
<?php if ( is_array( $licenses ) && count( $licenses ) > 0 ) : ?>
|
522 |
-
<h2><?php echo esc_html( sprintf( fs_text_inline( '%s Licenses', 'module-licenses' ), ( WP_FS__MODULE_TYPE_PLUGIN === $module_type ? fs_text_inline( 'Plugin', 'plugin' ) : fs_text_inline( 'Theme', 'theme' ) ) ) ) ?></h2>
|
523 |
-
<table id="fs_<?php echo $module_type ?>_licenses" class="widefat">
|
524 |
-
<thead>
|
525 |
-
<tr>
|
526 |
-
<th><?php fs_esc_html_echo_inline( 'ID', 'id' ) ?></th>
|
527 |
-
<th><?php fs_esc_html_echo_inline( 'Plugin ID' ) ?></th>
|
528 |
-
<th><?php fs_esc_html_echo_inline( 'User ID' ) ?></th>
|
529 |
-
<th><?php fs_esc_html_echo_inline( 'Plan ID' ) ?></th>
|
530 |
-
<th><?php fs_esc_html_echo_inline( 'Quota' ) ?></th>
|
531 |
-
<th><?php fs_esc_html_echo_inline( 'Activated' ) ?></th>
|
532 |
-
<th><?php fs_esc_html_echo_inline( 'Blocking' ) ?></th>
|
533 |
-
<th><?php fs_esc_html_echo_inline( 'License Key' ) ?></th>
|
534 |
-
<th><?php fs_esc_html_echo_x_inline( 'Expiration', 'as expiration date' ) ?></th>
|
535 |
-
</tr>
|
536 |
-
</thead>
|
537 |
-
<tbody>
|
538 |
-
<?php foreach ( $licenses as $license ) : ?>
|
539 |
-
<tr>
|
540 |
-
<td><?php echo $license->id ?></td>
|
541 |
-
<td><?php echo $license->plugin_id ?></td>
|
542 |
-
<td><?php echo $license->user_id ?></td>
|
543 |
-
<td><?php echo $license->plan_id ?></td>
|
544 |
-
<td><?php echo $license->is_unlimited() ? 'Unlimited' : ( $license->is_single_site() ? 'Single Site' : $license->quota ) ?></td>
|
545 |
-
<td><?php echo $license->activated ?></td>
|
546 |
-
<td><?php echo $license->is_block_features ? 'Blocking' : 'Flexible' ?></td>
|
547 |
-
<td><?php echo esc_html( $license->secret_key ) ?></td>
|
548 |
-
<td><?php echo $license->expiration ?></td>
|
549 |
-
</tr>
|
550 |
-
<?php endforeach ?>
|
551 |
-
</tbody>
|
552 |
-
</table>
|
553 |
-
<?php endif ?>
|
554 |
-
<?php endforeach ?>
|
555 |
-
<?php if ( FS_Logger::is_storage_logging_on() ) : ?>
|
556 |
-
|
557 |
-
<h2><?php fs_esc_html_echo_inline( 'Debug Log', 'debug-log' ) ?></h2>
|
558 |
-
|
559 |
-
<div id="fs_debug_filters">
|
560 |
-
<select name="type">
|
561 |
-
<option value="" selected="selected"><?php fs_esc_html_echo_inline( 'All Types', 'all-types' ) ?></option>
|
562 |
-
<option value="warn_error">Warnings & Errors</option>
|
563 |
-
<option value="error">Errors</option>
|
564 |
-
<option value="warn">Warnings</option>
|
565 |
-
<option value="info">Info</option>
|
566 |
-
</select>
|
567 |
-
<select name="request_type">
|
568 |
-
<option value="" selected="selected"><?php fs_esc_html_echo_inline( 'All Requests', 'all-requests' ) ?></option>
|
569 |
-
<option value="call">Sync</option>
|
570 |
-
<option value="ajax">AJAX</option>
|
571 |
-
<option value="cron">WP Cron</option>
|
572 |
-
</select>
|
573 |
-
<input name="file" type="text" placeholder="<?php fs_esc_attr_echo_inline( 'File' ) ?>"/>
|
574 |
-
<input name="function" type="text" placeholder="<?php fs_esc_attr_echo_inline( 'Function' ) ?>"/>
|
575 |
-
<input name="process_id" type="text" placeholder="<?php fs_esc_attr_echo_inline( 'Process ID' ) ?>"/>
|
576 |
-
<input name="logger" type="text" placeholder="<?php fs_esc_attr_echo_inline( 'Logger' ) ?>"/>
|
577 |
-
<input name="message" type="text" placeholder="<?php fs_esc_attr_echo_inline( 'Message' ) ?>"/>
|
578 |
-
<div style="margin: 10px 0">
|
579 |
-
<button id="fs_filter" class="button" style="float: left"><i class="dashicons dashicons-filter"></i> <?php fs_esc_html_echo_inline( 'Filter', 'filter' ) ?>
|
580 |
-
</button>
|
581 |
-
|
582 |
-
<form action="" method="POST" style="float: left; margin-left: 10px;">
|
583 |
-
<input type="hidden" name="fs_action" value="download_logs">
|
584 |
-
<?php wp_nonce_field( 'download_logs' ) ?>
|
585 |
-
<div class="fs-filters"></div>
|
586 |
-
<button id="fs_download" class="button" type="submit"><i
|
587 |
-
class="dashicons dashicons-download"></i> <?php fs_esc_html_echo_inline( 'Download' ) ?></button>
|
588 |
-
</form>
|
589 |
-
<div style="clear: both"></div>
|
590 |
-
</div>
|
591 |
-
</div>
|
592 |
-
|
593 |
-
<div id="fs_log_book" style="height: 300px; overflow: auto;">
|
594 |
-
<table class="widefat">
|
595 |
-
<thead>
|
596 |
-
<tr>
|
597 |
-
<th>#</th>
|
598 |
-
<th><?php fs_esc_html_echo_inline( 'Type' ) ?></th>
|
599 |
-
<th><?php fs_esc_html_echo_inline( 'ID', 'id' ) ?></th>
|
600 |
-
<th><?php fs_esc_html_echo_inline( 'Function' ) ?></th>
|
601 |
-
<th><?php fs_esc_html_echo_inline( 'Message' ) ?></th>
|
602 |
-
<th><?php fs_esc_html_echo_inline( 'File' ) ?></th>
|
603 |
-
<th><?php fs_esc_html_echo_inline( 'Timestamp' ) ?></th>
|
604 |
-
</tr>
|
605 |
-
</thead>
|
606 |
-
<tbody>
|
607 |
-
<tr style="display: none">
|
608 |
-
<td>{$log.log_order}.</td>
|
609 |
-
<td class="fs-col--type">{$log.type}</td>
|
610 |
-
<td class="fs-col--logger">{$log.logger}</td>
|
611 |
-
<td class="fs-col--function">{$log.function}</td>
|
612 |
-
<td class="fs-col--message">
|
613 |
-
<a href="#" onclick="jQuery(this).parent().find('div').toggle(); return false;">
|
614 |
-
<nobr>{$log.message_short}</nobr>
|
615 |
-
</a>
|
616 |
-
<div style="display: none;">{$log.message}</div>
|
617 |
-
</td>
|
618 |
-
<td class="fs-col--file">{$log.file}:{$log.line}</td>
|
619 |
-
<td class="fs-col--timestamp">{$log.created}</td>
|
620 |
-
</tr>
|
621 |
-
|
622 |
-
</tbody>
|
623 |
-
</table>
|
624 |
-
</div>
|
625 |
-
<script type="text/javascript">
|
626 |
-
jQuery(document).ready(function ($) {
|
627 |
-
var filtersChanged = false,
|
628 |
-
offset = 0,
|
629 |
-
limit = 200,
|
630 |
-
prevFiltersSignature = null;
|
631 |
-
|
632 |
-
var getFilters = function () {
|
633 |
-
var filters = {},
|
634 |
-
signature = '';
|
635 |
-
|
636 |
-
$('#fs_debug_filters').find('select, input').each(function (i, e) {
|
637 |
-
var $element = $(e);
|
638 |
-
|
639 |
-
if ('hidden' === $element.attr('type'))
|
640 |
-
return;
|
641 |
-
|
642 |
-
var val = $element.val();
|
643 |
-
if ('' !== val.trim()) {
|
644 |
-
var name = $(e).attr('name');
|
645 |
-
filters[name] = val;
|
646 |
-
signature += name + '=' + val + '~';
|
647 |
-
}
|
648 |
-
});
|
649 |
-
|
650 |
-
if (signature != prevFiltersSignature) {
|
651 |
-
filtersChanged = true;
|
652 |
-
prevFiltersSignature = signature;
|
653 |
-
} else {
|
654 |
-
filtersChanged = false;
|
655 |
-
}
|
656 |
-
|
657 |
-
return filters;
|
658 |
-
};
|
659 |
-
|
660 |
-
$('#fs_download').parent().submit(function () {
|
661 |
-
var filters = getFilters(),
|
662 |
-
hiddenFields = '';
|
663 |
-
|
664 |
-
for (var f in filters) {
|
665 |
-
if (filters.hasOwnProperty(f)) {
|
666 |
-
hiddenFields += '<input type="hidden" name="filters[' + f + ']" value="' + filters[f] + '" />';
|
667 |
-
}
|
668 |
-
}
|
669 |
-
|
670 |
-
$(this).find('.fs-filters').html(hiddenFields);
|
671 |
-
});
|
672 |
-
|
673 |
-
var loadLogs = function () {
|
674 |
-
var $tbody = $('#fs_log_book tbody'),
|
675 |
-
template = $tbody.find('tr:first-child').html(),
|
676 |
-
filters = getFilters();
|
677 |
-
|
678 |
-
if (!filtersChanged) {
|
679 |
-
offset += limit;
|
680 |
-
} else {
|
681 |
-
// Cleanup table for new filter (only keep template row).
|
682 |
-
$tbody.find('tr').each(function (i, e) {
|
683 |
-
if (0 == i)
|
684 |
-
return;
|
685 |
-
|
686 |
-
$(e).remove();
|
687 |
-
});
|
688 |
-
|
689 |
-
offset = 0;
|
690 |
-
}
|
691 |
-
|
692 |
-
$.post(ajaxurl, {
|
693 |
-
action : 'fs_get_debug_log',
|
694 |
-
filters: filters,
|
695 |
-
offset : offset,
|
696 |
-
limit : limit
|
697 |
-
}, function (response) {
|
698 |
-
|
699 |
-
for (var i = 0; i < response.data.length; i++) {
|
700 |
-
var templateCopy = template;
|
701 |
-
|
702 |
-
response.data[i].message_short = (response.data[i].message.length > 32) ?
|
703 |
-
response.data[i].message.substr(0, 32) + '...' :
|
704 |
-
response.data[i].message;
|
705 |
-
|
706 |
-
for (var p in response.data[i]) {
|
707 |
-
if (response.data[i].hasOwnProperty(p)) {
|
708 |
-
templateCopy = templateCopy.replace('{$log.' + p + '}', response.data[i][p]);
|
709 |
-
}
|
710 |
-
}
|
711 |
-
|
712 |
-
$tbody.append('<tr' + (i % 2 ? ' class="alternate"' : '') + '>' + templateCopy + '</tr>');
|
713 |
-
}
|
714 |
-
});
|
715 |
-
};
|
716 |
-
|
717 |
-
$('#fs_filter').click(function () {
|
718 |
-
loadLogs();
|
719 |
-
|
720 |
-
return false;
|
721 |
-
});
|
722 |
-
|
723 |
-
loadLogs();
|
724 |
-
});
|
725 |
-
</script>
|
726 |
-
<?php endif ?>
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @package Freemius
|
4 |
+
* @copyright Copyright (c) 2015, Freemius, Inc.
|
5 |
+
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
|
6 |
+
* @since 1.1.1
|
7 |
+
*/
|
8 |
+
|
9 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit;
|
11 |
+
}
|
12 |
+
|
13 |
+
global $fs_active_plugins;
|
14 |
+
|
15 |
+
$fs_options = FS_Options::instance( WP_FS__ACCOUNTS_OPTION_NAME, true );
|
16 |
+
|
17 |
+
$off_text = fs_text_x_inline( 'Off', 'as turned off' );
|
18 |
+
$on_text = fs_text_x_inline( 'On', 'as turned on' );
|
19 |
+
?>
|
20 |
+
<h1><?php echo fs_text_inline( 'Freemius Debug' ) . ' - ' . fs_text_inline( 'SDK' ) . ' v.' . $fs_active_plugins->newest->version ?></h1>
|
21 |
+
<div>
|
22 |
+
<!-- Debugging Switch -->
|
23 |
+
<?php //$debug_mode = get_option( 'fs_debug_mode', null ) ?>
|
24 |
+
<span class="switch-label"><?php fs_esc_html_echo_x_inline( 'Debugging', 'as code debugging' ) ?></span>
|
25 |
+
|
26 |
+
<div class="switch <?php echo WP_FS__DEBUG_SDK ? 'off' : 'on' ?>">
|
27 |
+
<div class="toggle"></div>
|
28 |
+
<span class="on"><?php echo esc_html( $on_text ) ?></span>
|
29 |
+
<span class="off"><?php echo esc_html( $off_text ) ?></span>
|
30 |
+
</div>
|
31 |
+
<script type="text/javascript">
|
32 |
+
(function ($) {
|
33 |
+
$(document).ready(function () {
|
34 |
+
// Switch toggle
|
35 |
+
$('.switch').click(function () {
|
36 |
+
$(this)
|
37 |
+
.toggleClass('on')
|
38 |
+
.toggleClass('off');
|
39 |
+
|
40 |
+
$.post(ajaxurl, {
|
41 |
+
action: 'fs_toggle_debug_mode',
|
42 |
+
is_on : ($(this).hasClass('off') ? 1 : 0)
|
43 |
+
}, function (response) {
|
44 |
+
if (1 == response) {
|
45 |
+
// Refresh page on success.
|
46 |
+
location.reload();
|
47 |
+
}
|
48 |
+
});
|
49 |
+
});
|
50 |
+
});
|
51 |
+
}(jQuery));
|
52 |
+
</script>
|
53 |
+
</div>
|
54 |
+
<h2><?php fs_esc_html_echo_inline( 'Actions', 'actions' ) ?></h2>
|
55 |
+
<table>
|
56 |
+
<tbody>
|
57 |
+
<tr>
|
58 |
+
<td>
|
59 |
+
<!-- Delete All Accounts -->
|
60 |
+
<form action="" method="POST">
|
61 |
+
<input type="hidden" name="fs_action" value="restart_freemius">
|
62 |
+
<?php wp_nonce_field( 'restart_freemius' ) ?>
|
63 |
+
<button class="button button-primary"
|
64 |
+
onclick="if (confirm('<?php fs_esc_attr_echo_inline( 'Are you sure you want to delete all Freemius data?', 'delete-all-confirm' ) ?>')) this.parentNode.submit(); return false;"><?php fs_esc_html_echo_inline( 'Delete All Accounts' ) ?></button>
|
65 |
+
</form>
|
66 |
+
</td>
|
67 |
+
<td>
|
68 |
+
<!-- Clear API Cache -->
|
69 |
+
<form action="" method="POST">
|
70 |
+
<input type="hidden" name="fs_clear_api_cache" value="true">
|
71 |
+
<button class="button button-primary"><?php fs_esc_html_echo_inline( 'Clear API Cache' ) ?></button>
|
72 |
+
</form>
|
73 |
+
</td>
|
74 |
+
<td>
|
75 |
+
<!-- Clear Updates Transients -->
|
76 |
+
<form action="" method="POST">
|
77 |
+
<input type="hidden" name="fs_action" value="clear_updates_data">
|
78 |
+
<?php wp_nonce_field( 'clear_updates_data' ) ?>
|
79 |
+
<button class="button"><?php fs_esc_html_echo_inline( 'Clear Updates Transients' ) ?></button>
|
80 |
+
</form>
|
81 |
+
</td>
|
82 |
+
<td>
|
83 |
+
<!-- Sync Data with Server -->
|
84 |
+
<form action="" method="POST">
|
85 |
+
<input type="hidden" name="background_sync" value="true">
|
86 |
+
<button class="button button-primary"><?php fs_esc_html_echo_inline( 'Sync Data From Server' ) ?></button>
|
87 |
+
</form>
|
88 |
+
</td>
|
89 |
+
<?php if ( fs_is_network_admin() && true !== $fs_options->get_option( 'ms_migration_complete', false, true ) ) : ?>
|
90 |
+
<td>
|
91 |
+
<!-- Migrate Options to Network -->
|
92 |
+
<form action="" method="POST">
|
93 |
+
<input type="hidden" name="fs_action" value="migrate_options_to_network">
|
94 |
+
<?php wp_nonce_field( 'migrate_options_to_network' ) ?>
|
95 |
+
<button class="button button-primary"><?php fs_esc_html_echo_inline( 'Migrate Options to Network' ) ?></button>
|
96 |
+
</form>
|
97 |
+
</td>
|
98 |
+
<?php endif ?>
|
99 |
+
<td>
|
100 |
+
<button id="fs_load_db_option" class="button"><?php fs_esc_html_echo_inline( 'Load DB Option' ) ?></button>
|
101 |
+
</td>
|
102 |
+
<td>
|
103 |
+
<button id="fs_set_db_option" class="button"><?php fs_esc_html_echo_inline( 'Set DB Option' ) ?></button>
|
104 |
+
</td>
|
105 |
+
</tr>
|
106 |
+
</tbody>
|
107 |
+
</table>
|
108 |
+
<script type="text/javascript">
|
109 |
+
(function ($) {
|
110 |
+
$('#fs_load_db_option').click(function () {
|
111 |
+
var optionName = prompt('Please enter the option name:');
|
112 |
+
|
113 |
+
if (optionName) {
|
114 |
+
$.post(ajaxurl, {
|
115 |
+
action : 'fs_get_db_option',
|
116 |
+
_wpnonce : '<?php echo wp_create_nonce( 'fs_get_db_option' ) ?>',
|
117 |
+
option_name: optionName
|
118 |
+
}, function (response) {
|
119 |
+
if (response.data.value)
|
120 |
+
prompt('The option value is:', response.data.value);
|
121 |
+
else
|
122 |
+
alert('Oops... Option does not exist in the DB.');
|
123 |
+
});
|
124 |
+
}
|
125 |
+
});
|
126 |
+
|
127 |
+
$('#fs_set_db_option').click(function () {
|
128 |
+
var optionName = prompt('Please enter the option name:');
|
129 |
+
|
130 |
+
if (optionName) {
|
131 |
+
var optionValue = prompt('Please enter the option value:');
|
132 |
+
|
133 |
+
if (optionValue) {
|
134 |
+
$.post(ajaxurl, {
|
135 |
+
action : 'fs_set_db_option',
|
136 |
+
_wpnonce : '<?php echo wp_create_nonce( 'fs_set_db_option' ) ?>',
|
137 |
+
option_name : optionName,
|
138 |
+
option_value: optionValue
|
139 |
+
}, function () {
|
140 |
+
alert('Option was successfully set.');
|
141 |
+
});
|
142 |
+
}
|
143 |
+
}
|
144 |
+
});
|
145 |
+
})(jQuery);
|
146 |
+
</script>
|
147 |
+
<?php
|
148 |
+
if ( ! defined( 'FS_API__ADDRESS' ) ) {
|
149 |
+
define( 'FS_API__ADDRESS', '://api.freemius.com' );
|
150 |
+
}
|
151 |
+
if ( ! defined( 'FS_API__SANDBOX_ADDRESS' ) ) {
|
152 |
+
define( 'FS_API__SANDBOX_ADDRESS', '://sandbox-api.freemius.com' );
|
153 |
+
}
|
154 |
+
|
155 |
+
$defines = array(
|
156 |
+
array(
|
157 |
+
'key' => 'WP_FS__REMOTE_ADDR',
|
158 |
+
'val' => WP_FS__REMOTE_ADDR,
|
159 |
+
),
|
160 |
+
array(
|
161 |
+
'key' => 'WP_FS__ADDRESS_PRODUCTION',
|
162 |
+
'val' => WP_FS__ADDRESS_PRODUCTION,
|
163 |
+
),
|
164 |
+
array(
|
165 |
+
'key' => 'FS_API__ADDRESS',
|
166 |
+
'val' => FS_API__ADDRESS,
|
167 |
+
),
|
168 |
+
array(
|
169 |
+
'key' => 'FS_API__SANDBOX_ADDRESS',
|
170 |
+
'val' => FS_API__SANDBOX_ADDRESS,
|
171 |
+
),
|
172 |
+
array(
|
173 |
+
'key' => 'WP_FS__DIR',
|
174 |
+
'val' => WP_FS__DIR,
|
175 |
+
),
|
176 |
+
)
|
177 |
+
?>
|
178 |
+
<br>
|
179 |
+
<table class="widefat">
|
180 |
+
<thead>
|
181 |
+
<tr>
|
182 |
+
<th><?php fs_esc_html_echo_inline( 'Key', 'key' ) ?></th>
|
183 |
+
<th><?php fs_esc_html_echo_inline( 'Value', 'value' ) ?></th>
|
184 |
+
</tr>
|
185 |
+
</thead>
|
186 |
+
<tbody>
|
187 |
+
<?php $alternate = false;
|
188 |
+
foreach ( $defines as $p ) : ?>
|
189 |
+
<tr<?php if ( $alternate ) {
|
190 |
+
echo ' class="alternate"';
|
191 |
+
} ?>>
|
192 |
+
<td><?php echo $p['key'] ?></td>
|
193 |
+
<td><?php echo $p['val'] ?></td>
|
194 |
+
</tr>
|
195 |
+
<?php $alternate = ! $alternate ?>
|
196 |
+
<?php endforeach ?>
|
197 |
+
</tbody>
|
198 |
+
</table>
|
199 |
+
<h2><?php fs_esc_html_echo_x_inline( 'SDK Versions', 'as software development kit versions', 'sdk-versions' ) ?></h2>
|
200 |
+
<table id="fs_sdks" class="widefat">
|
201 |
+
<thead>
|
202 |
+
<tr>
|
203 |
+
<th><?php fs_esc_html_echo_x_inline( 'Version', 'product version' ) ?></th>
|
204 |
+
<th><?php fs_esc_html_echo_inline( 'SDK Path' ) ?></th>
|
205 |
+
<th><?php fs_esc_html_echo_inline( 'Module Path' ) ?></th>
|
206 |
+
<th><?php fs_esc_html_echo_inline( 'Is Active' ) ?></th>
|
207 |
+
</tr>
|
208 |
+
</thead>
|
209 |
+
<tbody>
|
210 |
+
<?php foreach ( $fs_active_plugins->plugins as $sdk_path => $data ) : ?>
|
211 |
+
<?php $is_active = ( WP_FS__SDK_VERSION == $data->version ) ?>
|
212 |
+
<tr<?php if ( $is_active ) {
|
213 |
+
echo ' style="background: #E6FFE6; font-weight: bold"';
|
214 |
+
} ?>>
|
215 |
+
<td><?php echo $data->version ?></td>
|
216 |
+
<td><?php echo $sdk_path ?></td>
|
217 |
+
<td><?php echo $data->plugin_path ?></td>
|
218 |
+
<td><?php echo ( $is_active ) ? 'Active' : 'Inactive' ?></td>
|
219 |
+
</tr>
|
220 |
+
<?php endforeach ?>
|
221 |
+
</tbody>
|
222 |
+
</table>
|
223 |
+
|
224 |
+
<?php
|
225 |
+
$module_types = array(
|
226 |
+
WP_FS__MODULE_TYPE_PLUGIN,
|
227 |
+
WP_FS__MODULE_TYPE_THEME
|
228 |
+
);
|
229 |
+
?>
|
230 |
+
|
231 |
+
<?php foreach ( $module_types as $module_type ) : ?>
|
232 |
+
<?php $modules = $fs_options->get_option( $module_type . 's' ) ?>
|
233 |
+
<?php if ( is_array( $modules ) && count( $modules ) > 0 ) : ?>
|
234 |
+
<h2><?php echo esc_html( ( WP_FS__MODULE_TYPE_PLUGIN == $module_type ) ? fs_text_inline( 'Plugins', 'plugins' ) : fs_text_inline( 'Themes', 'themes' ) ) ?></h2>
|
235 |
+
<table id="fs_<?php echo $module_type ?>" class="widefat">
|
236 |
+
<thead>
|
237 |
+
<tr>
|
238 |
+
<th><?php fs_esc_html_echo_inline( 'ID', 'id' ) ?></th>
|
239 |
+
<th><?php fs_esc_html_echo_inline( 'Slug' ) ?></th>
|
240 |
+
<th><?php fs_esc_html_echo_x_inline( 'Version', 'product version' ) ?></th>
|
241 |
+
<th><?php fs_esc_html_echo_inline( 'Title' ) ?></th>
|
242 |
+
<th><?php fs_esc_html_echo_x_inline( 'API', 'as application program interface' ) ?></th>
|
243 |
+
<th><?php fs_esc_html_echo_inline( 'Freemius State' ) ?></th>
|
244 |
+
<th><?php fs_esc_html_echo_inline( 'Module Path' ) ?></th>
|
245 |
+
<th><?php fs_esc_html_echo_inline( 'Public Key' ) ?></th>
|
246 |
+
<?php if ( is_multisite() ) : ?>
|
247 |
+
<th><?php fs_esc_html_echo_inline( 'Network Blog' ) ?></th>
|
248 |
+
<th><?php fs_esc_html_echo_inline( 'Network User' ) ?></th>
|
249 |
+
<?php endif ?>
|
250 |
+
<th><?php fs_esc_html_echo_inline( 'Actions' ) ?></th>
|
251 |
+
</tr>
|
252 |
+
</thead>
|
253 |
+
<tbody>
|
254 |
+
<?php foreach ( $modules as $slug => $data ) : ?>
|
255 |
+
<?php
|
256 |
+
if ( WP_FS__MODULE_TYPE_THEME !== $module_type ) {
|
257 |
+
$is_active = is_plugin_active( $data->file );
|
258 |
+
} else {
|
259 |
+
$current_theme = wp_get_theme();
|
260 |
+
$is_active = ( $current_theme->stylesheet === $data->file );
|
261 |
+
|
262 |
+
if ( ! $is_active && is_child_theme() ) {
|
263 |
+
$parent_theme = $current_theme->parent();
|
264 |
+
|
265 |
+
$is_active = ( ( $parent_theme instanceof WP_Theme ) && $parent_theme->stylesheet === $data->file );
|
266 |
+
}
|
267 |
+
}
|
268 |
+
?>
|
269 |
+
<?php $fs = $is_active ? freemius( $data->id ) : null ?>
|
270 |
+
<tr<?php if ( $is_active ) {
|
271 |
+
if ( $fs->has_api_connectivity() && $fs->is_on() ) {
|
272 |
+
echo ' style="background: #E6FFE6; font-weight: bold"';
|
273 |
+
} else {
|
274 |
+
echo ' style="background: #ffd0d0; font-weight: bold"';
|
275 |
+
}
|
276 |
+
} ?>>
|
277 |
+
<td><?php echo $data->id ?></td>
|
278 |
+
<td><?php echo $slug ?></td>
|
279 |
+
<td><?php echo $data->version ?></td>
|
280 |
+
<td><?php echo $data->title ?></td>
|
281 |
+
<td<?php if ( $is_active && ! $fs->has_api_connectivity() ) {
|
282 |
+
echo ' style="color: red; text-transform: uppercase;"';
|
283 |
+
} ?>><?php if ( $is_active ) {
|
284 |
+
echo esc_html( $fs->has_api_connectivity() ?
|
285 |
+
fs_text_x_inline( 'Connected', 'as connection was successful' ) :
|
286 |
+
fs_text_x_inline( 'Blocked', 'as connection blocked' )
|
287 |
+
);
|
288 |
+
} ?></td>
|
289 |
+
<td<?php if ( $is_active && ! $fs->is_on() ) {
|
290 |
+
echo ' style="color: red; text-transform: uppercase;"';
|
291 |
+
} ?>><?php if ( $is_active ) {
|
292 |
+
echo esc_html( $fs->is_on() ?
|
293 |
+
$on_text :
|
294 |
+
$off_text
|
295 |
+
);
|
296 |
+
} ?></td>
|
297 |
+
<td><?php echo $data->file ?></td>
|
298 |
+
<td><?php echo $data->public_key ?></td>
|
299 |
+
<?php if ( is_multisite() ) : ?>
|
300 |
+
<?php
|
301 |
+
$network_blog_id = null;
|
302 |
+
$network_user = null;
|
303 |
+
|
304 |
+
if ( is_object( $fs ) ) {
|
305 |
+
$network_blog_id = $fs->get_network_install_blog_id();
|
306 |
+
$network_user = $fs->get_network_user();
|
307 |
+
}
|
308 |
+
?>
|
309 |
+
<td><?php echo is_numeric( $network_blog_id ) ? $network_blog_id : '' ?></td>
|
310 |
+
<td><?php if ( is_object( $network_user ) ) {
|
311 |
+
echo $network_user->email;
|
312 |
+
} ?></td>
|
313 |
+
<?php endif ?>
|
314 |
+
<td>
|
315 |
+
<?php if ( $is_active ) : ?>
|
316 |
+
<?php if ( $fs->has_trial_plan() ) : ?>
|
317 |
+
<form action="" method="POST">
|
318 |
+
<input type="hidden" name="fs_action" value="simulate_trial">
|
319 |
+
<input type="hidden" name="module_id" value="<?php echo $fs->get_id() ?>">
|
320 |
+
<?php wp_nonce_field( 'simulate_trial' ) ?>
|
321 |
+
|
322 |
+
<button type="submit" class="button button-primary simulate-trial"><?php fs_esc_html_echo_inline( 'Simulate Trial Promotion' ) ?></button>
|
323 |
+
</form>
|
324 |
+
<?php endif ?>
|
325 |
+
<?php if ( $fs->is_registered() ) : ?>
|
326 |
+
<a class="button" href="<?php echo $fs->get_account_url() ?>"><?php fs_esc_html_echo_inline( 'Account', 'account' ) ?></a>
|
327 |
+
<?php endif ?>
|
328 |
+
<?php if ( fs_is_network_admin() && ! $fs->is_network_upgrade_mode() ) : ?>
|
329 |
+
<form action="" method="POST">
|
330 |
+
<input type="hidden" name="fs_action" value="simulate_network_upgrade">
|
331 |
+
<input type="hidden" name="module_id" value="<?php echo $fs->get_id() ?>">
|
332 |
+
<?php wp_nonce_field( 'simulate_network_upgrade' ) ?>
|
333 |
+
|
334 |
+
<button type="submit" class="button button-small"><?php fs_esc_html_echo_inline( 'Simulate Network Upgrade' ) ?></button>
|
335 |
+
</form>
|
336 |
+
<?php endif ?>
|
337 |
+
<?php endif ?>
|
338 |
+
</td>
|
339 |
+
</tr>
|
340 |
+
<?php endforeach ?>
|
341 |
+
</tbody>
|
342 |
+
</table>
|
343 |
+
<?php endif ?>
|
344 |
+
<?php endforeach ?>
|
345 |
+
<?php foreach ( $module_types as $module_type ) : ?>
|
346 |
+
<?php
|
347 |
+
/**
|
348 |
+
* @var array $VARS
|
349 |
+
* @var array[string]FS_Site|array[string]FS_Site[] $sites_map
|
350 |
+
*/
|
351 |
+
$sites_map = $VARS[ $module_type . '_sites' ];
|
352 |
+
|
353 |
+
$is_multisite = is_multisite();
|
354 |
+
$all_plans = false;
|
355 |
+
$plans = false;
|
356 |
+
?>
|
357 |
+
<?php if ( is_array( $sites_map ) && count( $sites_map ) > 0 ) : ?>
|
358 |
+
<h2><?php echo esc_html( sprintf(
|
359 |
+
/* translators: %s: 'plugin' or 'theme' */
|
360 |
+
fs_text_inline( '%s Installs', 'module-installs' ),
|
361 |
+
( WP_FS__MODULE_TYPE_PLUGIN === $module_type ? fs_text_inline( 'Plugin', 'plugin' ) : fs_text_inline( 'Theme', 'theme' ) )
|
362 |
+
) ) ?> / <?php fs_esc_html_echo_x_inline( 'Sites', 'like websites', 'sites' ) ?></h2>
|
363 |
+
<table id="fs_<?php echo $module_type ?>_installs" class="widefat">
|
364 |
+
<thead>
|
365 |
+
<tr>
|
366 |
+
<th><?php fs_esc_html_echo_inline( 'ID', 'id' ) ?></th>
|
367 |
+
<?php if ( $is_multisite ) : ?>
|
368 |
+
<th><?php fs_esc_html_echo_inline( 'Blog ID' ) ?></th>
|
369 |
+
<th><?php fs_esc_html_echo_inline( 'Address' ) ?></th>
|
370 |
+
<?php endif ?>
|
371 |
+
<th><?php fs_esc_html_echo_inline( 'Slug' ) ?></th>
|
372 |
+
<th><?php fs_esc_html_echo_inline( 'User ID' ) ?></th>
|
373 |
+
<th><?php fs_esc_html_echo_x_inline( 'Plan', 'as product pricing plan', 'plan' ) ?></th>
|
374 |
+
<th><?php fs_esc_html_echo_inline( 'Public Key' ) ?></th>
|
375 |
+
<th><?php fs_esc_html_echo_inline( 'Secret Key' ) ?></th>
|
376 |
+
<th><?php fs_esc_html_echo_inline( 'Actions' ) ?></th>
|
377 |
+
</tr>
|
378 |
+
</thead>
|
379 |
+
<tbody>
|
380 |
+
<?php foreach ( $sites_map as $slug => $sites ) : ?>
|
381 |
+
<?php if ( ! is_array( $sites ) ) {
|
382 |
+
$sites = array( $sites );
|
383 |
+
} ?>
|
384 |
+
<?php foreach ( $sites as $site ) : ?>
|
385 |
+
<tr>
|
386 |
+
<td><?php echo $site->id ?></td>
|
387 |
+
<?php if ( $is_multisite ) : ?>
|
388 |
+
<td><?php echo $site->blog_id ?></td>
|
389 |
+
<td><?php echo fs_strip_url_protocol( $site->url ) ?></td>
|
390 |
+
<?php endif ?>
|
391 |
+
<td><?php echo $slug ?></td>
|
392 |
+
<td><?php echo $site->user_id ?></td>
|
393 |
+
<td><?php
|
394 |
+
$plan_name = '';
|
395 |
+
if ( FS_Plugin_Plan::is_valid_id( $site->plan_id ) ) {
|
396 |
+
if ( false === $all_plans ) {
|
397 |
+
$option_name = 'plans';
|
398 |
+
if ( WP_FS__MODULE_TYPE_PLUGIN !== $module_type ) {
|
399 |
+
$option_name = $module_type . '_' . $option_name;
|
400 |
+
}
|
401 |
+
|
402 |
+
$all_plans = $fs_options->get_option( $option_name, array() );
|
403 |
+
}
|
404 |
+
|
405 |
+
if ( false === $plans ) {
|
406 |
+
$plans = $all_plans[ $slug ];
|
407 |
+
}
|
408 |
+
|
409 |
+
foreach ( $plans as $plan ) {
|
410 |
+
$plan_id = Freemius::_decrypt( $plan->id );
|
411 |
+
|
412 |
+
if ( $site->plan_id == $plan_id ) {
|
413 |
+
$plan_name = Freemius::_decrypt( $plan->name );
|
414 |
+
break;
|
415 |
+
}
|
416 |
+
}
|
417 |
+
}
|
418 |
+
|
419 |
+
echo $plan_name;
|
420 |
+
?></td>
|
421 |
+
<td><?php echo $site->public_key ?></td>
|
422 |
+
<td><?php echo esc_html( $site->secret_key ) ?></td>
|
423 |
+
<td>
|
424 |
+
<form action="" method="POST">
|
425 |
+
<input type="hidden" name="fs_action" value="delete_install">
|
426 |
+
<?php wp_nonce_field( 'delete_install' ) ?>
|
427 |
+
<input type="hidden" name="module_id" value="<?php echo $site->plugin_id ?>">
|
428 |
+
<?php if ( $is_multisite ) : ?>
|
429 |
+
<input type="hidden" name="blog_id" value="<?php echo $site->blog_id ?>">
|
430 |
+
<?php endif ?>
|
431 |
+
<input type="hidden" name="module_type" value="<?php echo $module_type ?>">
|
432 |
+
<input type="hidden" name="slug" value="<?php echo $slug ?>">
|
433 |
+
<button type="submit" class="button"><?php fs_esc_html_echo_x_inline( 'Delete', 'verb', 'delete' ) ?></button>
|
434 |
+
</form>
|
435 |
+
</td>
|
436 |
+
</tr>
|
437 |
+
<?php endforeach ?>
|
438 |
+
<?php endforeach ?>
|
439 |
+
</tbody>
|
440 |
+
</table>
|
441 |
+
<?php endif ?>
|
442 |
+
<?php endforeach ?>
|
443 |
+
<?php
|
444 |
+
$addons = $VARS['addons'];
|
445 |
+
?>
|
446 |
+
<?php foreach ( $addons as $plugin_id => $plugin_addons ) : ?>
|
447 |
+
<h2><?php echo esc_html( sprintf( fs_text_inline( 'Add Ons of module %s', 'addons-of-x' ), $plugin_id ) ) ?></h2>
|
448 |
+
<table id="fs_addons" class="widefat">
|
449 |
+
<thead>
|
450 |
+
<tr>
|
451 |
+
<th><?php fs_esc_html_echo_inline( 'ID', 'id' ) ?></th>
|
452 |
+
<th><?php fs_esc_html_echo_inline( 'Title' ) ?></th>
|
453 |
+
<th><?php fs_esc_html_echo_inline( 'Slug' ) ?></th>
|
454 |
+
<th><?php fs_esc_html_echo_x_inline( 'Version', 'product version' ) ?></th>
|
455 |
+
<th><?php fs_esc_html_echo_inline( 'Public Key' ) ?></th>
|
456 |
+
<th><?php fs_esc_html_echo_inline( 'Secret Key' ) ?></th>
|
457 |
+
</tr>
|
458 |
+
</thead>
|
459 |
+
<tbody>
|
460 |
+
<?php
|
461 |
+
/**
|
462 |
+
* @var FS_Plugin[] $plugin_addons
|
463 |
+
*/
|
464 |
+
foreach ( $plugin_addons as $addon ) : ?>
|
465 |
+
<tr>
|
466 |
+
<td><?php echo $addon->id ?></td>
|
467 |
+
<td><?php echo $addon->title ?></td>
|
468 |
+
<td><?php echo $addon->slug ?></td>
|
469 |
+
<td><?php echo $addon->version ?></td>
|
470 |
+
<td><?php echo $addon->public_key ?></td>
|
471 |
+
<td><?php echo esc_html( $addon->secret_key ) ?></td>
|
472 |
+
</tr>
|
473 |
+
<?php endforeach ?>
|
474 |
+
</tbody>
|
475 |
+
</table>
|
476 |
+
<?php endforeach ?>
|
477 |
+
<?php
|
478 |
+
/**
|
479 |
+
* @var FS_User[] $users
|
480 |
+
*/
|
481 |
+
$users = $VARS['users'];
|
482 |
+
?>
|
483 |
+
<?php if ( is_array( $users ) && 0 < count( $users ) ) : ?>
|
484 |
+
<h2><?php fs_esc_html_echo_inline( 'Users' ) ?></h2>
|
485 |
+
<table id="fs_users" class="widefat">
|
486 |
+
<thead>
|
487 |
+
<tr>
|
488 |
+
<th><?php fs_esc_html_echo_inline( 'ID', 'id' ) ?></th>
|
489 |
+
<th><?php fs_esc_html_echo_inline( 'Name' ) ?></th>
|
490 |
+
<th><?php fs_esc_html_echo_inline( 'Email' ) ?></th>
|
491 |
+
<th><?php fs_esc_html_echo_inline( 'Verified' ) ?></th>
|
492 |
+
<th><?php fs_esc_html_echo_inline( 'Public Key' ) ?></th>
|
493 |
+
<th><?php fs_esc_html_echo_inline( 'Secret Key' ) ?></th>
|
494 |
+
<th><?php fs_esc_html_echo_inline( 'Actions' ) ?></th>
|
495 |
+
</tr>
|
496 |
+
</thead>
|
497 |
+
<tbody>
|
498 |
+
<?php foreach ( $users as $user_id => $user ) : ?>
|
499 |
+
<tr>
|
500 |
+
<td><?php echo $user->id ?></td>
|
501 |
+
<td><?php echo $user->get_name() ?></td>
|
502 |
+
<td><a href="mailto:<?php echo esc_attr( $user->email ) ?>"><?php echo $user->email ?></a></td>
|
503 |
+
<td><?php echo json_encode( $user->is_verified ) ?></td>
|
504 |
+
<td><?php echo $user->public_key ?></td>
|
505 |
+
<td><?php echo esc_html( $user->secret_key ) ?></td>
|
506 |
+
<td>
|
507 |
+
<form action="" method="POST">
|
508 |
+
<input type="hidden" name="fs_action" value="delete_user">
|
509 |
+
<?php wp_nonce_field( 'delete_user' ) ?>
|
510 |
+
<input type="hidden" name="user_id" value="<?php echo $user->id ?>">
|
511 |
+
<button type="submit" class="button"><?php fs_esc_html_echo_x_inline( 'Delete', 'verb', 'delete' ) ?></button>
|
512 |
+
</form>
|
513 |
+
</td>
|
514 |
+
</tr>
|
515 |
+
<?php endforeach ?>
|
516 |
+
</tbody>
|
517 |
+
</table>
|
518 |
+
<?php endif ?>
|
519 |
+
<?php foreach ( $module_types as $module_type ) : ?>
|
520 |
+
<?php $licenses = $VARS[ $module_type . '_licenses' ] ?>
|
521 |
+
<?php if ( is_array( $licenses ) && count( $licenses ) > 0 ) : ?>
|
522 |
+
<h2><?php echo esc_html( sprintf( fs_text_inline( '%s Licenses', 'module-licenses' ), ( WP_FS__MODULE_TYPE_PLUGIN === $module_type ? fs_text_inline( 'Plugin', 'plugin' ) : fs_text_inline( 'Theme', 'theme' ) ) ) ) ?></h2>
|
523 |
+
<table id="fs_<?php echo $module_type ?>_licenses" class="widefat">
|
524 |
+
<thead>
|
525 |
+
<tr>
|
526 |
+
<th><?php fs_esc_html_echo_inline( 'ID', 'id' ) ?></th>
|
527 |
+
<th><?php fs_esc_html_echo_inline( 'Plugin ID' ) ?></th>
|
528 |
+
<th><?php fs_esc_html_echo_inline( 'User ID' ) ?></th>
|
529 |
+
<th><?php fs_esc_html_echo_inline( 'Plan ID' ) ?></th>
|
530 |
+
<th><?php fs_esc_html_echo_inline( 'Quota' ) ?></th>
|
531 |
+
<th><?php fs_esc_html_echo_inline( 'Activated' ) ?></th>
|
532 |
+
<th><?php fs_esc_html_echo_inline( 'Blocking' ) ?></th>
|
533 |
+
<th><?php fs_esc_html_echo_inline( 'License Key' ) ?></th>
|
534 |
+
<th><?php fs_esc_html_echo_x_inline( 'Expiration', 'as expiration date' ) ?></th>
|
535 |
+
</tr>
|
536 |
+
</thead>
|
537 |
+
<tbody>
|
538 |
+
<?php foreach ( $licenses as $license ) : ?>
|
539 |
+
<tr>
|
540 |
+
<td><?php echo $license->id ?></td>
|
541 |
+
<td><?php echo $license->plugin_id ?></td>
|
542 |
+
<td><?php echo $license->user_id ?></td>
|
543 |
+
<td><?php echo $license->plan_id ?></td>
|
544 |
+
<td><?php echo $license->is_unlimited() ? 'Unlimited' : ( $license->is_single_site() ? 'Single Site' : $license->quota ) ?></td>
|
545 |
+
<td><?php echo $license->activated ?></td>
|
546 |
+
<td><?php echo $license->is_block_features ? 'Blocking' : 'Flexible' ?></td>
|
547 |
+
<td><?php echo esc_html( $license->secret_key ) ?></td>
|
548 |
+
<td><?php echo $license->expiration ?></td>
|
549 |
+
</tr>
|
550 |
+
<?php endforeach ?>
|
551 |
+
</tbody>
|
552 |
+
</table>
|
553 |
+
<?php endif ?>
|
554 |
+
<?php endforeach ?>
|
555 |
+
<?php if ( FS_Logger::is_storage_logging_on() ) : ?>
|
556 |
+
|
557 |
+
<h2><?php fs_esc_html_echo_inline( 'Debug Log', 'debug-log' ) ?></h2>
|
558 |
+
|
559 |
+
<div id="fs_debug_filters">
|
560 |
+
<select name="type">
|
561 |
+
<option value="" selected="selected"><?php fs_esc_html_echo_inline( 'All Types', 'all-types' ) ?></option>
|
562 |
+
<option value="warn_error">Warnings & Errors</option>
|
563 |
+
<option value="error">Errors</option>
|
564 |
+
<option value="warn">Warnings</option>
|
565 |
+
<option value="info">Info</option>
|
566 |
+
</select>
|
567 |
+
<select name="request_type">
|
568 |
+
<option value="" selected="selected"><?php fs_esc_html_echo_inline( 'All Requests', 'all-requests' ) ?></option>
|
569 |
+
<option value="call">Sync</option>
|
570 |
+
<option value="ajax">AJAX</option>
|
571 |
+
<option value="cron">WP Cron</option>
|
572 |
+
</select>
|
573 |
+
<input name="file" type="text" placeholder="<?php fs_esc_attr_echo_inline( 'File' ) ?>"/>
|
574 |
+
<input name="function" type="text" placeholder="<?php fs_esc_attr_echo_inline( 'Function' ) ?>"/>
|
575 |
+
<input name="process_id" type="text" placeholder="<?php fs_esc_attr_echo_inline( 'Process ID' ) ?>"/>
|
576 |
+
<input name="logger" type="text" placeholder="<?php fs_esc_attr_echo_inline( 'Logger' ) ?>"/>
|
577 |
+
<input name="message" type="text" placeholder="<?php fs_esc_attr_echo_inline( 'Message' ) ?>"/>
|
578 |
+
<div style="margin: 10px 0">
|
579 |
+
<button id="fs_filter" class="button" style="float: left"><i class="dashicons dashicons-filter"></i> <?php fs_esc_html_echo_inline( 'Filter', 'filter' ) ?>
|
580 |
+
</button>
|
581 |
+
|
582 |
+
<form action="" method="POST" style="float: left; margin-left: 10px;">
|
583 |
+
<input type="hidden" name="fs_action" value="download_logs">
|
584 |
+
<?php wp_nonce_field( 'download_logs' ) ?>
|
585 |
+
<div class="fs-filters"></div>
|
586 |
+
<button id="fs_download" class="button" type="submit"><i
|
587 |
+
class="dashicons dashicons-download"></i> <?php fs_esc_html_echo_inline( 'Download' ) ?></button>
|
588 |
+
</form>
|
589 |
+
<div style="clear: both"></div>
|
590 |
+
</div>
|
591 |
+
</div>
|
592 |
+
|
593 |
+
<div id="fs_log_book" style="height: 300px; overflow: auto;">
|
594 |
+
<table class="widefat">
|
595 |
+
<thead>
|
596 |
+
<tr>
|
597 |
+
<th>#</th>
|
598 |
+
<th><?php fs_esc_html_echo_inline( 'Type' ) ?></th>
|
599 |
+
<th><?php fs_esc_html_echo_inline( 'ID', 'id' ) ?></th>
|
600 |
+
<th><?php fs_esc_html_echo_inline( 'Function' ) ?></th>
|
601 |
+
<th><?php fs_esc_html_echo_inline( 'Message' ) ?></th>
|
602 |
+
<th><?php fs_esc_html_echo_inline( 'File' ) ?></th>
|
603 |
+
<th><?php fs_esc_html_echo_inline( 'Timestamp' ) ?></th>
|
604 |
+
</tr>
|
605 |
+
</thead>
|
606 |
+
<tbody>
|
607 |
+
<tr style="display: none">
|
608 |
+
<td>{$log.log_order}.</td>
|
609 |
+
<td class="fs-col--type">{$log.type}</td>
|
610 |
+
<td class="fs-col--logger">{$log.logger}</td>
|
611 |
+
<td class="fs-col--function">{$log.function}</td>
|
612 |
+
<td class="fs-col--message">
|
613 |
+
<a href="#" onclick="jQuery(this).parent().find('div').toggle(); return false;">
|
614 |
+
<nobr>{$log.message_short}</nobr>
|
615 |
+
</a>
|
616 |
+
<div style="display: none;">{$log.message}</div>
|
617 |
+
</td>
|
618 |
+
<td class="fs-col--file">{$log.file}:{$log.line}</td>
|
619 |
+
<td class="fs-col--timestamp">{$log.created}</td>
|
620 |
+
</tr>
|
621 |
+
|
622 |
+
</tbody>
|
623 |
+
</table>
|
624 |
+
</div>
|
625 |
+
<script type="text/javascript">
|
626 |
+
jQuery(document).ready(function ($) {
|
627 |
+
var filtersChanged = false,
|
628 |
+
offset = 0,
|
629 |
+
limit = 200,
|
630 |
+
prevFiltersSignature = null;
|
631 |
+
|
632 |
+
var getFilters = function () {
|
633 |
+
var filters = {},
|
634 |
+
signature = '';
|
635 |
+
|
636 |
+
$('#fs_debug_filters').find('select, input').each(function (i, e) {
|
637 |
+
var $element = $(e);
|
638 |
+
|
639 |
+
if ('hidden' === $element.attr('type'))
|
640 |
+
return;
|
641 |
+
|
642 |
+
var val = $element.val();
|
643 |
+
if ('' !== val.trim()) {
|
644 |
+
var name = $(e).attr('name');
|
645 |
+
filters[name] = val;
|
646 |
+
signature += name + '=' + val + '~';
|
647 |
+
}
|
648 |
+
});
|
649 |
+
|
650 |
+
if (signature != prevFiltersSignature) {
|
651 |
+
filtersChanged = true;
|
652 |
+
prevFiltersSignature = signature;
|
653 |
+
} else {
|
654 |
+
filtersChanged = false;
|
655 |
+
}
|
656 |
+
|
657 |
+
return filters;
|
658 |
+
};
|
659 |
+
|
660 |
+
$('#fs_download').parent().submit(function () {
|
661 |
+
var filters = getFilters(),
|
662 |
+
hiddenFields = '';
|
663 |
+
|
664 |
+
for (var f in filters) {
|
665 |
+
if (filters.hasOwnProperty(f)) {
|
666 |
+
hiddenFields += '<input type="hidden" name="filters[' + f + ']" value="' + filters[f] + '" />';
|
667 |
+
}
|
668 |
+
}
|
669 |
+
|
670 |
+
$(this).find('.fs-filters').html(hiddenFields);
|
671 |
+
});
|
672 |
+
|
673 |
+
var loadLogs = function () {
|
674 |
+
var $tbody = $('#fs_log_book tbody'),
|
675 |
+
template = $tbody.find('tr:first-child').html(),
|
676 |
+
filters = getFilters();
|
677 |
+
|
678 |
+
if (!filtersChanged) {
|
679 |
+
offset += limit;
|
680 |
+
} else {
|
681 |
+
// Cleanup table for new filter (only keep template row).
|
682 |
+
$tbody.find('tr').each(function (i, e) {
|
683 |
+
if (0 == i)
|
684 |
+
return;
|
685 |
+
|
686 |
+
$(e).remove();
|
687 |
+
});
|
688 |
+
|
689 |
+
offset = 0;
|
690 |
+
}
|
691 |
+
|
692 |
+
$.post(ajaxurl, {
|
693 |
+
action : 'fs_get_debug_log',
|
694 |
+
filters: filters,
|
695 |
+
offset : offset,
|
696 |
+
limit : limit
|
697 |
+
}, function (response) {
|
698 |
+
|
699 |
+
for (var i = 0; i < response.data.length; i++) {
|
700 |
+
var templateCopy = template;
|
701 |
+
|
702 |
+
response.data[i].message_short = (response.data[i].message.length > 32) ?
|
703 |
+
response.data[i].message.substr(0, 32) + '...' :
|
704 |
+
response.data[i].message;
|
705 |
+
|
706 |
+
for (var p in response.data[i]) {
|
707 |
+
if (response.data[i].hasOwnProperty(p)) {
|
708 |
+
templateCopy = templateCopy.replace('{$log.' + p + '}', response.data[i][p]);
|
709 |
+
}
|
710 |
+
}
|
711 |
+
|
712 |
+
$tbody.append('<tr' + (i % 2 ? ' class="alternate"' : '') + '>' + templateCopy + '</tr>');
|
713 |
+
}
|
714 |
+
});
|
715 |
+
};
|
716 |
+
|
717 |
+
$('#fs_filter').click(function () {
|
718 |
+
loadLogs();
|
719 |
+
|
720 |
+
return false;
|
721 |
+
});
|
722 |
+
|
723 |
+
loadLogs();
|
724 |
+
});
|
725 |
+
</script>
|
726 |
+
<?php endif ?>
|
gutenberg/class-foogallery-blocks.php
CHANGED
@@ -12,9 +12,6 @@ if ( ! class_exists( 'FooGallery_Blocks' ) ) {
|
|
12 |
class FooGallery_Blocks {
|
13 |
|
14 |
function __construct() {
|
15 |
-
//Frontend block assets.
|
16 |
-
add_action( 'enqueue_block_assets', array( $this, 'enqueue_block_assets' ) );
|
17 |
-
|
18 |
//Backend editor block assets.
|
19 |
add_action( 'enqueue_block_editor_assets', array( $this, 'enqueue_block_editor_assets' ) );
|
20 |
|
@@ -113,26 +110,6 @@ if ( ! class_exists( 'FooGallery_Blocks' ) ) {
|
|
113 |
return apply_filters( 'foogallery_gutenberg_edit_gallery_url', $link );
|
114 |
}
|
115 |
|
116 |
-
/**
|
117 |
-
* Enqueue Gutenberg block assets for both frontend + backend.
|
118 |
-
*
|
119 |
-
* `wp-blocks`: includes block type registration and related functions.
|
120 |
-
*
|
121 |
-
* @since 1.0.0
|
122 |
-
*/
|
123 |
-
function enqueue_block_assets() {
|
124 |
-
if ( !apply_filters( 'foogallery_gutenberg_enabled', true ) ) {
|
125 |
-
return;
|
126 |
-
}
|
127 |
-
|
128 |
-
// Styles.
|
129 |
-
wp_enqueue_style(
|
130 |
-
'foogallery-block-css',
|
131 |
-
plugins_url( 'gutenberg/dist/blocks.style.build.css', dirname( __FILE__ ) ),
|
132 |
-
array( 'wp-blocks' )
|
133 |
-
);
|
134 |
-
}
|
135 |
-
|
136 |
/**
|
137 |
* Register our block and shortcode.
|
138 |
*/
|
12 |
class FooGallery_Blocks {
|
13 |
|
14 |
function __construct() {
|
|
|
|
|
|
|
15 |
//Backend editor block assets.
|
16 |
add_action( 'enqueue_block_editor_assets', array( $this, 'enqueue_block_editor_assets' ) );
|
17 |
|
110 |
return apply_filters( 'foogallery_gutenberg_edit_gallery_url', $link );
|
111 |
}
|
112 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
/**
|
114 |
* Register our block and shortcode.
|
115 |
*/
|
gutenberg/dist/blocks.build.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=3)}([function(e,t,n){"use strict";var r=n(11);n.d(t,"c",function(){return r.a});var o=n(17);n.d(t,"a",function(){return o.a});var a=n(18);n.d(t,"b",function(){return a.a});var i=n(2);n.d(t,"d",function(){return i.a});var l=n(20);n.d(t,"e",function(){return l.a})},function(e,t,n){var r,o;!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var l in r)a.call(r,l)&&r[l]&&e.push(l)}}return e.join(" ")}var a={}.hasOwnProperty;"undefined"!==typeof e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){"use strict";function r(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function i(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=n(1),c=n.n(l),u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),f=(wp.i18n.__,wp.element.Component),p=wp.components.Placeholder,y=function(e){function t(){return o(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),s(t,[{key:"render",value:function(){var e=this.props,t=e.className,n=e.children,o=r(e,["className","children"]);return wp.element.createElement(p,u({className:c()("editor-media-placeholder",t)},o),n)}}]),t}(f);t.a=y},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(4)},function(e,t,n){"use strict";var r=n(5),o=(n.n(r),n(6)),a=(n.n(o),n(7)),i=wp.i18n.__;(0,wp.blocks.registerBlockType)("fooplugins/foogallery",{title:i("FooGallery"),description:i("Insert a FooGallery into your content"),icon:"format-gallery",category:"common",keywords:[i("foogallery"),i("gallery")],supports:{multiple:!0,html:!1},attributes:{id:{type:"number",default:0}},edit:function(e){return wp.element.createElement(a.a,e)},save:function(){return null}})},function(e,t){},function(e,t){},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var i=n(8),l=n(9),c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=wp.i18n.sprintf,f=wp.data.dispatch,p=wp.element.Component,y=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state={isModalOpen:!1,reload:!1},e.showModal=e.showModal.bind(e),e.closeModal=e.closeModal.bind(e),e.insertGallery=e.insertGallery.bind(e),e.editGallery=e.editGallery.bind(e),e.reloadGallery=e.reloadGallery.bind(e),e.removeBlock=e.removeBlock.bind(e),e}return a(t,e),u(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.clientId,n=e.attributes.id;0!=n&&i.a.add(n,t)}},{key:"componentWillUnmount",value:function(){var e=this.props,t=e.clientId;0!=e.attributes.id&&i.a.remove(t)}},{key:"showModal",value:function(){this.setState({isModalOpen:!0})}},{key:"closeModal",value:function(){this.setState({isModalOpen:!1})}},{key:"insertGallery",value:function(e){var t=this.props,n=t.clientId,r=t.setAttributes;i.a.update(e,n),r({id:e})}},{key:"editGallery",value:function(){var e=this.props.attributes.id,t=s("/wp-admin/post.php?post=%s&action=edit",e);window.open(t,"_blank")}},{key:"reloadGallery",value:function(){var e=this.state.reload;this.setState({reload:!e})}},{key:"removeBlock",value:function(){var e=this.props.clientId;f("core/editor").removeBlock(e)}},{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.clientId,r=this.state,o=r.isModalOpen,a=r.reload,u={disable:i.a.ids(),isModalOpen:o,onRequestModalOpen:this.showModal,onRequestModalClose:this.closeModal,onRequestBlockRemove:this.removeBlock,onRequestGalleryInsert:this.insertGallery,onRequestGalleryEdit:this.editGallery,onRequestGalleryReload:this.reloadGallery};return i.a.contains(t.id,n)?wp.element.createElement(l.a,u):t.id?wp.element.createElement(l.c,c({attributes:t,reload:a},u)):wp.element.createElement(l.b,u)}}]),t}(p);t.a=y,y.defaultProps={}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=[],i=function(){function e(){r(this,e)}return o(e,null,[{key:"add",value:function(e,t){return-1===a.findIndex(function(t){return t.id==e})&&(a.push({id:e,clientId:t}),!0)}},{key:"remove",value:function(e){var t=a.findIndex(function(t){return t.clientId==e});return-1!==t?(a.splice(t,1),!0):-1===t||!1}},{key:"update",value:function(e,t){return!!this.remove(t)&&this.add(e,t)}},{key:"ids",value:function(){return a.map(function(e){return e.id})}},{key:"contains",value:function(e,t){return-1!==a.findIndex(function(n){return n.id==e&&n.clientId!=t})}},{key:"array",get:function(){return a}}]),e}();t.a=i},function(e,t,n){"use strict";var r=n(10);n.d(t,"b",function(){return r.a});var o=n(21);n.d(t,"a",function(){return o.a});var a=n(22);n.d(t,"c",function(){return a.a})},function(e,t,n){"use strict";function r(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function i(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=n(0),c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=wp.i18n.__,s=wp.element,f=s.Component,p=s.Fragment,y=wp.components.Button,d=function(e){function t(){return o(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),c(t,[{key:"render",value:function(){var e=this.props,t=e.icon,n=e.label,o=e.instructions,a=e.button,i=r(e,["icon","label","instructions","button"]),c={icon:t,label:n,instructions:o};return wp.element.createElement(p,null,wp.element.createElement(l.a,i),wp.element.createElement(l.d,c,wp.element.createElement(y,{isDefault:!0,isLarge:!0,onClick:i.onRequestModalOpen},a)),wp.element.createElement(l.c,i),wp.element.createElement(l.b,i))}}]),t}(f);t.a=d,d.defaultProps={icon:"format-gallery",label:u("FooGallery","foogallery"),instructions:u("Select the gallery you want to insert.","foogallery"),button:u("Select Gallery","foogallery"),onRequestModalOpen:_.noop}},function(e,t,n){"use strict";function r(e){return function(){var t=e.apply(this,arguments);return new Promise(function(e,n){function r(o,a){try{var i=t[o](a),l=i.value}catch(e){return void n(e)}if(!i.done)return Promise.resolve(l).then(function(e){r("next",e)},function(e){r("throw",e)});e(l)}return r("next")})}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function i(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=n(12),c=n.n(l),u=n(15),s=(n.n(u),n(1)),f=n.n(s),p=n(16),y=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),d=wp.i18n.__,h=wp.element.Component,m=wp.components,b=m.Button,v=m.IconButton,w=m.Placeholder,g=m.Modal,O=m.Spinner,E=function(e){function t(){o(this,t);var e=a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state={id:e.props.currentId,data:null,isLoading:!1},e.onReloadClick=e.onReloadClick.bind(e),e.onInsertClick=e.onInsertClick.bind(e),e}return i(t,e),y(t,[{key:"fetchGalleries",value:function(){function e(){return t.apply(this,arguments)}var t=r(c.a.mark(function e(){var t;return c.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.setState({isLoading:!0}),e.next=3,wp.apiFetch({path:"/foogallery/v1/galleries/"});case 3:t=e.sent,this.setState({data:t,isLoading:!1});case 5:case"end":return e.stop()}},e,this)}));return e}()},{key:"onReloadClick",value:function(e){e.stopPropagation(),this.setState({data:null})}},{key:"onInsertClick",value:function(e){e.stopPropagation();var t=this.props,n=t.onRequestModalClose,r=t.onRequestGalleryInsert,o=this.state.id;0!=o&&(r(o),n())}},{key:"render",value:function(){var e=this.props,t=e.isModalOpen,n=e.className,r=e.title,o=e.insert,a=e.reload,i=e.onRequestModalClose;if(!t)return null;var l=this.state,c=l.id,u=l.isLoading;return wp.element.createElement(g,{className:f()("foogallery-modal",n),title:r,onRequestClose:i},wp.element.createElement("div",{className:"foogallery-modal__content"},wp.element.createElement("div",{className:"foogallery-modal__content-container"},this.renderContent())),wp.element.createElement("div",{className:"foogallery-modal__footer"},wp.element.createElement("div",{className:"foogallery-modal__footer-container"},wp.element.createElement(v,{isDefault:!0,icon:"update",label:a,onClick:this.onReloadClick,disabled:u}),"\xa0",wp.element.createElement(b,{isPrimary:!0,onClick:this.onInsertClick,disabled:0==c},o))))}},{key:"renderContent",value:function(){var e=this.props,t=e.disable,n=e.empty,r=e.loading,o=this.state,a=o.id,i=o.data,l=o.isLoading;if(null===i&&!l)return this.fetchGalleries(),null;if(l)return wp.element.createElement(w,{className:"foogallery-modal__content-placeholder",instructions:r},wp.element.createElement(O,null));if(null===i||!i.length)return wp.element.createElement(w,{className:"foogallery-modal__content-placeholder",instructions:n});var c=this;return i.map(function(e){return wp.element.createElement(p.a,{data:e,isSelected:a==e.id,isDisabled:-1!==t.indexOf(e.id),onSelected:function(e){c.setState({id:e})}})})}}]),t}(h);t.a=E,E.defaultProps={currentId:0,isModalOpen:!1,className:"",title:d("Select the gallery you want to insert"),empty:d("No galleries found!"),insert:d("Insert Gallery"),reload:d("Reload Galleries"),loading:d("Loading galleries please wait..."),disable:[],onRequestGalleryInsert:_.noop,onRequestModalClose:_.noop}},function(e,t,n){e.exports=n(13)},function(e,t,n){var r=function(){return this}()||Function("return this")(),o=r.regeneratorRuntime&&Object.getOwnPropertyNames(r).indexOf("regeneratorRuntime")>=0,a=o&&r.regeneratorRuntime;if(r.regeneratorRuntime=void 0,e.exports=n(14),o)r.regeneratorRuntime=a;else try{delete r.regeneratorRuntime}catch(e){r.regeneratorRuntime=void 0}},function(e,t){!function(t){"use strict";function n(e,t,n,r){var a=t&&t.prototype instanceof o?t:o,i=Object.create(a.prototype),l=new y(r||[]);return i._invoke=u(e,n,l),i}function r(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function o(){}function a(){}function i(){}function l(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function c(e){function t(n,o,a,i){var l=r(e[n],e,o);if("throw"!==l.type){var c=l.arg,u=c.value;return u&&"object"===typeof u&&v.call(u,"__await")?Promise.resolve(u.__await).then(function(e){t("next",e,a,i)},function(e){t("throw",e,a,i)}):Promise.resolve(u).then(function(e){c.value=e,a(c)},i)}i(l.arg)}function n(e,n){function r(){return new Promise(function(r,o){t(e,n,r,o)})}return o=o?o.then(r,r):r()}var o;this._invoke=n}function u(e,t,n){var o=k;return function(a,i){if(o===R)throw new Error("Generator is already running");if(o===x){if("throw"===a)throw i;return h()}for(n.method=a,n.arg=i;;){var l=n.delegate;if(l){var c=s(l,n);if(c){if(c===C)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===k)throw o=x,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=R;var u=r(e,t,n);if("normal"===u.type){if(o=n.done?x:P,u.arg===C)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=x,n.method="throw",n.arg=u.arg)}}}function s(e,t){var n=e.iterator[t.method];if(n===m){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=m,s(e,t),"throw"===t.method))return C;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return C}var o=r(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,C;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=m),t.delegate=null,C):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,C)}function f(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function p(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function y(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(f,this),this.reset(!0)}function d(e){if(e){var t=e[g];if(t)return t.call(e);if("function"===typeof e.next)return e;if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n<e.length;)if(v.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=m,t.done=!0,t};return r.next=r}}return{next:h}}function h(){return{value:m,done:!0}}var m,b=Object.prototype,v=b.hasOwnProperty,w="function"===typeof Symbol?Symbol:{},g=w.iterator||"@@iterator",_=w.asyncIterator||"@@asyncIterator",O=w.toStringTag||"@@toStringTag",E="object"===typeof e,j=t.regeneratorRuntime;if(j)return void(E&&(e.exports=j));j=t.regeneratorRuntime=E?e.exports:{},j.wrap=n;var k="suspendedStart",P="suspendedYield",R="executing",x="completed",C={},G={};G[g]=function(){return this};var L=Object.getPrototypeOf,S=L&&L(L(d([])));S&&S!==b&&v.call(S,g)&&(G=S);var M=i.prototype=o.prototype=Object.create(G);a.prototype=M.constructor=i,i.constructor=a,i[O]=a.displayName="GeneratorFunction",j.isGeneratorFunction=function(e){var t="function"===typeof e&&e.constructor;return!!t&&(t===a||"GeneratorFunction"===(t.displayName||t.name))},j.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,i):(e.__proto__=i,O in e||(e[O]="GeneratorFunction")),e.prototype=Object.create(M),e},j.awrap=function(e){return{__await:e}},l(c.prototype),c.prototype[_]=function(){return this},j.AsyncIterator=c,j.async=function(e,t,r,o){var a=new c(n(e,t,r,o));return j.isGeneratorFunction(t)?a:a.next().then(function(e){return e.done?e.value:a.next()})},l(M),M[O]="Generator",M[g]=function(){return this},M.toString=function(){return"[object Generator]"},j.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},j.values=d,y.prototype={constructor:y,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=m,this.done=!1,this.delegate=null,this.method="next",this.arg=m,this.tryEntries.forEach(p),!e)for(var t in this)"t"===t.charAt(0)&&v.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=m)},stop:function(){this.done=!0;var e=this.tryEntries[0],t=e.completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){function t(t,r){return a.type="throw",a.arg=e,n.next=t,r&&(n.method="next",n.arg=m),!!r}if(this.done)throw e;for(var n=this,r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if("root"===o.tryLoc)return t("end");if(o.tryLoc<=this.prev){var i=v.call(o,"catchLoc"),l=v.call(o,"finallyLoc");if(i&&l){if(this.prev<o.catchLoc)return t(o.catchLoc,!0);if(this.prev<o.finallyLoc)return t(o.finallyLoc)}else if(i){if(this.prev<o.catchLoc)return t(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return t(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&v.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,C):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),C},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),p(n),C}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;p(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:d(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=m),C}}}(function(){return this}()||Function("return this")())},function(e,t){},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var i=n(1),l=n.n(i),c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=wp.components.Dashicon,f=wp.element.Component,p=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:"render",value:function(){var e=this.props,t=e.data,n=e.className,r=e.isSelected,o=e.isDisabled,a=e.onSelected,i={className:l()("foogallery-modal__item",n,{"is-selected":r,"is-disabled":o})};if(!o){i=c({},i,{onClick:function(e){e.stopPropagation(),a(t.id)},onKeyPress:function(e){e.stopPropagation(),32!=e.which&&13!=e.which||a(t.id)},tabIndex:0})}var u=t.thumbnail?wp.element.createElement("img",{className:"foogallery-modal__item-thumbnail",src:t.thumbnail}):wp.element.createElement(s,{className:"foogallery-modal__item-thumbnail",icon:"format-image"});return wp.element.createElement("figure",i,u,wp.element.createElement("figcaption",{className:"foogallery-modal__item-caption"},t.name),r?wp.element.createElement(s,{className:"foogallery-modal__icon-selected",icon:"yes"}):null,o?wp.element.createElement(s,{className:"foogallery-modal__icon-disabled",icon:"no"}):null)}}]),t}(f);t.a=p,p.defaultProps={data:{},className:"",isSelected:!1,isDisabled:!1,onSelected:_.noop}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=wp.i18n.__,c=wp.element.Component,u=wp.components,s=u.Toolbar,f=u.IconButton,p=wp.editor.BlockControls,y=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),i(t,[{key:"render",value:function(){var e=this.props,t=e.select,n=e.onRequestModalOpen,r=e.canEdit,o=e.edit,a=e.onRequestGalleryEdit,i=e.canReload,l=e.reload,c=e.onRequestGalleryReload,u=e.remove,y=e.onRequestBlockRemove,d=e.children;return wp.element.createElement(p,null,wp.element.createElement(s,null,wp.element.createElement(f,{icon:"trash",label:u,onClick:y})),wp.element.createElement(s,null,wp.element.createElement(f,{icon:"format-gallery",label:t,onClick:n}),r?wp.element.createElement(f,{icon:"edit",label:o,onClick:a}):null,i?wp.element.createElement(f,{icon:"update",label:l,onClick:c}):null),d)}}]),t}(c);t.a=y,y.defaultProps={canEdit:!1,canReload:!1,select:l("Select gallery","foogallery"),remove:l("Remove gallery","foogallery"),reload:l("Reload gallery","foogallery"),edit:l("Edit gallery","foogallery"),onRequestModalOpen:_.noop,onRequestBlockRemove:_.noop,onRequestGalleryEdit:_.noop,onRequestGalleryReload:_.noop}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var i=n(19),l=(n.n(i),function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()),c=wp.i18n.__,u=wp.element.Component,s=wp.components,f=s.Button,p=s.IconButton,y=wp.editor.InspectorControls,d=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),l(t,[{key:"render",value:function(){var e=this.props,t=e.select,n=e.onRequestModalOpen,r=e.canEdit,o=e.edit,a=e.onRequestGalleryEdit,i=e.children;return wp.element.createElement(y,null,wp.element.createElement("div",{className:"foogallery-inspector-controls__button-container"},r?wp.element.createElement(p,{isDefault:!0,isLarge:!0,onClick:a,icon:"edit",label:o}):null,"\xa0",wp.element.createElement(f,{isPrimary:!0,isLarge:!0,onClick:n},t)),i)}}]),t}(u);t.a=d,d.defaultProps={canEdit:!1,edit:c("Edit Gallery","foogallery"),select:c("Select Gallery","foogallery"),onRequestGalleryEdit:_.noop,onRequestModalOpen:_.noop}},function(e,t){},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var i=n(2),l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var a=Object.getPrototypeOf(t);return null===a?void 0:e(a,n,r)}if("value"in o)return o.value;var i=o.get;if(void 0!==i)return i.call(r)},u=wp.i18n,s=u.__,f=u.sprintf,p=wp.element.RawHTML,y=wp.components,d=y.ServerSideRender,h=y.Spinner,m=lodash,b=m.isEqual,v=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),l(t,[{key:"shouldComponentUpdate",value:function(e,t){var n=!b(this.props,e),r=!b(this.state,t);return n||r}},{key:"componentDidUpdate",value:function(){c(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"componentDidUpdate",this).apply(this,arguments);var e=this.props.attributes.id;jQuery('[id="foogallery-gallery-'+e+'"]').foogallery(FooGallery.autoDefaults)}},{key:"componentWillReceiveProps",value:function(e){var t=this.props.reload;e.reload!=t&&this.reload()}},{key:"reload",value:function(){this.setState({response:null})}},{key:"render",value:function(){var e=this.props,t=e.loading,n=e.error,r=e.empty,o=this.state.response;if(!o)return wp.element.createElement(i.a,{instructions:t},wp.element.createElement(h,null));if(o.error){var a=f(n,o.errorMsg);return wp.element.createElement(i.a,{instructions:a})}return o.length?wp.element.createElement(p,{key:"html"},o):wp.element.createElement(i.a,{instructions:r})}}]),t}(d);t.a=v,v.defaultProps={loading:s("Loading gallery...","foogallery"),error:s("Error loading gallery: %s","foogallery"),empty:s("No gallery was found.","foogallery")}},function(e,t,n){"use strict";function r(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function i(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=n(0),c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=wp.i18n.__,s=wp.element,f=s.Component,p=s.Fragment,y=wp.components.Button,d=function(e){function t(){return o(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),c(t,[{key:"render",value:function(){var e=this.props,t=e.icon,n=e.label,o=e.instructions,a=e.button,i=r(e,["icon","label","instructions","button"]),c={icon:t,label:n,instructions:o};return wp.element.createElement(p,null,wp.element.createElement(l.a,i),wp.element.createElement(l.d,c,wp.element.createElement(y,{isDefault:!0,isLarge:!0,onClick:i.onRequestModalOpen},a)),wp.element.createElement(l.c,i),wp.element.createElement(l.b,i))}}]),t}(f);t.a=d,d.defaultProps={icon:"format-gallery",label:u("FooGallery","foogallery"),instructions:u("Duplicate gallery, please select another to insert.","foogallery"),button:u("Select Gallery","foogallery"),onRequestModalOpen:_.noop}},function(e,t,n){"use strict";function r(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function i(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=n(0),c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=wp.element,s=u.Component,f=u.Fragment,p=function(e){function t(){return o(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),c(t,[{key:"render",value:function(){var e=this.props,t=e.block,n=e.attributes,o=e.reload,a=r(e,["block","attributes","reload"]);return wp.element.createElement(f,{className:"wp-block-fooplugins-foogallery"},wp.element.createElement(l.a,a),wp.element.createElement(l.e,{block:t,attributes:n,reload:o}),wp.element.createElement(l.c,a),wp.element.createElement(l.b,a))}}]),t}(s);t.a=p,p.defaultProps={block:"fooplugins/foogallery",attributes:{},reload:!1,canEdit:!0,canReload:!0}}]);
|
1 |
+
!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=3)}([function(e,t,n){"use strict";var r=n(11);n.d(t,"c",function(){return r.a});var o=n(17);n.d(t,"a",function(){return o.a});var a=n(18);n.d(t,"b",function(){return a.a});var i=n(2);n.d(t,"d",function(){return i.a});var l=n(20);n.d(t,"e",function(){return l.a})},function(e,t,n){var r,o;!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if("string"===o||"number"===o)e.push(r);else if(Array.isArray(r)&&r.length){var i=n.apply(null,r);i&&e.push(i)}else if("object"===o)for(var l in r)a.call(r,l)&&r[l]&&e.push(l)}}return e.join(" ")}var a={}.hasOwnProperty;"undefined"!==typeof e&&e.exports?(n.default=n,e.exports=n):(r=[],void 0!==(o=function(){return n}.apply(t,r))&&(e.exports=o))}()},function(e,t,n){"use strict";function r(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function i(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=n(1),c=n.n(l),u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),f=(wp.i18n.__,wp.element.Component),p=wp.components.Placeholder,y=function(e){function t(){return o(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),s(t,[{key:"render",value:function(){var e=this.props,t=e.className,n=e.children,o=r(e,["className","children"]);return wp.element.createElement(p,u({className:c()("editor-media-placeholder",t)},o),n)}}]),t}(f);t.a=y},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(4)},function(e,t,n){"use strict";var r=n(5),o=(n.n(r),n(6)),a=(n.n(o),n(7)),i=wp.i18n.__;(0,wp.blocks.registerBlockType)("fooplugins/foogallery",{title:i("FooGallery"),description:i("Insert a FooGallery into your content"),icon:"format-gallery",category:"common",keywords:[i("foogallery"),i("gallery")],supports:{multiple:!0,html:!1},attributes:{id:{type:"number",default:0}},edit:function(e){return wp.element.createElement(a.a,e)},save:function(){return null}})},function(e,t){},function(e,t){},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var i=n(8),l=n(9),c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=wp.i18n.sprintf,f=wp.data.dispatch,p=wp.element.Component,y=window.FOOGALLERY_BLOCK.editGalleryUrl,d=function(e){function t(){r(this,t);var e=o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state={isModalOpen:!1,reload:!1},e.showModal=e.showModal.bind(e),e.closeModal=e.closeModal.bind(e),e.insertGallery=e.insertGallery.bind(e),e.editGallery=e.editGallery.bind(e),e.reloadGallery=e.reloadGallery.bind(e),e.removeBlock=e.removeBlock.bind(e),e}return a(t,e),u(t,[{key:"componentDidMount",value:function(){var e=this.props,t=e.clientId,n=e.attributes.id;0!=n&&i.a.add(n,t)}},{key:"componentWillUnmount",value:function(){var e=this.props,t=e.clientId;0!=e.attributes.id&&i.a.remove(t)}},{key:"showModal",value:function(){this.setState({isModalOpen:!0})}},{key:"closeModal",value:function(){this.setState({isModalOpen:!1})}},{key:"insertGallery",value:function(e){var t=this.props,n=t.clientId,r=t.setAttributes;i.a.update(e,n),r({id:e})}},{key:"editGallery",value:function(){var e=this.props.attributes.id,t=s(y,e);window.open(t,"_blank")}},{key:"reloadGallery",value:function(){var e=this.state.reload;this.setState({reload:!e})}},{key:"removeBlock",value:function(){var e=this.props.clientId;f("core/editor").removeBlock(e)}},{key:"render",value:function(){var e=this.props,t=e.attributes,n=e.clientId,r=this.state,o=r.isModalOpen,a=r.reload,u={disable:i.a.ids(),isModalOpen:o,onRequestModalOpen:this.showModal,onRequestModalClose:this.closeModal,onRequestBlockRemove:this.removeBlock,onRequestGalleryInsert:this.insertGallery,onRequestGalleryEdit:this.editGallery,onRequestGalleryReload:this.reloadGallery};return i.a.contains(t.id,n)?wp.element.createElement(l.a,u):t.id?wp.element.createElement(l.c,c({attributes:t,reload:a},u)):wp.element.createElement(l.b,u)}}]),t}(p);t.a=d,d.defaultProps={}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=[],i=function(){function e(){r(this,e)}return o(e,null,[{key:"add",value:function(e,t){return-1===a.findIndex(function(t){return t.id==e})&&(a.push({id:e,clientId:t}),!0)}},{key:"remove",value:function(e){var t=a.findIndex(function(t){return t.clientId==e});return-1!==t?(a.splice(t,1),!0):-1===t||!1}},{key:"update",value:function(e,t){return!!this.remove(t)&&this.add(e,t)}},{key:"ids",value:function(){return a.map(function(e){return e.id})}},{key:"contains",value:function(e,t){return-1!==a.findIndex(function(n){return n.id==e&&n.clientId!=t})}},{key:"array",get:function(){return a}}]),e}();t.a=i},function(e,t,n){"use strict";var r=n(10);n.d(t,"b",function(){return r.a});var o=n(21);n.d(t,"a",function(){return o.a});var a=n(22);n.d(t,"c",function(){return a.a})},function(e,t,n){"use strict";function r(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function i(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=n(0),c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=wp.i18n.__,s=wp.element,f=s.Component,p=s.Fragment,y=wp.components.Button,d=function(e){function t(){return o(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),c(t,[{key:"render",value:function(){var e=this.props,t=e.icon,n=e.label,o=e.instructions,a=e.button,i=r(e,["icon","label","instructions","button"]),c={icon:t,label:n,instructions:o};return wp.element.createElement(p,null,wp.element.createElement(l.a,i),wp.element.createElement(l.d,c,wp.element.createElement(y,{isDefault:!0,isLarge:!0,onClick:i.onRequestModalOpen},a)),wp.element.createElement(l.c,i),wp.element.createElement(l.b,i))}}]),t}(f);t.a=d,d.defaultProps={icon:"format-gallery",label:u("FooGallery","foogallery"),instructions:u("Select the gallery you want to insert.","foogallery"),button:u("Select Gallery","foogallery"),onRequestModalOpen:_.noop}},function(e,t,n){"use strict";function r(e){return function(){var t=e.apply(this,arguments);return new Promise(function(e,n){function r(o,a){try{var i=t[o](a),l=i.value}catch(e){return void n(e)}if(!i.done)return Promise.resolve(l).then(function(e){r("next",e)},function(e){r("throw",e)});e(l)}return r("next")})}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function i(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=n(12),c=n.n(l),u=n(15),s=(n.n(u),n(1)),f=n.n(s),p=n(16),y=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),d=wp.i18n.__,h=wp.element.Component,m=wp.components,b=m.Button,v=m.IconButton,w=m.Placeholder,g=m.Modal,O=m.Spinner,E=function(e){function t(){o(this,t);var e=a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state={id:e.props.currentId,data:null,isLoading:!1,query:""},e.onReloadClick=e.onReloadClick.bind(e),e.onInsertClick=e.onInsertClick.bind(e),e.onQueryChange=e.onQueryChange.bind(e),e}return i(t,e),y(t,[{key:"fetchGalleries",value:function(){function e(){return t.apply(this,arguments)}var t=r(c.a.mark(function e(){var t;return c.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.setState({isLoading:!0}),e.next=3,wp.apiFetch({path:"/foogallery/v1/galleries/"});case 3:t=e.sent,t.forEach(function(e){e.lowerName="string"===typeof e.name?e.name.toLowerCase():""}),this.setState({data:t,isLoading:!1});case 6:case"end":return e.stop()}},e,this)}));return e}()},{key:"onReloadClick",value:function(e){e.stopPropagation(),this.setState({data:null})}},{key:"onInsertClick",value:function(e){e.stopPropagation();var t=this.props,n=t.onRequestModalClose,r=t.onRequestGalleryInsert,o=this.state.id;0!=o&&(r(o),n())}},{key:"onQueryChange",value:function(e){this.setState({query:e.target.value})}},{key:"render",value:function(){var e=this.props,t=e.isModalOpen,n=e.className,r=e.title,o=e.insert,a=e.reload,i=e.search,l=e.onRequestModalClose;if(!t)return null;var c=this.state,u=c.id,s=c.isLoading,p=c.query;return wp.element.createElement(g,{className:f()("foogallery-modal",n),title:r,onRequestClose:l},wp.element.createElement("div",{className:"foogallery-modal__content"},wp.element.createElement("div",{className:"foogallery-modal__content-container"},this.renderContent())),wp.element.createElement("div",{className:"foogallery-modal__footer"},wp.element.createElement("input",{type:"text",className:"foogallery-modal__footer-search",placeholder:i,value:p,onChange:this.onQueryChange}),wp.element.createElement("div",{className:"foogallery-modal__footer-buttons"},wp.element.createElement(v,{isDefault:!0,icon:"update",label:a,onClick:this.onReloadClick,disabled:s}),wp.element.createElement(b,{isPrimary:!0,onClick:this.onInsertClick,disabled:0==u},o))))}},{key:"renderContent",value:function(){var e=this.props,t=e.disable,n=e.empty,r=e.loading,o=this.state,a=o.id,i=o.data,l=o.isLoading,c=o.query;if(null===i&&!l)return this.fetchGalleries(),null;if(l)return wp.element.createElement(w,{className:"foogallery-modal__content-placeholder",instructions:r},wp.element.createElement(O,null));if(null===i||!i.length)return wp.element.createElement(w,{className:"foogallery-modal__content-placeholder",instructions:n});var u=this,s=c&&c.length>2,f=s?c.toLowerCase():"";return(s?i.filter(function(e){return-1!==e.lowerName.indexOf(f)}):i).map(function(e){return wp.element.createElement(p.a,{data:e,isSelected:a==e.id,isDisabled:-1!==t.indexOf(e.id),onSelected:function(e){u.setState({id:e})}})})}}]),t}(h);t.a=E,E.defaultProps={currentId:0,isModalOpen:!1,className:"",title:d("Select the gallery you want to insert"),empty:d("No galleries found!"),insert:d("Insert Gallery"),reload:d("Reload Galleries"),loading:d("Loading galleries please wait..."),search:d("Search..."),disable:[],onRequestGalleryInsert:_.noop,onRequestModalClose:_.noop}},function(e,t,n){e.exports=n(13)},function(e,t,n){var r=function(){return this}()||Function("return this")(),o=r.regeneratorRuntime&&Object.getOwnPropertyNames(r).indexOf("regeneratorRuntime")>=0,a=o&&r.regeneratorRuntime;if(r.regeneratorRuntime=void 0,e.exports=n(14),o)r.regeneratorRuntime=a;else try{delete r.regeneratorRuntime}catch(e){r.regeneratorRuntime=void 0}},function(e,t){!function(t){"use strict";function n(e,t,n,r){var a=t&&t.prototype instanceof o?t:o,i=Object.create(a.prototype),l=new y(r||[]);return i._invoke=u(e,n,l),i}function r(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function o(){}function a(){}function i(){}function l(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function c(e){function t(n,o,a,i){var l=r(e[n],e,o);if("throw"!==l.type){var c=l.arg,u=c.value;return u&&"object"===typeof u&&v.call(u,"__await")?Promise.resolve(u.__await).then(function(e){t("next",e,a,i)},function(e){t("throw",e,a,i)}):Promise.resolve(u).then(function(e){c.value=e,a(c)},i)}i(l.arg)}function n(e,n){function r(){return new Promise(function(r,o){t(e,n,r,o)})}return o=o?o.then(r,r):r()}var o;this._invoke=n}function u(e,t,n){var o=k;return function(a,i){if(o===R)throw new Error("Generator is already running");if(o===x){if("throw"===a)throw i;return h()}for(n.method=a,n.arg=i;;){var l=n.delegate;if(l){var c=s(l,n);if(c){if(c===C)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===k)throw o=x,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=R;var u=r(e,t,n);if("normal"===u.type){if(o=n.done?x:P,u.arg===C)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=x,n.method="throw",n.arg=u.arg)}}}function s(e,t){var n=e.iterator[t.method];if(n===m){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=m,s(e,t),"throw"===t.method))return C;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return C}var o=r(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,C;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=m),t.delegate=null,C):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,C)}function f(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function p(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function y(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(f,this),this.reset(!0)}function d(e){if(e){var t=e[g];if(t)return t.call(e);if("function"===typeof e.next)return e;if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n<e.length;)if(v.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=m,t.done=!0,t};return r.next=r}}return{next:h}}function h(){return{value:m,done:!0}}var m,b=Object.prototype,v=b.hasOwnProperty,w="function"===typeof Symbol?Symbol:{},g=w.iterator||"@@iterator",_=w.asyncIterator||"@@asyncIterator",O=w.toStringTag||"@@toStringTag",E="object"===typeof e,j=t.regeneratorRuntime;if(j)return void(E&&(e.exports=j));j=t.regeneratorRuntime=E?e.exports:{},j.wrap=n;var k="suspendedStart",P="suspendedYield",R="executing",x="completed",C={},G={};G[g]=function(){return this};var L=Object.getPrototypeOf,S=L&&L(L(d([])));S&&S!==b&&v.call(S,g)&&(G=S);var N=i.prototype=o.prototype=Object.create(G);a.prototype=N.constructor=i,i.constructor=a,i[O]=a.displayName="GeneratorFunction",j.isGeneratorFunction=function(e){var t="function"===typeof e&&e.constructor;return!!t&&(t===a||"GeneratorFunction"===(t.displayName||t.name))},j.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,i):(e.__proto__=i,O in e||(e[O]="GeneratorFunction")),e.prototype=Object.create(N),e},j.awrap=function(e){return{__await:e}},l(c.prototype),c.prototype[_]=function(){return this},j.AsyncIterator=c,j.async=function(e,t,r,o){var a=new c(n(e,t,r,o));return j.isGeneratorFunction(t)?a:a.next().then(function(e){return e.done?e.value:a.next()})},l(N),N[O]="Generator",N[g]=function(){return this},N.toString=function(){return"[object Generator]"},j.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},j.values=d,y.prototype={constructor:y,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=m,this.done=!1,this.delegate=null,this.method="next",this.arg=m,this.tryEntries.forEach(p),!e)for(var t in this)"t"===t.charAt(0)&&v.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=m)},stop:function(){this.done=!0;var e=this.tryEntries[0],t=e.completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){function t(t,r){return a.type="throw",a.arg=e,n.next=t,r&&(n.method="next",n.arg=m),!!r}if(this.done)throw e;for(var n=this,r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if("root"===o.tryLoc)return t("end");if(o.tryLoc<=this.prev){var i=v.call(o,"catchLoc"),l=v.call(o,"finallyLoc");if(i&&l){if(this.prev<o.catchLoc)return t(o.catchLoc,!0);if(this.prev<o.finallyLoc)return t(o.finallyLoc)}else if(i){if(this.prev<o.catchLoc)return t(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return t(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&v.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,C):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),C},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),p(n),C}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;p(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:d(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=m),C}}}(function(){return this}()||Function("return this")())},function(e,t){},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var i=n(1),l=n.n(i),c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=wp.components.Dashicon,f=wp.element.Component,p=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:"render",value:function(){var e=this.props,t=e.data,n=e.className,r=e.isSelected,o=e.isDisabled,a=e.onSelected,i={className:l()("foogallery-modal__item",n,{"is-selected":r,"is-disabled":o})};if(!o){i=c({},i,{onClick:function(e){e.stopPropagation(),a(t.id)},onKeyPress:function(e){e.stopPropagation(),32!=e.which&&13!=e.which||a(t.id)},tabIndex:0})}var u=t.thumbnail?wp.element.createElement("img",{className:"foogallery-modal__item-thumbnail",src:t.thumbnail}):wp.element.createElement(s,{className:"foogallery-modal__item-thumbnail",icon:"format-image"});return wp.element.createElement("figure",i,u,wp.element.createElement("figcaption",{className:"foogallery-modal__item-caption"},t.name),r?wp.element.createElement(s,{className:"foogallery-modal__icon-selected",icon:"yes"}):null,o?wp.element.createElement(s,{className:"foogallery-modal__icon-disabled",icon:"no"}):null)}}]),t}(f);t.a=p,p.defaultProps={data:{},className:"",isSelected:!1,isDisabled:!1,onSelected:_.noop}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=wp.i18n.__,c=wp.element.Component,u=wp.components,s=u.Toolbar,f=u.IconButton,p=wp.editor.BlockControls,y=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),i(t,[{key:"render",value:function(){var e=this.props,t=e.select,n=e.onRequestModalOpen,r=e.canEdit,o=e.edit,a=e.onRequestGalleryEdit,i=e.canReload,l=e.reload,c=e.onRequestGalleryReload,u=e.remove,y=e.onRequestBlockRemove,d=e.children;return wp.element.createElement(p,null,wp.element.createElement(s,null,wp.element.createElement(f,{icon:"trash",label:u,onClick:y})),wp.element.createElement(s,null,wp.element.createElement(f,{icon:"format-gallery",label:t,onClick:n}),r?wp.element.createElement(f,{icon:"edit",label:o,onClick:a}):null,i?wp.element.createElement(f,{icon:"update",label:l,onClick:c}):null),d)}}]),t}(c);t.a=y,y.defaultProps={canEdit:!1,canReload:!1,select:l("Select gallery","foogallery"),remove:l("Remove gallery","foogallery"),reload:l("Reload gallery","foogallery"),edit:l("Edit gallery","foogallery"),onRequestModalOpen:_.noop,onRequestBlockRemove:_.noop,onRequestGalleryEdit:_.noop,onRequestGalleryReload:_.noop}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var i=n(19),l=(n.n(i),function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()),c=wp.i18n.__,u=wp.element.Component,s=wp.components,f=s.Button,p=s.IconButton,y=wp.editor.InspectorControls,d=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),l(t,[{key:"render",value:function(){var e=this.props,t=e.select,n=e.onRequestModalOpen,r=e.canEdit,o=e.edit,a=e.onRequestGalleryEdit,i=e.children;return wp.element.createElement(y,null,wp.element.createElement("div",{className:"foogallery-inspector-controls__button-container"},r?wp.element.createElement(p,{isDefault:!0,isLarge:!0,onClick:a,icon:"edit",label:o}):null,"\xa0",wp.element.createElement(f,{isPrimary:!0,isLarge:!0,onClick:n},t)),i)}}]),t}(u);t.a=d,d.defaultProps={canEdit:!1,edit:c("Edit Gallery","foogallery"),select:c("Select Gallery","foogallery"),onRequestGalleryEdit:_.noop,onRequestModalOpen:_.noop}},function(e,t){},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var i=n(2),l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var a=Object.getPrototypeOf(t);return null===a?void 0:e(a,n,r)}if("value"in o)return o.value;var i=o.get;if(void 0!==i)return i.call(r)},u=wp.i18n,s=u.__,f=u.sprintf,p=wp.element.RawHTML,y=wp.components,d=y.ServerSideRender,h=y.Spinner,m=lodash,b=m.isEqual,v=function(e){function t(){return r(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),l(t,[{key:"shouldComponentUpdate",value:function(e,t){var n=!b(this.props,e),r=!b(this.state,t);return n||r}},{key:"componentDidUpdate",value:function(){c(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"componentDidUpdate",this).apply(this,arguments);var e=this.props.attributes.id;jQuery('[id="foogallery-gallery-'+e+'"]').foogallery(FooGallery.autoDefaults)}},{key:"componentWillReceiveProps",value:function(e){var t=this.props.reload;e.reload!=t&&this.reload()}},{key:"reload",value:function(){this.setState({response:null})}},{key:"render",value:function(){var e=this.props,t=e.loading,n=e.error,r=e.empty,o=this.state.response;if(!o)return wp.element.createElement(i.a,{instructions:t},wp.element.createElement(h,null));if(o.error){var a=f(n,o.errorMsg);return wp.element.createElement(i.a,{instructions:a})}return o.length?wp.element.createElement(p,{key:"html"},o):wp.element.createElement(i.a,{instructions:r})}}]),t}(d);t.a=v,v.defaultProps={loading:s("Loading gallery...","foogallery"),error:s("Error loading gallery: %s","foogallery"),empty:s("No gallery was found.","foogallery")}},function(e,t,n){"use strict";function r(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function i(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=n(0),c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=wp.i18n.__,s=wp.element,f=s.Component,p=s.Fragment,y=wp.components.Button,d=function(e){function t(){return o(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),c(t,[{key:"render",value:function(){var e=this.props,t=e.icon,n=e.label,o=e.instructions,a=e.button,i=r(e,["icon","label","instructions","button"]),c={icon:t,label:n,instructions:o};return wp.element.createElement(p,null,wp.element.createElement(l.a,i),wp.element.createElement(l.d,c,wp.element.createElement(y,{isDefault:!0,isLarge:!0,onClick:i.onRequestModalOpen},a)),wp.element.createElement(l.c,i),wp.element.createElement(l.b,i))}}]),t}(f);t.a=d,d.defaultProps={icon:"format-gallery",label:u("FooGallery","foogallery"),instructions:u("Duplicate gallery, please select another to insert.","foogallery"),button:u("Select Gallery","foogallery"),onRequestModalOpen:_.noop}},function(e,t,n){"use strict";function r(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function i(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=n(0),c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=wp.element,s=u.Component,f=u.Fragment,p=function(e){function t(){return o(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),c(t,[{key:"render",value:function(){var e=this.props,t=e.block,n=e.attributes,o=e.reload,a=r(e,["block","attributes","reload"]);return wp.element.createElement(f,{className:"wp-block-fooplugins-foogallery"},wp.element.createElement(l.a,a),wp.element.createElement(l.e,{block:t,attributes:n,reload:o}),wp.element.createElement(l.c,a),wp.element.createElement(l.b,a))}}]),t}(s);t.a=p,p.defaultProps={block:"fooplugins/foogallery",attributes:{},reload:!1,canEdit:!0,canReload:!0}}]);
|
gutenberg/dist/blocks.editor.build.css
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
.foogallery-modal__content{text-align:center}.foogallery-modal__content-container{position:relative;display:inline-block}.foogallery-modal__content-placeholder{background-color:transparent;min-height:150px;border:solid 3px transparent;outline:solid 1px transparent;margin:10px}.foogallery-modal__footer{border-top:1px solid #e2e4e7;padding:0 16px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between;background:#fff;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;height:56px;position:-webkit-sticky;position:sticky;bottom:0;z-index:10;margin:16px -16px -16px}.foogallery-modal__footer-
|
2 |
-
.foogallery-inspector-controls__button-container{text-align:center;margin:-16px;padding:16px}.foogallery-inspector-controls__button-container button{display:-ms-inline-flexbox;display:inline-flex}
|
1 |
+
.foogallery-modal__content{text-align:center}.foogallery-modal__content-container{position:relative;display:inline-block}.foogallery-modal__content-placeholder{background-color:transparent;min-height:150px;border:solid 3px transparent;outline:solid 1px transparent;margin:10px}.foogallery-modal__footer{border-top:1px solid #e2e4e7;padding:0 16px;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between;background:#fff;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;height:56px;position:-webkit-sticky;position:sticky;bottom:0;z-index:10;margin:16px -16px -16px}.foogallery-modal__footer-search{-ms-flex:1;flex:1}.foogallery-modal__footer-buttons{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-pack:end;justify-content:flex-end}.foogallery-modal__footer-buttons .components-button,.foogallery-modal__footer-buttons .components-icon-button{display:-ms-inline-flexbox;display:inline-flex}.foogallery-modal__footer-buttons .components-button{margin-right:4px}.foogallery-modal__footer-buttons .components-button:last-of-type{margin-right:0}.foogallery-modal__item{display:inline-block;position:relative;width:150px;height:150px;border:solid 3px #FFF;-webkit-box-shadow:0 0 0 1px #ccc, inset 0 0 0 1px #ccc;box-shadow:0 0 0 1px #ccc, inset 0 0 0 1px #ccc;background-color:#f7f7f7;margin:10px;cursor:pointer;border-radius:3px}.foogallery-modal__item:focus{border-style:dashed}.foogallery-modal__item:hover,.foogallery-modal__item.is-selected{border-style:solid}.foogallery-modal__item:hover,.foogallery-modal__item:focus,.foogallery-modal__item.is-selected{border-color:#0085ba;-webkit-box-shadow:0 0 0 1px #00648c, inset 0 0 0 1px #00648c;box-shadow:0 0 0 1px #00648c, inset 0 0 0 1px #00648c}.foogallery-modal__item.is-disabled{border-color:#e4e4e4;-webkit-box-shadow:0 0 0 1px #ccc, inset 0 0 0 1px #ccc;box-shadow:0 0 0 1px #ccc, inset 0 0 0 1px #ccc;cursor:not-allowed}img.foogallery-modal__item-thumbnail{display:block;width:100%;height:100%}.foogallery-modal__item.is-disabled img.foogallery-modal__item-thumbnail{-webkit-filter:grayscale(1);filter:grayscale(1)}svg.foogallery-modal__item-thumbnail{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);width:64px;height:64px;fill:#CCC}.foogallery-modal__item-caption{display:block;position:absolute;bottom:0;left:0;width:100%;height:auto;max-height:100%;overflow:hidden;color:#FFF;padding:10px 5px 5px;background:rgba(0,0,0,0.5);background:-webkit-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 15px, rgba(0,0,0,0.5) 100%);background:-o-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 15px, rgba(0,0,0,0.5) 100%);background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 15px, rgba(0,0,0,0.5) 100%)}svg.dashicon.foogallery-modal__icon-selected,svg.dashicon.foogallery-modal__icon-disabled{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);fill:#FFF;width:60px;height:60px;-webkit-filter:drop-shadow(0px 0px 5px #000);filter:drop-shadow(0px 0px 5px #000)}
|
2 |
+
.foogallery-inspector-controls__button-container{text-align:center;margin:-16px;padding:16px}.foogallery-inspector-controls__button-container button{display:-ms-inline-flexbox;display:inline-flex}
|
gutenberg/src/block/edit/components/modal/editor.scss
CHANGED
@@ -39,13 +39,24 @@
|
|
39 |
margin: 16px -16px -16px;
|
40 |
}
|
41 |
|
42 |
-
.foogallery-modal__footer-
|
43 |
-
|
44 |
-
|
|
|
45 |
display: flex;
|
46 |
-
flex
|
47 |
justify-content: flex-end;
|
48 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
|
50 |
/* #.# FooGalleryItem Editor Styles */
|
51 |
|
39 |
margin: 16px -16px -16px;
|
40 |
}
|
41 |
|
42 |
+
.foogallery-modal__footer-search {
|
43 |
+
flex: 1;
|
44 |
+
}
|
45 |
+
.foogallery-modal__footer-buttons {
|
46 |
display: flex;
|
47 |
+
flex: 1;
|
48 |
justify-content: flex-end;
|
49 |
}
|
50 |
+
.foogallery-modal__footer-buttons .components-button,
|
51 |
+
.foogallery-modal__footer-buttons .components-icon-button {
|
52 |
+
display: inline-flex;
|
53 |
+
}
|
54 |
+
.foogallery-modal__footer-buttons .components-button {
|
55 |
+
margin-right: 4px;
|
56 |
+
}
|
57 |
+
.foogallery-modal__footer-buttons .components-button:last-of-type {
|
58 |
+
margin-right: 0;
|
59 |
+
}
|
60 |
|
61 |
/* #.# FooGalleryItem Editor Styles */
|
62 |
|
gutenberg/src/block/edit/components/modal/index.js
CHANGED
@@ -19,16 +19,21 @@ export default class FooGalleryEditModal extends Component {
|
|
19 |
this.state = {
|
20 |
id: this.props.currentId,
|
21 |
data: null,
|
22 |
-
isLoading: false
|
|
|
23 |
};
|
24 |
|
25 |
this.onReloadClick = this.onReloadClick.bind( this );
|
26 |
this.onInsertClick = this.onInsertClick.bind( this );
|
|
|
27 |
}
|
28 |
|
29 |
async fetchGalleries(){
|
30 |
this.setState( { isLoading: true } );
|
31 |
let data = await wp.apiFetch({ path: "/foogallery/v1/galleries/" });
|
|
|
|
|
|
|
32 |
this.setState( { data: data, isLoading: false } );
|
33 |
}
|
34 |
|
@@ -47,14 +52,18 @@ export default class FooGalleryEditModal extends Component {
|
|
47 |
}
|
48 |
}
|
49 |
|
|
|
|
|
|
|
|
|
50 |
render() {
|
51 |
-
const { isModalOpen, className, title, insert, reload, onRequestModalClose } = this.props;
|
52 |
|
53 |
if ( !isModalOpen ){
|
54 |
return null;
|
55 |
}
|
56 |
|
57 |
-
const { id, isLoading } = this.state;
|
58 |
|
59 |
return (
|
60 |
<Modal className={ classnames( "foogallery-modal", className ) }
|
@@ -66,11 +75,10 @@ export default class FooGalleryEditModal extends Component {
|
|
66 |
</div>
|
67 |
</div>
|
68 |
<div className="foogallery-modal__footer">
|
69 |
-
<
|
70 |
-
|
71 |
-
<
|
72 |
-
|
73 |
-
</Button>
|
74 |
</div>
|
75 |
</div>
|
76 |
</Modal>
|
@@ -79,7 +87,7 @@ export default class FooGalleryEditModal extends Component {
|
|
79 |
|
80 |
renderContent(){
|
81 |
const { disable, empty, loading } = this.props;
|
82 |
-
const { id, data, isLoading } = this.state;
|
83 |
|
84 |
if ( data === null && !isLoading ){
|
85 |
this.fetchGalleries();
|
@@ -94,8 +102,14 @@ export default class FooGalleryEditModal extends Component {
|
|
94 |
return (<Placeholder className="foogallery-modal__content-placeholder" instructions={ empty }/>);
|
95 |
}
|
96 |
|
97 |
-
let self = this
|
98 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
return (
|
100 |
<FooGalleryEditModalItem
|
101 |
data={ gallery }
|
@@ -118,6 +132,7 @@ FooGalleryEditModal.defaultProps = {
|
|
118 |
insert: __("Insert Gallery"),
|
119 |
reload: __("Reload Galleries"),
|
120 |
loading: __("Loading galleries please wait..."),
|
|
|
121 |
disable: [],
|
122 |
onRequestGalleryInsert: _.noop,
|
123 |
onRequestModalClose: _.noop
|
19 |
this.state = {
|
20 |
id: this.props.currentId,
|
21 |
data: null,
|
22 |
+
isLoading: false,
|
23 |
+
query: ''
|
24 |
};
|
25 |
|
26 |
this.onReloadClick = this.onReloadClick.bind( this );
|
27 |
this.onInsertClick = this.onInsertClick.bind( this );
|
28 |
+
this.onQueryChange = this.onQueryChange.bind( this );
|
29 |
}
|
30 |
|
31 |
async fetchGalleries(){
|
32 |
this.setState( { isLoading: true } );
|
33 |
let data = await wp.apiFetch({ path: "/foogallery/v1/galleries/" });
|
34 |
+
data.forEach(gallery => {
|
35 |
+
gallery.lowerName = typeof gallery.name === 'string' ? gallery.name.toLowerCase() : '';
|
36 |
+
});
|
37 |
this.setState( { data: data, isLoading: false } );
|
38 |
}
|
39 |
|
52 |
}
|
53 |
}
|
54 |
|
55 |
+
onQueryChange(event){
|
56 |
+
this.setState({query: event.target.value});
|
57 |
+
}
|
58 |
+
|
59 |
render() {
|
60 |
+
const { isModalOpen, className, title, insert, reload, search, onRequestModalClose } = this.props;
|
61 |
|
62 |
if ( !isModalOpen ){
|
63 |
return null;
|
64 |
}
|
65 |
|
66 |
+
const { id, isLoading, query } = this.state;
|
67 |
|
68 |
return (
|
69 |
<Modal className={ classnames( "foogallery-modal", className ) }
|
75 |
</div>
|
76 |
</div>
|
77 |
<div className="foogallery-modal__footer">
|
78 |
+
<input type="text" className="foogallery-modal__footer-search" placeholder={ search } value={ query } onChange={ this.onQueryChange } />
|
79 |
+
<div className="foogallery-modal__footer-buttons">
|
80 |
+
<IconButton isDefault icon="update" label={ reload } onClick={ this.onReloadClick } disabled={ isLoading }/>
|
81 |
+
<Button isPrimary onClick={ this.onInsertClick } disabled={ id == 0 }>{ insert }</Button>
|
|
|
82 |
</div>
|
83 |
</div>
|
84 |
</Modal>
|
87 |
|
88 |
renderContent(){
|
89 |
const { disable, empty, loading } = this.props;
|
90 |
+
const { id, data, isLoading, query } = this.state;
|
91 |
|
92 |
if ( data === null && !isLoading ){
|
93 |
this.fetchGalleries();
|
102 |
return (<Placeholder className="foogallery-modal__content-placeholder" instructions={ empty }/>);
|
103 |
}
|
104 |
|
105 |
+
let self = this,
|
106 |
+
hasQuery = query && query.length > 2,
|
107 |
+
lowerQuery = hasQuery ? query.toLowerCase() : '',
|
108 |
+
filtered = hasQuery ? data.filter(gallery => {
|
109 |
+
return gallery.lowerName.indexOf(lowerQuery) !== -1;
|
110 |
+
}) : data;
|
111 |
+
|
112 |
+
return filtered.map(gallery => {
|
113 |
return (
|
114 |
<FooGalleryEditModalItem
|
115 |
data={ gallery }
|
132 |
insert: __("Insert Gallery"),
|
133 |
reload: __("Reload Galleries"),
|
134 |
loading: __("Loading galleries please wait..."),
|
135 |
+
search: __("Search..."),
|
136 |
disable: [],
|
137 |
onRequestGalleryInsert: _.noop,
|
138 |
onRequestModalClose: _.noop
|
includes/admin/class-settings.php
CHANGED
@@ -301,14 +301,6 @@ if ( ! class_exists( 'FooGallery_Admin_Settings' ) ) {
|
|
301 |
'tab' => 'advanced'
|
302 |
);
|
303 |
|
304 |
-
// $settings[] = array(
|
305 |
-
// 'id' => 'force_https',
|
306 |
-
// 'title' => __( 'Force HTTPS', 'foogallery' ),
|
307 |
-
// 'desc' => __( 'Force all thumbnails to use HTTPS protocol.', 'foogallery' ),
|
308 |
-
// 'type' => 'checkbox',
|
309 |
-
// 'tab' => 'advanced'
|
310 |
-
// );
|
311 |
-
|
312 |
$settings[] = array(
|
313 |
'id' => 'use_future_endpoint',
|
314 |
'title' => __( 'Use Beta Endpoint', 'foogallery' ),
|
301 |
'tab' => 'advanced'
|
302 |
);
|
303 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
304 |
$settings[] = array(
|
305 |
'id' => 'use_future_endpoint',
|
306 |
'title' => __( 'Use Beta Endpoint', 'foogallery' ),
|
includes/class-foogallery-force-https.php
ADDED
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Class used to force HTTPS for all FooGallery assets
|
4 |
+
* @since 1.6.18
|
5 |
+
*/
|
6 |
+
if ( ! class_exists( 'FooGallery_ForceHttps' ) ) {
|
7 |
+
|
8 |
+
class FooGallery_ForceHttps {
|
9 |
+
|
10 |
+
function __construct() {
|
11 |
+
add_filter( 'foogallery_admin_settings_override', array($this, 'add_settings' ) );
|
12 |
+
add_action( 'plugins_loaded', array( $this, 'enable_force' ) );
|
13 |
+
}
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Enables the force checks based on the setting. This is done here so that the setting is only checked once per page load, rather than multiple times
|
17 |
+
*
|
18 |
+
*/
|
19 |
+
function enable_force() {
|
20 |
+
if ( 'on' === foogallery_get_setting( 'force_https' ) ) {
|
21 |
+
add_filter( 'foogallery_attachment_resize_thumbnail', array( $this, 'force_thumbnail_to_https' ), 99, 3 );
|
22 |
+
add_filter( 'foogallery_enqueue_style_src', array( $this, 'force_css_to_https'), 99, 2 );
|
23 |
+
add_filter( 'foogallery_core_gallery_script', array( $this, 'force_js_to_https'), 99 );
|
24 |
+
}
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Add settings for Force Https
|
29 |
+
* @param $settings
|
30 |
+
*
|
31 |
+
* @return array
|
32 |
+
*/
|
33 |
+
function add_settings( $settings ) {
|
34 |
+
$settings['settings'][] = array(
|
35 |
+
'id' => 'force_https',
|
36 |
+
'title' => __( 'Force HTTPS', 'foogallery' ),
|
37 |
+
'desc' => __( 'Force all assets (thumbnails, javascript, css) to load over the HTTPS protocol. This can help overcome some issues when moving your site across to HTTPS and you get mixed content errors.', 'foogallery' ),
|
38 |
+
'type' => 'checkbox',
|
39 |
+
'tab' => 'advanced'
|
40 |
+
);
|
41 |
+
return $settings;
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Helper function that does the replacement and forces Https
|
46 |
+
*
|
47 |
+
* @param $url
|
48 |
+
*
|
49 |
+
* @return string
|
50 |
+
*/
|
51 |
+
function force_https( $url ) {
|
52 |
+
return str_replace( 'http://', 'https://', $url );
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Force a thumbnail src to Https
|
57 |
+
*
|
58 |
+
* @param $original_image_src
|
59 |
+
* @param $args
|
60 |
+
* @param $thumbnail_object
|
61 |
+
*
|
62 |
+
* @return string
|
63 |
+
*/
|
64 |
+
function force_thumbnail_to_https( $original_image_src, $args, $thumbnail_object ) {
|
65 |
+
$original_image_src = $this->force_https( $original_image_src );
|
66 |
+
return $original_image_src;
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Force any CSS loaded using the foogallery_enqueue_style function to Https
|
71 |
+
*
|
72 |
+
* @param $src
|
73 |
+
* @param $handle
|
74 |
+
*
|
75 |
+
* @return string
|
76 |
+
*/
|
77 |
+
function force_css_to_https( $src, $handle ) {
|
78 |
+
$src = $this->force_https( $src );
|
79 |
+
return $src;
|
80 |
+
}
|
81 |
+
|
82 |
+
/**
|
83 |
+
* Force the js loaded for the default gallery templates to Https
|
84 |
+
*
|
85 |
+
* @param $src
|
86 |
+
*
|
87 |
+
* @return string
|
88 |
+
*/
|
89 |
+
function force_js_to_https( $src ) {
|
90 |
+
$src = $this->force_https( $src );
|
91 |
+
return $src;
|
92 |
+
}
|
93 |
+
}
|
94 |
+
}
|
includes/class-foogallery-lazyload.php
CHANGED
@@ -60,11 +60,10 @@ if ( ! class_exists( 'FooGallery_LazyLoad' ) ) {
|
|
60 |
$lazyloading_forced_disabled = foogallery_get_setting('disable_lazy_loading') === 'on';
|
61 |
$current_foogallery->lazyload_forced_disabled = $lazyloading_forced_disabled;
|
62 |
|
63 |
-
//check if we are inside a feed
|
64 |
if ( is_feed() ) {
|
65 |
-
$current_foogallery->
|
66 |
}
|
67 |
-
|
68 |
}
|
69 |
}
|
70 |
}
|
@@ -81,18 +80,9 @@ if ( ! class_exists( 'FooGallery_LazyLoad' ) ) {
|
|
81 |
|
82 |
if ($current_foogallery !== null) {
|
83 |
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
return $attr;
|
88 |
-
}
|
89 |
-
}
|
90 |
-
|
91 |
-
//check that lazy loading was not disabled from Global Settings or any other reason
|
92 |
-
if ( isset( $current_foogallery->lazyload_forced_disabled ) ) {
|
93 |
-
if ( true === $current_foogallery->lazyload_forced_disabled ) {
|
94 |
-
return $attr;
|
95 |
-
}
|
96 |
}
|
97 |
|
98 |
if (isset($current_foogallery->lazyload_support) && true === $current_foogallery->lazyload_support) {
|
@@ -109,6 +99,12 @@ if ( ! class_exists( 'FooGallery_LazyLoad' ) ) {
|
|
109 |
unset($attr['srcset']);
|
110 |
$attr['data-srcset-fg'] = $src;
|
111 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
}
|
113 |
}
|
114 |
|
@@ -128,14 +124,9 @@ if ( ! class_exists( 'FooGallery_LazyLoad' ) ) {
|
|
128 |
{
|
129 |
if ( isset( $gallery->lazyload_support ) && true === $gallery->lazyload_support ) {
|
130 |
$options['lazy'] = $gallery->lazyload_enabled && !$gallery->lazyload_forced_disabled;
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
} else {
|
135 |
-
$options['src'] = 'src';
|
136 |
-
$options['srcset'] = 'srcset';
|
137 |
-
}
|
138 |
-
}
|
139 |
return $options;
|
140 |
}
|
141 |
|
60 |
$lazyloading_forced_disabled = foogallery_get_setting('disable_lazy_loading') === 'on';
|
61 |
$current_foogallery->lazyload_forced_disabled = $lazyloading_forced_disabled;
|
62 |
|
63 |
+
//check if we are inside a feed
|
64 |
if ( is_feed() ) {
|
65 |
+
$current_foogallery->is_feed = true;
|
66 |
}
|
|
|
67 |
}
|
68 |
}
|
69 |
}
|
80 |
|
81 |
if ($current_foogallery !== null) {
|
82 |
|
83 |
+
//check if we inside a feed and exit early
|
84 |
+
if ( isset( $current_foogallery->is_feed ) && true === $current_foogallery->is_feed ) {
|
85 |
+
return $attr;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
}
|
87 |
|
88 |
if (isset($current_foogallery->lazyload_support) && true === $current_foogallery->lazyload_support) {
|
99 |
unset($attr['srcset']);
|
100 |
$attr['data-srcset-fg'] = $src;
|
101 |
}
|
102 |
+
|
103 |
+
//do not add the src attribute
|
104 |
+
if ( false ) {
|
105 |
+
//set the src to a 1x1 transparent gif
|
106 |
+
$attr['src'] = FOOGALLERY_URL . 'assets/1x1.gif';
|
107 |
+
}
|
108 |
}
|
109 |
}
|
110 |
|
124 |
{
|
125 |
if ( isset( $gallery->lazyload_support ) && true === $gallery->lazyload_support ) {
|
126 |
$options['lazy'] = $gallery->lazyload_enabled && !$gallery->lazyload_forced_disabled;
|
127 |
+
$options['src'] = 'data-src-fg';
|
128 |
+
$options['srcset'] = 'data-srcset-fg';
|
129 |
+
}
|
|
|
|
|
|
|
|
|
|
|
130 |
return $options;
|
131 |
}
|
132 |
|
includes/foopluginbase/.gitignore
ADDED
@@ -0,0 +1,183 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#################
|
2 |
+
## Eclipse
|
3 |
+
#################
|
4 |
+
|
5 |
+
*.pydevproject
|
6 |
+
.project
|
7 |
+
.metadata
|
8 |
+
bin/
|
9 |
+
tmp/
|
10 |
+
*.tmp
|
11 |
+
*.bak
|
12 |
+
*.swp
|
13 |
+
*~.nib
|
14 |
+
local.properties
|
15 |
+
.classpath
|
16 |
+
.settings/
|
17 |
+
.loadpath
|
18 |
+
|
19 |
+
# External tool builders
|
20 |
+
.externalToolBuilders/
|
21 |
+
|
22 |
+
# Locally stored "Eclipse launch configurations"
|
23 |
+
*.launch
|
24 |
+
|
25 |
+
# CDT-specific
|
26 |
+
.cproject
|
27 |
+
|
28 |
+
# PDT-specific
|
29 |
+
.buildpath
|
30 |
+
|
31 |
+
|
32 |
+
#################
|
33 |
+
## Visual Studio
|
34 |
+
#################
|
35 |
+
|
36 |
+
## Ignore Visual Studio temporary files, build results, and
|
37 |
+
## files generated by popular Visual Studio add-ons.
|
38 |
+
|
39 |
+
# User-specific files
|
40 |
+
*.suo
|
41 |
+
*.user
|
42 |
+
*.sln.docstates
|
43 |
+
|
44 |
+
# Build results
|
45 |
+
[Dd]ebug/
|
46 |
+
[Rr]elease/
|
47 |
+
*_i.c
|
48 |
+
*_p.c
|
49 |
+
*.ilk
|
50 |
+
*.meta
|
51 |
+
*.obj
|
52 |
+
*.pch
|
53 |
+
*.pdb
|
54 |
+
*.pgc
|
55 |
+
*.pgd
|
56 |
+
*.rsp
|
57 |
+
*.sbr
|
58 |
+
*.tlb
|
59 |
+
*.tli
|
60 |
+
*.tlh
|
61 |
+
*.tmp
|
62 |
+
*.vspscc
|
63 |
+
.builds
|
64 |
+
*.dotCover
|
65 |
+
|
66 |
+
## TODO: If you have NuGet Package Restore enabled, uncomment this
|
67 |
+
#packages/
|
68 |
+
|
69 |
+
# Visual C++ cache files
|
70 |
+
ipch/
|
71 |
+
*.aps
|
72 |
+
*.ncb
|
73 |
+
*.opensdf
|
74 |
+
*.sdf
|
75 |
+
|
76 |
+
# Visual Studio profiler
|
77 |
+
*.psess
|
78 |
+
*.vsp
|
79 |
+
|
80 |
+
# ReSharper is a .NET coding add-in
|
81 |
+
_ReSharper*
|
82 |
+
|
83 |
+
# Installshield output folder
|
84 |
+
[Ee]xpress
|
85 |
+
|
86 |
+
# DocProject is a documentation generator add-in
|
87 |
+
DocProject/buildhelp/
|
88 |
+
DocProject/Help/*.HxT
|
89 |
+
DocProject/Help/*.HxC
|
90 |
+
DocProject/Help/*.hhc
|
91 |
+
DocProject/Help/*.hhk
|
92 |
+
DocProject/Help/*.hhp
|
93 |
+
DocProject/Help/Html2
|
94 |
+
DocProject/Help/html
|
95 |
+
|
96 |
+
# Click-Once directory
|
97 |
+
publish
|
98 |
+
|
99 |
+
# Others
|
100 |
+
[Bb]in
|
101 |
+
[Oo]bj
|
102 |
+
sql
|
103 |
+
TestResults
|
104 |
+
*.Cache
|
105 |
+
ClientBin
|
106 |
+
stylecop.*
|
107 |
+
~$*
|
108 |
+
*.dbmdl
|
109 |
+
Generated_Code #added for RIA/Silverlight projects
|
110 |
+
|
111 |
+
# Backup & report files from converting an old project file to a newer
|
112 |
+
# Visual Studio version. Backup files are not needed, because we have git ;-)
|
113 |
+
_UpgradeReport_Files/
|
114 |
+
Backup*/
|
115 |
+
UpgradeLog*.XML
|
116 |
+
|
117 |
+
|
118 |
+
|
119 |
+
############
|
120 |
+
## Windows
|
121 |
+
############
|
122 |
+
|
123 |
+
# Windows image file caches
|
124 |
+
Thumbs.db
|
125 |
+
|
126 |
+
# Folder config file
|
127 |
+
Desktop.ini
|
128 |
+
|
129 |
+
#############
|
130 |
+
## IIS
|
131 |
+
#############
|
132 |
+
|
133 |
+
web.config
|
134 |
+
|
135 |
+
#############
|
136 |
+
## Python
|
137 |
+
#############
|
138 |
+
|
139 |
+
*.py[co]
|
140 |
+
|
141 |
+
# Packages
|
142 |
+
*.egg
|
143 |
+
*.egg-info
|
144 |
+
build
|
145 |
+
eggs
|
146 |
+
parts
|
147 |
+
bin
|
148 |
+
var
|
149 |
+
sdist
|
150 |
+
develop-eggs
|
151 |
+
.installed.cfg
|
152 |
+
|
153 |
+
# Installer logs
|
154 |
+
pip-log.txt
|
155 |
+
|
156 |
+
# Unit test / coverage reports
|
157 |
+
.coverage
|
158 |
+
.tox
|
159 |
+
|
160 |
+
#Translations
|
161 |
+
*.mo
|
162 |
+
|
163 |
+
#Mr Developer
|
164 |
+
.mr.developer.cfg
|
165 |
+
|
166 |
+
# Mac crap
|
167 |
+
.DS_Store
|
168 |
+
|
169 |
+
# Grunt related
|
170 |
+
/node_modules/
|
171 |
+
|
172 |
+
#############
|
173 |
+
## phpStorm
|
174 |
+
#############
|
175 |
+
|
176 |
+
.idea/
|
177 |
+
|
178 |
+
|
179 |
+
#############
|
180 |
+
## Custom
|
181 |
+
#############
|
182 |
+
|
183 |
+
build/
|
includes/functions.php
CHANGED
@@ -574,6 +574,8 @@ function foogallery_activate_default_templates_extension() {
|
|
574 |
* @param string $media
|
575 |
*/
|
576 |
function foogallery_enqueue_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) {
|
|
|
|
|
577 |
wp_enqueue_style( $handle, $src, $deps, $ver, $media );
|
578 |
do_action( 'foogallery_enqueue_style', $handle, $src, $deps, $ver, $media );
|
579 |
}
|
574 |
* @param string $media
|
575 |
*/
|
576 |
function foogallery_enqueue_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) {
|
577 |
+
$src = apply_filters( 'foogallery_enqueue_style_src', $src, $handle );
|
578 |
+
|
579 |
wp_enqueue_style( $handle, $src, $deps, $ver, $media );
|
580 |
do_action( 'foogallery_enqueue_style', $handle, $src, $deps, $ver, $media );
|
581 |
}
|
includes/includes.php
CHANGED
@@ -48,6 +48,7 @@ require_once( FOOGALLERY_PATH . 'includes/class-foogallery-paging.php' );
|
|
48 |
require_once( FOOGALLERY_PATH . 'includes/class-foogallery-attachment-custom-class.php' );
|
49 |
require_once( FOOGALLERY_PATH . 'includes/class-foogallery-extensions-compatibility.php' );
|
50 |
require_once( FOOGALLERY_PATH . 'includes/class-foogallery-default-crop-position.php' );
|
|
|
51 |
|
52 |
//Datasource includes
|
53 |
require_once( FOOGALLERY_PATH . 'includes/interface-foogallery-datasource.php' );
|
48 |
require_once( FOOGALLERY_PATH . 'includes/class-foogallery-attachment-custom-class.php' );
|
49 |
require_once( FOOGALLERY_PATH . 'includes/class-foogallery-extensions-compatibility.php' );
|
50 |
require_once( FOOGALLERY_PATH . 'includes/class-foogallery-default-crop-position.php' );
|
51 |
+
require_once( FOOGALLERY_PATH . 'includes/class-foogallery-force-https.php' );
|
52 |
|
53 |
//Datasource includes
|
54 |
require_once( FOOGALLERY_PATH . 'includes/interface-foogallery-datasource.php' );
|
includes/render-functions.php
CHANGED
@@ -35,7 +35,7 @@ function foogallery_attachment_html_image_src( $foogallery_attachment, $args = a
|
|
35 |
function foogallery_attachment_html_image( $foogallery_attachment, $args = array() ) {
|
36 |
$attr = foogallery_build_attachment_html_image_attributes( $foogallery_attachment, $args );
|
37 |
|
38 |
-
$html = '<img
|
39 |
foreach ( $attr as $name => $value ) {
|
40 |
$name = str_replace(' ', '', $name); //ensure we have no spaces!
|
41 |
$html .= " $name=" . '"' . foogallery_esc_attr($value) . '"';
|
@@ -103,7 +103,7 @@ function foogallery_build_attachment_html_image_attributes( $foogallery_attachme
|
|
103 |
function foogallery_attachment_html_anchor_opening( $foogallery_attachment, $args = array() ) {
|
104 |
$attr = foogallery_build_attachment_html_anchor_attributes( $foogallery_attachment, $args );
|
105 |
|
106 |
-
$html = '<a
|
107 |
foreach ( $attr as $name => $value ) {
|
108 |
$name = str_replace(' ', '', $name); //ensure we have no spaces!
|
109 |
$html .= " $name=" . '"' . foogallery_esc_attr($value) . '"';
|
@@ -175,7 +175,7 @@ function foogallery_build_attachment_html_anchor_attributes( $foogallery_attachm
|
|
175 |
$attr = apply_filters( 'foogallery_attachment_html_link_attributes', $attr, $args, $foogallery_attachment );
|
176 |
|
177 |
//always add the fg-thumb class
|
178 |
-
if ( array_key_exists( 'class', $attr ) ) {
|
179 |
$attr['class'] .= ' fg-thumb';
|
180 |
} else {
|
181 |
$attr['class'] = 'fg-thumb';
|
@@ -364,10 +364,12 @@ function foogallery_attachment_html( $foogallery_attachment, $args = array() ) {
|
|
364 |
|
365 |
$html = foogallery_attachment_html_item_opening( $foogallery_attachment, $args );
|
366 |
$html .= foogallery_attachment_html_anchor_opening( $foogallery_attachment, $args );
|
|
|
367 |
$html .= foogallery_attachment_html_image( $foogallery_attachment, $args );
|
|
|
368 |
$html .= '</a>';
|
369 |
$html .= foogallery_attachment_html_caption( $foogallery_attachment, $args );
|
370 |
-
$html .= '</figure></div>';
|
371 |
return $html;
|
372 |
}
|
373 |
|
@@ -405,16 +407,16 @@ function foogallery_build_json_object_from_attachment( $foogallery_attachment, $
|
|
405 |
$image_attributes = foogallery_build_attachment_html_image_attributes( $foogallery_attachment, $args );
|
406 |
$captions = foogallery_build_attachment_html_caption( $foogallery_attachment, $args );
|
407 |
|
408 |
-
if ( array_key_exists( 'src', $image_attributes ) ) {
|
409 |
-
$src = $image_attributes['src'];
|
410 |
-
} else if ( array_key_exists( 'data-src-fg', $image_attributes ) ) {
|
411 |
$src = $image_attributes['data-src-fg'];
|
|
|
|
|
412 |
}
|
413 |
|
414 |
-
if ( array_key_exists( 'srcset', $image_attributes ) ) {
|
415 |
-
$srcset = $image_attributes['srcset'];
|
416 |
-
} else if ( array_key_exists( 'data-srcset-fg', $image_attributes ) ) {
|
417 |
$srcset = $image_attributes['data-srcset-fg'];
|
|
|
|
|
418 |
}
|
419 |
|
420 |
$json_object = new stdClass();
|
35 |
function foogallery_attachment_html_image( $foogallery_attachment, $args = array() ) {
|
36 |
$attr = foogallery_build_attachment_html_image_attributes( $foogallery_attachment, $args );
|
37 |
|
38 |
+
$html = '<img';
|
39 |
foreach ( $attr as $name => $value ) {
|
40 |
$name = str_replace(' ', '', $name); //ensure we have no spaces!
|
41 |
$html .= " $name=" . '"' . foogallery_esc_attr($value) . '"';
|
103 |
function foogallery_attachment_html_anchor_opening( $foogallery_attachment, $args = array() ) {
|
104 |
$attr = foogallery_build_attachment_html_anchor_attributes( $foogallery_attachment, $args );
|
105 |
|
106 |
+
$html = '<a';
|
107 |
foreach ( $attr as $name => $value ) {
|
108 |
$name = str_replace(' ', '', $name); //ensure we have no spaces!
|
109 |
$html .= " $name=" . '"' . foogallery_esc_attr($value) . '"';
|
175 |
$attr = apply_filters( 'foogallery_attachment_html_link_attributes', $attr, $args, $foogallery_attachment );
|
176 |
|
177 |
//always add the fg-thumb class
|
178 |
+
if ( array_key_exists( 'class', $attr ) && !empty( $attr['class'] ) ) {
|
179 |
$attr['class'] .= ' fg-thumb';
|
180 |
} else {
|
181 |
$attr['class'] = 'fg-thumb';
|
364 |
|
365 |
$html = foogallery_attachment_html_item_opening( $foogallery_attachment, $args );
|
366 |
$html .= foogallery_attachment_html_anchor_opening( $foogallery_attachment, $args );
|
367 |
+
$html .= '<span class="fg-image-wrap">';
|
368 |
$html .= foogallery_attachment_html_image( $foogallery_attachment, $args );
|
369 |
+
$html .= '</span>';
|
370 |
$html .= '</a>';
|
371 |
$html .= foogallery_attachment_html_caption( $foogallery_attachment, $args );
|
372 |
+
$html .= '</figure><div class="fg-loader"></div></div>';
|
373 |
return $html;
|
374 |
}
|
375 |
|
407 |
$image_attributes = foogallery_build_attachment_html_image_attributes( $foogallery_attachment, $args );
|
408 |
$captions = foogallery_build_attachment_html_caption( $foogallery_attachment, $args );
|
409 |
|
410 |
+
if ( array_key_exists( 'data-src-fg', $image_attributes ) ) {
|
|
|
|
|
411 |
$src = $image_attributes['data-src-fg'];
|
412 |
+
} else if (array_key_exists( 'src', $image_attributes ) ) {
|
413 |
+
$src = $image_attributes['src'];
|
414 |
}
|
415 |
|
416 |
+
if ( array_key_exists( 'data-srcset-fg', $image_attributes ) ) {
|
|
|
|
|
417 |
$srcset = $image_attributes['data-srcset-fg'];
|
418 |
+
} else if ( array_key_exists( 'srcset', $image_attributes ) ) {
|
419 |
+
$srcset = $image_attributes['srcset'];
|
420 |
}
|
421 |
|
422 |
$json_object = new stdClass();
|
js/foogallery.admin.min.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*
|
2 |
* FooGallery - The Most Intuitive and Extensible Gallery Creation and Management Tool Ever Created for WordPress
|
3 |
-
* @version 1.
|
4 |
* @link
|
5 |
* @copyright Steven Usher & Brad Vincent 2015
|
6 |
* @license Released under the GPLv3 license.
|
1 |
/*
|
2 |
* FooGallery - The Most Intuitive and Extensible Gallery Creation and Management Tool Ever Created for WordPress
|
3 |
+
* @version 1.2.3
|
4 |
* @link
|
5 |
* @copyright Steven Usher & Brad Vincent 2015
|
6 |
* @license Released under the GPLv3 license.
|
package-lock.json
CHANGED
@@ -5629,40 +5629,40 @@
|
|
5629 |
"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
|
5630 |
},
|
5631 |
"npm": {
|
5632 |
-
"version": "6.
|
5633 |
-
"resolved": "https://registry.npmjs.org/npm/-/npm-6.
|
5634 |
-
"integrity": "sha512-
|
5635 |
"requires": {
|
5636 |
-
"JSONStream": "1.3.
|
5637 |
"abbrev": "1.1.1",
|
5638 |
"ansicolors": "0.3.2",
|
5639 |
"ansistyles": "0.1.3",
|
5640 |
-
"aproba": "
|
5641 |
"archy": "1.0.0",
|
5642 |
"bin-links": "1.1.2",
|
5643 |
-
"bluebird": "3.5.
|
5644 |
-
"byte-size": "
|
5645 |
-
"cacache": "11.2
|
5646 |
"call-limit": "1.1.0",
|
5647 |
-
"chownr": "1.
|
5648 |
-
"ci-info": "
|
5649 |
"cli-columns": "3.1.2",
|
5650 |
-
"cli-table3": "0.5.
|
5651 |
"cmd-shim": "2.0.2",
|
5652 |
"columnify": "1.5.4",
|
5653 |
-
"config-chain": "1.1.
|
5654 |
"debuglog": "1.0.1",
|
5655 |
"detect-indent": "5.0.0",
|
5656 |
"detect-newline": "2.1.0",
|
5657 |
"dezalgo": "1.0.3",
|
5658 |
"editor": "1.0.0",
|
5659 |
-
"figgy-pudding": "3.
|
5660 |
"find-npm-prefix": "1.0.2",
|
5661 |
"fs-vacuum": "1.2.10",
|
5662 |
"fs-write-stream-atomic": "1.0.10",
|
5663 |
"gentle-fs": "2.0.1",
|
5664 |
-
"glob": "7.1.
|
5665 |
-
"graceful-fs": "4.1.
|
5666 |
"has-unicode": "2.0.1",
|
5667 |
"hosted-git-info": "2.7.1",
|
5668 |
"iferr": "1.0.2",
|
@@ -5671,13 +5671,18 @@
|
|
5671 |
"inherits": "2.0.3",
|
5672 |
"ini": "1.3.5",
|
5673 |
"init-package-json": "1.10.3",
|
5674 |
-
"is-cidr": "
|
5675 |
"json-parse-better-errors": "1.0.2",
|
5676 |
"lazy-property": "1.0.0",
|
5677 |
-
"libcipm": "
|
5678 |
-
"
|
|
|
|
|
|
|
|
|
|
|
5679 |
"libnpx": "10.2.0",
|
5680 |
-
"lock-verify": "2.0
|
5681 |
"lockfile": "1.0.4",
|
5682 |
"lodash._baseindexof": "3.1.0",
|
5683 |
"lodash._baseuniq": "4.6.0",
|
@@ -5690,59 +5695,58 @@
|
|
5690 |
"lodash.union": "4.6.0",
|
5691 |
"lodash.uniq": "4.5.0",
|
5692 |
"lodash.without": "4.4.0",
|
5693 |
-
"lru-cache": "4.1.
|
5694 |
"meant": "1.0.1",
|
5695 |
"mississippi": "3.0.0",
|
5696 |
"mkdirp": "0.5.1",
|
5697 |
"move-concurrently": "1.0.1",
|
5698 |
"node-gyp": "3.8.0",
|
5699 |
"nopt": "4.0.1",
|
5700 |
-
"normalize-package-data": "2.
|
5701 |
-
"npm-audit-report": "1.3.
|
5702 |
"npm-cache-filename": "1.0.2",
|
5703 |
"npm-install-checks": "3.0.0",
|
5704 |
"npm-lifecycle": "2.1.0",
|
5705 |
"npm-package-arg": "6.1.0",
|
5706 |
-
"npm-packlist": "1.1
|
5707 |
-
"npm-pick-manifest": "2.
|
5708 |
-
"npm-profile": "
|
5709 |
-
"npm-registry-
|
5710 |
-
"npm-registry-fetch": "1.1.0",
|
5711 |
"npm-user-validate": "1.0.0",
|
5712 |
"npmlog": "4.1.2",
|
5713 |
"once": "1.4.0",
|
5714 |
-
"opener": "1.5.
|
5715 |
"osenv": "0.1.5",
|
5716 |
-
"pacote": "
|
5717 |
"path-is-inside": "1.0.2",
|
5718 |
"promise-inflight": "1.0.1",
|
5719 |
"qrcode-terminal": "0.12.0",
|
5720 |
-
"query-string": "6.
|
5721 |
"qw": "1.0.1",
|
5722 |
"read": "1.0.7",
|
5723 |
"read-cmd-shim": "1.0.1",
|
5724 |
"read-installed": "4.0.3",
|
5725 |
"read-package-json": "2.0.13",
|
5726 |
-
"read-package-tree": "5.2.
|
5727 |
-
"readable-stream": "
|
5728 |
"readdir-scoped-modules": "1.0.2",
|
5729 |
"request": "2.88.0",
|
5730 |
"retry": "0.12.0",
|
5731 |
-
"rimraf": "2.6.
|
5732 |
"safe-buffer": "5.1.2",
|
5733 |
-
"semver": "5.
|
5734 |
"sha": "2.0.1",
|
5735 |
"slide": "1.1.6",
|
5736 |
"sorted-object": "2.0.1",
|
5737 |
"sorted-union-stream": "2.1.3",
|
5738 |
-
"ssri": "6.0.
|
5739 |
"stringify-package": "1.0.0",
|
5740 |
-
"tar": "4.4.
|
5741 |
"text-table": "0.2.0",
|
5742 |
"tiny-relative-date": "1.3.0",
|
5743 |
"uid-number": "0.0.6",
|
5744 |
"umask": "1.1.0",
|
5745 |
-
"unique-filename": "1.1.
|
5746 |
"unpipe": "1.0.0",
|
5747 |
"update-notifier": "2.5.0",
|
5748 |
"uuid": "3.3.2",
|
@@ -5750,11 +5754,11 @@
|
|
5750 |
"validate-npm-package-name": "3.0.0",
|
5751 |
"which": "1.3.1",
|
5752 |
"worker-farm": "1.6.0",
|
5753 |
-
"write-file-atomic": "2.
|
5754 |
},
|
5755 |
"dependencies": {
|
5756 |
"JSONStream": {
|
5757 |
-
"version": "1.3.
|
5758 |
"bundled": true,
|
5759 |
"requires": {
|
5760 |
"jsonparse": "1.3.1",
|
@@ -5766,7 +5770,7 @@
|
|
5766 |
"bundled": true
|
5767 |
},
|
5768 |
"agent-base": {
|
5769 |
-
"version": "4.2.
|
5770 |
"bundled": true,
|
5771 |
"requires": {
|
5772 |
"es6-promisify": "5.0.0"
|
@@ -5816,7 +5820,7 @@
|
|
5816 |
"bundled": true
|
5817 |
},
|
5818 |
"aproba": {
|
5819 |
-
"version": "
|
5820 |
"bundled": true
|
5821 |
},
|
5822 |
"archy": {
|
@@ -5829,6 +5833,28 @@
|
|
5829 |
"requires": {
|
5830 |
"delegates": "1.0.0",
|
5831 |
"readable-stream": "2.3.6"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5832 |
}
|
5833 |
},
|
5834 |
"asap": {
|
@@ -5874,11 +5900,11 @@
|
|
5874 |
"version": "1.1.2",
|
5875 |
"bundled": true,
|
5876 |
"requires": {
|
5877 |
-
"bluebird": "3.5.
|
5878 |
"cmd-shim": "2.0.2",
|
5879 |
"gentle-fs": "2.0.1",
|
5880 |
-
"graceful-fs": "4.1.
|
5881 |
-
"write-file-atomic": "2.
|
5882 |
}
|
5883 |
},
|
5884 |
"block-stream": {
|
@@ -5889,7 +5915,7 @@
|
|
5889 |
}
|
5890 |
},
|
5891 |
"bluebird": {
|
5892 |
-
"version": "3.5.
|
5893 |
"bundled": true
|
5894 |
},
|
5895 |
"boxen": {
|
@@ -5917,10 +5943,6 @@
|
|
5917 |
"version": "1.0.0",
|
5918 |
"bundled": true
|
5919 |
},
|
5920 |
-
"builtin-modules": {
|
5921 |
-
"version": "1.1.1",
|
5922 |
-
"bundled": true
|
5923 |
-
},
|
5924 |
"builtins": {
|
5925 |
"version": "1.0.3",
|
5926 |
"bundled": true
|
@@ -5930,27 +5952,51 @@
|
|
5930 |
"bundled": true
|
5931 |
},
|
5932 |
"byte-size": {
|
5933 |
-
"version": "
|
5934 |
"bundled": true
|
5935 |
},
|
5936 |
"cacache": {
|
5937 |
-
"version": "11.2
|
5938 |
"bundled": true,
|
5939 |
"requires": {
|
5940 |
-
"bluebird": "3.5.
|
5941 |
-
"chownr": "1.
|
5942 |
-
"figgy-pudding": "3.
|
5943 |
-
"glob": "7.1.
|
5944 |
-
"graceful-fs": "4.1.
|
5945 |
-
"lru-cache": "
|
5946 |
"mississippi": "3.0.0",
|
5947 |
"mkdirp": "0.5.1",
|
5948 |
"move-concurrently": "1.0.1",
|
5949 |
"promise-inflight": "1.0.1",
|
5950 |
-
"rimraf": "2.6.
|
5951 |
-
"ssri": "6.0.
|
5952 |
-
"unique-filename": "1.1.
|
5953 |
"y18n": "4.0.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5954 |
}
|
5955 |
},
|
5956 |
"call-limit": {
|
@@ -5979,15 +6025,15 @@
|
|
5979 |
}
|
5980 |
},
|
5981 |
"chownr": {
|
5982 |
-
"version": "1.
|
5983 |
"bundled": true
|
5984 |
},
|
5985 |
"ci-info": {
|
5986 |
-
"version": "
|
5987 |
"bundled": true
|
5988 |
},
|
5989 |
"cidr-regex": {
|
5990 |
-
"version": "2.0.
|
5991 |
"bundled": true,
|
5992 |
"requires": {
|
5993 |
"ip-regex": "2.1.0"
|
@@ -6006,10 +6052,10 @@
|
|
6006 |
}
|
6007 |
},
|
6008 |
"cli-table3": {
|
6009 |
-
"version": "0.5.
|
6010 |
"bundled": true,
|
6011 |
"requires": {
|
6012 |
-
"colors": "1.
|
6013 |
"object-assign": "4.1.1",
|
6014 |
"string-width": "2.1.1"
|
6015 |
}
|
@@ -6044,7 +6090,7 @@
|
|
6044 |
"version": "2.0.2",
|
6045 |
"bundled": true,
|
6046 |
"requires": {
|
6047 |
-
"graceful-fs": "4.1.
|
6048 |
"mkdirp": "0.5.1"
|
6049 |
}
|
6050 |
},
|
@@ -6068,7 +6114,7 @@
|
|
6068 |
"bundled": true
|
6069 |
},
|
6070 |
"colors": {
|
6071 |
-
"version": "1.
|
6072 |
"bundled": true,
|
6073 |
"optional": true
|
6074 |
},
|
@@ -6099,10 +6145,32 @@
|
|
6099 |
"inherits": "2.0.3",
|
6100 |
"readable-stream": "2.3.6",
|
6101 |
"typedarray": "0.0.6"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6102 |
}
|
6103 |
},
|
6104 |
"config-chain": {
|
6105 |
-
"version": "1.1.
|
6106 |
"bundled": true,
|
6107 |
"requires": {
|
6108 |
"ini": "1.3.5",
|
@@ -6114,10 +6182,10 @@
|
|
6114 |
"bundled": true,
|
6115 |
"requires": {
|
6116 |
"dot-prop": "4.2.0",
|
6117 |
-
"graceful-fs": "4.1.
|
6118 |
"make-dir": "1.3.0",
|
6119 |
"unique-string": "1.0.0",
|
6120 |
-
"write-file-atomic": "2.
|
6121 |
"xdg-basedir": "3.0.0"
|
6122 |
}
|
6123 |
},
|
@@ -6133,10 +6201,14 @@
|
|
6133 |
"fs-write-stream-atomic": "1.0.10",
|
6134 |
"iferr": "0.1.5",
|
6135 |
"mkdirp": "0.5.1",
|
6136 |
-
"rimraf": "2.6.
|
6137 |
"run-queue": "1.0.3"
|
6138 |
},
|
6139 |
"dependencies": {
|
|
|
|
|
|
|
|
|
6140 |
"iferr": {
|
6141 |
"version": "0.1.5",
|
6142 |
"bundled": true
|
@@ -6158,7 +6230,7 @@
|
|
6158 |
"version": "5.1.0",
|
6159 |
"bundled": true,
|
6160 |
"requires": {
|
6161 |
-
"lru-cache": "4.1.
|
6162 |
"shebang-command": "1.2.0",
|
6163 |
"which": "1.3.1"
|
6164 |
}
|
@@ -6261,6 +6333,28 @@
|
|
6261 |
"inherits": "2.0.3",
|
6262 |
"readable-stream": "2.3.6",
|
6263 |
"stream-shift": "1.0.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6264 |
}
|
6265 |
},
|
6266 |
"ecc-jsbn": {
|
@@ -6302,14 +6396,14 @@
|
|
6302 |
}
|
6303 |
},
|
6304 |
"es6-promise": {
|
6305 |
-
"version": "4.2.
|
6306 |
"bundled": true
|
6307 |
},
|
6308 |
"es6-promisify": {
|
6309 |
"version": "5.0.0",
|
6310 |
"bundled": true,
|
6311 |
"requires": {
|
6312 |
-
"es6-promise": "4.2.
|
6313 |
}
|
6314 |
},
|
6315 |
"escape-string-regexp": {
|
@@ -6327,6 +6421,12 @@
|
|
6327 |
"p-finally": "1.0.0",
|
6328 |
"signal-exit": "3.0.2",
|
6329 |
"strip-eof": "1.0.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
6330 |
}
|
6331 |
},
|
6332 |
"extend": {
|
@@ -6346,7 +6446,7 @@
|
|
6346 |
"bundled": true
|
6347 |
},
|
6348 |
"figgy-pudding": {
|
6349 |
-
"version": "3.
|
6350 |
"bundled": true
|
6351 |
},
|
6352 |
"find-npm-prefix": {
|
@@ -6366,6 +6466,28 @@
|
|
6366 |
"requires": {
|
6367 |
"inherits": "2.0.3",
|
6368 |
"readable-stream": "2.3.6"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6369 |
}
|
6370 |
},
|
6371 |
"forever-agent": {
|
@@ -6387,6 +6509,28 @@
|
|
6387 |
"requires": {
|
6388 |
"inherits": "2.0.3",
|
6389 |
"readable-stream": "2.3.6"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6390 |
}
|
6391 |
},
|
6392 |
"fs-minipass": {
|
@@ -6400,16 +6544,16 @@
|
|
6400 |
"version": "1.2.10",
|
6401 |
"bundled": true,
|
6402 |
"requires": {
|
6403 |
-
"graceful-fs": "4.1.
|
6404 |
"path-is-inside": "1.0.2",
|
6405 |
-
"rimraf": "2.6.
|
6406 |
}
|
6407 |
},
|
6408 |
"fs-write-stream-atomic": {
|
6409 |
"version": "1.0.10",
|
6410 |
"bundled": true,
|
6411 |
"requires": {
|
6412 |
-
"graceful-fs": "4.1.
|
6413 |
"iferr": "0.1.5",
|
6414 |
"imurmurhash": "0.1.4",
|
6415 |
"readable-stream": "2.3.6"
|
@@ -6418,6 +6562,26 @@
|
|
6418 |
"iferr": {
|
6419 |
"version": "0.1.5",
|
6420 |
"bundled": true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6421 |
}
|
6422 |
}
|
6423 |
},
|
@@ -6429,10 +6593,10 @@
|
|
6429 |
"version": "1.0.11",
|
6430 |
"bundled": true,
|
6431 |
"requires": {
|
6432 |
-
"graceful-fs": "4.1.
|
6433 |
"inherits": "2.0.3",
|
6434 |
"mkdirp": "0.5.1",
|
6435 |
-
"rimraf": "2.6.
|
6436 |
}
|
6437 |
},
|
6438 |
"gauge": {
|
@@ -6449,6 +6613,10 @@
|
|
6449 |
"wide-align": "1.1.2"
|
6450 |
},
|
6451 |
"dependencies": {
|
|
|
|
|
|
|
|
|
6452 |
"string-width": {
|
6453 |
"version": "1.0.2",
|
6454 |
"bundled": true,
|
@@ -6461,7 +6629,7 @@
|
|
6461 |
}
|
6462 |
},
|
6463 |
"genfun": {
|
6464 |
-
"version": "
|
6465 |
"bundled": true
|
6466 |
},
|
6467 |
"gentle-fs": {
|
@@ -6470,7 +6638,7 @@
|
|
6470 |
"requires": {
|
6471 |
"aproba": "1.2.0",
|
6472 |
"fs-vacuum": "1.2.10",
|
6473 |
-
"graceful-fs": "4.1.
|
6474 |
"iferr": "0.1.5",
|
6475 |
"mkdirp": "0.5.1",
|
6476 |
"path-is-inside": "1.0.2",
|
@@ -6478,6 +6646,10 @@
|
|
6478 |
"slide": "1.1.6"
|
6479 |
},
|
6480 |
"dependencies": {
|
|
|
|
|
|
|
|
|
6481 |
"iferr": {
|
6482 |
"version": "0.1.5",
|
6483 |
"bundled": true
|
@@ -6489,8 +6661,11 @@
|
|
6489 |
"bundled": true
|
6490 |
},
|
6491 |
"get-stream": {
|
6492 |
-
"version": "
|
6493 |
-
"bundled": true
|
|
|
|
|
|
|
6494 |
},
|
6495 |
"getpass": {
|
6496 |
"version": "0.1.7",
|
@@ -6500,7 +6675,7 @@
|
|
6500 |
}
|
6501 |
},
|
6502 |
"glob": {
|
6503 |
-
"version": "7.1.
|
6504 |
"bundled": true,
|
6505 |
"requires": {
|
6506 |
"fs.realpath": "1.0.0",
|
@@ -6533,10 +6708,16 @@
|
|
6533 |
"timed-out": "4.0.1",
|
6534 |
"unzip-response": "2.0.1",
|
6535 |
"url-parse-lax": "1.0.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
6536 |
}
|
6537 |
},
|
6538 |
"graceful-fs": {
|
6539 |
-
"version": "4.1.
|
6540 |
"bundled": true
|
6541 |
},
|
6542 |
"har-schema": {
|
@@ -6571,7 +6752,7 @@
|
|
6571 |
"version": "2.1.0",
|
6572 |
"bundled": true,
|
6573 |
"requires": {
|
6574 |
-
"agent-base": "4.2.
|
6575 |
"debug": "3.1.0"
|
6576 |
}
|
6577 |
},
|
@@ -6588,7 +6769,7 @@
|
|
6588 |
"version": "2.2.1",
|
6589 |
"bundled": true,
|
6590 |
"requires": {
|
6591 |
-
"agent-base": "4.2.
|
6592 |
"debug": "3.1.0"
|
6593 |
}
|
6594 |
},
|
@@ -6645,12 +6826,12 @@
|
|
6645 |
"version": "1.10.3",
|
6646 |
"bundled": true,
|
6647 |
"requires": {
|
6648 |
-
"glob": "7.1.
|
6649 |
"npm-package-arg": "6.1.0",
|
6650 |
"promzard": "0.3.0",
|
6651 |
"read": "1.0.7",
|
6652 |
"read-package-json": "2.0.13",
|
6653 |
-
"semver": "5.
|
6654 |
"validate-npm-package-license": "3.0.4",
|
6655 |
"validate-npm-package-name": "3.0.0"
|
6656 |
}
|
@@ -6667,25 +6848,24 @@
|
|
6667 |
"version": "2.1.0",
|
6668 |
"bundled": true
|
6669 |
},
|
6670 |
-
"is-builtin-module": {
|
6671 |
-
"version": "1.0.0",
|
6672 |
-
"bundled": true,
|
6673 |
-
"requires": {
|
6674 |
-
"builtin-modules": "1.1.1"
|
6675 |
-
}
|
6676 |
-
},
|
6677 |
"is-ci": {
|
6678 |
"version": "1.1.0",
|
6679 |
"bundled": true,
|
6680 |
"requires": {
|
6681 |
-
"ci-info": "1.
|
|
|
|
|
|
|
|
|
|
|
|
|
6682 |
}
|
6683 |
},
|
6684 |
"is-cidr": {
|
6685 |
-
"version": "
|
6686 |
"bundled": true,
|
6687 |
"requires": {
|
6688 |
-
"cidr-regex": "2.0.
|
6689 |
}
|
6690 |
},
|
6691 |
"is-fullwidth-code-point": {
|
@@ -6800,43 +6980,175 @@
|
|
6800 |
}
|
6801 |
},
|
6802 |
"libcipm": {
|
6803 |
-
"version": "
|
6804 |
"bundled": true,
|
6805 |
"requires": {
|
6806 |
"bin-links": "1.1.2",
|
6807 |
-
"bluebird": "3.5.
|
|
|
6808 |
"find-npm-prefix": "1.0.2",
|
6809 |
-
"graceful-fs": "4.1.
|
6810 |
-
"
|
|
|
6811 |
"mkdirp": "0.5.1",
|
6812 |
"npm-lifecycle": "2.1.0",
|
6813 |
"npm-logical-tree": "1.2.1",
|
6814 |
"npm-package-arg": "6.1.0",
|
6815 |
-
"pacote": "
|
6816 |
-
"protoduck": "5.0.0",
|
6817 |
"read-package-json": "2.0.13",
|
6818 |
-
"rimraf": "2.6.
|
6819 |
"worker-farm": "1.6.0"
|
6820 |
}
|
6821 |
},
|
6822 |
-
"
|
6823 |
-
"version": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6824 |
"bundled": true,
|
6825 |
"requires": {
|
6826 |
-
"figgy-pudding": "3.
|
6827 |
-
"
|
|
|
6828 |
},
|
6829 |
"dependencies": {
|
6830 |
-
"
|
6831 |
-
"version": "3.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6832 |
"bundled": true,
|
6833 |
"requires": {
|
6834 |
-
"
|
6835 |
-
"
|
6836 |
-
"lru-cache": "4.1.3",
|
6837 |
-
"make-fetch-happen": "4.0.1",
|
6838 |
-
"npm-package-arg": "6.1.0"
|
6839 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6840 |
}
|
6841 |
}
|
6842 |
},
|
@@ -6846,7 +7158,7 @@
|
|
6846 |
"requires": {
|
6847 |
"dotenv": "5.0.1",
|
6848 |
"npm-package-arg": "6.1.0",
|
6849 |
-
"rimraf": "2.6.
|
6850 |
"safe-buffer": "5.1.2",
|
6851 |
"update-notifier": "2.5.0",
|
6852 |
"which": "1.3.1",
|
@@ -6863,11 +7175,11 @@
|
|
6863 |
}
|
6864 |
},
|
6865 |
"lock-verify": {
|
6866 |
-
"version": "2.0
|
6867 |
"bundled": true,
|
6868 |
"requires": {
|
6869 |
"npm-package-arg": "6.1.0",
|
6870 |
-
"semver": "5.
|
6871 |
}
|
6872 |
},
|
6873 |
"lockfile": {
|
@@ -6941,7 +7253,7 @@
|
|
6941 |
"bundled": true
|
6942 |
},
|
6943 |
"lru-cache": {
|
6944 |
-
"version": "4.1.
|
6945 |
"bundled": true,
|
6946 |
"requires": {
|
6947 |
"pseudomap": "1.0.2",
|
@@ -6960,16 +7272,16 @@
|
|
6960 |
"bundled": true,
|
6961 |
"requires": {
|
6962 |
"agentkeepalive": "3.4.1",
|
6963 |
-
"cacache": "11.2
|
6964 |
"http-cache-semantics": "3.8.1",
|
6965 |
"http-proxy-agent": "2.1.0",
|
6966 |
"https-proxy-agent": "2.2.1",
|
6967 |
-
"lru-cache": "4.1.
|
6968 |
"mississippi": "3.0.0",
|
6969 |
"node-fetch-npm": "2.0.2",
|
6970 |
"promise-retry": "1.1.1",
|
6971 |
"socks-proxy-agent": "4.0.1",
|
6972 |
-
"ssri": "6.0.
|
6973 |
}
|
6974 |
},
|
6975 |
"meant": {
|
@@ -7024,7 +7336,7 @@
|
|
7024 |
}
|
7025 |
},
|
7026 |
"minizlib": {
|
7027 |
-
"version": "1.1.
|
7028 |
"bundled": true,
|
7029 |
"requires": {
|
7030 |
"minipass": "2.3.3"
|
@@ -7061,8 +7373,14 @@
|
|
7061 |
"copy-concurrently": "1.0.5",
|
7062 |
"fs-write-stream-atomic": "1.0.10",
|
7063 |
"mkdirp": "0.5.1",
|
7064 |
-
"rimraf": "2.6.
|
7065 |
"run-queue": "1.0.3"
|
|
|
|
|
|
|
|
|
|
|
|
|
7066 |
}
|
7067 |
},
|
7068 |
"ms": {
|
@@ -7087,14 +7405,14 @@
|
|
7087 |
"bundled": true,
|
7088 |
"requires": {
|
7089 |
"fstream": "1.0.11",
|
7090 |
-
"glob": "7.1.
|
7091 |
-
"graceful-fs": "4.1.
|
7092 |
"mkdirp": "0.5.1",
|
7093 |
"nopt": "3.0.6",
|
7094 |
"npmlog": "4.1.2",
|
7095 |
"osenv": "0.1.5",
|
7096 |
"request": "2.88.0",
|
7097 |
-
"rimraf": "2.6.
|
7098 |
"semver": "5.3.0",
|
7099 |
"tar": "2.2.1",
|
7100 |
"which": "1.3.1"
|
@@ -7131,25 +7449,34 @@
|
|
7131 |
}
|
7132 |
},
|
7133 |
"normalize-package-data": {
|
7134 |
-
"version": "2.
|
7135 |
"bundled": true,
|
7136 |
"requires": {
|
7137 |
"hosted-git-info": "2.7.1",
|
7138 |
-
"
|
7139 |
-
"semver": "5.
|
7140 |
"validate-npm-package-license": "3.0.4"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7141 |
}
|
7142 |
},
|
7143 |
"npm-audit-report": {
|
7144 |
-
"version": "1.3.
|
7145 |
"bundled": true,
|
7146 |
"requires": {
|
7147 |
-
"cli-table3": "0.5.
|
7148 |
"console-control-strings": "1.1.0"
|
7149 |
}
|
7150 |
},
|
7151 |
"npm-bundled": {
|
7152 |
-
"version": "1.0.
|
7153 |
"bundled": true
|
7154 |
},
|
7155 |
"npm-cache-filename": {
|
@@ -7160,7 +7487,7 @@
|
|
7160 |
"version": "3.0.0",
|
7161 |
"bundled": true,
|
7162 |
"requires": {
|
7163 |
-
"semver": "5.
|
7164 |
}
|
7165 |
},
|
7166 |
"npm-lifecycle": {
|
@@ -7168,7 +7495,7 @@
|
|
7168 |
"bundled": true,
|
7169 |
"requires": {
|
7170 |
"byline": "5.0.0",
|
7171 |
-
"graceful-fs": "4.1.
|
7172 |
"node-gyp": "3.8.0",
|
7173 |
"resolve-from": "4.0.0",
|
7174 |
"slide": "1.1.6",
|
@@ -7187,170 +7514,46 @@
|
|
7187 |
"requires": {
|
7188 |
"hosted-git-info": "2.7.1",
|
7189 |
"osenv": "0.1.5",
|
7190 |
-
"semver": "5.
|
7191 |
"validate-npm-package-name": "3.0.0"
|
7192 |
}
|
7193 |
},
|
7194 |
"npm-packlist": {
|
7195 |
-
"version": "1.1
|
7196 |
"bundled": true,
|
7197 |
"requires": {
|
7198 |
"ignore-walk": "3.0.1",
|
7199 |
-
"npm-bundled": "1.0.
|
7200 |
}
|
7201 |
},
|
7202 |
"npm-pick-manifest": {
|
7203 |
-
"version": "2.
|
7204 |
"bundled": true,
|
7205 |
"requires": {
|
|
|
7206 |
"npm-package-arg": "6.1.0",
|
7207 |
-
"semver": "5.
|
7208 |
}
|
7209 |
},
|
7210 |
"npm-profile": {
|
7211 |
-
"version": "
|
7212 |
"bundled": true,
|
7213 |
"requires": {
|
7214 |
-
"aproba": "
|
7215 |
-
"
|
7216 |
-
|
7217 |
-
},
|
7218 |
-
"npm-registry-client": {
|
7219 |
-
"version": "8.6.0",
|
7220 |
-
"bundled": true,
|
7221 |
-
"requires": {
|
7222 |
-
"concat-stream": "1.6.2",
|
7223 |
-
"graceful-fs": "4.1.11",
|
7224 |
-
"normalize-package-data": "2.4.0",
|
7225 |
-
"npm-package-arg": "6.1.0",
|
7226 |
-
"npmlog": "4.1.2",
|
7227 |
-
"once": "1.4.0",
|
7228 |
-
"request": "2.88.0",
|
7229 |
-
"retry": "0.10.1",
|
7230 |
-
"safe-buffer": "5.1.2",
|
7231 |
-
"semver": "5.5.0",
|
7232 |
-
"slide": "1.1.6",
|
7233 |
-
"ssri": "5.3.0"
|
7234 |
-
},
|
7235 |
-
"dependencies": {
|
7236 |
-
"retry": {
|
7237 |
-
"version": "0.10.1",
|
7238 |
-
"bundled": true
|
7239 |
-
},
|
7240 |
-
"ssri": {
|
7241 |
-
"version": "5.3.0",
|
7242 |
-
"bundled": true,
|
7243 |
-
"requires": {
|
7244 |
-
"safe-buffer": "5.1.2"
|
7245 |
-
}
|
7246 |
-
}
|
7247 |
}
|
7248 |
},
|
7249 |
"npm-registry-fetch": {
|
7250 |
-
"version": "
|
7251 |
"bundled": true,
|
7252 |
"requires": {
|
7253 |
-
"
|
7254 |
-
"
|
7255 |
-
"
|
7256 |
-
"
|
7257 |
-
"
|
7258 |
-
"
|
7259 |
-
},
|
7260 |
-
"dependencies": {
|
7261 |
-
"cacache": {
|
7262 |
-
"version": "10.0.4",
|
7263 |
-
"bundled": true,
|
7264 |
-
"requires": {
|
7265 |
-
"bluebird": "3.5.1",
|
7266 |
-
"chownr": "1.0.1",
|
7267 |
-
"glob": "7.1.2",
|
7268 |
-
"graceful-fs": "4.1.11",
|
7269 |
-
"lru-cache": "4.1.3",
|
7270 |
-
"mississippi": "2.0.0",
|
7271 |
-
"mkdirp": "0.5.1",
|
7272 |
-
"move-concurrently": "1.0.1",
|
7273 |
-
"promise-inflight": "1.0.1",
|
7274 |
-
"rimraf": "2.6.2",
|
7275 |
-
"ssri": "5.3.0",
|
7276 |
-
"unique-filename": "1.1.0",
|
7277 |
-
"y18n": "4.0.0"
|
7278 |
-
},
|
7279 |
-
"dependencies": {
|
7280 |
-
"mississippi": {
|
7281 |
-
"version": "2.0.0",
|
7282 |
-
"bundled": true,
|
7283 |
-
"requires": {
|
7284 |
-
"concat-stream": "1.6.2",
|
7285 |
-
"duplexify": "3.6.0",
|
7286 |
-
"end-of-stream": "1.4.1",
|
7287 |
-
"flush-write-stream": "1.0.3",
|
7288 |
-
"from2": "2.3.0",
|
7289 |
-
"parallel-transform": "1.1.0",
|
7290 |
-
"pump": "2.0.1",
|
7291 |
-
"pumpify": "1.5.1",
|
7292 |
-
"stream-each": "1.2.2",
|
7293 |
-
"through2": "2.0.3"
|
7294 |
-
}
|
7295 |
-
}
|
7296 |
-
}
|
7297 |
-
},
|
7298 |
-
"figgy-pudding": {
|
7299 |
-
"version": "2.0.1",
|
7300 |
-
"bundled": true
|
7301 |
-
},
|
7302 |
-
"make-fetch-happen": {
|
7303 |
-
"version": "3.0.0",
|
7304 |
-
"bundled": true,
|
7305 |
-
"requires": {
|
7306 |
-
"agentkeepalive": "3.4.1",
|
7307 |
-
"cacache": "10.0.4",
|
7308 |
-
"http-cache-semantics": "3.8.1",
|
7309 |
-
"http-proxy-agent": "2.1.0",
|
7310 |
-
"https-proxy-agent": "2.2.1",
|
7311 |
-
"lru-cache": "4.1.3",
|
7312 |
-
"mississippi": "3.0.0",
|
7313 |
-
"node-fetch-npm": "2.0.2",
|
7314 |
-
"promise-retry": "1.1.1",
|
7315 |
-
"socks-proxy-agent": "3.0.1",
|
7316 |
-
"ssri": "5.3.0"
|
7317 |
-
}
|
7318 |
-
},
|
7319 |
-
"pump": {
|
7320 |
-
"version": "2.0.1",
|
7321 |
-
"bundled": true,
|
7322 |
-
"requires": {
|
7323 |
-
"end-of-stream": "1.4.1",
|
7324 |
-
"once": "1.4.0"
|
7325 |
-
}
|
7326 |
-
},
|
7327 |
-
"smart-buffer": {
|
7328 |
-
"version": "1.1.15",
|
7329 |
-
"bundled": true
|
7330 |
-
},
|
7331 |
-
"socks": {
|
7332 |
-
"version": "1.1.10",
|
7333 |
-
"bundled": true,
|
7334 |
-
"requires": {
|
7335 |
-
"ip": "1.1.5",
|
7336 |
-
"smart-buffer": "1.1.15"
|
7337 |
-
}
|
7338 |
-
},
|
7339 |
-
"socks-proxy-agent": {
|
7340 |
-
"version": "3.0.1",
|
7341 |
-
"bundled": true,
|
7342 |
-
"requires": {
|
7343 |
-
"agent-base": "4.2.0",
|
7344 |
-
"socks": "1.1.10"
|
7345 |
-
}
|
7346 |
-
},
|
7347 |
-
"ssri": {
|
7348 |
-
"version": "5.3.0",
|
7349 |
-
"bundled": true,
|
7350 |
-
"requires": {
|
7351 |
-
"safe-buffer": "5.1.2"
|
7352 |
-
}
|
7353 |
-
}
|
7354 |
}
|
7355 |
},
|
7356 |
"npm-run-path": {
|
@@ -7394,7 +7597,7 @@
|
|
7394 |
}
|
7395 |
},
|
7396 |
"opener": {
|
7397 |
-
"version": "1.5.
|
7398 |
"bundled": true
|
7399 |
},
|
7400 |
"os-homedir": {
|
@@ -7451,38 +7654,61 @@
|
|
7451 |
"got": "6.7.1",
|
7452 |
"registry-auth-token": "3.3.2",
|
7453 |
"registry-url": "3.1.0",
|
7454 |
-
"semver": "5.
|
7455 |
}
|
7456 |
},
|
7457 |
"pacote": {
|
7458 |
-
"version": "
|
7459 |
"bundled": true,
|
7460 |
"requires": {
|
7461 |
-
"bluebird": "3.5.
|
7462 |
-
"cacache": "11.2
|
7463 |
-
"
|
7464 |
-
"
|
7465 |
-
"
|
|
|
7466 |
"make-fetch-happen": "4.0.1",
|
7467 |
"minimatch": "3.0.4",
|
7468 |
-
"minipass": "2.3.
|
7469 |
"mississippi": "3.0.0",
|
7470 |
"mkdirp": "0.5.1",
|
7471 |
-
"normalize-package-data": "2.
|
7472 |
"npm-package-arg": "6.1.0",
|
7473 |
-
"npm-packlist": "1.1
|
7474 |
-
"npm-pick-manifest": "2.
|
|
|
7475 |
"osenv": "0.1.5",
|
7476 |
"promise-inflight": "1.0.1",
|
7477 |
"promise-retry": "1.1.1",
|
7478 |
-
"protoduck": "5.0.
|
7479 |
-
"rimraf": "2.6.
|
7480 |
"safe-buffer": "5.1.2",
|
7481 |
-
"semver": "5.
|
7482 |
-
"ssri": "6.0.
|
7483 |
-
"tar": "4.4.
|
7484 |
-
"unique-filename": "1.1.
|
7485 |
"which": "1.3.1"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7486 |
}
|
7487 |
},
|
7488 |
"parallel-transform": {
|
@@ -7492,6 +7718,28 @@
|
|
7492 |
"cyclist": "0.2.2",
|
7493 |
"inherits": "2.0.3",
|
7494 |
"readable-stream": "2.3.6"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7495 |
}
|
7496 |
},
|
7497 |
"path-exists": {
|
@@ -7510,6 +7758,10 @@
|
|
7510 |
"version": "2.0.1",
|
7511 |
"bundled": true
|
7512 |
},
|
|
|
|
|
|
|
|
|
7513 |
"performance-now": {
|
7514 |
"version": "2.1.0",
|
7515 |
"bundled": true
|
@@ -7556,10 +7808,10 @@
|
|
7556 |
"bundled": true
|
7557 |
},
|
7558 |
"protoduck": {
|
7559 |
-
"version": "5.0.
|
7560 |
"bundled": true,
|
7561 |
"requires": {
|
7562 |
-
"genfun": "
|
7563 |
}
|
7564 |
},
|
7565 |
"prr": {
|
@@ -7614,7 +7866,7 @@
|
|
7614 |
"bundled": true
|
7615 |
},
|
7616 |
"query-string": {
|
7617 |
-
"version": "6.
|
7618 |
"bundled": true,
|
7619 |
"requires": {
|
7620 |
"decode-uri-component": "0.2.0",
|
@@ -7652,7 +7904,7 @@
|
|
7652 |
"version": "1.0.1",
|
7653 |
"bundled": true,
|
7654 |
"requires": {
|
7655 |
-
"graceful-fs": "4.1.
|
7656 |
}
|
7657 |
},
|
7658 |
"read-installed": {
|
@@ -7660,10 +7912,10 @@
|
|
7660 |
"bundled": true,
|
7661 |
"requires": {
|
7662 |
"debuglog": "1.0.1",
|
7663 |
-
"graceful-fs": "4.1.
|
7664 |
"read-package-json": "2.0.13",
|
7665 |
"readdir-scoped-modules": "1.0.2",
|
7666 |
-
"semver": "5.
|
7667 |
"slide": "1.1.6",
|
7668 |
"util-extend": "1.0.3"
|
7669 |
}
|
@@ -7672,15 +7924,15 @@
|
|
7672 |
"version": "2.0.13",
|
7673 |
"bundled": true,
|
7674 |
"requires": {
|
7675 |
-
"glob": "7.1.
|
7676 |
-
"graceful-fs": "4.1.
|
7677 |
"json-parse-better-errors": "1.0.2",
|
7678 |
-
"normalize-package-data": "2.
|
7679 |
"slash": "1.0.0"
|
7680 |
}
|
7681 |
},
|
7682 |
"read-package-tree": {
|
7683 |
-
"version": "5.2.
|
7684 |
"bundled": true,
|
7685 |
"requires": {
|
7686 |
"debuglog": "1.0.1",
|
@@ -7691,15 +7943,11 @@
|
|
7691 |
}
|
7692 |
},
|
7693 |
"readable-stream": {
|
7694 |
-
"version": "
|
7695 |
"bundled": true,
|
7696 |
"requires": {
|
7697 |
-
"core-util-is": "1.0.2",
|
7698 |
"inherits": "2.0.3",
|
7699 |
-
"
|
7700 |
-
"process-nextick-args": "2.0.0",
|
7701 |
-
"safe-buffer": "5.1.2",
|
7702 |
-
"string_decoder": "1.1.1",
|
7703 |
"util-deprecate": "1.0.2"
|
7704 |
}
|
7705 |
},
|
@@ -7709,7 +7957,7 @@
|
|
7709 |
"requires": {
|
7710 |
"debuglog": "1.0.1",
|
7711 |
"dezalgo": "1.0.3",
|
7712 |
-
"graceful-fs": "4.1.
|
7713 |
"once": "1.4.0"
|
7714 |
}
|
7715 |
},
|
@@ -7771,10 +8019,10 @@
|
|
7771 |
"bundled": true
|
7772 |
},
|
7773 |
"rimraf": {
|
7774 |
-
"version": "2.6.
|
7775 |
"bundled": true,
|
7776 |
"requires": {
|
7777 |
-
"glob": "7.1.
|
7778 |
}
|
7779 |
},
|
7780 |
"run-queue": {
|
@@ -7782,6 +8030,12 @@
|
|
7782 |
"bundled": true,
|
7783 |
"requires": {
|
7784 |
"aproba": "1.2.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
7785 |
}
|
7786 |
},
|
7787 |
"safe-buffer": {
|
@@ -7793,14 +8047,14 @@
|
|
7793 |
"bundled": true
|
7794 |
},
|
7795 |
"semver": {
|
7796 |
-
"version": "5.
|
7797 |
"bundled": true
|
7798 |
},
|
7799 |
"semver-diff": {
|
7800 |
"version": "2.1.0",
|
7801 |
"bundled": true,
|
7802 |
"requires": {
|
7803 |
-
"semver": "5.
|
7804 |
}
|
7805 |
},
|
7806 |
"set-blocking": {
|
@@ -7811,8 +8065,30 @@
|
|
7811 |
"version": "2.0.1",
|
7812 |
"bundled": true,
|
7813 |
"requires": {
|
7814 |
-
"graceful-fs": "4.1.
|
7815 |
"readable-stream": "2.3.6"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7816 |
}
|
7817 |
},
|
7818 |
"shebang-command": {
|
@@ -7854,7 +8130,7 @@
|
|
7854 |
"version": "4.0.1",
|
7855 |
"bundled": true,
|
7856 |
"requires": {
|
7857 |
-
"agent-base": "4.2.
|
7858 |
"socks": "2.2.0"
|
7859 |
}
|
7860 |
},
|
@@ -7903,7 +8179,7 @@
|
|
7903 |
"bundled": true,
|
7904 |
"requires": {
|
7905 |
"spdx-expression-parse": "3.0.0",
|
7906 |
-
"spdx-license-ids": "3.0.
|
7907 |
}
|
7908 |
},
|
7909 |
"spdx-exceptions": {
|
@@ -7915,11 +8191,11 @@
|
|
7915 |
"bundled": true,
|
7916 |
"requires": {
|
7917 |
"spdx-exceptions": "2.1.0",
|
7918 |
-
"spdx-license-ids": "3.0.
|
7919 |
}
|
7920 |
},
|
7921 |
"spdx-license-ids": {
|
7922 |
-
"version": "3.0.
|
7923 |
"bundled": true
|
7924 |
},
|
7925 |
"sshpk": {
|
@@ -7938,8 +8214,11 @@
|
|
7938 |
}
|
7939 |
},
|
7940 |
"ssri": {
|
7941 |
-
"version": "6.0.
|
7942 |
-
"bundled": true
|
|
|
|
|
|
|
7943 |
},
|
7944 |
"stream-each": {
|
7945 |
"version": "1.2.2",
|
@@ -7955,6 +8234,28 @@
|
|
7955 |
"requires": {
|
7956 |
"readable-stream": "2.3.6",
|
7957 |
"stream-shift": "1.0.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7958 |
}
|
7959 |
},
|
7960 |
"stream-shift": {
|
@@ -7991,7 +8292,7 @@
|
|
7991 |
}
|
7992 |
},
|
7993 |
"string_decoder": {
|
7994 |
-
"version": "1.
|
7995 |
"bundled": true,
|
7996 |
"requires": {
|
7997 |
"safe-buffer": "5.1.2"
|
@@ -8024,20 +8325,32 @@
|
|
8024 |
}
|
8025 |
},
|
8026 |
"tar": {
|
8027 |
-
"version": "4.4.
|
8028 |
"bundled": true,
|
8029 |
"requires": {
|
8030 |
-
"chownr": "1.
|
8031 |
"fs-minipass": "1.2.5",
|
8032 |
-
"minipass": "2.3.
|
8033 |
-
"minizlib": "1.1.
|
8034 |
"mkdirp": "0.5.1",
|
8035 |
"safe-buffer": "5.1.2",
|
8036 |
-
"yallist": "3.0.
|
8037 |
},
|
8038 |
"dependencies": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8039 |
"yallist": {
|
8040 |
-
"version": "3.0.
|
8041 |
"bundled": true
|
8042 |
}
|
8043 |
}
|
@@ -8063,6 +8376,28 @@
|
|
8063 |
"requires": {
|
8064 |
"readable-stream": "2.3.6",
|
8065 |
"xtend": "4.0.1"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8066 |
}
|
8067 |
},
|
8068 |
"timed-out": {
|
@@ -8106,7 +8441,7 @@
|
|
8106 |
"bundled": true
|
8107 |
},
|
8108 |
"unique-filename": {
|
8109 |
-
"version": "1.1.
|
8110 |
"bundled": true,
|
8111 |
"requires": {
|
8112 |
"unique-slug": "2.0.0"
|
@@ -8267,10 +8602,10 @@
|
|
8267 |
"bundled": true
|
8268 |
},
|
8269 |
"write-file-atomic": {
|
8270 |
-
"version": "2.
|
8271 |
"bundled": true,
|
8272 |
"requires": {
|
8273 |
-
"graceful-fs": "4.1.
|
8274 |
"imurmurhash": "0.1.4",
|
8275 |
"signal-exit": "3.0.2"
|
8276 |
}
|
5629 |
"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
|
5630 |
},
|
5631 |
"npm": {
|
5632 |
+
"version": "6.9.0",
|
5633 |
+
"resolved": "https://registry.npmjs.org/npm/-/npm-6.9.0.tgz",
|
5634 |
+
"integrity": "sha512-91V+zB5hDxO+Jyp2sUKS7juHlIM95dGQxTeQtmZI1nAI/7kjWXFipPrtwwKjhyKmV4GsS2LzJhrxRjGWsU9z/w==",
|
5635 |
"requires": {
|
5636 |
+
"JSONStream": "1.3.5",
|
5637 |
"abbrev": "1.1.1",
|
5638 |
"ansicolors": "0.3.2",
|
5639 |
"ansistyles": "0.1.3",
|
5640 |
+
"aproba": "2.0.0",
|
5641 |
"archy": "1.0.0",
|
5642 |
"bin-links": "1.1.2",
|
5643 |
+
"bluebird": "3.5.3",
|
5644 |
+
"byte-size": "5.0.1",
|
5645 |
+
"cacache": "11.3.2",
|
5646 |
"call-limit": "1.1.0",
|
5647 |
+
"chownr": "1.1.1",
|
5648 |
+
"ci-info": "2.0.0",
|
5649 |
"cli-columns": "3.1.2",
|
5650 |
+
"cli-table3": "0.5.1",
|
5651 |
"cmd-shim": "2.0.2",
|
5652 |
"columnify": "1.5.4",
|
5653 |
+
"config-chain": "1.1.12",
|
5654 |
"debuglog": "1.0.1",
|
5655 |
"detect-indent": "5.0.0",
|
5656 |
"detect-newline": "2.1.0",
|
5657 |
"dezalgo": "1.0.3",
|
5658 |
"editor": "1.0.0",
|
5659 |
+
"figgy-pudding": "3.5.1",
|
5660 |
"find-npm-prefix": "1.0.2",
|
5661 |
"fs-vacuum": "1.2.10",
|
5662 |
"fs-write-stream-atomic": "1.0.10",
|
5663 |
"gentle-fs": "2.0.1",
|
5664 |
+
"glob": "7.1.3",
|
5665 |
+
"graceful-fs": "4.1.15",
|
5666 |
"has-unicode": "2.0.1",
|
5667 |
"hosted-git-info": "2.7.1",
|
5668 |
"iferr": "1.0.2",
|
5671 |
"inherits": "2.0.3",
|
5672 |
"ini": "1.3.5",
|
5673 |
"init-package-json": "1.10.3",
|
5674 |
+
"is-cidr": "3.0.0",
|
5675 |
"json-parse-better-errors": "1.0.2",
|
5676 |
"lazy-property": "1.0.0",
|
5677 |
+
"libcipm": "3.0.3",
|
5678 |
+
"libnpm": "2.0.1",
|
5679 |
+
"libnpmaccess": "3.0.1",
|
5680 |
+
"libnpmhook": "5.0.2",
|
5681 |
+
"libnpmorg": "1.0.0",
|
5682 |
+
"libnpmsearch": "2.0.0",
|
5683 |
+
"libnpmteam": "1.0.1",
|
5684 |
"libnpx": "10.2.0",
|
5685 |
+
"lock-verify": "2.1.0",
|
5686 |
"lockfile": "1.0.4",
|
5687 |
"lodash._baseindexof": "3.1.0",
|
5688 |
"lodash._baseuniq": "4.6.0",
|
5695 |
"lodash.union": "4.6.0",
|
5696 |
"lodash.uniq": "4.5.0",
|
5697 |
"lodash.without": "4.4.0",
|
5698 |
+
"lru-cache": "4.1.5",
|
5699 |
"meant": "1.0.1",
|
5700 |
"mississippi": "3.0.0",
|
5701 |
"mkdirp": "0.5.1",
|
5702 |
"move-concurrently": "1.0.1",
|
5703 |
"node-gyp": "3.8.0",
|
5704 |
"nopt": "4.0.1",
|
5705 |
+
"normalize-package-data": "2.5.0",
|
5706 |
+
"npm-audit-report": "1.3.2",
|
5707 |
"npm-cache-filename": "1.0.2",
|
5708 |
"npm-install-checks": "3.0.0",
|
5709 |
"npm-lifecycle": "2.1.0",
|
5710 |
"npm-package-arg": "6.1.0",
|
5711 |
+
"npm-packlist": "1.4.1",
|
5712 |
+
"npm-pick-manifest": "2.2.3",
|
5713 |
+
"npm-profile": "4.0.1",
|
5714 |
+
"npm-registry-fetch": "3.9.0",
|
|
|
5715 |
"npm-user-validate": "1.0.0",
|
5716 |
"npmlog": "4.1.2",
|
5717 |
"once": "1.4.0",
|
5718 |
+
"opener": "1.5.1",
|
5719 |
"osenv": "0.1.5",
|
5720 |
+
"pacote": "9.5.0",
|
5721 |
"path-is-inside": "1.0.2",
|
5722 |
"promise-inflight": "1.0.1",
|
5723 |
"qrcode-terminal": "0.12.0",
|
5724 |
+
"query-string": "6.2.0",
|
5725 |
"qw": "1.0.1",
|
5726 |
"read": "1.0.7",
|
5727 |
"read-cmd-shim": "1.0.1",
|
5728 |
"read-installed": "4.0.3",
|
5729 |
"read-package-json": "2.0.13",
|
5730 |
+
"read-package-tree": "5.2.2",
|
5731 |
+
"readable-stream": "3.1.1",
|
5732 |
"readdir-scoped-modules": "1.0.2",
|
5733 |
"request": "2.88.0",
|
5734 |
"retry": "0.12.0",
|
5735 |
+
"rimraf": "2.6.3",
|
5736 |
"safe-buffer": "5.1.2",
|
5737 |
+
"semver": "5.6.0",
|
5738 |
"sha": "2.0.1",
|
5739 |
"slide": "1.1.6",
|
5740 |
"sorted-object": "2.0.1",
|
5741 |
"sorted-union-stream": "2.1.3",
|
5742 |
+
"ssri": "6.0.1",
|
5743 |
"stringify-package": "1.0.0",
|
5744 |
+
"tar": "4.4.8",
|
5745 |
"text-table": "0.2.0",
|
5746 |
"tiny-relative-date": "1.3.0",
|
5747 |
"uid-number": "0.0.6",
|
5748 |
"umask": "1.1.0",
|
5749 |
+
"unique-filename": "1.1.1",
|
5750 |
"unpipe": "1.0.0",
|
5751 |
"update-notifier": "2.5.0",
|
5752 |
"uuid": "3.3.2",
|
5754 |
"validate-npm-package-name": "3.0.0",
|
5755 |
"which": "1.3.1",
|
5756 |
"worker-farm": "1.6.0",
|
5757 |
+
"write-file-atomic": "2.4.2"
|
5758 |
},
|
5759 |
"dependencies": {
|
5760 |
"JSONStream": {
|
5761 |
+
"version": "1.3.5",
|
5762 |
"bundled": true,
|
5763 |
"requires": {
|
5764 |
"jsonparse": "1.3.1",
|
5770 |
"bundled": true
|
5771 |
},
|
5772 |
"agent-base": {
|
5773 |
+
"version": "4.2.1",
|
5774 |
"bundled": true,
|
5775 |
"requires": {
|
5776 |
"es6-promisify": "5.0.0"
|
5820 |
"bundled": true
|
5821 |
},
|
5822 |
"aproba": {
|
5823 |
+
"version": "2.0.0",
|
5824 |
"bundled": true
|
5825 |
},
|
5826 |
"archy": {
|
5833 |
"requires": {
|
5834 |
"delegates": "1.0.0",
|
5835 |
"readable-stream": "2.3.6"
|
5836 |
+
},
|
5837 |
+
"dependencies": {
|
5838 |
+
"readable-stream": {
|
5839 |
+
"version": "2.3.6",
|
5840 |
+
"bundled": true,
|
5841 |
+
"requires": {
|
5842 |
+
"core-util-is": "1.0.2",
|
5843 |
+
"inherits": "2.0.3",
|
5844 |
+
"isarray": "1.0.0",
|
5845 |
+
"process-nextick-args": "2.0.0",
|
5846 |
+
"safe-buffer": "5.1.2",
|
5847 |
+
"string_decoder": "1.1.1",
|
5848 |
+
"util-deprecate": "1.0.2"
|
5849 |
+
}
|
5850 |
+
},
|
5851 |
+
"string_decoder": {
|
5852 |
+
"version": "1.1.1",
|
5853 |
+
"bundled": true,
|
5854 |
+
"requires": {
|
5855 |
+
"safe-buffer": "5.1.2"
|
5856 |
+
}
|
5857 |
+
}
|
5858 |
}
|
5859 |
},
|
5860 |
"asap": {
|
5900 |
"version": "1.1.2",
|
5901 |
"bundled": true,
|
5902 |
"requires": {
|
5903 |
+
"bluebird": "3.5.3",
|
5904 |
"cmd-shim": "2.0.2",
|
5905 |
"gentle-fs": "2.0.1",
|
5906 |
+
"graceful-fs": "4.1.15",
|
5907 |
+
"write-file-atomic": "2.4.2"
|
5908 |
}
|
5909 |
},
|
5910 |
"block-stream": {
|
5915 |
}
|
5916 |
},
|
5917 |
"bluebird": {
|
5918 |
+
"version": "3.5.3",
|
5919 |
"bundled": true
|
5920 |
},
|
5921 |
"boxen": {
|
5943 |
"version": "1.0.0",
|
5944 |
"bundled": true
|
5945 |
},
|
|
|
|
|
|
|
|
|
5946 |
"builtins": {
|
5947 |
"version": "1.0.3",
|
5948 |
"bundled": true
|
5952 |
"bundled": true
|
5953 |
},
|
5954 |
"byte-size": {
|
5955 |
+
"version": "5.0.1",
|
5956 |
"bundled": true
|
5957 |
},
|
5958 |
"cacache": {
|
5959 |
+
"version": "11.3.2",
|
5960 |
"bundled": true,
|
5961 |
"requires": {
|
5962 |
+
"bluebird": "3.5.3",
|
5963 |
+
"chownr": "1.1.1",
|
5964 |
+
"figgy-pudding": "3.5.1",
|
5965 |
+
"glob": "7.1.3",
|
5966 |
+
"graceful-fs": "4.1.15",
|
5967 |
+
"lru-cache": "5.1.1",
|
5968 |
"mississippi": "3.0.0",
|
5969 |
"mkdirp": "0.5.1",
|
5970 |
"move-concurrently": "1.0.1",
|
5971 |
"promise-inflight": "1.0.1",
|
5972 |
+
"rimraf": "2.6.3",
|
5973 |
+
"ssri": "6.0.1",
|
5974 |
+
"unique-filename": "1.1.1",
|
5975 |
"y18n": "4.0.0"
|
5976 |
+
},
|
5977 |
+
"dependencies": {
|
5978 |
+
"chownr": {
|
5979 |
+
"version": "1.1.1",
|
5980 |
+
"bundled": true
|
5981 |
+
},
|
5982 |
+
"lru-cache": {
|
5983 |
+
"version": "5.1.1",
|
5984 |
+
"bundled": true,
|
5985 |
+
"requires": {
|
5986 |
+
"yallist": "3.0.3"
|
5987 |
+
}
|
5988 |
+
},
|
5989 |
+
"unique-filename": {
|
5990 |
+
"version": "1.1.1",
|
5991 |
+
"bundled": true,
|
5992 |
+
"requires": {
|
5993 |
+
"unique-slug": "2.0.0"
|
5994 |
+
}
|
5995 |
+
},
|
5996 |
+
"yallist": {
|
5997 |
+
"version": "3.0.3",
|
5998 |
+
"bundled": true
|
5999 |
+
}
|
6000 |
}
|
6001 |
},
|
6002 |
"call-limit": {
|
6025 |
}
|
6026 |
},
|
6027 |
"chownr": {
|
6028 |
+
"version": "1.1.1",
|
6029 |
"bundled": true
|
6030 |
},
|
6031 |
"ci-info": {
|
6032 |
+
"version": "2.0.0",
|
6033 |
"bundled": true
|
6034 |
},
|
6035 |
"cidr-regex": {
|
6036 |
+
"version": "2.0.10",
|
6037 |
"bundled": true,
|
6038 |
"requires": {
|
6039 |
"ip-regex": "2.1.0"
|
6052 |
}
|
6053 |
},
|
6054 |
"cli-table3": {
|
6055 |
+
"version": "0.5.1",
|
6056 |
"bundled": true,
|
6057 |
"requires": {
|
6058 |
+
"colors": "1.3.3",
|
6059 |
"object-assign": "4.1.1",
|
6060 |
"string-width": "2.1.1"
|
6061 |
}
|
6090 |
"version": "2.0.2",
|
6091 |
"bundled": true,
|
6092 |
"requires": {
|
6093 |
+
"graceful-fs": "4.1.15",
|
6094 |
"mkdirp": "0.5.1"
|
6095 |
}
|
6096 |
},
|
6114 |
"bundled": true
|
6115 |
},
|
6116 |
"colors": {
|
6117 |
+
"version": "1.3.3",
|
6118 |
"bundled": true,
|
6119 |
"optional": true
|
6120 |
},
|
6145 |
"inherits": "2.0.3",
|
6146 |
"readable-stream": "2.3.6",
|
6147 |
"typedarray": "0.0.6"
|
6148 |
+
},
|
6149 |
+
"dependencies": {
|
6150 |
+
"readable-stream": {
|
6151 |
+
"version": "2.3.6",
|
6152 |
+
"bundled": true,
|
6153 |
+
"requires": {
|
6154 |
+
"core-util-is": "1.0.2",
|
6155 |
+
"inherits": "2.0.3",
|
6156 |
+
"isarray": "1.0.0",
|
6157 |
+
"process-nextick-args": "2.0.0",
|
6158 |
+
"safe-buffer": "5.1.2",
|
6159 |
+
"string_decoder": "1.1.1",
|
6160 |
+
"util-deprecate": "1.0.2"
|
6161 |
+
}
|
6162 |
+
},
|
6163 |
+
"string_decoder": {
|
6164 |
+
"version": "1.1.1",
|
6165 |
+
"bundled": true,
|
6166 |
+
"requires": {
|
6167 |
+
"safe-buffer": "5.1.2"
|
6168 |
+
}
|
6169 |
+
}
|
6170 |
}
|
6171 |
},
|
6172 |
"config-chain": {
|
6173 |
+
"version": "1.1.12",
|
6174 |
"bundled": true,
|
6175 |
"requires": {
|
6176 |
"ini": "1.3.5",
|
6182 |
"bundled": true,
|
6183 |
"requires": {
|
6184 |
"dot-prop": "4.2.0",
|
6185 |
+
"graceful-fs": "4.1.15",
|
6186 |
"make-dir": "1.3.0",
|
6187 |
"unique-string": "1.0.0",
|
6188 |
+
"write-file-atomic": "2.4.2",
|
6189 |
"xdg-basedir": "3.0.0"
|
6190 |
}
|
6191 |
},
|
6201 |
"fs-write-stream-atomic": "1.0.10",
|
6202 |
"iferr": "0.1.5",
|
6203 |
"mkdirp": "0.5.1",
|
6204 |
+
"rimraf": "2.6.3",
|
6205 |
"run-queue": "1.0.3"
|
6206 |
},
|
6207 |
"dependencies": {
|
6208 |
+
"aproba": {
|
6209 |
+
"version": "1.2.0",
|
6210 |
+
"bundled": true
|
6211 |
+
},
|
6212 |
"iferr": {
|
6213 |
"version": "0.1.5",
|
6214 |
"bundled": true
|
6230 |
"version": "5.1.0",
|
6231 |
"bundled": true,
|
6232 |
"requires": {
|
6233 |
+
"lru-cache": "4.1.5",
|
6234 |
"shebang-command": "1.2.0",
|
6235 |
"which": "1.3.1"
|
6236 |
}
|
6333 |
"inherits": "2.0.3",
|
6334 |
"readable-stream": "2.3.6",
|
6335 |
"stream-shift": "1.0.0"
|
6336 |
+
},
|
6337 |
+
"dependencies": {
|
6338 |
+
"readable-stream": {
|
6339 |
+
"version": "2.3.6",
|
6340 |
+
"bundled": true,
|
6341 |
+
"requires": {
|
6342 |
+
"core-util-is": "1.0.2",
|
6343 |
+
"inherits": "2.0.3",
|
6344 |
+
"isarray": "1.0.0",
|
6345 |
+
"process-nextick-args": "2.0.0",
|
6346 |
+
"safe-buffer": "5.1.2",
|
6347 |
+
"string_decoder": "1.1.1",
|
6348 |
+
"util-deprecate": "1.0.2"
|
6349 |
+
}
|
6350 |
+
},
|
6351 |
+
"string_decoder": {
|
6352 |
+
"version": "1.1.1",
|
6353 |
+
"bundled": true,
|
6354 |
+
"requires": {
|
6355 |
+
"safe-buffer": "5.1.2"
|
6356 |
+
}
|
6357 |
+
}
|
6358 |
}
|
6359 |
},
|
6360 |
"ecc-jsbn": {
|
6396 |
}
|
6397 |
},
|
6398 |
"es6-promise": {
|
6399 |
+
"version": "4.2.6",
|
6400 |
"bundled": true
|
6401 |
},
|
6402 |
"es6-promisify": {
|
6403 |
"version": "5.0.0",
|
6404 |
"bundled": true,
|
6405 |
"requires": {
|
6406 |
+
"es6-promise": "4.2.6"
|
6407 |
}
|
6408 |
},
|
6409 |
"escape-string-regexp": {
|
6421 |
"p-finally": "1.0.0",
|
6422 |
"signal-exit": "3.0.2",
|
6423 |
"strip-eof": "1.0.0"
|
6424 |
+
},
|
6425 |
+
"dependencies": {
|
6426 |
+
"get-stream": {
|
6427 |
+
"version": "3.0.0",
|
6428 |
+
"bundled": true
|
6429 |
+
}
|
6430 |
}
|
6431 |
},
|
6432 |
"extend": {
|
6446 |
"bundled": true
|
6447 |
},
|
6448 |
"figgy-pudding": {
|
6449 |
+
"version": "3.5.1",
|
6450 |
"bundled": true
|
6451 |
},
|
6452 |
"find-npm-prefix": {
|
6466 |
"requires": {
|
6467 |
"inherits": "2.0.3",
|
6468 |
"readable-stream": "2.3.6"
|
6469 |
+
},
|
6470 |
+
"dependencies": {
|
6471 |
+
"readable-stream": {
|
6472 |
+
"version": "2.3.6",
|
6473 |
+
"bundled": true,
|
6474 |
+
"requires": {
|
6475 |
+
"core-util-is": "1.0.2",
|
6476 |
+
"inherits": "2.0.3",
|
6477 |
+
"isarray": "1.0.0",
|
6478 |
+
"process-nextick-args": "2.0.0",
|
6479 |
+
"safe-buffer": "5.1.2",
|
6480 |
+
"string_decoder": "1.1.1",
|
6481 |
+
"util-deprecate": "1.0.2"
|
6482 |
+
}
|
6483 |
+
},
|
6484 |
+
"string_decoder": {
|
6485 |
+
"version": "1.1.1",
|
6486 |
+
"bundled": true,
|
6487 |
+
"requires": {
|
6488 |
+
"safe-buffer": "5.1.2"
|
6489 |
+
}
|
6490 |
+
}
|
6491 |
}
|
6492 |
},
|
6493 |
"forever-agent": {
|
6509 |
"requires": {
|
6510 |
"inherits": "2.0.3",
|
6511 |
"readable-stream": "2.3.6"
|
6512 |
+
},
|
6513 |
+
"dependencies": {
|
6514 |
+
"readable-stream": {
|
6515 |
+
"version": "2.3.6",
|
6516 |
+
"bundled": true,
|
6517 |
+
"requires": {
|
6518 |
+
"core-util-is": "1.0.2",
|
6519 |
+
"inherits": "2.0.3",
|
6520 |
+
"isarray": "1.0.0",
|
6521 |
+
"process-nextick-args": "2.0.0",
|
6522 |
+
"safe-buffer": "5.1.2",
|
6523 |
+
"string_decoder": "1.1.1",
|
6524 |
+
"util-deprecate": "1.0.2"
|
6525 |
+
}
|
6526 |
+
},
|
6527 |
+
"string_decoder": {
|
6528 |
+
"version": "1.1.1",
|
6529 |
+
"bundled": true,
|
6530 |
+
"requires": {
|
6531 |
+
"safe-buffer": "5.1.2"
|
6532 |
+
}
|
6533 |
+
}
|
6534 |
}
|
6535 |
},
|
6536 |
"fs-minipass": {
|
6544 |
"version": "1.2.10",
|
6545 |
"bundled": true,
|
6546 |
"requires": {
|
6547 |
+
"graceful-fs": "4.1.15",
|
6548 |
"path-is-inside": "1.0.2",
|
6549 |
+
"rimraf": "2.6.3"
|
6550 |
}
|
6551 |
},
|
6552 |
"fs-write-stream-atomic": {
|
6553 |
"version": "1.0.10",
|
6554 |
"bundled": true,
|
6555 |
"requires": {
|
6556 |
+
"graceful-fs": "4.1.15",
|
6557 |
"iferr": "0.1.5",
|
6558 |
"imurmurhash": "0.1.4",
|
6559 |
"readable-stream": "2.3.6"
|
6562 |
"iferr": {
|
6563 |
"version": "0.1.5",
|
6564 |
"bundled": true
|
6565 |
+
},
|
6566 |
+
"readable-stream": {
|
6567 |
+
"version": "2.3.6",
|
6568 |
+
"bundled": true,
|
6569 |
+
"requires": {
|
6570 |
+
"core-util-is": "1.0.2",
|
6571 |
+
"inherits": "2.0.3",
|
6572 |
+
"isarray": "1.0.0",
|
6573 |
+
"process-nextick-args": "2.0.0",
|
6574 |
+
"safe-buffer": "5.1.2",
|
6575 |
+
"string_decoder": "1.1.1",
|
6576 |
+
"util-deprecate": "1.0.2"
|
6577 |
+
}
|
6578 |
+
},
|
6579 |
+
"string_decoder": {
|
6580 |
+
"version": "1.1.1",
|
6581 |
+
"bundled": true,
|
6582 |
+
"requires": {
|
6583 |
+
"safe-buffer": "5.1.2"
|
6584 |
+
}
|
6585 |
}
|
6586 |
}
|
6587 |
},
|
6593 |
"version": "1.0.11",
|
6594 |
"bundled": true,
|
6595 |
"requires": {
|
6596 |
+
"graceful-fs": "4.1.15",
|
6597 |
"inherits": "2.0.3",
|
6598 |
"mkdirp": "0.5.1",
|
6599 |
+
"rimraf": "2.6.3"
|
6600 |
}
|
6601 |
},
|
6602 |
"gauge": {
|
6613 |
"wide-align": "1.1.2"
|
6614 |
},
|
6615 |
"dependencies": {
|
6616 |
+
"aproba": {
|
6617 |
+
"version": "1.2.0",
|
6618 |
+
"bundled": true
|
6619 |
+
},
|
6620 |
"string-width": {
|
6621 |
"version": "1.0.2",
|
6622 |
"bundled": true,
|
6629 |
}
|
6630 |
},
|
6631 |
"genfun": {
|
6632 |
+
"version": "5.0.0",
|
6633 |
"bundled": true
|
6634 |
},
|
6635 |
"gentle-fs": {
|
6638 |
"requires": {
|
6639 |
"aproba": "1.2.0",
|
6640 |
"fs-vacuum": "1.2.10",
|
6641 |
+
"graceful-fs": "4.1.15",
|
6642 |
"iferr": "0.1.5",
|
6643 |
"mkdirp": "0.5.1",
|
6644 |
"path-is-inside": "1.0.2",
|
6646 |
"slide": "1.1.6"
|
6647 |
},
|
6648 |
"dependencies": {
|
6649 |
+
"aproba": {
|
6650 |
+
"version": "1.2.0",
|
6651 |
+
"bundled": true
|
6652 |
+
},
|
6653 |
"iferr": {
|
6654 |
"version": "0.1.5",
|
6655 |
"bundled": true
|
6661 |
"bundled": true
|
6662 |
},
|
6663 |
"get-stream": {
|
6664 |
+
"version": "4.1.0",
|
6665 |
+
"bundled": true,
|
6666 |
+
"requires": {
|
6667 |
+
"pump": "3.0.0"
|
6668 |
+
}
|
6669 |
},
|
6670 |
"getpass": {
|
6671 |
"version": "0.1.7",
|
6675 |
}
|
6676 |
},
|
6677 |
"glob": {
|
6678 |
+
"version": "7.1.3",
|
6679 |
"bundled": true,
|
6680 |
"requires": {
|
6681 |
"fs.realpath": "1.0.0",
|
6708 |
"timed-out": "4.0.1",
|
6709 |
"unzip-response": "2.0.1",
|
6710 |
"url-parse-lax": "1.0.0"
|
6711 |
+
},
|
6712 |
+
"dependencies": {
|
6713 |
+
"get-stream": {
|
6714 |
+
"version": "3.0.0",
|
6715 |
+
"bundled": true
|
6716 |
+
}
|
6717 |
}
|
6718 |
},
|
6719 |
"graceful-fs": {
|
6720 |
+
"version": "4.1.15",
|
6721 |
"bundled": true
|
6722 |
},
|
6723 |
"har-schema": {
|
6752 |
"version": "2.1.0",
|
6753 |
"bundled": true,
|
6754 |
"requires": {
|
6755 |
+
"agent-base": "4.2.1",
|
6756 |
"debug": "3.1.0"
|
6757 |
}
|
6758 |
},
|
6769 |
"version": "2.2.1",
|
6770 |
"bundled": true,
|
6771 |
"requires": {
|
6772 |
+
"agent-base": "4.2.1",
|
6773 |
"debug": "3.1.0"
|
6774 |
}
|
6775 |
},
|
6826 |
"version": "1.10.3",
|
6827 |
"bundled": true,
|
6828 |
"requires": {
|
6829 |
+
"glob": "7.1.3",
|
6830 |
"npm-package-arg": "6.1.0",
|
6831 |
"promzard": "0.3.0",
|
6832 |
"read": "1.0.7",
|
6833 |
"read-package-json": "2.0.13",
|
6834 |
+
"semver": "5.6.0",
|
6835 |
"validate-npm-package-license": "3.0.4",
|
6836 |
"validate-npm-package-name": "3.0.0"
|
6837 |
}
|
6848 |
"version": "2.1.0",
|
6849 |
"bundled": true
|
6850 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6851 |
"is-ci": {
|
6852 |
"version": "1.1.0",
|
6853 |
"bundled": true,
|
6854 |
"requires": {
|
6855 |
+
"ci-info": "1.6.0"
|
6856 |
+
},
|
6857 |
+
"dependencies": {
|
6858 |
+
"ci-info": {
|
6859 |
+
"version": "1.6.0",
|
6860 |
+
"bundled": true
|
6861 |
+
}
|
6862 |
}
|
6863 |
},
|
6864 |
"is-cidr": {
|
6865 |
+
"version": "3.0.0",
|
6866 |
"bundled": true,
|
6867 |
"requires": {
|
6868 |
+
"cidr-regex": "2.0.10"
|
6869 |
}
|
6870 |
},
|
6871 |
"is-fullwidth-code-point": {
|
6980 |
}
|
6981 |
},
|
6982 |
"libcipm": {
|
6983 |
+
"version": "3.0.3",
|
6984 |
"bundled": true,
|
6985 |
"requires": {
|
6986 |
"bin-links": "1.1.2",
|
6987 |
+
"bluebird": "3.5.3",
|
6988 |
+
"figgy-pudding": "3.5.1",
|
6989 |
"find-npm-prefix": "1.0.2",
|
6990 |
+
"graceful-fs": "4.1.15",
|
6991 |
+
"ini": "1.3.5",
|
6992 |
+
"lock-verify": "2.1.0",
|
6993 |
"mkdirp": "0.5.1",
|
6994 |
"npm-lifecycle": "2.1.0",
|
6995 |
"npm-logical-tree": "1.2.1",
|
6996 |
"npm-package-arg": "6.1.0",
|
6997 |
+
"pacote": "9.5.0",
|
|
|
6998 |
"read-package-json": "2.0.13",
|
6999 |
+
"rimraf": "2.6.3",
|
7000 |
"worker-farm": "1.6.0"
|
7001 |
}
|
7002 |
},
|
7003 |
+
"libnpm": {
|
7004 |
+
"version": "2.0.1",
|
7005 |
+
"bundled": true,
|
7006 |
+
"requires": {
|
7007 |
+
"bin-links": "1.1.2",
|
7008 |
+
"bluebird": "3.5.3",
|
7009 |
+
"find-npm-prefix": "1.0.2",
|
7010 |
+
"libnpmaccess": "3.0.1",
|
7011 |
+
"libnpmconfig": "1.2.1",
|
7012 |
+
"libnpmhook": "5.0.2",
|
7013 |
+
"libnpmorg": "1.0.0",
|
7014 |
+
"libnpmpublish": "1.1.1",
|
7015 |
+
"libnpmsearch": "2.0.0",
|
7016 |
+
"libnpmteam": "1.0.1",
|
7017 |
+
"lock-verify": "2.1.0",
|
7018 |
+
"npm-lifecycle": "2.1.0",
|
7019 |
+
"npm-logical-tree": "1.2.1",
|
7020 |
+
"npm-package-arg": "6.1.0",
|
7021 |
+
"npm-profile": "4.0.1",
|
7022 |
+
"npm-registry-fetch": "3.9.0",
|
7023 |
+
"npmlog": "4.1.2",
|
7024 |
+
"pacote": "9.5.0",
|
7025 |
+
"read-package-json": "2.0.13",
|
7026 |
+
"stringify-package": "1.0.0"
|
7027 |
+
}
|
7028 |
+
},
|
7029 |
+
"libnpmaccess": {
|
7030 |
+
"version": "3.0.1",
|
7031 |
+
"bundled": true,
|
7032 |
+
"requires": {
|
7033 |
+
"aproba": "2.0.0",
|
7034 |
+
"get-stream": "4.1.0",
|
7035 |
+
"npm-package-arg": "6.1.0",
|
7036 |
+
"npm-registry-fetch": "3.9.0"
|
7037 |
+
},
|
7038 |
+
"dependencies": {
|
7039 |
+
"aproba": {
|
7040 |
+
"version": "2.0.0",
|
7041 |
+
"bundled": true
|
7042 |
+
}
|
7043 |
+
}
|
7044 |
+
},
|
7045 |
+
"libnpmconfig": {
|
7046 |
+
"version": "1.2.1",
|
7047 |
"bundled": true,
|
7048 |
"requires": {
|
7049 |
+
"figgy-pudding": "3.5.1",
|
7050 |
+
"find-up": "3.0.0",
|
7051 |
+
"ini": "1.3.5"
|
7052 |
},
|
7053 |
"dependencies": {
|
7054 |
+
"find-up": {
|
7055 |
+
"version": "3.0.0",
|
7056 |
+
"bundled": true,
|
7057 |
+
"requires": {
|
7058 |
+
"locate-path": "3.0.0"
|
7059 |
+
}
|
7060 |
+
},
|
7061 |
+
"locate-path": {
|
7062 |
+
"version": "3.0.0",
|
7063 |
"bundled": true,
|
7064 |
"requires": {
|
7065 |
+
"p-locate": "3.0.0",
|
7066 |
+
"path-exists": "3.0.0"
|
|
|
|
|
|
|
7067 |
}
|
7068 |
+
},
|
7069 |
+
"p-limit": {
|
7070 |
+
"version": "2.1.0",
|
7071 |
+
"bundled": true,
|
7072 |
+
"requires": {
|
7073 |
+
"p-try": "2.0.0"
|
7074 |
+
}
|
7075 |
+
},
|
7076 |
+
"p-locate": {
|
7077 |
+
"version": "3.0.0",
|
7078 |
+
"bundled": true,
|
7079 |
+
"requires": {
|
7080 |
+
"p-limit": "2.1.0"
|
7081 |
+
}
|
7082 |
+
},
|
7083 |
+
"p-try": {
|
7084 |
+
"version": "2.0.0",
|
7085 |
+
"bundled": true
|
7086 |
+
}
|
7087 |
+
}
|
7088 |
+
},
|
7089 |
+
"libnpmhook": {
|
7090 |
+
"version": "5.0.2",
|
7091 |
+
"bundled": true,
|
7092 |
+
"requires": {
|
7093 |
+
"aproba": "2.0.0",
|
7094 |
+
"figgy-pudding": "3.5.1",
|
7095 |
+
"get-stream": "4.1.0",
|
7096 |
+
"npm-registry-fetch": "3.9.0"
|
7097 |
+
}
|
7098 |
+
},
|
7099 |
+
"libnpmorg": {
|
7100 |
+
"version": "1.0.0",
|
7101 |
+
"bundled": true,
|
7102 |
+
"requires": {
|
7103 |
+
"aproba": "2.0.0",
|
7104 |
+
"figgy-pudding": "3.5.1",
|
7105 |
+
"get-stream": "4.1.0",
|
7106 |
+
"npm-registry-fetch": "3.9.0"
|
7107 |
+
},
|
7108 |
+
"dependencies": {
|
7109 |
+
"aproba": {
|
7110 |
+
"version": "2.0.0",
|
7111 |
+
"bundled": true
|
7112 |
+
}
|
7113 |
+
}
|
7114 |
+
},
|
7115 |
+
"libnpmpublish": {
|
7116 |
+
"version": "1.1.1",
|
7117 |
+
"bundled": true,
|
7118 |
+
"requires": {
|
7119 |
+
"aproba": "2.0.0",
|
7120 |
+
"figgy-pudding": "3.5.1",
|
7121 |
+
"get-stream": "4.1.0",
|
7122 |
+
"lodash.clonedeep": "4.5.0",
|
7123 |
+
"normalize-package-data": "2.5.0",
|
7124 |
+
"npm-package-arg": "6.1.0",
|
7125 |
+
"npm-registry-fetch": "3.9.0",
|
7126 |
+
"semver": "5.6.0",
|
7127 |
+
"ssri": "6.0.1"
|
7128 |
+
}
|
7129 |
+
},
|
7130 |
+
"libnpmsearch": {
|
7131 |
+
"version": "2.0.0",
|
7132 |
+
"bundled": true,
|
7133 |
+
"requires": {
|
7134 |
+
"figgy-pudding": "3.5.1",
|
7135 |
+
"get-stream": "4.1.0",
|
7136 |
+
"npm-registry-fetch": "3.9.0"
|
7137 |
+
}
|
7138 |
+
},
|
7139 |
+
"libnpmteam": {
|
7140 |
+
"version": "1.0.1",
|
7141 |
+
"bundled": true,
|
7142 |
+
"requires": {
|
7143 |
+
"aproba": "2.0.0",
|
7144 |
+
"figgy-pudding": "3.5.1",
|
7145 |
+
"get-stream": "4.1.0",
|
7146 |
+
"npm-registry-fetch": "3.9.0"
|
7147 |
+
},
|
7148 |
+
"dependencies": {
|
7149 |
+
"aproba": {
|
7150 |
+
"version": "2.0.0",
|
7151 |
+
"bundled": true
|
7152 |
}
|
7153 |
}
|
7154 |
},
|
7158 |
"requires": {
|
7159 |
"dotenv": "5.0.1",
|
7160 |
"npm-package-arg": "6.1.0",
|
7161 |
+
"rimraf": "2.6.3",
|
7162 |
"safe-buffer": "5.1.2",
|
7163 |
"update-notifier": "2.5.0",
|
7164 |
"which": "1.3.1",
|
7175 |
}
|
7176 |
},
|
7177 |
"lock-verify": {
|
7178 |
+
"version": "2.1.0",
|
7179 |
"bundled": true,
|
7180 |
"requires": {
|
7181 |
"npm-package-arg": "6.1.0",
|
7182 |
+
"semver": "5.6.0"
|
7183 |
}
|
7184 |
},
|
7185 |
"lockfile": {
|
7253 |
"bundled": true
|
7254 |
},
|
7255 |
"lru-cache": {
|
7256 |
+
"version": "4.1.5",
|
7257 |
"bundled": true,
|
7258 |
"requires": {
|
7259 |
"pseudomap": "1.0.2",
|
7272 |
"bundled": true,
|
7273 |
"requires": {
|
7274 |
"agentkeepalive": "3.4.1",
|
7275 |
+
"cacache": "11.3.2",
|
7276 |
"http-cache-semantics": "3.8.1",
|
7277 |
"http-proxy-agent": "2.1.0",
|
7278 |
"https-proxy-agent": "2.2.1",
|
7279 |
+
"lru-cache": "4.1.5",
|
7280 |
"mississippi": "3.0.0",
|
7281 |
"node-fetch-npm": "2.0.2",
|
7282 |
"promise-retry": "1.1.1",
|
7283 |
"socks-proxy-agent": "4.0.1",
|
7284 |
+
"ssri": "6.0.1"
|
7285 |
}
|
7286 |
},
|
7287 |
"meant": {
|
7336 |
}
|
7337 |
},
|
7338 |
"minizlib": {
|
7339 |
+
"version": "1.1.1",
|
7340 |
"bundled": true,
|
7341 |
"requires": {
|
7342 |
"minipass": "2.3.3"
|
7373 |
"copy-concurrently": "1.0.5",
|
7374 |
"fs-write-stream-atomic": "1.0.10",
|
7375 |
"mkdirp": "0.5.1",
|
7376 |
+
"rimraf": "2.6.3",
|
7377 |
"run-queue": "1.0.3"
|
7378 |
+
},
|
7379 |
+
"dependencies": {
|
7380 |
+
"aproba": {
|
7381 |
+
"version": "1.2.0",
|
7382 |
+
"bundled": true
|
7383 |
+
}
|
7384 |
}
|
7385 |
},
|
7386 |
"ms": {
|
7405 |
"bundled": true,
|
7406 |
"requires": {
|
7407 |
"fstream": "1.0.11",
|
7408 |
+
"glob": "7.1.3",
|
7409 |
+
"graceful-fs": "4.1.15",
|
7410 |
"mkdirp": "0.5.1",
|
7411 |
"nopt": "3.0.6",
|
7412 |
"npmlog": "4.1.2",
|
7413 |
"osenv": "0.1.5",
|
7414 |
"request": "2.88.0",
|
7415 |
+
"rimraf": "2.6.3",
|
7416 |
"semver": "5.3.0",
|
7417 |
"tar": "2.2.1",
|
7418 |
"which": "1.3.1"
|
7449 |
}
|
7450 |
},
|
7451 |
"normalize-package-data": {
|
7452 |
+
"version": "2.5.0",
|
7453 |
"bundled": true,
|
7454 |
"requires": {
|
7455 |
"hosted-git-info": "2.7.1",
|
7456 |
+
"resolve": "1.10.0",
|
7457 |
+
"semver": "5.6.0",
|
7458 |
"validate-npm-package-license": "3.0.4"
|
7459 |
+
},
|
7460 |
+
"dependencies": {
|
7461 |
+
"resolve": {
|
7462 |
+
"version": "1.10.0",
|
7463 |
+
"bundled": true,
|
7464 |
+
"requires": {
|
7465 |
+
"path-parse": "1.0.6"
|
7466 |
+
}
|
7467 |
+
}
|
7468 |
}
|
7469 |
},
|
7470 |
"npm-audit-report": {
|
7471 |
+
"version": "1.3.2",
|
7472 |
"bundled": true,
|
7473 |
"requires": {
|
7474 |
+
"cli-table3": "0.5.1",
|
7475 |
"console-control-strings": "1.1.0"
|
7476 |
}
|
7477 |
},
|
7478 |
"npm-bundled": {
|
7479 |
+
"version": "1.0.6",
|
7480 |
"bundled": true
|
7481 |
},
|
7482 |
"npm-cache-filename": {
|
7487 |
"version": "3.0.0",
|
7488 |
"bundled": true,
|
7489 |
"requires": {
|
7490 |
+
"semver": "5.6.0"
|
7491 |
}
|
7492 |
},
|
7493 |
"npm-lifecycle": {
|
7495 |
"bundled": true,
|
7496 |
"requires": {
|
7497 |
"byline": "5.0.0",
|
7498 |
+
"graceful-fs": "4.1.15",
|
7499 |
"node-gyp": "3.8.0",
|
7500 |
"resolve-from": "4.0.0",
|
7501 |
"slide": "1.1.6",
|
7514 |
"requires": {
|
7515 |
"hosted-git-info": "2.7.1",
|
7516 |
"osenv": "0.1.5",
|
7517 |
+
"semver": "5.6.0",
|
7518 |
"validate-npm-package-name": "3.0.0"
|
7519 |
}
|
7520 |
},
|
7521 |
"npm-packlist": {
|
7522 |
+
"version": "1.4.1",
|
7523 |
"bundled": true,
|
7524 |
"requires": {
|
7525 |
"ignore-walk": "3.0.1",
|
7526 |
+
"npm-bundled": "1.0.6"
|
7527 |
}
|
7528 |
},
|
7529 |
"npm-pick-manifest": {
|
7530 |
+
"version": "2.2.3",
|
7531 |
"bundled": true,
|
7532 |
"requires": {
|
7533 |
+
"figgy-pudding": "3.5.1",
|
7534 |
"npm-package-arg": "6.1.0",
|
7535 |
+
"semver": "5.6.0"
|
7536 |
}
|
7537 |
},
|
7538 |
"npm-profile": {
|
7539 |
+
"version": "4.0.1",
|
7540 |
"bundled": true,
|
7541 |
"requires": {
|
7542 |
+
"aproba": "2.0.0",
|
7543 |
+
"figgy-pudding": "3.5.1",
|
7544 |
+
"npm-registry-fetch": "3.9.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7545 |
}
|
7546 |
},
|
7547 |
"npm-registry-fetch": {
|
7548 |
+
"version": "3.9.0",
|
7549 |
"bundled": true,
|
7550 |
"requires": {
|
7551 |
+
"JSONStream": "1.3.5",
|
7552 |
+
"bluebird": "3.5.3",
|
7553 |
+
"figgy-pudding": "3.5.1",
|
7554 |
+
"lru-cache": "4.1.5",
|
7555 |
+
"make-fetch-happen": "4.0.1",
|
7556 |
+
"npm-package-arg": "6.1.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7557 |
}
|
7558 |
},
|
7559 |
"npm-run-path": {
|
7597 |
}
|
7598 |
},
|
7599 |
"opener": {
|
7600 |
+
"version": "1.5.1",
|
7601 |
"bundled": true
|
7602 |
},
|
7603 |
"os-homedir": {
|
7654 |
"got": "6.7.1",
|
7655 |
"registry-auth-token": "3.3.2",
|
7656 |
"registry-url": "3.1.0",
|
7657 |
+
"semver": "5.6.0"
|
7658 |
}
|
7659 |
},
|
7660 |
"pacote": {
|
7661 |
+
"version": "9.5.0",
|
7662 |
"bundled": true,
|
7663 |
"requires": {
|
7664 |
+
"bluebird": "3.5.3",
|
7665 |
+
"cacache": "11.3.2",
|
7666 |
+
"figgy-pudding": "3.5.1",
|
7667 |
+
"get-stream": "4.1.0",
|
7668 |
+
"glob": "7.1.3",
|
7669 |
+
"lru-cache": "5.1.1",
|
7670 |
"make-fetch-happen": "4.0.1",
|
7671 |
"minimatch": "3.0.4",
|
7672 |
+
"minipass": "2.3.5",
|
7673 |
"mississippi": "3.0.0",
|
7674 |
"mkdirp": "0.5.1",
|
7675 |
+
"normalize-package-data": "2.5.0",
|
7676 |
"npm-package-arg": "6.1.0",
|
7677 |
+
"npm-packlist": "1.4.1",
|
7678 |
+
"npm-pick-manifest": "2.2.3",
|
7679 |
+
"npm-registry-fetch": "3.9.0",
|
7680 |
"osenv": "0.1.5",
|
7681 |
"promise-inflight": "1.0.1",
|
7682 |
"promise-retry": "1.1.1",
|
7683 |
+
"protoduck": "5.0.1",
|
7684 |
+
"rimraf": "2.6.3",
|
7685 |
"safe-buffer": "5.1.2",
|
7686 |
+
"semver": "5.6.0",
|
7687 |
+
"ssri": "6.0.1",
|
7688 |
+
"tar": "4.4.8",
|
7689 |
+
"unique-filename": "1.1.1",
|
7690 |
"which": "1.3.1"
|
7691 |
+
},
|
7692 |
+
"dependencies": {
|
7693 |
+
"lru-cache": {
|
7694 |
+
"version": "5.1.1",
|
7695 |
+
"bundled": true,
|
7696 |
+
"requires": {
|
7697 |
+
"yallist": "3.0.3"
|
7698 |
+
}
|
7699 |
+
},
|
7700 |
+
"minipass": {
|
7701 |
+
"version": "2.3.5",
|
7702 |
+
"bundled": true,
|
7703 |
+
"requires": {
|
7704 |
+
"safe-buffer": "5.1.2",
|
7705 |
+
"yallist": "3.0.3"
|
7706 |
+
}
|
7707 |
+
},
|
7708 |
+
"yallist": {
|
7709 |
+
"version": "3.0.3",
|
7710 |
+
"bundled": true
|
7711 |
+
}
|
7712 |
}
|
7713 |
},
|
7714 |
"parallel-transform": {
|
7718 |
"cyclist": "0.2.2",
|
7719 |
"inherits": "2.0.3",
|
7720 |
"readable-stream": "2.3.6"
|
7721 |
+
},
|
7722 |
+
"dependencies": {
|
7723 |
+
"readable-stream": {
|
7724 |
+
"version": "2.3.6",
|
7725 |
+
"bundled": true,
|
7726 |
+
"requires": {
|
7727 |
+
"core-util-is": "1.0.2",
|
7728 |
+
"inherits": "2.0.3",
|
7729 |
+
"isarray": "1.0.0",
|
7730 |
+
"process-nextick-args": "2.0.0",
|
7731 |
+
"safe-buffer": "5.1.2",
|
7732 |
+
"string_decoder": "1.1.1",
|
7733 |
+
"util-deprecate": "1.0.2"
|
7734 |
+
}
|
7735 |
+
},
|
7736 |
+
"string_decoder": {
|
7737 |
+
"version": "1.1.1",
|
7738 |
+
"bundled": true,
|
7739 |
+
"requires": {
|
7740 |
+
"safe-buffer": "5.1.2"
|
7741 |
+
}
|
7742 |
+
}
|
7743 |
}
|
7744 |
},
|
7745 |
"path-exists": {
|
7758 |
"version": "2.0.1",
|
7759 |
"bundled": true
|
7760 |
},
|
7761 |
+
"path-parse": {
|
7762 |
+
"version": "1.0.6",
|
7763 |
+
"bundled": true
|
7764 |
+
},
|
7765 |
"performance-now": {
|
7766 |
"version": "2.1.0",
|
7767 |
"bundled": true
|
7808 |
"bundled": true
|
7809 |
},
|
7810 |
"protoduck": {
|
7811 |
+
"version": "5.0.1",
|
7812 |
"bundled": true,
|
7813 |
"requires": {
|
7814 |
+
"genfun": "5.0.0"
|
7815 |
}
|
7816 |
},
|
7817 |
"prr": {
|
7866 |
"bundled": true
|
7867 |
},
|
7868 |
"query-string": {
|
7869 |
+
"version": "6.2.0",
|
7870 |
"bundled": true,
|
7871 |
"requires": {
|
7872 |
"decode-uri-component": "0.2.0",
|
7904 |
"version": "1.0.1",
|
7905 |
"bundled": true,
|
7906 |
"requires": {
|
7907 |
+
"graceful-fs": "4.1.15"
|
7908 |
}
|
7909 |
},
|
7910 |
"read-installed": {
|
7912 |
"bundled": true,
|
7913 |
"requires": {
|
7914 |
"debuglog": "1.0.1",
|
7915 |
+
"graceful-fs": "4.1.15",
|
7916 |
"read-package-json": "2.0.13",
|
7917 |
"readdir-scoped-modules": "1.0.2",
|
7918 |
+
"semver": "5.6.0",
|
7919 |
"slide": "1.1.6",
|
7920 |
"util-extend": "1.0.3"
|
7921 |
}
|
7924 |
"version": "2.0.13",
|
7925 |
"bundled": true,
|
7926 |
"requires": {
|
7927 |
+
"glob": "7.1.3",
|
7928 |
+
"graceful-fs": "4.1.15",
|
7929 |
"json-parse-better-errors": "1.0.2",
|
7930 |
+
"normalize-package-data": "2.5.0",
|
7931 |
"slash": "1.0.0"
|
7932 |
}
|
7933 |
},
|
7934 |
"read-package-tree": {
|
7935 |
+
"version": "5.2.2",
|
7936 |
"bundled": true,
|
7937 |
"requires": {
|
7938 |
"debuglog": "1.0.1",
|
7943 |
}
|
7944 |
},
|
7945 |
"readable-stream": {
|
7946 |
+
"version": "3.1.1",
|
7947 |
"bundled": true,
|
7948 |
"requires": {
|
|
|
7949 |
"inherits": "2.0.3",
|
7950 |
+
"string_decoder": "1.2.0",
|
|
|
|
|
|
|
7951 |
"util-deprecate": "1.0.2"
|
7952 |
}
|
7953 |
},
|
7957 |
"requires": {
|
7958 |
"debuglog": "1.0.1",
|
7959 |
"dezalgo": "1.0.3",
|
7960 |
+
"graceful-fs": "4.1.15",
|
7961 |
"once": "1.4.0"
|
7962 |
}
|
7963 |
},
|
8019 |
"bundled": true
|
8020 |
},
|
8021 |
"rimraf": {
|
8022 |
+
"version": "2.6.3",
|
8023 |
"bundled": true,
|
8024 |
"requires": {
|
8025 |
+
"glob": "7.1.3"
|
8026 |
}
|
8027 |
},
|
8028 |
"run-queue": {
|
8030 |
"bundled": true,
|
8031 |
"requires": {
|
8032 |
"aproba": "1.2.0"
|
8033 |
+
},
|
8034 |
+
"dependencies": {
|
8035 |
+
"aproba": {
|
8036 |
+
"version": "1.2.0",
|
8037 |
+
"bundled": true
|
8038 |
+
}
|
8039 |
}
|
8040 |
},
|
8041 |
"safe-buffer": {
|
8047 |
"bundled": true
|
8048 |
},
|
8049 |
"semver": {
|
8050 |
+
"version": "5.6.0",
|
8051 |
"bundled": true
|
8052 |
},
|
8053 |
"semver-diff": {
|
8054 |
"version": "2.1.0",
|
8055 |
"bundled": true,
|
8056 |
"requires": {
|
8057 |
+
"semver": "5.6.0"
|
8058 |
}
|
8059 |
},
|
8060 |
"set-blocking": {
|
8065 |
"version": "2.0.1",
|
8066 |
"bundled": true,
|
8067 |
"requires": {
|
8068 |
+
"graceful-fs": "4.1.15",
|
8069 |
"readable-stream": "2.3.6"
|
8070 |
+
},
|
8071 |
+
"dependencies": {
|
8072 |
+
"readable-stream": {
|
8073 |
+
"version": "2.3.6",
|
8074 |
+
"bundled": true,
|
8075 |
+
"requires": {
|
8076 |
+
"core-util-is": "1.0.2",
|
8077 |
+
"inherits": "2.0.3",
|
8078 |
+
"isarray": "1.0.0",
|
8079 |
+
"process-nextick-args": "2.0.0",
|
8080 |
+
"safe-buffer": "5.1.2",
|
8081 |
+
"string_decoder": "1.1.1",
|
8082 |
+
"util-deprecate": "1.0.2"
|
8083 |
+
}
|
8084 |
+
},
|
8085 |
+
"string_decoder": {
|
8086 |
+
"version": "1.1.1",
|
8087 |
+
"bundled": true,
|
8088 |
+
"requires": {
|
8089 |
+
"safe-buffer": "5.1.2"
|
8090 |
+
}
|
8091 |
+
}
|
8092 |
}
|
8093 |
},
|
8094 |
"shebang-command": {
|
8130 |
"version": "4.0.1",
|
8131 |
"bundled": true,
|
8132 |
"requires": {
|
8133 |
+
"agent-base": "4.2.1",
|
8134 |
"socks": "2.2.0"
|
8135 |
}
|
8136 |
},
|
8179 |
"bundled": true,
|
8180 |
"requires": {
|
8181 |
"spdx-expression-parse": "3.0.0",
|
8182 |
+
"spdx-license-ids": "3.0.3"
|
8183 |
}
|
8184 |
},
|
8185 |
"spdx-exceptions": {
|
8191 |
"bundled": true,
|
8192 |
"requires": {
|
8193 |
"spdx-exceptions": "2.1.0",
|
8194 |
+
"spdx-license-ids": "3.0.3"
|
8195 |
}
|
8196 |
},
|
8197 |
"spdx-license-ids": {
|
8198 |
+
"version": "3.0.3",
|
8199 |
"bundled": true
|
8200 |
},
|
8201 |
"sshpk": {
|
8214 |
}
|
8215 |
},
|
8216 |
"ssri": {
|
8217 |
+
"version": "6.0.1",
|
8218 |
+
"bundled": true,
|
8219 |
+
"requires": {
|
8220 |
+
"figgy-pudding": "3.5.1"
|
8221 |
+
}
|
8222 |
},
|
8223 |
"stream-each": {
|
8224 |
"version": "1.2.2",
|
8234 |
"requires": {
|
8235 |
"readable-stream": "2.3.6",
|
8236 |
"stream-shift": "1.0.0"
|
8237 |
+
},
|
8238 |
+
"dependencies": {
|
8239 |
+
"readable-stream": {
|
8240 |
+
"version": "2.3.6",
|
8241 |
+
"bundled": true,
|
8242 |
+
"requires": {
|
8243 |
+
"core-util-is": "1.0.2",
|
8244 |
+
"inherits": "2.0.3",
|
8245 |
+
"isarray": "1.0.0",
|
8246 |
+
"process-nextick-args": "2.0.0",
|
8247 |
+
"safe-buffer": "5.1.2",
|
8248 |
+
"string_decoder": "1.1.1",
|
8249 |
+
"util-deprecate": "1.0.2"
|
8250 |
+
}
|
8251 |
+
},
|
8252 |
+
"string_decoder": {
|
8253 |
+
"version": "1.1.1",
|
8254 |
+
"bundled": true,
|
8255 |
+
"requires": {
|
8256 |
+
"safe-buffer": "5.1.2"
|
8257 |
+
}
|
8258 |
+
}
|
8259 |
}
|
8260 |
},
|
8261 |
"stream-shift": {
|
8292 |
}
|
8293 |
},
|
8294 |
"string_decoder": {
|
8295 |
+
"version": "1.2.0",
|
8296 |
"bundled": true,
|
8297 |
"requires": {
|
8298 |
"safe-buffer": "5.1.2"
|
8325 |
}
|
8326 |
},
|
8327 |
"tar": {
|
8328 |
+
"version": "4.4.8",
|
8329 |
"bundled": true,
|
8330 |
"requires": {
|
8331 |
+
"chownr": "1.1.1",
|
8332 |
"fs-minipass": "1.2.5",
|
8333 |
+
"minipass": "2.3.5",
|
8334 |
+
"minizlib": "1.1.1",
|
8335 |
"mkdirp": "0.5.1",
|
8336 |
"safe-buffer": "5.1.2",
|
8337 |
+
"yallist": "3.0.3"
|
8338 |
},
|
8339 |
"dependencies": {
|
8340 |
+
"chownr": {
|
8341 |
+
"version": "1.1.1",
|
8342 |
+
"bundled": true
|
8343 |
+
},
|
8344 |
+
"minipass": {
|
8345 |
+
"version": "2.3.5",
|
8346 |
+
"bundled": true,
|
8347 |
+
"requires": {
|
8348 |
+
"safe-buffer": "5.1.2",
|
8349 |
+
"yallist": "3.0.3"
|
8350 |
+
}
|
8351 |
+
},
|
8352 |
"yallist": {
|
8353 |
+
"version": "3.0.3",
|
8354 |
"bundled": true
|
8355 |
}
|
8356 |
}
|
8376 |
"requires": {
|
8377 |
"readable-stream": "2.3.6",
|
8378 |
"xtend": "4.0.1"
|
8379 |
+
},
|
8380 |
+
"dependencies": {
|
8381 |
+
"readable-stream": {
|
8382 |
+
"version": "2.3.6",
|
8383 |
+
"bundled": true,
|
8384 |
+
"requires": {
|
8385 |
+
"core-util-is": "1.0.2",
|
8386 |
+
"inherits": "2.0.3",
|
8387 |
+
"isarray": "1.0.0",
|
8388 |
+
"process-nextick-args": "2.0.0",
|
8389 |
+
"safe-buffer": "5.1.2",
|
8390 |
+
"string_decoder": "1.1.1",
|
8391 |
+
"util-deprecate": "1.0.2"
|
8392 |
+
}
|
8393 |
+
},
|
8394 |
+
"string_decoder": {
|
8395 |
+
"version": "1.1.1",
|
8396 |
+
"bundled": true,
|
8397 |
+
"requires": {
|
8398 |
+
"safe-buffer": "5.1.2"
|
8399 |
+
}
|
8400 |
+
}
|
8401 |
}
|
8402 |
},
|
8403 |
"timed-out": {
|
8441 |
"bundled": true
|
8442 |
},
|
8443 |
"unique-filename": {
|
8444 |
+
"version": "1.1.1",
|
8445 |
"bundled": true,
|
8446 |
"requires": {
|
8447 |
"unique-slug": "2.0.0"
|
8602 |
"bundled": true
|
8603 |
},
|
8604 |
"write-file-atomic": {
|
8605 |
+
"version": "2.4.2",
|
8606 |
"bundled": true,
|
8607 |
"requires": {
|
8608 |
+
"graceful-fs": "4.1.15",
|
8609 |
"imurmurhash": "0.1.4",
|
8610 |
"signal-exit": "3.0.2"
|
8611 |
}
|
package.json
CHANGED
@@ -39,7 +39,7 @@
|
|
39 |
"gzip-size": "^4.1.0",
|
40 |
"inquirer": "^5.0.0",
|
41 |
"node-sass": "^4.7.2",
|
42 |
-
"npm": "^6.
|
43 |
"ora": "^1.3.0",
|
44 |
"postcss-loader": "^2.0.10",
|
45 |
"raw-loader": "^0.5.1",
|
39 |
"gzip-size": "^4.1.0",
|
40 |
"inquirer": "^5.0.0",
|
41 |
"node-sass": "^4.7.2",
|
42 |
+
"npm": "^6.9.0",
|
43 |
"ora": "^1.3.0",
|
44 |
"postcss-loader": "^2.0.10",
|
45 |
"raw-loader": "^0.5.1",
|