From 56b648aff544afff5fee12a8f7ef0be0a15add10 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Fri, 4 Nov 2016 17:03:57 -1000 Subject: [PATCH 01/27] Update copyright (year) --- main.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.php b/main.php index 13fa50d..b9ec002 100644 --- a/main.php +++ b/main.php @@ -11,7 +11,7 @@ Support URI: https://github.com/archetyped/simple-lightbox/wiki/Feedback-&-Support */ /* -Copyright 2015 Archetyped (support@archetyped.com) +Copyright 2016 Archetyped (support@archetyped.com) */ $slb = null; /** From 6e463b6ce552362acb82bcae9cd5d9e9386afd78 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Wed, 18 Jan 2017 14:12:28 -1000 Subject: [PATCH 02/27] Update: Note WordPress 4.7 compatibility --- readme.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.txt b/readme.txt index 586da02..994f51a 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Donate link: http://gum.co/slb-donate License: GPLv2 Tags: lightbox, gallery, photography, images, theme, template, style Requires at least: 4.6 -Tested up to: 4.6 +Tested up to: 4.7 Stable tag: trunk The highly customizable lightbox for WordPress From 6417c219e2b4ba9f82d544cfbd33437cd05368b0 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Thu, 29 Jun 2017 16:06:41 -1000 Subject: [PATCH 03/27] Update: Confirm WordPress 4.8 compatibility --- readme.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.txt b/readme.txt index 994f51a..1774bef 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Donate link: http://gum.co/slb-donate License: GPLv2 Tags: lightbox, gallery, photography, images, theme, template, style Requires at least: 4.6 -Tested up to: 4.7 +Tested up to: 4.8 Stable tag: trunk The highly customizable lightbox for WordPress From ff2545644cc3b145c6d637e4778b6514b903b7b1 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Wed, 9 May 2018 17:25:13 -1000 Subject: [PATCH 04/27] Update: package.json dev dependencies use latest versions --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 78eb0a4..795fc5a 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,10 @@ "devDependencies": { "grunt": "^1.0.1", "grunt-contrib-jshint": "^1.0.0", - "grunt-contrib-uglify": "^2.0.0", + "grunt-contrib-uglify": "^3.3.0", "grunt-contrib-watch": "^1.0.0", - "grunt-phplint": "0.0.8", - "grunt-sass": "^1.2.1", + "grunt-phplint": "0.1.0", + "grunt-sass": "^2.1.0", "jshint-stylish": "^2.2.1", "load-grunt-tasks": "^3.5.2", "time-grunt": "^1.4.0" From cf18071e94631030084214718b583e6d3a9c410c Mon Sep 17 00:00:00 2001 From: Archetyped Date: Wed, 9 May 2018 17:25:25 -1000 Subject: [PATCH 05/27] Add: package-lock.json --- package-lock.json | 2941 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2941 insertions(+) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..f0e8af6 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2941 @@ +{ + "name": "simple-lightbox", + "version": "0.0.0-dev", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "dev": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "1.0.3" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "aws4": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", + "dev": true + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "body-parser": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", + "integrity": "sha1-EBXLH+LEQ4WCWVgdtTMy+NDPUPk=", + "dev": true, + "requires": { + "bytes": "2.2.0", + "content-type": "1.0.4", + "debug": "2.2.0", + "depd": "1.1.2", + "http-errors": "1.3.1", + "iconv-lite": "0.4.13", + "on-finished": "2.3.0", + "qs": "5.2.0", + "raw-body": "2.1.7", + "type-is": "1.6.16" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", + "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", + "dev": true + }, + "qs": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz", + "integrity": "sha1-qfMRQq9GjLcrJbMBNrokVoNJFr4=", + "dev": true + } + } + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "dev": true, + "requires": { + "pako": "0.2.9" + } + }, + "buffer-from": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", + "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "bytes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz", + "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=", + "dev": true + }, + "cache-swap": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/cache-swap/-/cache-swap-0.3.0.tgz", + "integrity": "sha1-HFQaoQilAQb2ML3Zj+HeyLoTP1E=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "object-assign": "4.1.1", + "rimraf": "2.6.2" + }, + "dependencies": { + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.0.6" + } + } + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + } + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", + "dev": true, + "requires": { + "exit": "0.1.2", + "glob": "7.1.2" + }, + "dependencies": { + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "coffeescript": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz", + "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4=", + "dev": true + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "1.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "0.1.4" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "4.1.2", + "which": "1.2.14" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", + "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + } + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "date-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/date-time/-/date-time-1.1.0.tgz", + "integrity": "sha1-GIdtC9pMGf5w3Tv0sDTygbEqQLY=", + "dev": true, + "requires": { + "time-zone": "0.1.0" + } + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "4.0.1", + "meow": "3.7.0" + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "1.1.3", + "entities": "1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", + "dev": true + }, + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" + } + }, + "each-async": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz", + "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=", + "dev": true, + "requires": { + "onetime": "1.1.0", + "set-immediate-shim": "1.0.1" + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "dev": true + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "eventemitter2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", + "dev": true + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": "0.7.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "findup-sync": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", + "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", + "dev": true, + "requires": { + "glob": "5.0.15" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.2.8" + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "gaze": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", + "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", + "dev": true, + "requires": { + "globule": "1.2.0" + } + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "1.0.2" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "getobject": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", + "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "globule": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", + "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", + "dev": true, + "requires": { + "glob": "7.1.2", + "lodash": "4.17.10", + "minimatch": "3.0.4" + }, + "dependencies": { + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "grunt": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.2.tgz", + "integrity": "sha1-TmpeaVtwRy/VME9fqeNCNoNqc7w=", + "dev": true, + "requires": { + "coffeescript": "1.10.0", + "dateformat": "1.0.12", + "eventemitter2": "0.4.14", + "exit": "0.1.2", + "findup-sync": "0.3.0", + "glob": "7.0.6", + "grunt-cli": "1.2.0", + "grunt-known-options": "1.1.0", + "grunt-legacy-log": "1.0.2", + "grunt-legacy-util": "1.0.0", + "iconv-lite": "0.4.21", + "js-yaml": "3.5.5", + "minimatch": "3.0.4", + "nopt": "3.0.6", + "path-is-absolute": "1.0.1", + "rimraf": "2.2.8" + }, + "dependencies": { + "grunt-cli": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz", + "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", + "dev": true, + "requires": { + "findup-sync": "0.3.0", + "grunt-known-options": "1.1.0", + "nopt": "3.0.6", + "resolve": "1.1.7" + } + } + } + }, + "grunt-contrib-jshint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.1.0.tgz", + "integrity": "sha1-Np2QmyWTxA6L55lAshNAhQx5Oaw=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "hooker": "0.2.3", + "jshint": "2.9.5" + } + }, + "grunt-contrib-uglify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-3.3.0.tgz", + "integrity": "sha512-W9O7lJE3PlD8VCc5fyaf98QV7f5wEDiU4PBIh0+/6UBbk2LhgzEFS0/p+taH5UD3+PlEn7QPN0o06Z0To6SqXw==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "maxmin": "1.1.0", + "uglify-js": "3.3.22", + "uri-path": "1.0.0" + } + }, + "grunt-contrib-watch": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.1.tgz", + "integrity": "sha512-8Zka/svGl6+ZwF7d6z/CfXwsb4cDODnajmZsY4nUAs9Ob0kJEcsLiDf5qm2HdDoEcm3NHjWCrFiWx+PZ2y4D7A==", + "dev": true, + "requires": { + "async": "1.5.2", + "gaze": "1.1.2", + "lodash": "4.17.10", + "tiny-lr": "0.2.1" + } + }, + "grunt-known-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz", + "integrity": "sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk=", + "dev": true + }, + "grunt-legacy-log": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.2.tgz", + "integrity": "sha512-WdedTJ/6zCXnI/coaouzqvkI19uwqbcPkdsXiDRKJyB5rOUlOxnCnTVbpeUdEckKVir2uHF3rDBYppj2p6N3+g==", + "dev": true, + "requires": { + "colors": "1.1.2", + "grunt-legacy-log-utils": "1.0.0", + "hooker": "0.2.3", + "lodash": "4.17.10" + } + }, + "grunt-legacy-log-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz", + "integrity": "sha1-p7ji0Ps1taUPSvmG/BEnSevJbz0=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "lodash": "4.3.0" + }, + "dependencies": { + "lodash": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz", + "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=", + "dev": true + } + } + }, + "grunt-legacy-util": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz", + "integrity": "sha1-OGqnjcbtUJhsKxiVcmWxtIq7m4Y=", + "dev": true, + "requires": { + "async": "1.5.2", + "exit": "0.1.2", + "getobject": "0.1.0", + "hooker": "0.2.3", + "lodash": "4.3.0", + "underscore.string": "3.2.3", + "which": "1.2.14" + }, + "dependencies": { + "lodash": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz", + "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=", + "dev": true + } + } + }, + "grunt-phplint": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/grunt-phplint/-/grunt-phplint-0.1.0.tgz", + "integrity": "sha1-bb4uauxTqiKc+sCtmnyZ4kGEhI0=", + "dev": true, + "requires": { + "cache-swap": "0.3.0", + "grunt": "0.4.5" + }, + "dependencies": { + "argparse": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", + "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", + "dev": true, + "requires": { + "underscore": "1.7.0", + "underscore.string": "2.4.0" + }, + "dependencies": { + "underscore.string": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", + "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=", + "dev": true + } + } + }, + "async": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz", + "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=", + "dev": true + }, + "coffee-script": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz", + "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=", + "dev": true + }, + "colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", + "dev": true + }, + "dateformat": { + "version": "1.0.2-1.2.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz", + "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=", + "dev": true + }, + "esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", + "dev": true + }, + "findup-sync": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz", + "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=", + "dev": true, + "requires": { + "glob": "3.2.11", + "lodash": "2.4.2" + }, + "dependencies": { + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimatch": "0.3.0" + } + }, + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "dev": true, + "requires": { + "lru-cache": "2.7.3", + "sigmund": "1.0.1" + } + } + } + }, + "glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", + "dev": true, + "requires": { + "graceful-fs": "1.2.3", + "inherits": "1.0.2", + "minimatch": "0.2.14" + }, + "dependencies": { + "inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", + "dev": true + } + } + }, + "graceful-fs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", + "dev": true + }, + "grunt": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz", + "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=", + "dev": true, + "requires": { + "async": "0.1.22", + "coffee-script": "1.3.3", + "colors": "0.6.2", + "dateformat": "1.0.2-1.2.3", + "eventemitter2": "0.4.14", + "exit": "0.1.2", + "findup-sync": "0.1.3", + "getobject": "0.1.0", + "glob": "3.1.21", + "grunt-legacy-log": "0.1.3", + "grunt-legacy-util": "0.2.0", + "hooker": "0.2.3", + "iconv-lite": "0.2.11", + "js-yaml": "2.0.5", + "lodash": "0.9.2", + "minimatch": "0.2.14", + "nopt": "1.0.10", + "rimraf": "2.2.8", + "underscore.string": "2.2.1", + "which": "1.0.9" + } + }, + "grunt-legacy-log": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz", + "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=", + "dev": true, + "requires": { + "colors": "0.6.2", + "grunt-legacy-log-utils": "0.1.1", + "hooker": "0.2.3", + "lodash": "2.4.2", + "underscore.string": "2.3.3" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", + "dev": true + } + } + }, + "grunt-legacy-log-utils": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz", + "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=", + "dev": true, + "requires": { + "colors": "0.6.2", + "lodash": "2.4.2", + "underscore.string": "2.3.3" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", + "dev": true + } + } + }, + "grunt-legacy-util": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz", + "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=", + "dev": true, + "requires": { + "async": "0.1.22", + "exit": "0.1.2", + "getobject": "0.1.0", + "hooker": "0.2.3", + "lodash": "0.9.2", + "underscore.string": "2.2.1", + "which": "1.0.9" + } + }, + "iconv-lite": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", + "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=", + "dev": true + }, + "js-yaml": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", + "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=", + "dev": true, + "requires": { + "argparse": "0.1.16", + "esprima": "1.0.4" + } + }, + "lodash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", + "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=", + "dev": true + }, + "minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", + "dev": true, + "requires": { + "lru-cache": "2.7.3", + "sigmund": "1.0.1" + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1.1.1" + } + }, + "underscore.string": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", + "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=", + "dev": true + }, + "which": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz", + "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=", + "dev": true + } + } + }, + "grunt-sass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-2.1.0.tgz", + "integrity": "sha512-XkexnQt/9rhReNd+Y7T0n/2g5FqYOQKfi2iSlpwDqvgs7EgEaGTxNhnWzHnbW5oNRvzL9AHopBG3AgRxL0d+DA==", + "dev": true, + "requires": { + "each-async": "1.1.1", + "node-sass": "4.9.0", + "object-assign": "4.1.1" + } + }, + "gzip-size": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz", + "integrity": "sha1-Zs+LEBBHInuVus5uodoMF37Vwi8=", + "dev": true, + "requires": { + "browserify-zlib": "0.1.4", + "concat-stream": "1.6.2" + } + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "commander": "2.15.1", + "is-my-json-valid": "2.17.2", + "pinkie-promise": "2.0.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "hooker": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", + "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", + "dev": true + }, + "hosted-git-info": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "dev": true + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "dev": true, + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.3.0", + "domutils": "1.5.1", + "entities": "1.0.0", + "readable-stream": "1.1.14" + } + }, + "http-errors": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", + "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "statuses": "1.5.0" + } + }, + "http-parser-js": { + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.12.tgz", + "integrity": "sha1-uc+/Sizybw/DSxDKFImid3HjR08=", + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.14.1" + } + }, + "iconv-lite": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", + "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "irregular-plurals": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz", + "integrity": "sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y=", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true + }, + "is-my-json-valid": { + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", + "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", + "dev": true, + "requires": { + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "is-my-ip-valid": "1.0.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" + } + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "js-base64": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz", + "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==", + "dev": true + }, + "js-yaml": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", + "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "2.7.3" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "jshint": { + "version": "2.9.5", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz", + "integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=", + "dev": true, + "requires": { + "cli": "1.0.1", + "console-browserify": "1.1.0", + "exit": "0.1.2", + "htmlparser2": "3.8.3", + "lodash": "3.7.0", + "minimatch": "3.0.4", + "shelljs": "0.3.0", + "strip-json-comments": "1.0.4" + }, + "dependencies": { + "lodash": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz", + "integrity": "sha1-Nni9irmVBXwHreg27S7wh9qBHUU=", + "dev": true + } + } + }, + "jshint-stylish": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jshint-stylish/-/jshint-stylish-2.2.1.tgz", + "integrity": "sha1-JCCCosA1rgP9gQROBXDMQgjPbmE=", + "dev": true, + "requires": { + "beeper": "1.1.1", + "chalk": "1.1.3", + "log-symbols": "1.0.2", + "plur": "2.1.2", + "string-length": "1.0.1", + "text-table": "0.2.0" + } + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "livereload-js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz", + "integrity": "sha512-j1R0/FeGa64Y+NmqfZhyoVRzcFlOZ8sNlKzHjh4VvLULFACZhn68XrX5DFg2FhMvSMJmROuFxRSa560ECWKBMg==", + "dev": true + }, + "load-grunt-tasks": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.5.2.tgz", + "integrity": "sha1-ByhWEYD9IP+KaSdQWFL8WKrqDIg=", + "dev": true, + "requires": { + "arrify": "1.0.1", + "multimatch": "2.1.0", + "pkg-up": "1.0.0", + "resolve-pkg": "0.1.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "dev": true + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "1.1.3" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "maxmin": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz", + "integrity": "sha1-cTZehKmd2Piz99X94vANHn9zvmE=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "figures": "1.7.0", + "gzip-size": "1.0.0", + "pretty-bytes": "1.0.4" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + } + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "requires": { + "mime-db": "1.33.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + }, + "multimatch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", + "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "dev": true, + "requires": { + "array-differ": "1.0.0", + "array-union": "1.0.2", + "arrify": "1.0.1", + "minimatch": "3.0.4" + } + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "dev": true + }, + "node-gyp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", + "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", + "dev": true, + "requires": { + "fstream": "1.0.11", + "glob": "7.0.6", + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.5", + "request": "2.79.0", + "rimraf": "2.2.8", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.2.14" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-sass": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.0.tgz", + "integrity": "sha512-QFHfrZl6lqRU3csypwviz2XLgGNOoWQbo2GOvtsfQqOfL4cy1BtWnhx/XUeAO9LT3ahBzSRXcEO6DdvAH9DzSg==", + "dev": true, + "requires": { + "async-foreach": "0.1.3", + "chalk": "1.1.3", + "cross-spawn": "3.0.1", + "gaze": "1.1.2", + "get-stdin": "4.0.1", + "glob": "7.0.6", + "in-publish": "2.0.0", + "lodash.assign": "4.2.0", + "lodash.clonedeep": "4.5.0", + "lodash.mergewith": "4.6.1", + "meow": "3.7.0", + "mkdirp": "0.5.1", + "nan": "2.10.0", + "node-gyp": "3.6.2", + "npmlog": "4.1.2", + "request": "2.79.0", + "sass-graph": "2.2.4", + "stdout-stream": "1.4.0", + "true-case-path": "1.0.2" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1.1.1" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "parse-ms": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", + "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=", + "dev": true + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "pkg-up": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", + "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=", + "dev": true, + "requires": { + "find-up": "1.1.2" + } + }, + "plur": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", + "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", + "dev": true, + "requires": { + "irregular-plurals": "1.4.0" + } + }, + "pretty-bytes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", + "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", + "dev": true, + "requires": { + "get-stdin": "4.0.1", + "meow": "3.7.0" + } + }, + "pretty-ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz", + "integrity": "sha1-QlfCVt8/sLRR1q/6qwIYhBJpgdw=", + "dev": true, + "requires": { + "is-finite": "1.0.2", + "parse-ms": "1.0.1", + "plur": "1.0.0" + }, + "dependencies": { + "plur": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz", + "integrity": "sha1-24XGgU9eXlo7Se/CjWBP7GKXUVY=", + "dev": true + } + } + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz", + "integrity": "sha1-TZMuXH6kEcynajEtOaYGIA/VDNk=", + "dev": true + }, + "raw-body": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", + "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=", + "dev": true, + "requires": { + "bytes": "2.4.0", + "iconv-lite": "0.4.13", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", + "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", + "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", + "dev": true + } + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + } + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "request": { + "version": "2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", + "dev": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.7.0", + "caseless": "0.11.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "2.0.6", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "qs": "6.3.2", + "stringstream": "0.0.5", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.4.3", + "uuid": "3.2.1" + }, + "dependencies": { + "qs": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "resolve-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", + "dev": true + }, + "resolve-pkg": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-0.1.0.tgz", + "integrity": "sha1-AsyZNBDik2livZcWahsHfalyVTE=", + "dev": true, + "requires": { + "resolve-from": "2.0.0" + } + }, + "rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, + "requires": { + "glob": "7.0.6", + "lodash": "4.17.10", + "scss-tokenizer": "0.2.3", + "yargs": "7.1.0" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "2.4.3", + "source-map": "0.4.4" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": "1.0.1" + } + } + } + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "shelljs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", + "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", + "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", + "dev": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "stdout-stream": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", + "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", + "dev": true, + "requires": { + "readable-stream": "2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "string-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", + "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=", + "dev": true, + "requires": { + "strip-ansi": "3.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "time-grunt": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/time-grunt/-/time-grunt-1.4.0.tgz", + "integrity": "sha1-BiIT5mDJB+hvRAVWwB6mWXtxJCA=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "date-time": "1.1.0", + "figures": "1.7.0", + "hooker": "0.2.3", + "number-is-nan": "1.0.1", + "pretty-ms": "2.1.0", + "text-table": "0.2.0" + } + }, + "time-zone": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-0.1.0.tgz", + "integrity": "sha1-Sncotqwo2w4Aj1FAQ/1VW9VXO0Y=", + "dev": true + }, + "tiny-lr": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", + "integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=", + "dev": true, + "requires": { + "body-parser": "1.14.2", + "debug": "2.2.0", + "faye-websocket": "0.10.0", + "livereload-js": "2.3.0", + "parseurl": "1.3.2", + "qs": "5.1.0" + } + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dev": true, + "requires": { + "punycode": "1.4.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", + "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", + "dev": true, + "requires": { + "glob": "6.0.4" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "2.1.18" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "3.3.22", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.22.tgz", + "integrity": "sha512-tqw96rL6/BG+7LM5VItdhDjTQmL5zG/I0b2RqWytlgeHe2eydZHuBHdA9vuGpCDhH/ZskNGcqDhivoR2xt8RIw==", + "dev": true, + "requires": { + "commander": "2.15.1", + "source-map": "0.6.1" + } + }, + "underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", + "dev": true + }, + "underscore.string": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz", + "integrity": "sha1-gGmSYzZl1eX8tNsfs6hi62jp5to=", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "uri-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", + "integrity": "sha1-l0fwGDWJM8Md4PzP2C0TjmcmLjI=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", + "dev": true, + "requires": { + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "requires": { + "http-parser-js": "0.4.12", + "websocket-extensions": "0.1.3" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "which": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", + "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "wide-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "dev": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + } + } +} From b9c26ec2f4a014702741e5e2bad6b946ac198b35 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Thu, 31 May 2018 17:07:13 -1000 Subject: [PATCH 06/27] Update: Confirm WordPress 4.9 compatibility --- readme.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.txt b/readme.txt index 1774bef..5207f70 100644 --- a/readme.txt +++ b/readme.txt @@ -3,8 +3,8 @@ Contributors: Archetyped Donate link: http://gum.co/slb-donate License: GPLv2 Tags: lightbox, gallery, photography, images, theme, template, style -Requires at least: 4.6 -Tested up to: 4.8 +Requires at least: 4.9 +Tested up to: 4.9 Stable tag: trunk The highly customizable lightbox for WordPress From c023e51f039185677b317457d088ec20661ae308 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Thu, 31 May 2018 17:09:55 -1000 Subject: [PATCH 07/27] Update: readme.txt formatting/spelling --- readme.txt | 50 +++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/readme.txt b/readme.txt index 5207f70..a615dee 100644 --- a/readme.txt +++ b/readme.txt @@ -13,6 +13,7 @@ The highly customizable lightbox for WordPress Simple Lightbox is a very simple and customizable lightbox that is easy to add to your WordPress website. #### Features + Options for customizing the lightbox behavior are located in the **Appearance > Lightbox** admin menu (or just click the **Settings** link below the plugin's name when viewing the list of installed plugins) * Automatically activate links (no manual coding required) @@ -30,7 +31,8 @@ Options for customizing the lightbox behavior are located in the **Appearance > * Group image links by Post (separate slideshow for each post on page) #### Usage -1. Insert links to images/image attachments into your posts/pages + +1. Insert links to images/image attachments into your posts/pages **That's it! The image will be displayed in a lightbox automatically.** @@ -38,8 +40,8 @@ Options for customizing the lightbox behavior are located in the **Appearance > == Installation == -1. Install and activate SLB -1. Verify that your site's theme uses the `wp_head()`, `wp_footer()`, & `the_content()` template tags (standard in any professional theme) +1. Install and activate SLB +1. Verify that your site's theme uses the `wp_head()`, `wp_footer()`, & `the_content()` template tags (standard in any professional theme) == Upgrade Notice == @@ -51,9 +53,9 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ == Screenshots == -1. Lightbox Customization Options -2. Light Theme -3. Dark Theme +1. Lightbox Customization Options +2. Light Theme +3. Dark Theme == Changelog == @@ -66,7 +68,7 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ = 2.5.3 = -* Optimize: Entity handling in URIs for different server environments +* Optimize: Entity handling in URIs for different server environments = 2.5.2 = @@ -104,6 +106,7 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ * Add: `slb_is_enabled` filter = 2.3.1 = + * Fix: WordPress version requirement * Optimize: Field collection group parsing @@ -143,10 +146,12 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ * Optimize: Grunt: Selective file compilation = 2.2.2 = + * Optimize: Widget processing * Optimize: Remove call-time-pass-by-references = 2.2.1 = + * Fix: Enable/Disable lightbox on certain requests (Danny the Enabler) * Fix: Widget links grouped with post links (Rafa's Widgetarian Adventure) * Optimize: Client-side loading @@ -154,6 +159,7 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ * Optimize: Widget processing = 2.2.0 = + * Update: WordPress 3.8 support * Add: Add-on support * Add: Load external data for item @@ -169,13 +175,16 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ * Optimize: Use absolute paths for file includes (props k3davis) = 2.1.3 = + * Fix: PHP configuration issue on some web hosts (Tim's got (config) issues) * Optimize: Hide overlapping elements when lightbox is displayed (e.g. Flash, etc.) = 2.1.2 = + * Fix: Incorrect paths when WP in subdirectory (Kim's Van Repair) = 2.1.1 = + * Fix: Automatic resizing * Fix: Compatibility with non-standard wp-content location (On the Path of the Wijdemans) * Optimize: jQuery dependency handling @@ -184,6 +193,7 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ * Optimize: Code cleanup = 2.1 = + * Update: Finalized Theme API * Update: Finalized Content Handler API * Update: Finalized Template Tag API @@ -198,6 +208,7 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ * Fix: Gallery post format compatibility (Just Juan problem with galleries) = 2.0 = + * Completely rewritten lightbox code * Add: Automatically resize lightbox to fit window * Add: APIs for third-party add-ons @@ -209,6 +220,7 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ * Optimize: Full internationalization support = 1.6 = + * Add: Widget support * Add: WordPress 3.3 support * Add: Localization support @@ -231,12 +243,13 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ * Fix: YouTube embed using iFrame overlaps lightbox (Elena in Hiding) * Fix: Issue when scanning links without valid URLs (McCloskey Iteration) * Fix: Image activation is case-sensitive (Sensitive Tanya) -* Fix: Visible lightbox overlay edges when image larger than browser window (Chibi Overlay) +* Fix: Visible lightbox overlay edges when image larger than browser window (Chibi Overlay) * Fix: Options availability for some users * Fix: Inconsistent loading of image metadata * Fix: Links not fully processed when group is set manually = 1.5.6 = + * Add: Display image description in lightbox (with HTML support) * Add: Support for W3 Total Cache plugin * Add: Initial support for NextGEN galleries @@ -253,9 +266,11 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ * Fix: Options reset after update (KRazy Donna) = 1.5.5.1 = + * Fix: Disabled links not being disabled (Disabling Sascha) = 1.5.5 = + * Add: Distinct link activation (will not affect other lightboxes) * Add: Backwards compatibility with legacy lightbox links (optional) * Add: Support for WordPress 3.2 @@ -273,6 +288,7 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ * Fix: XHTML Validation (Hajo Validation) = 1.5.4 = + * Add: Optional Link validation * Add: Keyboard Navigation * Add: Option to enable/disable image caption @@ -287,50 +303,61 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ * Optimize: Better grouping support = 1.5.3 = + * Fix: Caption may not display under certain circumstances (Caption Erin) * Fix: Images not grouped when "separate by post" option is activated (Logical Ross) * Update: Lightbox will not be activated for links that already have `rel` attribute set = 1.5.2 = + * Fix: Slideshow loops out of control (Mirage of Wallentin) * Fix: Lightbox fails when group by posts disabled (Lange Find) * Add: Option to use the image's URI as caption when link title not set (Under UI options) = 1.5.1 = + * Add: WP Gallery support * Fix: Navigation hidden when only one image * Fix: Use user-defined UI text = 1.5 = + * Add: Theme support -* Optimize: Javascript cleanup and file size reductions +* Optimize: JavaScript cleanup and file size reductions * Optimize: CSS cleanup = 1.4 = + * Update: Integrated with jQuery -* Optimize: Javascript filesize 9x smaller +* Optimize: JavaScript file size 9x smaller * Add: Close lightbox by clicking to left/right outside of image (an oft-requested feature) = 1.3.2 = + * Add: Option to enable/disable lightbox resizing animation (thanks Maria!) = 1.3.1 = + * Update: Utilities code (internal) = 1.3 = -* Add: Customizable UI label text (close, next, and prev button images can be replaced in `images` directory) + +* Add: Customizable UI label text (close, next, and previous button images can be replaced in `images` directory) * Add: Group image links by Post (separate slideshow for each post) * Add: Reset settings link on plugin listings page * Optimize: Organized settings page = 1.2.1 = + * Fixed: Image title given higher precedence than Image alt (more compatible w/WP workflow) = 1.2 = + * Added: Option to group automatically activated links * Optimized: Lightbox caption retrieval = 1.1 = + * Added: Enable/disable lightbox functionality by page type (Home, Pages/Posts, Archive, etc.) * Added: Automatically activate lightbox functionality for image links * Added: Link to settings menu on plugin listing page @@ -339,4 +366,5 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ * Optimized: General code optimizations = 1.0 = + * Initial release From 535c10197172400ea427b99f58d8d2f726046e47 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Thu, 31 May 2018 17:49:17 -1000 Subject: [PATCH 08/27] Update: Replace `count()` with `strlen()` for strings (Compatibility for PHP 7.2+) Closes #646 --- includes/class.utilities.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/class.utilities.php b/includes/class.utilities.php index 4323e89..012d414 100644 --- a/includes/class.utilities.php +++ b/includes/class.utilities.php @@ -1407,8 +1407,8 @@ function get_action($default = null) { // Check if action is set in URL if ( isset($_GET['action']) ) $action = $_GET['action']; - // Otherwise, Determine action based on plugin plugin admin page suffix - elseif ( isset($_GET['page']) && ($pos = strrpos($_GET['page'], '-')) && $pos !== false && ( $pos != count($_GET['page']) - 1 ) ) + // Otherwise, Determine action based on plugin admin page suffix + elseif ( isset($_GET['page']) && ($pos = strrpos($_GET['page'], '-')) && $pos !== false && ( $pos != strlen($_GET['page']) - 1 ) ) $action = trim(substr($_GET['page'], $pos + 1), '-_'); // Determine action for core admin pages From 4fe0acad2da094524aac2d404fea4930fd17c4dc Mon Sep 17 00:00:00 2001 From: Archetyped Date: Fri, 1 Jun 2018 12:08:51 -1000 Subject: [PATCH 09/27] Fix: Remove references to `screen_icon()` (deprecated) Closes #651 --- includes/class.admin_page.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/includes/class.admin_page.php b/includes/class.admin_page.php index af7cab1..4d65bf0 100644 --- a/includes/class.admin_page.php +++ b/includes/class.admin_page.php @@ -31,10 +31,6 @@ public function __construct($id, $parent, $labels, $callback = null, $capability /* Operations */ - protected function show_icon() { - echo screen_icon(); - } - /** * Add content to page * @uses parent::add_content() @@ -147,7 +143,6 @@ public function handle() { wp_enqueue_script('postbox'); ?>
- show_icon(); ?>

get_label('header') ); ?>

Date: Fri, 1 Jun 2018 12:18:10 -1000 Subject: [PATCH 10/27] Update: Remove icon functionality from `SLB_Admin_Page` class (deprecated in WordPress) --- includes/class.admin_page.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/class.admin_page.php b/includes/class.admin_page.php index 4d65bf0..6e4d0a6 100644 --- a/includes/class.admin_page.php +++ b/includes/class.admin_page.php @@ -21,9 +21,9 @@ class SLB_Admin_Page extends SLB_Admin_View { /* Init */ - public function __construct($id, $parent, $labels, $callback = null, $capability = null, $icon = null) { + public function __construct($id, $parent, $labels, $callback = null, $capability = null) { // Default - parent::__construct($id, $labels, $callback, $capability, $icon); + parent::__construct($id, $labels, $callback, $capability); // Class specific $this->set_parent($parent); return $this; From 95001627cee6a99e52382e46a2d3b3a3f2da1a12 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Fri, 1 Jun 2018 14:36:29 -1000 Subject: [PATCH 11/27] Update: Plugin metadata --- main.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/main.php b/main.php index b9ec002..2ed1852 100644 --- a/main.php +++ b/main.php @@ -1,5 +1,13 @@ + * @copyright 2018 Archetyped + */ + +/* Plugin Name: Simple Lightbox Plugin URI: http://archetyped.com/tools/simple-lightbox/ Description: The highly customizable lightbox for WordPress @@ -10,9 +18,7 @@ Author URI: http://archetyped.com Support URI: https://github.com/archetyped/simple-lightbox/wiki/Feedback-&-Support */ -/* -Copyright 2016 Archetyped (support@archetyped.com) -*/ + $slb = null; /** * Initialize SLB From 3ea5670d4b23ef191c7a3768a655dcd6559416e6 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Wed, 6 Jun 2018 11:26:54 -1000 Subject: [PATCH 12/27] Optimize: Validate requirements before initialization. --- includes/class-requirements-check.php | 168 ++++++++++++++++++++++++++ main.php | 33 +++-- readme.txt | 4 +- 3 files changed, 196 insertions(+), 9 deletions(-) create mode 100644 includes/class-requirements-check.php diff --git a/includes/class-requirements-check.php b/includes/class-requirements-check.php new file mode 100644 index 0000000..c217f0b --- /dev/null +++ b/includes/class-requirements-check.php @@ -0,0 +1,168 @@ + '5.4', + ); + + /** + * Dependency failures log + * + * @var array + */ + private $fail = array(); + + /** + * URIs for notices, etc. + * + * @var array + */ + private $uri = array(); + + /** + * Constructor + * + * @param array $args Requirements data. + * @return void + */ + public function __construct( $args ) { + $args = (array) $args; + // Set properties. + foreach ( array_keys( get_class_vars( get_class( $this ) ) ) as $prop ) { + if ( ! isset( $args[ $prop ] ) ) { + continue; + } + // Merge array properties. + if ( is_array( $this->$prop ) && is_array( $args[ $prop ] ) ) { + $this->$prop = array_merge( $this->$prop, $args[ $prop ] ); + continue; + } + + // Set string properties. + if ( is_string( $this->$prop ) && is_scalar( $args[ $prop ] ) ) { + $this->$prop = (string) $args[ $prop ]; + continue; + } + } + } + + /** + * Check if plugin passes all requirements + * + * @return bool Requirements check result. + */ + public function passes() { + $result = true; + foreach ( $this->deps as $dep => $req ) { + $m = $dep . '_passes'; + if ( ! method_exists( $this, $m ) ) { + continue; + } + $passes = $this->$m(); + if ( ! $passes ) { + // Requirements do not pass. + $result = $passes; + // Log dependency failures. + $this->fail[] = $dep; + } + } + // Handle requirements failure. + if ( ! $result ) { + add_action( 'load-plugins.php', array( $this, 'handle_failure' ) ); + } + return $result; + } + + /** + * Handle requirements failure + * + * @return void + */ + public function handle_failure() { + // Handle each failed dependency. + foreach ( $this->fail as $dep ) { + $m = $dep . '_handle_failure'; + if ( method_exists( $this, $m ) ) { + $this->$m(); + } + } + // Deactivate plugin. + deactivate_plugins( plugin_basename( $this->file ) ); + } + + /** + * Validates PHP version. + * + * @return bool PHP requirement passes. + */ + private function php_passes() { + return version_compare( PHP_VERSION, $this->deps['php'], '>=' ); + } + + /** + * Handle PHP requirement failure + * + * @return void + */ + private function php_handle_failure() { + // Clear activation query variable from request (stop UI notices). + unset( $_GET['activate'] ); + // Display notice to user. + add_action( 'admin_notices', array( $this, 'php_notice' ) ); + } + + /** + * Display requirements failure notice and deactivate plugin. + * + * @return void + */ + public function php_notice() { + global $slb_requirements; + // Display message to user. + $link = (object) array( + /* translators: 1: Plugin name */ + 'title' => sprintf( __( 'Learn more about %1$s\'s requirements', 'simple-lightbox' ), $this->name ), + /* translators: Plugin requirements link text. */ + 'text' => __( 'Learn More', 'simple-lightbox' ), + ); + // Full link. + $link = sprintf( '%3$s', $this->uri['reference'], esc_attr( $link->title ), esc_html( $link->text ) ); + /* translators: 1: Plugin name. 2: PHP version requirement. 3: Plugin requirements link. */ + $err_msg = sprintf( __( '%1$s requires PHP %2$s or higher. Please have your hosting provider update PHP to enable Simple Lightbox. (%3$s)', 'simple-lightbox' ), $this->name, $this->deps['php'], $link ); + ?> +

+ __( 'Simple Lightbox', 'simple-lightbox' ), + 'file' => __FILE__, + 'uri' => array( + 'reference' => 'https://github.com/archetyped/simple-lightbox/wiki/Requirements', + ), + ) +); + +// Check requirements before initializing plugin. +if ( $slb_requirements->passes() ) { + /** + * Initialize SLB + * + * @return void + */ + function slb_init() { + require_once dirname( __FILE__ ) . '/load.php'; + } + add_action( 'init', 'slb_init', 1 ); } -add_action('init', 'slb_init', 1); \ No newline at end of file +unset( $slb_requirements ); diff --git a/readme.txt b/readme.txt index a615dee..3432549 100644 --- a/readme.txt +++ b/readme.txt @@ -5,6 +5,7 @@ License: GPLv2 Tags: lightbox, gallery, photography, images, theme, template, style Requires at least: 4.9 Tested up to: 4.9 +Requires PHP: 5.4 Stable tag: trunk The highly customizable lightbox for WordPress @@ -45,7 +46,8 @@ Options for customizing the lightbox behavior are located in the **Appearance > == Upgrade Notice == -No upgrade notices += 0.0.0-dev = +Fixes & improvements. PHP 5.4+ Required. == Frequently Asked Questions == From c736ac12b74ac3c98232001241c6725d4e446543 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Wed, 6 Jun 2018 14:50:08 -1000 Subject: [PATCH 13/27] Optimize: Refactor `create_function()` to anonymous function in `SLB_Lightbox::build_labels()` --- controller.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/controller.php b/controller.php index fe18ea0..9490023 100644 --- a/controller.php +++ b/controller.php @@ -1635,16 +1635,18 @@ function has_attribute($attrs, $attr, $value = null, $internal = true) { * Build JS object of UI strings when initializing lightbox * @return array UI strings */ - function build_labels() { + private function build_labels() { $ret = array(); - // Get all UI options - $prefix = 'txt_'; - $opt_strings = array_filter(array_keys($this->options->get_items()), create_function('$opt', 'return ( strpos($opt, "' . $prefix . '") === 0 );')); - if ( count($opt_strings) ) { - // Build array of UI options + /* Get all UI options */ + $prefix = 'txt_'; + $opt_strings = array_filter( array_keys( $this->options->get_items() ), function ( $opt ) use ( $prefix ) { + return ( strpos( $opt, $prefix ) === 0 ); + } ); + if ( count( $opt_strings ) ) { + /* Build array of UI options */ foreach ( $opt_strings as $key ) { - $name = substr($key, strlen($prefix)); - $ret[$name] = $this->options->get_value($key); + $name = substr( $key, strlen( $prefix ) ); + $ret[ $name ] = $this->options->get_value( $key ); } } return $ret; From cebee5537ff482ada5d6ea3629f51ac1adfeae67 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Wed, 6 Jun 2018 16:00:56 -1000 Subject: [PATCH 14/27] Optimize: Refactor `create_function()` to anonymous function in `Field_Collection::get_groups()` --- includes/class.field_collection.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/includes/class.field_collection.php b/includes/class.field_collection.php index 2d27899..5d7ae6c 100644 --- a/includes/class.field_collection.php +++ b/includes/class.field_collection.php @@ -633,7 +633,14 @@ function &get_groups($opts = array()) { if ( !empty($groups) && !empty($sort) && is_string($sort) ) { if ( property_exists(current($groups), $sort) ) { // Sort groups by property - $sfunc = create_function('$a,$b', '$ap = $a->' . $sort . '; $bp = $b->' . $sort . '; if ( $ap == $bp ) return 0; return ( $ap > $bp ) ? 1 : -1;'); + $sfunc = function ( $a, $b ) use ($sort) { + $ap = $a->$sort; + $bp = $b->$sort; + if ( $ap == $bp ) { + return 0; + } + return ( $ap > $bp ) ? 1 : -1; + }; uasort($groups, $sfunc); } } From 1bb57ca68f63849d9ec1c00d3b5e538d3353739d Mon Sep 17 00:00:00 2001 From: Archetyped Date: Wed, 6 Jun 2018 16:16:11 -1000 Subject: [PATCH 15/27] Optimize: Refactor `create_function()` to anonymous function in `Themes::opt_get_field_values()` --- includes/class.themes.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/includes/class.themes.php b/includes/class.themes.php index 9b042a3..017fc0d 100644 --- a/includes/class.themes.php +++ b/includes/class.themes.php @@ -279,7 +279,9 @@ public function opt_get_field_values() { } // Sort themes by name - uasort($items, create_function('$a,$b', 'return strcmp($a->get_name(), $b->get_name());')); + uasort( $items, function( $a, $b ) { + return strcmp( $a->get_name(), $b->get_name() ); + }); // Insert default theme at top of array if ( isset($itm_d) ) { From 34b09ab6975bdf90d51b055579a6bf13f1802650 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Wed, 6 Jun 2018 16:50:23 -1000 Subject: [PATCH 16/27] Optimize: Move changelog to separate file --- changelog.txt | 309 +++++++++++++++++++++++++++++++++++++++++++++++++ readme.txt | 310 -------------------------------------------------- 2 files changed, 309 insertions(+), 310 deletions(-) create mode 100644 changelog.txt diff --git a/changelog.txt b/changelog.txt new file mode 100644 index 0000000..42114d2 --- /dev/null +++ b/changelog.txt @@ -0,0 +1,309 @@ += 2.6.0 = + +* Add: Activate links in native WordPress navigation menus (enable in admin settings) +* Add: Group menu links separately (enable in admin settings) +* Optimize: Fallback lightbox title text retrieval (link text) +* Fix: Undefined variable in `Utilities::get_plugin_base_file()` (The Lost Temple of Xavivars) + += 2.5.3 = + +* Optimize: Entity handling in URIs for different server environments + += 2.5.2 = + +* Fix: Activation when Home page set to static page (Lyra's Static Cling) +* Optimize: Prep for WordPress language packs + += 2.5.1 = + +* Update: Client-side Utilities library +* Optimize: Request processing + += 2.5.0 = + +* Fix: Query string removed from URI (A Stern Query) +* Optimize: Key-based asset data storage/retrieval +* Optimize: Improved cache usage when processing links +* Optimize: Refactor image URI detection + += 2.4.1 = + +* Fix: Ungrouped items in empty group (Robert & The Lost Group) +* Fix: IE8 Support (S.Franzis' Legacy) +* Optimize: Widget support +* Optimize: Relative and internal URI handling +* Optimize: Link activation performance + += 2.4.0 = + +* Update: WordPress version compatibility (v4.2.1) +* Optimize: Standardize code +* Optimize: Do not process excerpt content +* Optimize: Client-side libraries (Phase 1) +* Add: Set group via `slb_activate()` +* Add: Set group via `activate_links()` +* Add: `slb_is_enabled` filter + += 2.3.1 = + +* Fix: WordPress version requirement +* Optimize: Field collection group parsing + += 2.3.0 = +[Full Release Notes](http://archetyped.com/lab/slb-2-3-0 "Simple Lightbox 2.3.0") + +* Update: WordPress 3.9 support +* Update: Support URI, content +* Add: Enhanced grouping support +* Add: Shortcode: `[slb_group]` +* Add: Shortcode: `[slb_exclude]` +* Add: Filter: `slb_pre_process_links` +* Add: Filter: `slb_post_process_links` +* Add: Filter: `slb_process_link_attributes` +* Add: Filter: `slb_media_item_properties` +* Add: Filter: `slb_pre_exclude_content` +* Add: Filter: `slb_exclude_shortcodes` +* Add: Filter: `slb_group_shortcodes` +* Add: Template Tag: `slb_activate()` - Manually activate content +* Add: Option to enable/disable usage of WordPress-generated media title +* Add: Dev mode +* Add: Theme breakpoints +* Optimize: Remove deprecated code +* Optimize: Remove deprecated legacy support +* Optimize: Content exclusion performance +* Optimize: Content grouping performance +* Optimize: Harden code against third-party post query modifications +* Optimize: Utility code +* Optimize: Loading process +* Optimize: Client-side code +* Optimize: Client-side: Code loading +* Optimize: Client-side: Simplified dependency detection +* Optimize: Client-side: Default Theme transitions +* Optimize: Grunt: Cleanup +* Optimize: Grunt: Path abstraction +* Optimize: Grunt: Task loading +* Optimize: Grunt: Selective file compilation + += 2.2.2 = + +* Optimize: Widget processing +* Optimize: Remove call-time-pass-by-references + += 2.2.1 = + +* Fix: Enable/Disable lightbox on certain requests (Danny the Enabler) +* Fix: Widget links grouped with post links (Rafa's Widgetarian Adventure) +* Optimize: Client-side loading +* Optimize: Theme validation +* Optimize: Widget processing + += 2.2.0 = + +* Update: WordPress 3.8 support +* Add: Add-on support +* Add: Load external data for item +* Add: Unloading process for viewer +* Add: Relative links marked as "internal" +* Add: Grunt build workflow +* Optimize: Initialization process +* Optimize: Client-side output (JavaScript, CSS) +* Optimize: Improved URI handling (variants, query strings, etc.) +* Optimize: Improved support for content types (video, etc.) +* Optimize: Improved File contents retrieval +* Optimize: Plugin metadata cleanup +* Optimize: Use absolute paths for file includes (props k3davis) + += 2.1.3 = + +* Fix: PHP configuration issue on some web hosts (Tim's got (config) issues) +* Optimize: Hide overlapping elements when lightbox is displayed (e.g. Flash, etc.) + += 2.1.2 = + +* Fix: Incorrect paths when WP in subdirectory (Kim's Van Repair) + += 2.1.1 = + +* Fix: Automatic resizing +* Fix: Compatibility with non-standard wp-content location (On the Path of the Wijdemans) +* Optimize: jQuery dependency handling +* Optimize: Plugin initialization +* Optimize: Deferred component stylesheet loading +* Optimize: Code cleanup + += 2.1 = + +* Update: Finalized Theme API +* Update: Finalized Content Handler API +* Update: Finalized Template Tag API +* Update: Administration framework +* Add: Baseline theme +* Add: Hook for extending image link matching +* Optimize: Link validation +* Optimize: Intelligent client-side loading +* Optimize: Server-side processing +* Optimize: Default theme display +* Fix: False positive link activation (What's eating Gilbert's links?) +* Fix: Gallery post format compatibility (Just Juan problem with galleries) + += 2.0 = + +* Completely rewritten lightbox code +* Add: Automatically resize lightbox to fit window +* Add: APIs for third-party add-ons +* Add: Flexible theme support +* Add: Flexible content handler support +* Add: Mobile-optimized responsive themes (2) +* Optimize: PHP class autoloading +* Optimize: Improved performance and compatibility +* Optimize: Full internationalization support + += 1.6 = + +* Add: Widget support +* Add: WordPress 3.3 support +* Add: Localization support +* Add: Option to group gallery links separately (supports WordPress & NextGen galleries) +* Add: Upgrade notice +* Optimize: WP 3.3 compatibility +* Optimize: Improved compatibility with URI case-sensitivity +* Optimize: Activation processing +* Optimize: Image grouping +* Optimize: Image metadata loading performance +* Optimize: File loading +* Optimize: Improved safeguards against interference by bugs in other plugins +* Optimize: Link processing performance +* Optimize: Lightbox styling isolated from site styles +* Optimize: Improved link processing performance +* Optimize: Improved image metadata support +* Optimize: Improved support for HTTP/HTTPS requests +* Fix: SLB is not defined in JS (Jezz Hands) +* Fix: Boolean case-sensitivity (78 Truths) +* Fix: YouTube embed using iFrame overlaps lightbox (Elena in Hiding) +* Fix: Issue when scanning links without valid URLs (McCloskey Iteration) +* Fix: Image activation is case-sensitive (Sensitive Tanya) +* Fix: Visible lightbox overlay edges when image larger than browser window (Chibi Overlay) +* Fix: Options availability for some users +* Fix: Inconsistent loading of image metadata +* Fix: Links not fully processed when group is set manually + += 1.5.6 = + +* Add: Display image description in lightbox (with HTML support) +* Add: Support for W3 Total Cache plugin +* Add: Initial support for NextGEN galleries +* Update: **Important:** [System Requirements](http://wordpress.org/about/requirements/) aligned with WP 3.2.1 +* Optimize: Improved support for small images in default template +* Optimize: Support for non-English text in user options +* Optimize: Improved IE compatibility +* Optimize: Improved data handling +* Optimize: Skin loading performance +* Optimize: Skin CSS Cleanup +* Optimize: Caption support for galleries +* Optimize: Options code cleanup (Juga Sweep) +* Fix: User-defined UI text not used (Ivan gets Even (cooler)) +* Fix: Options reset after update (KRazy Donna) + += 1.5.5.1 = + +* Fix: Disabled links not being disabled (Disabling Sascha) + += 1.5.5 = + +* Add: Distinct link activation (will not affect other lightboxes) +* Add: Backwards compatibility with legacy lightbox links (optional) +* Add: Support for WordPress 3.2 +* Add: Support for links added after page load (e.g. via AJAX, etc.) +* Add: Admin option to enable/disable attachment links +* Add: Support for image attachment links +* Update: Options management overhaul +* Update: Additional WordPress 3.2 support (Gallery) +* Update: Cache-management for enqueued files +* Update: Improved UI consistency +* Update: Improved compatibility for older versions of PHP +* Update: Internal optimizations +* Update: Improved URL handling +* Fix: Improved options migration from old versions (Hutchison Migration) +* Fix: XHTML Validation (Hajo Validation) + += 1.5.4 = + +* Add: Optional Link validation +* Add: Keyboard Navigation +* Add: Option to enable/disable image caption +* Add: `rel` attribute supported again +* Add: Use `slb_off` in link's `rel` attribute to disable automatic activation for link +* Fix: HTTPS compatibility (Jürgen Protocol) +* Fix: Enabling SLB on Pages issue +* Fix: Zmanu is_single +* Fix: Image order is sometimes incorrect +* Optimize: Filter double clicks +* Optimize: Separate options to enable/disable SLB on Posts and Pages +* Optimize: Better grouping support + += 1.5.3 = + +* Fix: Caption may not display under certain circumstances (Caption Erin) +* Fix: Images not grouped when "separate by post" option is activated (Logical Ross) +* Update: Lightbox will not be activated for links that already have `rel` attribute set + += 1.5.2 = + +* Fix: Slideshow loops out of control (Mirage of Wallentin) +* Fix: Lightbox fails when group by posts disabled (Lange Find) +* Add: Option to use the image's URI as caption when link title not set (Under UI options) + += 1.5.1 = + +* Add: WP Gallery support +* Fix: Navigation hidden when only one image +* Fix: Use user-defined UI text + += 1.5 = + +* Add: Theme support +* Optimize: JavaScript cleanup and file size reductions +* Optimize: CSS cleanup + += 1.4 = + +* Update: Integrated with jQuery +* Optimize: JavaScript file size 9x smaller +* Add: Close lightbox by clicking to left/right outside of image (an oft-requested feature) + += 1.3.2 = + +* Add: Option to enable/disable lightbox resizing animation (thanks Maria!) + += 1.3.1 = + +* Update: Utilities code (internal) + += 1.3 = + +* Add: Customizable UI label text (close, next, and previous button images can be replaced in `images` directory) +* Add: Group image links by Post (separate slideshow for each post) +* Add: Reset settings link on plugin listings page +* Optimize: Organized settings page + += 1.2.1 = + +* Fixed: Image title given higher precedence than Image alt (more compatible w/WP workflow) + += 1.2 = + +* Added: Option to group automatically activated links +* Optimized: Lightbox caption retrieval + += 1.1 = + +* Added: Enable/disable lightbox functionality by page type (Home, Pages/Posts, Archive, etc.) +* Added: Automatically activate lightbox functionality for image links +* Added: Link to settings menu on plugin listing page +* Optimized: Options menu field building +* Optimized: Loading of default values for plugin options +* Optimized: General code optimizations + += 1.0 = + +* Initial release \ No newline at end of file diff --git a/readme.txt b/readme.txt index 3432549..d2f2773 100644 --- a/readme.txt +++ b/readme.txt @@ -60,313 +60,3 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ 3. Dark Theme == Changelog == - -= 2.6.0 = - -* Add: Activate links in native WordPress navigation menus (enable in admin settings) -* Add: Group menu links separately (enable in admin settings) -* Optimize: Fallback lightbox title text retrieval (link text) -* Fix: Undefined variable in `Utilities::get_plugin_base_file()` (The Lost Temple of Xavivars) - -= 2.5.3 = - -* Optimize: Entity handling in URIs for different server environments - -= 2.5.2 = - -* Fix: Activation when Home page set to static page (Lyra's Static Cling) -* Optimize: Prep for WordPress language packs - -= 2.5.1 = - -* Update: Client-side Utilities library -* Optimize: Request processing - -= 2.5.0 = - -* Fix: Query string removed from URI (A Stern Query) -* Optimize: Key-based asset data storage/retrieval -* Optimize: Improved cache usage when processing links -* Optimize: Refactor image URI detection - -= 2.4.1 = - -* Fix: Ungrouped items in empty group (Robert & The Lost Group) -* Fix: IE8 Support (S.Franzis' Legacy) -* Optimize: Widget support -* Optimize: Relative and internal URI handling -* Optimize: Link activation performance - -= 2.4.0 = - -* Update: WordPress version compatibility (v4.2.1) -* Optimize: Standardize code -* Optimize: Do not process excerpt content -* Optimize: Client-side libraries (Phase 1) -* Add: Set group via `slb_activate()` -* Add: Set group via `activate_links()` -* Add: `slb_is_enabled` filter - -= 2.3.1 = - -* Fix: WordPress version requirement -* Optimize: Field collection group parsing - -= 2.3.0 = -[Full Release Notes](http://archetyped.com/lab/slb-2-3-0 "Simple Lightbox 2.3.0") - -* Update: WordPress 3.9 support -* Update: Support URI, content -* Add: Enhanced grouping support -* Add: Shortcode: `[slb_group]` -* Add: Shortcode: `[slb_exclude]` -* Add: Filter: `slb_pre_process_links` -* Add: Filter: `slb_post_process_links` -* Add: Filter: `slb_process_link_attributes` -* Add: Filter: `slb_media_item_properties` -* Add: Filter: `slb_pre_exclude_content` -* Add: Filter: `slb_exclude_shortcodes` -* Add: Filter: `slb_group_shortcodes` -* Add: Template Tag: `slb_activate()` - Manually activate content -* Add: Option to enable/disable usage of WordPress-generated media title -* Add: Dev mode -* Add: Theme breakpoints -* Optimize: Remove deprecated code -* Optimize: Remove deprecated legacy support -* Optimize: Content exclusion performance -* Optimize: Content grouping performance -* Optimize: Harden code against third-party post query modifications -* Optimize: Utility code -* Optimize: Loading process -* Optimize: Client-side code -* Optimize: Client-side: Code loading -* Optimize: Client-side: Simplified dependency detection -* Optimize: Client-side: Default Theme transitions -* Optimize: Grunt: Cleanup -* Optimize: Grunt: Path abstraction -* Optimize: Grunt: Task loading -* Optimize: Grunt: Selective file compilation - -= 2.2.2 = - -* Optimize: Widget processing -* Optimize: Remove call-time-pass-by-references - -= 2.2.1 = - -* Fix: Enable/Disable lightbox on certain requests (Danny the Enabler) -* Fix: Widget links grouped with post links (Rafa's Widgetarian Adventure) -* Optimize: Client-side loading -* Optimize: Theme validation -* Optimize: Widget processing - -= 2.2.0 = - -* Update: WordPress 3.8 support -* Add: Add-on support -* Add: Load external data for item -* Add: Unloading process for viewer -* Add: Relative links marked as "internal" -* Add: Grunt build workflow -* Optimize: Initialization process -* Optimize: Client-side output (JavaScript, CSS) -* Optimize: Improved URI handling (variants, query strings, etc.) -* Optimize: Improved support for content types (video, etc.) -* Optimize: Improved File contents retrieval -* Optimize: Plugin metadata cleanup -* Optimize: Use absolute paths for file includes (props k3davis) - -= 2.1.3 = - -* Fix: PHP configuration issue on some web hosts (Tim's got (config) issues) -* Optimize: Hide overlapping elements when lightbox is displayed (e.g. Flash, etc.) - -= 2.1.2 = - -* Fix: Incorrect paths when WP in subdirectory (Kim's Van Repair) - -= 2.1.1 = - -* Fix: Automatic resizing -* Fix: Compatibility with non-standard wp-content location (On the Path of the Wijdemans) -* Optimize: jQuery dependency handling -* Optimize: Plugin initialization -* Optimize: Deferred component stylesheet loading -* Optimize: Code cleanup - -= 2.1 = - -* Update: Finalized Theme API -* Update: Finalized Content Handler API -* Update: Finalized Template Tag API -* Update: Administration framework -* Add: Baseline theme -* Add: Hook for extending image link matching -* Optimize: Link validation -* Optimize: Intelligent client-side loading -* Optimize: Server-side processing -* Optimize: Default theme display -* Fix: False positive link activation (What's eating Gilbert's links?) -* Fix: Gallery post format compatibility (Just Juan problem with galleries) - -= 2.0 = - -* Completely rewritten lightbox code -* Add: Automatically resize lightbox to fit window -* Add: APIs for third-party add-ons -* Add: Flexible theme support -* Add: Flexible content handler support -* Add: Mobile-optimized responsive themes (2) -* Optimize: PHP class autoloading -* Optimize: Improved performance and compatibility -* Optimize: Full internationalization support - -= 1.6 = - -* Add: Widget support -* Add: WordPress 3.3 support -* Add: Localization support -* Add: Option to group gallery links separately (supports WordPress & NextGen galleries) -* Add: Upgrade notice -* Optimize: WP 3.3 compatibility -* Optimize: Improved compatibility with URI case-sensitivity -* Optimize: Activation processing -* Optimize: Image grouping -* Optimize: Image metadata loading performance -* Optimize: File loading -* Optimize: Improved safeguards against interference by bugs in other plugins -* Optimize: Link processing performance -* Optimize: Lightbox styling isolated from site styles -* Optimize: Improved link processing performance -* Optimize: Improved image metadata support -* Optimize: Improved support for HTTP/HTTPS requests -* Fix: SLB is not defined in JS (Jezz Hands) -* Fix: Boolean case-sensitivity (78 Truths) -* Fix: YouTube embed using iFrame overlaps lightbox (Elena in Hiding) -* Fix: Issue when scanning links without valid URLs (McCloskey Iteration) -* Fix: Image activation is case-sensitive (Sensitive Tanya) -* Fix: Visible lightbox overlay edges when image larger than browser window (Chibi Overlay) -* Fix: Options availability for some users -* Fix: Inconsistent loading of image metadata -* Fix: Links not fully processed when group is set manually - -= 1.5.6 = - -* Add: Display image description in lightbox (with HTML support) -* Add: Support for W3 Total Cache plugin -* Add: Initial support for NextGEN galleries -* Update: **Important:** [System Requirements](http://wordpress.org/about/requirements/) aligned with WP 3.2.1 -* Optimize: Improved support for small images in default template -* Optimize: Support for non-English text in user options -* Optimize: Improved IE compatibility -* Optimize: Improved data handling -* Optimize: Skin loading performance -* Optimize: Skin CSS Cleanup -* Optimize: Caption support for galleries -* Optimize: Options code cleanup (Juga Sweep) -* Fix: User-defined UI text not used (Ivan gets Even (cooler)) -* Fix: Options reset after update (KRazy Donna) - -= 1.5.5.1 = - -* Fix: Disabled links not being disabled (Disabling Sascha) - -= 1.5.5 = - -* Add: Distinct link activation (will not affect other lightboxes) -* Add: Backwards compatibility with legacy lightbox links (optional) -* Add: Support for WordPress 3.2 -* Add: Support for links added after page load (e.g. via AJAX, etc.) -* Add: Admin option to enable/disable attachment links -* Add: Support for image attachment links -* Update: Options management overhaul -* Update: Additional WordPress 3.2 support (Gallery) -* Update: Cache-management for enqueued files -* Update: Improved UI consistency -* Update: Improved compatibility for older versions of PHP -* Update: Internal optimizations -* Update: Improved URL handling -* Fix: Improved options migration from old versions (Hutchison Migration) -* Fix: XHTML Validation (Hajo Validation) - -= 1.5.4 = - -* Add: Optional Link validation -* Add: Keyboard Navigation -* Add: Option to enable/disable image caption -* Add: `rel` attribute supported again -* Add: Use `slb_off` in link's `rel` attribute to disable automatic activation for link -* Fix: HTTPS compatibility (Jürgen Protocol) -* Fix: Enabling SLB on Pages issue -* Fix: Zmanu is_single -* Fix: Image order is sometimes incorrect -* Optimize: Filter double clicks -* Optimize: Separate options to enable/disable SLB on Posts and Pages -* Optimize: Better grouping support - -= 1.5.3 = - -* Fix: Caption may not display under certain circumstances (Caption Erin) -* Fix: Images not grouped when "separate by post" option is activated (Logical Ross) -* Update: Lightbox will not be activated for links that already have `rel` attribute set - -= 1.5.2 = - -* Fix: Slideshow loops out of control (Mirage of Wallentin) -* Fix: Lightbox fails when group by posts disabled (Lange Find) -* Add: Option to use the image's URI as caption when link title not set (Under UI options) - -= 1.5.1 = - -* Add: WP Gallery support -* Fix: Navigation hidden when only one image -* Fix: Use user-defined UI text - -= 1.5 = - -* Add: Theme support -* Optimize: JavaScript cleanup and file size reductions -* Optimize: CSS cleanup - -= 1.4 = - -* Update: Integrated with jQuery -* Optimize: JavaScript file size 9x smaller -* Add: Close lightbox by clicking to left/right outside of image (an oft-requested feature) - -= 1.3.2 = - -* Add: Option to enable/disable lightbox resizing animation (thanks Maria!) - -= 1.3.1 = - -* Update: Utilities code (internal) - -= 1.3 = - -* Add: Customizable UI label text (close, next, and previous button images can be replaced in `images` directory) -* Add: Group image links by Post (separate slideshow for each post) -* Add: Reset settings link on plugin listings page -* Optimize: Organized settings page - -= 1.2.1 = - -* Fixed: Image title given higher precedence than Image alt (more compatible w/WP workflow) - -= 1.2 = - -* Added: Option to group automatically activated links -* Optimized: Lightbox caption retrieval - -= 1.1 = - -* Added: Enable/disable lightbox functionality by page type (Home, Pages/Posts, Archive, etc.) -* Added: Automatically activate lightbox functionality for image links -* Added: Link to settings menu on plugin listing page -* Optimized: Options menu field building -* Optimized: Loading of default values for plugin options -* Optimized: General code optimizations - -= 1.0 = - -* Initial release From 2cd6666b6666fde1412570148d8cd8787b3a7dfc Mon Sep 17 00:00:00 2001 From: Archetyped Date: Wed, 6 Jun 2018 16:55:00 -1000 Subject: [PATCH 17/27] Update: Add link to full changelog (remote) --- readme.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.txt b/readme.txt index d2f2773..ac3686d 100644 --- a/readme.txt +++ b/readme.txt @@ -60,3 +60,5 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ 3. Dark Theme == Changelog == + +[See full changelog](https://github.com/archetyped/simple-lightbox/releases) \ No newline at end of file From 8a0d0588e2db4f4f1a75f302067f7b1e903c6318 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Thu, 7 Jun 2018 15:46:39 -1000 Subject: [PATCH 18/27] Themes: Add: RTL Support to styles --- themes/baseline/css/style.css | 2 +- themes/baseline/sass/style.scss | 3 +++ themes/default/css/style.css | 2 +- themes/default/sass/style.scss | 37 ++++++++++++++++++++++++++------- 4 files changed, 34 insertions(+), 10 deletions(-) diff --git a/themes/baseline/css/style.css b/themes/baseline/css/style.css index 2d19a0f..3adb58f 100644 --- a/themes/baseline/css/style.css +++ b/themes/baseline/css/style.css @@ -1 +1 @@ -#slb_viewer_wrap .slb_theme_slb_baseline .slb_viewer_layout,#slb_viewer_wrap .slb_theme_slb_baseline .slb_container{box-sizing:border-box}#slb_viewer_wrap .slb_theme_slb_baseline{position:absolute;top:0;left:0;width:100%;z-index:99999;text-align:center;line-height:0;color:#000;font-family:arial, verdana, sans-serif;font-size:12px}#slb_viewer_wrap .slb_theme_slb_baseline *{margin:0;padding:0;line-height:1.4em;text-align:left;vertical-align:baseline;white-space:normal;outline:none;border:0px;background:none;opacity:1;width:auto;height:auto;position:static;float:none;clear:none}#slb_viewer_wrap .slb_theme_slb_baseline a img{border:none}#slb_viewer_wrap .slb_theme_slb_baseline .slb_viewer_layout{z-index:2;position:absolute;width:100%;text-align:center}#slb_viewer_wrap .slb_theme_slb_baseline .slb_viewer_overlay{position:fixed;top:0;left:0;z-index:1;min-height:105%;min-width:100%;background-color:#000}#slb_viewer_wrap .slb_theme_slb_baseline .slb_container{position:relative;display:inline-block;background-color:#fff;margin:0 auto;padding:16px}#slb_viewer_wrap .slb_theme_slb_baseline .slb_loading{background:url("../images/loading.gif") center center no-repeat;position:absolute;left:0%;top:0;width:100%;height:100%;min-width:31px;min-height:31px;text-align:center;line-height:0;display:none}#slb_viewer_wrap .slb_theme_slb_baseline .slb_template_tag_ui{cursor:pointer}#slb_viewer_wrap .slb_theme_slb_baseline .slb_content{position:relative}#slb_viewer_wrap .slb_theme_slb_baseline .slb_details{margin:0 auto;text-align:left}#slb_viewer_wrap .slb_theme_slb_baseline .slb_details .inner{display:table;width:100%}#slb_viewer_wrap .slb_theme_slb_baseline .slb_details .slb_data{display:table-caption}#slb_viewer_wrap .slb_theme_slb_baseline .slb_template_tag_item_content>*{width:100%;height:100%}#slb_viewer_wrap .slb_theme_slb_baseline.item_single .slb_group_status,#slb_viewer_wrap .slb_theme_slb_baseline.item_single .slb_nav,#slb_viewer_wrap .slb_theme_slb_baseline.item_single .slb_slideshow{display:none}#slb_viewer_wrap .slb_theme_slb_baseline.loading .slb_loading{display:block}#slb_viewer_wrap .slb_theme_slb_baseline.loading .slb_template_tag_ui{opacity:0}@media screen and (max-width: 480px){#slb_viewer_wrap .slb_theme_slb_baseline .slb_theme_slb_baseline,#slb_viewer_wrap .slb_theme_slb_baseline .slb_viewer_layout,#slb_viewer_wrap .slb_theme_slb_baseline .slb_container{min-height:100%;min-width:320px;width:100%}#slb_viewer_wrap .slb_theme_slb_baseline .slb_viewer_layout{display:block}#slb_viewer_wrap .slb_theme_slb_baseline .slb_container{max-width:100%;margin:0;padding:5px;position:absolute;top:0;left:0}#slb_viewer_wrap .slb_theme_slb_baseline .slb_container .slb_content img,#slb_viewer_wrap .slb_theme_slb_baseline .slb_container .slb_content iframe,#slb_viewer_wrap .slb_theme_slb_baseline .slb_container .slb_content object,#slb_viewer_wrap .slb_theme_slb_baseline .slb_container .slb_content .slb_inner{max-width:100%}#slb_viewer_wrap .slb_theme_slb_baseline .slb_container .slb_content img{height:auto}} +#slb_viewer_wrap .slb_theme_slb_baseline .slb_viewer_layout,#slb_viewer_wrap .slb_theme_slb_baseline .slb_container{box-sizing:border-box}#slb_viewer_wrap .slb_theme_slb_baseline{position:absolute;top:0;left:0;width:100%;z-index:99999;text-align:center;line-height:0;color:#000;font-family:arial, verdana, sans-serif;font-size:12px}#slb_viewer_wrap .slb_theme_slb_baseline *{margin:0;padding:0;line-height:1.4em;text-align:left;vertical-align:baseline;white-space:normal;outline:none;border:0px;background:none;opacity:1;width:auto;height:auto;position:static;float:none;clear:none}[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_baseline *{text-align:right}#slb_viewer_wrap .slb_theme_slb_baseline a img{border:none}#slb_viewer_wrap .slb_theme_slb_baseline .slb_viewer_layout{z-index:2;position:absolute;width:100%;text-align:center}#slb_viewer_wrap .slb_theme_slb_baseline .slb_viewer_overlay{position:fixed;top:0;left:0;z-index:1;min-height:105%;min-width:100%;background-color:#000}#slb_viewer_wrap .slb_theme_slb_baseline .slb_container{position:relative;display:inline-block;background-color:#fff;margin:0 auto;padding:16px}#slb_viewer_wrap .slb_theme_slb_baseline .slb_loading{background:url("../images/loading.gif") center center no-repeat;position:absolute;left:0%;top:0;width:100%;height:100%;min-width:31px;min-height:31px;text-align:center;line-height:0;display:none}#slb_viewer_wrap .slb_theme_slb_baseline .slb_template_tag_ui{cursor:pointer}#slb_viewer_wrap .slb_theme_slb_baseline .slb_content{position:relative}#slb_viewer_wrap .slb_theme_slb_baseline .slb_details{margin:0 auto;text-align:left}#slb_viewer_wrap .slb_theme_slb_baseline .slb_details .inner{display:table;width:100%}#slb_viewer_wrap .slb_theme_slb_baseline .slb_details .slb_data{display:table-caption}#slb_viewer_wrap .slb_theme_slb_baseline .slb_template_tag_item_content>*{width:100%;height:100%}#slb_viewer_wrap .slb_theme_slb_baseline.item_single .slb_group_status,#slb_viewer_wrap .slb_theme_slb_baseline.item_single .slb_nav,#slb_viewer_wrap .slb_theme_slb_baseline.item_single .slb_slideshow{display:none}#slb_viewer_wrap .slb_theme_slb_baseline.loading .slb_loading{display:block}#slb_viewer_wrap .slb_theme_slb_baseline.loading .slb_template_tag_ui{opacity:0}@media screen and (max-width: 480px){#slb_viewer_wrap .slb_theme_slb_baseline .slb_theme_slb_baseline,#slb_viewer_wrap .slb_theme_slb_baseline .slb_viewer_layout,#slb_viewer_wrap .slb_theme_slb_baseline .slb_container{min-height:100%;min-width:320px;width:100%}#slb_viewer_wrap .slb_theme_slb_baseline .slb_viewer_layout{display:block}#slb_viewer_wrap .slb_theme_slb_baseline .slb_container{max-width:100%;margin:0;padding:5px;position:absolute;top:0;left:0}#slb_viewer_wrap .slb_theme_slb_baseline .slb_container .slb_content img,#slb_viewer_wrap .slb_theme_slb_baseline .slb_container .slb_content iframe,#slb_viewer_wrap .slb_theme_slb_baseline .slb_container .slb_content object,#slb_viewer_wrap .slb_theme_slb_baseline .slb_container .slb_content .slb_inner{max-width:100%}#slb_viewer_wrap .slb_theme_slb_baseline .slb_container .slb_content img{height:auto}} diff --git a/themes/baseline/sass/style.scss b/themes/baseline/sass/style.scss index 7b6c430..f1f2f6c 100644 --- a/themes/baseline/sass/style.scss +++ b/themes/baseline/sass/style.scss @@ -40,6 +40,9 @@ position: static; float: none; clear: none; + [dir="rtl"] & { + text-align: right; + } } //General diff --git a/themes/default/css/style.css b/themes/default/css/style.css index 3f864b5..fd310f2 100644 --- a/themes/default/css/style.css +++ b/themes/default/css/style.css @@ -1 +1 @@ -#slb_viewer_wrap .slb_theme_slb_default a,#slb_viewer_wrap .slb_theme_slb_default a:hover{border-bottom:none;color:#000;text-decoration:underline}#slb_viewer_wrap .slb_theme_slb_default .slb_viewer_layout{top:20px}#slb_viewer_wrap .slb_theme_slb_default .slb_container{box-shadow:0 0 64px -40px #fcfcfc;border-radius:5px}#slb_viewer_wrap .slb_theme_slb_default .slb_loading{text-indent:-2000em}#slb_viewer_wrap .slb_theme_slb_default .slb_template_tag_ui{transition:opacity .5s}#slb_viewer_wrap .slb_theme_slb_default .slb_controls{position:absolute;top:8px;right:8px;width:75%;text-align:right}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_template_tag_ui{width:25px;height:25px;float:right;margin-left:2px;text-indent:-2000em;opacity:0.5}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_template_tag_ui:hover{opacity:0.8}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_slideshow .slb_template_tag{background:url("../images/ui_slideshow_play.png") 0 0 no-repeat}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_close .slb_template_tag{background:url("../images/ui_close.png") 0 0 no-repeat}#slb_viewer_wrap .slb_theme_slb_default.slideshow_active .slb_controls .slb_slideshow .slb_template_tag{background:url("../images/ui_slideshow_pause.png") 0 0 no-repeat}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag{position:absolute;top:20%;height:71%;width:45%;min-width:25px;min-height:33px;margin-left:4px;background-repeat:no-repeat;text-indent:-2000em;opacity:0.5}#slb_viewer_wrap .slb_theme_slb_default .slb_content{min-height:58px;min-width:50px}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag{background-image:url("../images/nav_prev.png");background-position:left 45%}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag{right:4px;background-image:url("../images/nav_next.png");background-position:right 45%}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag:hover,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag:hover{opacity:1}#slb_viewer_wrap .slb_theme_slb_default .slb_details{line-height:1.4em;overflow:hidden;position:relative}#slb_viewer_wrap .slb_theme_slb_default .slb_details .slb_data{caption-side:bottom}#slb_viewer_wrap .slb_theme_slb_default .slb_details .slb_nav{display:none}#slb_viewer_wrap .slb_theme_slb_default .slb_data_title,#slb_viewer_wrap .slb_theme_slb_default .slb_group_status{font-family:'Yanone Kaffeesatz', arial, sans-serif;font-size:23px;margin-right:.2em}#slb_viewer_wrap .slb_theme_slb_default .slb_group_status{color:#777;font-style:italic;font-size:18.4px}#slb_viewer_wrap .slb_theme_slb_default .slb_data_desc{display:block;margin-top:0.5em}@media screen and (max-width: 480px){#slb_viewer_wrap .slb_theme_slb_default .slb_container{box-shadow:none;border-radius:0}#slb_viewer_wrap .slb_theme_slb_default .slb_controls{top:3px;right:3px}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag{top:17%;height:79%}} +#slb_viewer_wrap .slb_theme_slb_default .slb_loading,#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_template_tag_ui,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag{text-indent:100%;white-space:nowrap;overflow:hidden}#slb_viewer_wrap .slb_theme_slb_default a,#slb_viewer_wrap .slb_theme_slb_default a:hover{border-bottom:none;color:#000;text-decoration:underline}#slb_viewer_wrap .slb_theme_slb_default .slb_viewer_layout{top:20px}#slb_viewer_wrap .slb_theme_slb_default .slb_container{box-shadow:0 0 64px -40px #fcfcfc;border-radius:5px}#slb_viewer_wrap .slb_theme_slb_default .slb_template_tag_ui{transition:opacity .5s}#slb_viewer_wrap .slb_theme_slb_default .slb_controls{position:absolute;top:8px;right:8px;width:75%;text-align:right}[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_controls{right:inherit;left:0px}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_template_tag_ui{width:25px;height:25px;float:right;margin-left:2px;opacity:0.5}[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_template_tag_ui{float:left}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_template_tag_ui:hover{opacity:0.8}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_slideshow .slb_template_tag{background:url("../images/ui_slideshow_play.png") 0 0 no-repeat}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_close .slb_template_tag{background:url("../images/ui_close.png") 0 0 no-repeat}#slb_viewer_wrap .slb_theme_slb_default.slideshow_active .slb_controls .slb_slideshow .slb_template_tag{background:url("../images/ui_slideshow_pause.png") 0 0 no-repeat}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag{position:absolute;top:20%;height:71%;width:45%;min-width:25px;min-height:33px;background-repeat:no-repeat;opacity:0.5}#slb_viewer_wrap .slb_theme_slb_default .slb_content{min-height:58px;min-width:50px}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag,[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag{left:4px;right:inherit;background-image:url("../images/nav_prev.png");background-position:left 45%}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag,[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag{right:4px;left:inherit;background-image:url("../images/nav_next.png");background-position:right 45%}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag:hover,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag:hover{opacity:1}#slb_viewer_wrap .slb_theme_slb_default .slb_details{line-height:1.4em;overflow:hidden;position:relative}#slb_viewer_wrap .slb_theme_slb_default .slb_details .slb_data{caption-side:bottom}#slb_viewer_wrap .slb_theme_slb_default .slb_details .slb_nav{display:none}#slb_viewer_wrap .slb_theme_slb_default .slb_data_title,#slb_viewer_wrap .slb_theme_slb_default .slb_group_status{font-family:'Yanone Kaffeesatz', arial, sans-serif;font-size:23px;margin-right:.2em;display:inline-block}[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_data_title,[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_group_status{margin-left:.2em;margin-right:0px}#slb_viewer_wrap .slb_theme_slb_default .slb_group_status{color:#777;font-style:italic;font-size:18.4px}#slb_viewer_wrap .slb_theme_slb_default .slb_data_desc{display:block;margin-top:0.5em}@media screen and (max-width: 480px){#slb_viewer_wrap .slb_theme_slb_default .slb_container{box-shadow:none;border-radius:0}#slb_viewer_wrap .slb_theme_slb_default .slb_controls{top:3px;right:3px}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag{top:17%;height:79%}} diff --git a/themes/default/sass/style.scss b/themes/default/sass/style.scss index a0dc1c1..94a6123 100644 --- a/themes/default/sass/style.scss +++ b/themes/default/sass/style.scss @@ -3,7 +3,12 @@ $nav_width: 25px; $nav_height: 33px; $ui_controls_width: 25px; -$ui_controls_height: 25px; +$ui_controls_height: 25px; +%hide-text { + text-indent: 100%; + white-space: nowrap; + overflow: hidden; +} #slb_viewer_wrap { .slb_theme_slb_default { @@ -25,7 +30,7 @@ $ui_controls_height: 25px; } .slb_loading { - text-indent: -2000em; + @extend %hide-text; } .slb_template_tag_ui { @@ -39,14 +44,21 @@ $ui_controls_height: 25px; right: 8px; width: 75%; text-align: right; + [dir="rtl"] & { + right: inherit; + left: 0px; + } .slb_template_tag_ui { + @extend %hide-text; width: $ui_controls_width; height: $ui_controls_height; float: right; margin-left: 2px; - text-indent: -2000em; opacity: 0.5; + [dir="rtl"] & { + float: left; + } } .slb_template_tag_ui:hover { @@ -69,15 +81,14 @@ $ui_controls_height: 25px; //Navigation $ui_nav_pos: 45%; %ui_nav { + @extend %hide-text; position: absolute; top: 20%; height: 71%; width: 45%; min-width: $nav_width; min-height: $nav_height; - margin-left: 4px; background-repeat: no-repeat; - text-indent: -2000em; opacity: 0.5; } @@ -86,13 +97,18 @@ $ui_controls_height: 25px; min-height: $nav_height + $ui_controls_height; min-width: $nav_width * 2; - .slb_prev .slb_template_tag { + .slb_prev .slb_template_tag, + [dir="rtl"] & .slb_next .slb_template_tag { + left: 4px; + right: inherit; background-image: url('../images/nav_prev.png'); background-position: left $ui_nav_pos; } - .slb_next .slb_template_tag { + .slb_next .slb_template_tag, + [dir="rtl"] & .slb_prev .slb_template_tag { right: 4px; + left: inherit; background-image: url('../images/nav_next.png'); background-position: right $ui_nav_pos; } @@ -100,7 +116,7 @@ $ui_controls_height: 25px; .slb_prev, .slb_next { .slb_template_tag { @extend %ui_nav; - &:hover { + &:hover { opacity: 1 } } @@ -128,6 +144,11 @@ $ui_controls_height: 25px; font-family: 'Yanone Kaffeesatz', arial, sans-serif; font-size: $title-size; margin-right: .2em; + display: inline-block; + [dir="rtl"] & { + margin-left: .2em; + margin-right: 0px; + } } .slb_group_status { From 9d27603beb2256b52d58dbd3803c0d6ddef875d9 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Thu, 7 Jun 2018 16:20:36 -1000 Subject: [PATCH 19/27] Viewer: Add: RTL Support to keyboard shortcuts. Left: Next item, Right: Previous item. --- client/js/dev/lib.view.js | 11 ++++++++--- client/js/prod/lib.view.js | 3 +-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/client/js/dev/lib.view.js b/client/js/dev/lib.view.js index 348ec90..688088b 100644 --- a/client/js/dev/lib.view.js +++ b/client/js/dev/lib.view.js @@ -2321,10 +2321,15 @@ var Viewer = { keys_control: function(ev) { var handlers = { - 27: this.close, - 37: this.item_prev, - 39: this.item_next + 27: this.close, /* esc */ + 37: this.item_prev, /* left-arrow */ + 39: this.item_next, /* right-arrow */ }; + // Swap next/prev keys on RTL pages + if ('rtl' === document.documentElement.getAttribute('dir')) { + handlers[37] = this.item_next; /* left-arrow */ + handlers[39] = this.item_prev; /* right-arrow */ + } if ( ev.which in handlers ) { handlers[ev.which].call(this); return false; diff --git a/client/js/prod/lib.view.js b/client/js/prod/lib.view.js index 15cd1a4..f5bd675 100644 --- a/client/js/prod/lib.view.js +++ b/client/js/prod/lib.view.js @@ -1,2 +1 @@ -window.SLB&&SLB.attach&&!function($){var View={assets:{},component_defaults:[],loading:[],cache:{},component_temps:{},options:{},_init:function(){this._super(),this.init_refs(),this.init_components()},init_refs:function(){var r,ref,prop;for(prop in this)if(prop=this[prop],this.is_component(prop)&&!this.util.is_empty(prop.prototype._refs))for(r in prop.prototype._refs)ref=prop.prototype._refs[r],this.util.is_string(ref)&&ref in this&&(ref=prop.prototype._refs[r]=this[ref]),this.util.is_class(ref)||delete prop.prototype_refs[r]},init_components:function(){this.component_defaults=[this.Viewer]},init:function(options){var t=this;$.when.apply($,this.loading).always(function(){$.extend(!0,t.options,options),$(window).on("popstate",function(e){var state=e.originalEvent.state;if(t.util.in_obj(state,["item","viewer"])){var v=t.get_viewer(state.viewer);return v.history_handle(e),e.preventDefault()}}),t.init_items()})},can_make_default_component:function(type){return-1!==$.inArray(type,this.component_defaults)},is_component:function(comp){return this.util.is_class(comp,this.Component)},get_components:function(type){var ret={};if(this.is_component(type)){var coll=type.prototype._slug+"s";coll in this.cache||(this.cache[coll]={}),ret=this.cache[coll]}return ret},get_component:function(type,id){var ret=null;if(!this.util.is_func(type))return ret;this.util.is_string(id)||(id=null);var coll=this.get_components(type);if(this.util.is_obj(coll)){var tid=this.util.is_string(id)?id:this.util.add_prefix("default");tid in coll&&(ret=coll[tid])}return this.util.is_empty(ret)&&(this.util.is_string(id)||this.can_make_default_component(type))&&(ret=this.add_component(type,id)),ret},add_component:function(type,id,options){if(!this.util.is_func(type))return!1;if(this.util.is_empty(id)&&!this.can_make_default_component(type))return!1;var ret=null;this.util.is_empty(id)&&(id=this.util.add_prefix("default")),this.util.is_obj(options)||(options={});var m="component"!==type.prototype._slug?"add_"+type.prototype._slug:null;if(ret=!this.util.is_empty(m)&&m in this&&this.util.is_func(this[m])?this[m](id,options):new type(id,options),this.util.is_type(ret,type)){var coll=this.get_components(type);switch($.type(coll)){case"object":coll[id]=ret;break;case"array":coll.push(ret)}}else ret=null;return ret},add_component_temp:function(type){var ret=null;return this.is_component(type)&&(ret=new type(""),this.component_temps[ret._slug]=ret),ret},get_component_temp:function(type){return this.has_component_temp(type)?this.component_temps[type.prototype._slug]:this.add_component_temp(type)},has_component_temp:function(type){return!!(this.is_component(type)&&type.prototype._slug in this.component_temps)},get_options:function(opts){var ret={};if(this.util.is_string(opts)&&(opts=[opts]),!this.util.is_array(opts))return ret;for(var x=0;x');$("head").append(out.join(""))}}},Component={_slug:"component",_ns:null,_refs:{},_reciprocal:!1,_dom:null,_attributes:!1,_attr_default:{},_attr_default_parsed:!1,_attr_init:null,_attr_map:{},_events:{},_status:null,_id:"",_c:function(id,attributes){this._set_id(id),this.util.is_obj(attributes)&&(this._attr_init=attributes),this._hooks()},_set_parent:function(){this._super(View)},_hooks:function(){},_set_id:function(id){return this.util.is_empty(this._id)&&(this._id=this.util.is_string(id)?id:this.util.guid()),this._id},get_id:function(ns){var id=this._id;return this.util.is_bool(ns)&&ns&&(id=this.add_ns(id)),id},get_ns:function(){return null===this._ns&&(this._ns=this.util.add_prefix(this._slug)),this._ns},add_ns:function(val){return this.util.is_string(val)?this.get_ns()+"_"+val:""},get_status:function(id,raw){var ret=!1;return this.util.in_obj(this._status,id)&&(ret=raw?this._status[id]:!!this._status[id]),ret},set_status:function(id,val){return this.util.is_string(id)?(this.util.is_set(val)||(val=!0),this.util.is_obj(this._status,!1)||(this._status={}),this._status[id]=val):this.util.is_set(val)||(val=!1),val},get_controller:function(){return this.get_parent()},has_reference:function(ref){return!!(this.util.is_string(ref)&&ref in this&&ref in this.get_references())},get_references:function(){return this._refs},get_reference:function(ref){return this.has_reference(ref)?this._refs[ref]:null},get_component:function(cname,options){var c=null;if(!this.has_reference(cname))return c;var opt_defaults={check_attr:!0,get_default:!1};options=$.extend({},opt_defaults,options);var ctype=this.get_reference(cname);return this.util.is_type(this[cname],ctype)?this[cname]:(c=this[cname]=null,options.check_attr&&(c=this.get_attribute(cname),this.util.is_empty(c)||(c=this.set_component(cname,c))),this.util.is_empty(c)&&options.get_default&&(c=this.get_controller().get_component(ctype)),c)},set_component:function(name,ref,validate){var invalid=null;if(!this.has_reference(name))return invalid;if(this.util.is_empty(ref))ref=invalid;else{var ctype=this.get_reference(name);this.util.is_string(ref,!1)&&(ref=this.get_controller().get_component(ctype,ref)),(!this.util.is_type(ref,ctype)||this.util.is_func(validate)&&!validate.call(this,ref))&&(ref=invalid)}return this[name]=ref,this[name]},clear_component:function(name){this.set_component(name,null)},init_attributes:function(force){if(this.util.is_bool(force)||(force=!1),force||!this.util.is_obj(this._attributes)){var a=this._attributes={};$.extend(a,this.init_default_attributes()),this.util.is_obj(this._attr_init)&&$.extend(a,this._attr_init),$.extend(a,this.get_dom_attributes())}},init_default_attributes:function(){if(!this._attr_default_parsed&&this.util.is_obj(this._attr_map)){var opts=this.get_controller().get_options(this.util.obj_keys(this._attr_map));if(this.util.is_obj(opts)){for(var opt in this._attr_map)opt in opts&&null!==this._attr_map[opt]&&(opts[this._attr_map[opt]]=opts[opt],delete opts[opt]);$.extend(!0,this._attr_default,opts)}this._attr_default_parsed=!0}return this._attr_default},get_dom_attributes:function(){var attrs={},el=this.dom_get(null,{init:!1});if(el.length>0){var attrs_full=$(el).get(0).attributes;if(this.util.is_obj(attrs_full)){var attr_key,attr_prefix=this.util.get_attribute();$.each(attrs_full,function(idx,attr){return attr.name.indexOf(attr_prefix)===-1||(attr_key=attr.name.substr(attr_prefix.length+1),void(attrs[attr_key]=attr.value))})}}return attrs},get_attributes:function(){return this.init_attributes(),this._attributes},get_attribute:function(key,def,enforce_type){if(this.util.is_set(def)||(def=null),!this.util.is_string(key))return def;this.util.is_bool(enforce_type)||(enforce_type=!0);var ret=this.has_attribute(key)?this.get_attributes()[key]:def;return enforce_type&&ret!==def&&null!==def&&!this.util.is_type(ret,$.type(def),!1)&&(this.util.is_scalar(def,!1)&&this.util.is_scalar(ret,!1)?this.util.is_string(def,!1)?ret=ret.toString():this.util.is_num(def,!1)&&!this.util.is_num(ret,!1)?(ret=this.util.is_int(def,!1)?parseInt(ret):parseFloat(ret),this.util.is_num(ret,!1)||(ret=def)):ret=this.util.is_bool(def,!1)?this.util.is_string(ret)||this.util.is_num(ret):def:ret=def),ret},call_attribute:function(attr,args){return attr=this.get_attribute(attr),this.util.is_func(attr)&&(args=Array.prototype.slice.call(arguments,1),attr=attr.apply(this,args)),attr},has_attribute:function(key){return this.util.is_string(key)&&key in this.get_attributes()},set_attributes:function(attributes,full){this.util.is_bool(full)||(full=!1),this.init_attributes(full),this.util.is_obj(attributes)&&$.extend(this._attributes,attributes)},set_attribute:function(key,val){return this.util.is_string(key)&&this.util.is_set(val)&&(this.get_attributes()[key]=val),val},dom_get_selector:function(element){return this.util.is_string(element)?"."+this.add_ns(element):""},dom_get_attribute:function(){return this.util.get_attribute(this._slug)},dom_set:function(el){return el=$(el),el.data(this.get_data_key(),this),this._reciprocal&&(this._dom=el),el},dom_get:function(element,options){var opts_default={init:!0,put:!1};options=this.util.is_obj(options)?$.extend({},opts_default,options):opts_default,options.init&&!this.get_status("dom_init")&&(this.set_status("dom_init"),this.dom_init());var ret=this._dom;if(ret&&this.util.is_string(element)){var ch=$(ret).find(this.dom_get_selector(element));ch.length?ret=ch:(!0===options.put||this.util.is_obj(options.put))&&(ret=this.dom_put(element,options.put))}return $(ret)},dom_init:function(){},dom_put:function(element,content){var r=null;if(!this.dom_has()||!this.util.is_string(element))return $(r);var strip=["tag","content","success"],options={tag:"div",content:"",class:this.add_ns(element)};this.util.is_empty(content)||(this.util.is_type(content,jQuery,!1)||this.util.is_string(content,!1)?options.content=content:this.util.is_obj(content,!1)&&$.extend(options,content));for(var attrs=$.extend({},options),x=0;x",options.tag),attrs).appendTo(d),r.length&&this.util.is_method(options,"success")&&options.success.call(r,r)),$(r).append(options.content),$(r)},dom_has:function(){return!!this.dom_get().length},get_data_key:function(){return this.get_ns()},on:function(event,fn,options){if(!this.util.is_string(event)||!this.util.is_func(fn)){var t=this,args=Array.prototype.slice.call(arguments,1);return this.util.is_array(event)?$.each(event,function(idx,val){t.on.apply(t,[val].concat(args))}):this.util.is_obj(event)&&$.each(event,function(ev,hdl){t.on.apply(t,[ev,hdl].concat(args))}),this}var options_std={clear:!1};this.util.is_obj(options,!1)||(options={}),options=$.extend({},options_std,options),this.util.is_obj(this._events,!1)||(this._events={});var es=this._events;return event in es&&this.util.is_obj(es[event],!1)&&!options.clear||(es[event]=[]),es[event].push(fn),this},trigger:function(event,data){var dfr=$.Deferred(),dfrs=[],t=this;if(this.util.is_array(event))return $.each(event,function(idx,val){dfrs.push(t.trigger(val,data))}),$.when.apply(t,dfrs).done(function(){dfr.resolve()}),dfr.promise();if(!(this.util.is_string(event)&&event in this._events))return dfr.resolve(),dfr.promise();var ev={type:event,data:null};return this.util.is_set(data)&&(ev.data=data),$.each(this._events[event],function(idx,fn){dfrs.push(fn.call(t,ev,t))}),$.when.apply(this,dfrs).done(function(){dfr.resolve()}),dfr.promise()}};View.Component=Component=SLB.Class.extend(Component);var Viewer={_slug:"viewer",_refs:{item:"Content_Item",theme:"Theme"},_reciprocal:!0,_attr_default:{loop:!0,animate:!0,autofit:!0,overlay_enabled:!0,overlay_opacity:"0.8",title_default:!1,container:null,slideshow_enabled:!0,slideshow_autostart:!1,slideshow_duration:2,slideshow_active:!1,slideshow_timer:null,labels:{close:"close",nav_prev:"« prev",nav_next:"next »",slideshow_start:"start slideshow",slideshow_stop:"stop slideshow",group_status:"Image %current% of %total%",loading:"loading"}},_attr_map:{theme:null,group_loop:"loop",ui_autofit:"autofit",ui_animate:"animate",ui_overlay_opacity:"overlay_opacity",ui_labels:"labels",ui_title_default:"title_default",slideshow_enabled:null,slideshow_autostart:null,slideshow_duration:null},item:null,item_queued:null,theme:null,item_working:null,active:!1,init:!1,open:!1,loading:!1,_hooks:function(){var t=this;this.on(["item-prev","item-next"],function(){t.trigger("item-change")}).on(["close","item-change"],function(){t.unload().done(function(){t.unlock()})})},get_item:function(){return this.get_component("item")},set_item:function(item){this.clear_item(!1);var i=this.set_component("item",item,function(item){return item.has_type()});return!this.util.is_empty(i)},clear_item:function(full){this.util.is_bool(full)||(full=!0);var item=this.get_item();item&&item.reset(),full&&this.clear_component("item")},get_theme:function(){var ret=this.get_component("theme",{check_attr:!1});return this.util.is_empty(ret)&&(ret=this.set_component("theme",new View.Theme(this))),ret},set_theme:function(theme){this.set_component("theme",theme)},lock:function(){return this.set_status("item_working",$.Deferred())},get_lock:function(simple,full){this.util.is_bool(simple)||(simple=!1),this.util.is_bool(full)||(full=!1);var s="item_working";if(simple)return this.get_status(s);var r=this.get_status(s,!0);return this.util.is_promise(r)||(r=this.lock()),full?r:r.promise()},is_locked:function(){return this.get_lock(!0)},unlock:function(){return this.get_lock(!1,!0).resolve()},set_active:function(mode){return this.util.is_bool(mode)||(mode=!0),this.set_status("active",mode)},is_active:function(){return this.get_status("active")},set_loading:function(mode){var dfr=$.Deferred();this.util.is_bool(mode)||(mode=!0),this.loading=mode,this.slideshow_active()&&this.slideshow_pause(mode);var m=mode?"addClass":"removeClass";return $(this.dom_get())[m]("loading"),mode?this.get_theme().transition("load").always(function(){dfr.resolve()}):dfr.resolve(),dfr.promise()},unset_loading:function(){return this.set_loading(!1)},get_loading:function(){return!!this.util.is_bool(this.loading)&&this.loading},is_loading:function(){return this.get_loading()},show:function(item){this.item_queued=item;var fin_set="show_deferred",vt="theme_valid",valid=!0;if(this.has_attribute(vt)?valid=this.get_attribute(vt,!0):(valid=!(!this.get_theme()||""===this.get_theme().get_template().get_layout(!1)),this.set_attribute(vt,valid)),!valid)return this.close(),!1;var v=this,fin=function(){return v.lock(),v.set_status(fin_set,!1),v.set_item(v.item_queued)?(v.history_add(),v.set_active(),void v.render()):(v.close(),!1)};this.is_locked()?this.get_status(fin_set)||(this.set_status(fin_set),this.get_lock().always(function(){fin()})):fin()},history_handle:function(e){var state=e.originalEvent.state;if(this.util.is_string(state.item,!1))this.get_controller().get_item(state.item).show({event:e}),this.trigger("item-change");else{var count=this.history_get(!0);this.history_set(0),-1!==count&&this.close()}},history_get:function(full){return this.get_status("history_count",full)},history_set:function(val){return this.set_status("history_count",val)},history_add:function(){if(!history.pushState)return!1;var item=this.get_item(),opts=item.get_attribute("options_show"),count=this.history_get()?this.history_get(!0):0;if(this.util.in_obj(opts,"event")){var e=opts.event.originalEvent;this.util.in_obj(e,"state")&&this.util.in_obj(e.state,"count")&&(count=e.state.count)}else{var state={viewer:this.get_id(),item:null,count:count};count||history.replaceState(state,null),state.item=this.get_controller().save_item(item).get_id(),state.count=++count,history.pushState(state,"")}this.history_set(count)},history_reset:function(){var count=this.history_get(!0);count&&(this.history_set(-1),history.go(-1*count))},is_open:function(){return"none"!==this.dom_get().css("display")},render:function(){var v=this,thm=this.get_theme();v.dom_prep(),this.get_status("render-events")||(this.set_status("render-events"),thm.on("render-loading",function(ev,thm){var dfr=$.Deferred();if(!v.is_active())return dfr.reject(),dfr.promise();var set_pos=function(){v.dom_get().css("top",$(window).scrollTop())},always=function(){v.set_loading().always(function(){dfr.resolve()})};return v.is_open()?thm.transition("unload").fail(function(){set_pos(),thm.dom_get_tag("item","content").attr("style","")}).always(always):thm.transition("open").always(function(){always(),v.events_open(),v.open=!0}).fail(function(){set_pos(),v.get_overlay().show(),v.dom_get().show()}),dfr.promise()}).on("render-complete",function(ev,thm){if(!v.is_active())return!1;var d=v.dom_get(),classes=["item_single","item_multi"],ms=["addClass","removeClass"];v.get_item().get_group().is_single()||ms.reverse(),$.each(ms,function(idx,val){d[val](classes[idx])}),v.events_complete(),thm.transition("complete").fail(function(){if(v.get_attribute("autofit",!0)){var dims=$.extend({display:"inline-block"},thm.get_item_dimensions());thm.dom_get_tag("item","content").css(dims)}}).always(function(){v.unset_loading(),v.trigger("render-complete"),v.init=!0})})),thm.render()},dom_get_container:function(){var sel=this.get_attribute("container");this.util.is_empty(sel)&&(sel="#"+this.add_ns("wrap"));var c=$(sel);if(!c.length){var id=0===sel.indexOf("#")?sel.substr(1):sel;c=$("
",{id:id}).appendTo("body")}return c},dom_init:function(){var d=this.dom_set($("
",{id:this.get_id(!0),class:this.get_ns()})).appendTo(this.dom_get_container()).hide(),thm=this.get_theme();d.addClass(thm.get_classes(" "));var v=this;this.get_status("render-init")||(this.set_status("render-init"),thm.on("render-init",function(ev){v.dom_put("layout",ev.data)})),thm.render(!0)},dom_prep:function(mode){var m=this.util.is_bool(mode)&&!mode?"removeClass":"addClass";$("html")[m](this.util.add_prefix("overlay"))},dom_restore:function(){this.dom_prep(!1)},get_layout:function(){var ret=this.dom_get("layout",{put:{success:function(){$(this).hide()}}});return ret},animation_enabled:function(){return this.get_attribute("animate",!0)},overlay_enabled:function(){var ov=this.get_attribute("overlay_enabled");return!!this.util.is_bool(ov)&&ov},get_overlay:function(){var o=null,v=this;return this.overlay_enabled()&&(o=this.dom_get("overlay",{put:{success:function(){$(this).hide().css("opacity",v.get_attribute("overlay_opacity"))}}})),$(o)},unload:function(){var dfr=$.Deferred();return this.get_theme().dom_get_tag("item").text(""),dfr.resolve(),dfr.promise()},reset:function(){this.dom_get().hide(),this.dom_restore(),this.history_reset(),this.clear_item(),this.set_active(!1),this.set_loading(!1),this.slideshow_stop(),this.keys_disable(),this.unlock()},get_labels:function(){return this.get_attribute("labels",{})},get_label:function(name){var lbls=this.get_labels();return name in lbls?lbls[name]:""},events_open:function(){if(this.keys_enable(),this.open)return!1;var l=this.get_layout();l.children().click(function(ev){ev.stopPropagation()});var v=this,close=function(){v.close()};l.click(close),this.get_overlay().click(close),this.trigger("events-open")},events_complete:function(){return!this.init&&void this.trigger("events-complete")},keys_enable:function(mode){this.util.is_bool(mode)||(mode=!0);var e=["keyup",this.util.get_prefix()].join("."),v=this,h=function(ev){return v.keys_control(ev)};mode?$(document).on(e,h):$(document).off(e)},keys_disable:function(){this.keys_enable(!1)},keys_control:function(ev){var handlers={27:this.close,37:this.item_prev,39:this.item_next};if(ev.which in handlers)return handlers[ev.which].call(this),!1},slideshow_enabled:function(){var o=this.get_attribute("slideshow_enabled");return!(!(this.util.is_bool(o)&&o&&this.get_item())||this.get_item().get_group().is_single())},slideshow_active:function(){return!(!this.slideshow_enabled()||!(this.get_attribute("slideshow_active")||!this.init&&this.get_attribute("slideshow_autostart")))},slideshow_clear_timer:function(){clearInterval(this.get_attribute("slideshow_timer"))},slideshow_set_timer:function(callback){this.set_attribute("slideshow_timer",setInterval(callback,1e3*this.get_attribute("slideshow_duration")))},slideshow_start:function(){if(!this.slideshow_enabled())return!1;this.set_attribute("slideshow_active",!0),this.dom_get().addClass("slideshow_active"),this.slideshow_clear_timer();var v=this;this.slideshow_set_timer(function(){v.slideshow_pause(),v.item_next()}),this.trigger("slideshow-start")},slideshow_stop:function(full){this.util.is_bool(full)||(full=!0),full&&(this.set_attribute("slideshow_active",!1),this.dom_get().removeClass("slideshow_active")),this.slideshow_clear_timer(),this.trigger("slideshow-stop")},slideshow_toggle:function(){return!!this.slideshow_enabled()&&(this.slideshow_active()?this.slideshow_stop():this.slideshow_start(),void this.trigger("slideshow-toggle"))},slideshow_pause:function(mode){this.util.is_bool(mode)||(mode=!0),this.slideshow_active()&&(mode?this.slideshow_stop(!1):this.slideshow_start()),this.trigger("slideshow-pause")},slideshow_resume:function(){this.slideshow_pause(!1)},item_next:function(){var g=this.get_item().get_group(!0),v=this,ev="item-next",st=["events","viewer",ev].join("_");g.get_status(st)||(g.set_status(st),g.on(ev,function(e){v.trigger(e.type)})),g.show_next()},item_prev:function(){var g=this.get_item().get_group(!0),v=this,ev="item-prev",st=["events","viewer",ev].join("_");g.get_status(st)||(g.set_status(st),g.on(ev,function(){v.trigger(ev)})),g.show_prev()},close:function(){this.set_active(!1);var v=this,thm=this.get_theme();return thm.transition("unload").always(function(){thm.transition("close",!0).always(function(){v.reset(),v.trigger("close")})}).fail(function(){thm.dom_get_tag("item","content").attr("style","")}),!1}};View.Viewer=Component.extend(Viewer);var Group={_slug:"group",_reciprocal:!0,_refs:{current:"Content_Item"},current:null,selector:null,_hooks:function(){var t=this;this.on(["item-prev","item-next"],function(){t.trigger("item-change")})},get_selector:function(){return this.util.is_empty(this.selector)&&(this.selector=this.util.format('a[%s="%s"]',this.dom_get_attribute(),this.get_id())),this.selector},get_items:function(){var items=$(this.get_selector());return 0===items.length&&this.has_current()&&(items=this.get_current().dom_get()),items},get_item:function(idx){this.util.is_int(idx)||(idx=0);var items=this.get_items(),max=this.get_size()-1;return idx>max&&(idx=max),items.get(idx)},get_pos:function(item){return this.util.is_empty(item)&&(item=this.get_current()),this.util.is_type(item,View.Content_Item)?this.get_items().index(item.dom_get()):-1},has_current:function(){return!this.util.is_empty(this.get_current())},get_current:function(){return null===this.current||this.util.is_type(this.current,View.Content_Item)||(this.current=null),this.current},set_current:function(item){this.util.is_type(item,View.Content_Item)&&(this.current=item)},get_next:function(item){if(this.util.is_type(item,View.Content_Item)||(item=this.get_current()),1===this.get_size())return item;var next=null,pos=this.get_pos(item);return pos!==-1&&(pos=pos+11){var next=this.get_next(item);next||(this.util.is_type(item,View.Content_Item)||(item=this.get_current()),item.get_viewer().close());var i=this.get_controller().get_item(next);this.set_current(i),i.show(),this.trigger("item-next")}},show_prev:function(item){if(this.get_size()>1){var prev=this.get_prev(item);prev||(this.util.is_type(item,View.Content_Item)||(item=this.get_current()),item.get_viewer().close());var i=this.get_controller().get_item(prev);this.set_current(i),i.show(),this.trigger("item-prev")}},get_size:function(){return this.get_items().length},is_single:function(){return 1===this.get_size()}};View.Group=Component.extend(Group);var Content_Handler={_slug:"content_handler",_refs:{item:"Content_Item"},item:null,template:"",has_item:function(){return!this.util.is_empty(this.get_item())},get_item:function(){return this.get_component("item")},set_item:function(item){var r=this.set_component("item",item);return r},clear_item:function(){this.clear_component("item")},match:function(item){var attr="match",m=this.get_attribute(attr);if(!this.util.is_empty(m)){if(this.util.is_string(m)&&(m=new RegExp(m,"i"),this.set_attribute(attr,m)),this.util.is_type(m,RegExp))return m.test(item.get_uri());if(this.util.is_func(m))return!!m.call(this,item)}return!1},load:function(item){var dfr=$.Deferred(),ret=this.call_attribute("load",item,dfr);return null===ret&&dfr.resolve(),dfr.promise()},render:function(item){var dfr=$.Deferred();return this.call_attribute("render",item,dfr),dfr.promise()}};View.Content_Handler=Component.extend(Content_Handler);var Content_Item={_slug:"content_item",_reciprocal:!0,_refs:{viewer:"Viewer",group:"Group",type:"Content_Handler"},_attr_default:{source:null,permalink:null,dimensions:null,title:"",group:null,internal:!1,output:null},group:null,viewer:null,type:null,data:null,loaded:null,_c:function(el){this.dom_set(el),this._super()},init_default_attributes:function(){this._super();var d=this.dom_get(),key=d.attr(this.util.get_attribute("asset"))||null,assets=this.get_controller().assets||null;if(this.util.is_string(key)){var attrs=[{},this._attr_default,{permalink:d.attr("href")}];if(this.util.is_obj(assets)){var t=this,get_assets=function(key){var ret={};return key in assets&&t.util.is_obj(assets[key])&&(ret=assets[key]),ret};attrs.push(get_assets(key))}this._attr_default=$.extend.apply(this,attrs)}return this._attr_default},get_output:function(){var dfr=$.Deferred(),ret=this.get_attribute("output");if(this.util.is_string(ret))dfr.resolve(ret);else if(this.has_type()){var type=this.get_type(),item=this;type.render(this).done(function(output){item.set_output(output),dfr.resolve(output)})}else dfr.resolve("");return dfr.promise()},set_output:function(out){this.util.is_string(out,!1)&&this.set_attribute("output",out)},get_content:function(){return this.get_output()},get_uri:function(mode){$.inArray(mode,["source","permalink"])===-1&&(mode="source");var ret=this.get_attribute(mode);return this.util.is_string(ret)||(ret="source"===mode?this.get_attribute("permalink"):""),ret=ret.replace(/&(#38|amp);/,"&")},get_title:function(){var prop="title",prop_cached=prop+"_cached";if(this.has_attribute(prop_cached))return this.get_attribute(prop_cached,"");var title="",sel_cap=".wp-caption-text",dom=this.dom_get();if(dom.length&&!this.in_gallery()&&(title=dom.attr(prop),title||(title=dom.siblings(sel_cap).html())),!title)for(var props=["caption","title"],x=0;x0){ret=type;break}return ret},in_gallery:function(gType){var type=this.gallery_type();return null!==type&&(!this.util.is_string(gType)||gType===type)},get_viewer:function(){return this.get_component("viewer",{get_default:!0})},set_viewer:function(v){return this.set_component("viewer",v)},get_group:function(set_current){var prop="group",g=this.get_component(prop);return g||(g=this.set_component(prop,new View.Group),set_current=!0),set_current&&g.set_current(this),g},set_group:function(g){this.util.is_string(g)&&(g=this.get_controller().get_group(g)),this.group=!!this.util.is_type(g,View.Group)&&g},get_type:function(){var t=this.get_component("type",{check_attr:!1});return t||(t=this.set_type(this.get_controller().get_content_handler(this))),t},set_type:function(type){return this.set_component("type",type)},has_type:function(){var ret=!this.util.is_empty(this.get_type());return ret},show:function(options){if(!this.has_type())return!1; -this.set_attribute("options_show",options);var v=this.get_viewer();this.load();var ret=v.show(this);return ret},load:function(){return this.util.is_promise(this.loaded)||(this.loaded=this.get_type().load(this)),this.loaded.promise()},reset:function(){this.set_attribute("options_show",null)}};View.Content_Item=Component.extend(Content_Item);var Modeled_Component={_slug:"modeled_component",get_attribute:function(key,def,check_model,enforce_type){if(!this.util.is_string(key))return this._super(key,def,enforce_type);this.util.is_bool(check_model)||(check_model=!0);var ret=null;if(check_model){var m=this.get_ancestor(key,!1);this.util.in_obj(m,key)&&(ret=m[key])}return null===ret&&(ret=this._super(key,def,enforce_type)),ret},get_attribute_recursive:function(key,def,enforce_type){var ret=this.get_attribute(key,def,!0,enforce_type);if(this.util.is_obj(ret)){var models=this.get_ancestors(!1);ret=[ret];var t=this;$.each(models,function(idx,model){key in model&&t.util.is_obj(model[key])&&ret.push(model[key])}),ret.push({}),ret=$.extend.apply($,ret.reverse())}return ret},set_attribute:function(key,val,use_model){if(!this.util.is_string(key)||!this.util.is_set(val))return!1;if(this.util.is_bool(use_model)||this.util.is_obj(use_model)||(use_model=!0),use_model){var model=this.util.is_obj(use_model)?use_model:this.get_model();model[key]=val}else this._super(key,val);return val},get_model:function(){var m=this.get_attribute("model",null,!1);return this.util.is_obj(m)||(m={},this.set_attribute("model",m,!1)),m},has_model:function(){return!this.util.is_empty(this.get_model())},in_model:function(key){return!!this.util.in_obj(this.get_model(),key)},get_ancestors:function(inc_current){for(var ret=[],m=this.get_model();this.util.is_obj(m);)ret.push(m),m=this.util.in_obj(m,"parent")&&this.util.is_obj(m.parent)?m.parent:null;return inc_current||ret.shift(),ret},get_ancestor:function(attr,safe_mode){if(!this.util.is_string(attr))return!1;this.util.is_bool(safe_mode)||(safe_mode=!0);for(var mcurr=this.get_model(),m=mcurr,found=!1;this.util.is_obj(m);){if(this.util.in_obj(m,attr)&&!this.util.is_empty(m[attr])){found=!0;break}m=this.util.in_obj(m,"parent")?m.parent:null}return found||(safe_mode?(this.util.is_empty(m)&&(m=mcurr),this.util.in_obj(m,attr)||(m[attr]=null)):m=null),m}};Modeled_Component=Component.extend(Modeled_Component);var Theme={_slug:"theme",_refs:{viewer:"Viewer",template:"Template"},_models:{},_attr_default:{template:null,model:null},viewer:null,template:null,_c:function(id,attributes,viewer){1===arguments.length&&this.util.is_type(arguments[0],View.Viewer)&&(viewer=arguments[0],id=null),this._super(id,attributes),this.set_viewer(viewer),this.set_model(id)},get_viewer:function(){return this.get_component("viewer",{check_attr:!1,get_default:!0})},set_viewer:function(v){return this.set_component("viewer",v)},get_template:function(){var ret=this.get_component("template");if(this.util.is_empty(ret)){var attr={theme:this,model:this.get_model()};ret=this.set_component("template",new View.Template(attr))}return ret},get_tags:function(name,prop){return this.get_template().get_tags(name,prop)},dom_get_tag:function(tag,prop){return $(this.get_template().dom_get_tag(tag,prop))},get_tag_selector:function(name,prop){return this.get_template().get_tag_selector(name,prop)},get_models:function(){return this._models},get_model:function(id){var ret=null;if(!this.util.is_set(id)&&this.util.is_obj(this.get_attribute("model",null,!1)))ret=this._super();else{var models=this.get_models();this.util.is_string(id)||(id=this.get_controller().get_option("theme_default")),this.util.in_obj(models,id)||(id=$.map(models,function(v,key){return key})[0]),ret=models[id]}return ret},set_model:function(id){this.set_attribute("model",this.get_model(id),!1)},get_classes:function(rtype){var cls=[],thm=this,models=this.get_ancestors(!0);return $.each(models,function(idx,model){cls.push(thm.add_ns(model.id))}),this.util.is_string(rtype)&&(cls=cls.join(rtype)),cls},get_measurement:function(attr,def){var meas=null;if(!this.util.is_string(attr))return meas;this.util.is_obj(def,!1)||(def={});var attr_cache=this.util.format("%s_cache",attr),cache=this.get_attribute(attr_cache,{},!1),status="_status",item=this.get_viewer().get_item(),w=$(window);status in cache&&this.util.is_obj(cache[status])&&cache[status].width===w.width()&&cache[status].height===w.height()||(cache={}),this.util.is_empty(cache)&&(cache[status]={width:w.width(),height:w.height(),index:[]});var pos=$.inArray(item,cache[status].index);return pos!==-1&&pos in cache&&(meas=cache[pos]),this.util.is_obj(meas)||(meas=this.call_attribute(attr),this.util.is_obj(meas)||(meas=this.get_measurement_default(attr))),meas=this.util.is_obj(meas)?$.extend({},def,meas):def,pos=cache[status].index.push(item)-1,cache[pos]=meas,this.set_attribute(attr_cache,cache,!1),$.extend({},meas)},get_measurement_default:function(attr){return this.util.is_string(attr)?(attr=this.util.format("get_%s_default",attr),this.util.in_obj(this,attr)?(attr=this[attr],this.util.is_func(attr)&&(attr=attr.call(this))):attr=null,attr):null},get_offset:function(){return this.get_measurement("offset",{width:0,height:0})},get_offset_default:function(){var offset={width:0,height:0},v=this.get_viewer(),vn=v.dom_get(),vc=vn.clone().attr("id","").css({visibility:"hidden",position:"absolute",top:""}).removeClass("loading").appendTo(vn.parent()),l=vc.find(v.dom_get_selector("layout"));if(l.length){l.find("*").css({width:"",height:"",display:""});var tags=this.get_tags("item","content");if(tags.length){var offset_item=v.get_item().get_dimensions();tags=$(l.find(tags[0].get_selector("full")).get(0)).css({width:offset_item.width,height:offset_item.height}),$.each(offset_item,function(key,val){offset[key]=-1*val})}offset.width+=l.width(),offset.height+=l.height(),$.each(offset,function(key,val){val<0&&(offset[key]=0)})}return vc.empty().remove(),offset},get_margin:function(){return this.get_measurement("margin",{width:0,height:0})},get_item_dimensions:function(){var v=this.get_viewer(),dims=v.get_item().get_dimensions();if(v.get_attribute("autofit",!1)){var margin=this.get_margin(),offset=this.get_offset();offset.height+=margin.height,offset.width+=margin.width;var max={width:$(window).width(),height:$(window).height()};max.width>offset.width&&(max.width-=offset.width),max.height>offset.height&&(max.height-=offset.height);var factor=Math.min(max.width/dims.width,max.height/dims.height);factor<1&&$.each(dims,function(key){dims[key]=Math.round(dims[key]*factor)})}return $.extend({},dims)},get_dimensions:function(){var dims=this.get_item_dimensions(),offset=this.get_offset();return $.each(dims,function(key){dims[key]+=offset[key]}),dims},get_breakpoints:function(){return this.get_attribute_recursive("breakpoints")},get_breakpoint:function(target){var ret=0;if(this.util.is_string(target)){var b=this.get_attribute_recursive("breakpoints");this.util.is_obj(b)&&target in b&&(ret=b[target])}return ret},render:function(init){var thm=this,tpl=this.get_template(),st="events_render";this.get_status(st)||(this.set_status(st),tpl.on(["render-init","render-loading","render-complete"],function(ev){return thm.trigger(ev.type,ev.data)})),tpl.render(init)},transition:function(event,clear_queue){var dfr=null,attr="transition",v=this.get_viewer(),fx_temp=null,anim_on=v.animation_enabled();if(v.get_attribute(attr,!0)&&this.util.is_string(event)){var anim_stop=function(){var l=v.get_layout();l.find("*").each(function(){for(var el=$(this);el.queue().length;)el.stop(!1,!0)})};clear_queue&&anim_stop();var trns,attr_set=[attr,"set"].join("_");if(this.get_attribute(attr_set))trns=this.get_attribute(attr,{});else{var models=this.get_ancestors(!0);trns=[],this.set_attribute(attr_set,!0);var thm=this;$.each(models,function(idx,model){attr in model&&thm.util.is_obj(model[attr])&&trns.push(model[attr])}),trns.push({}),trns=this.set_attribute(attr,$.extend.apply($,trns.reverse()))}this.util.is_method(trns,event)&&(anim_on||(fx_temp=$.fx.off,$.fx.off=!0),dfr=trns[event].call(this,v,$.Deferred()))}return this.util.is_promise(dfr)||(dfr=$.Deferred(),dfr.reject()),dfr.always(function(){null!==fx_temp&&($.fx.off=fx_temp)}),dfr.promise()}};View.Theme=Modeled_Component.extend(Theme);var Template={_slug:"template",_reciprocal:!0,_refs:{theme:"Theme"},_attr_default:{layout_uri:"",layout_raw:"",layout_parsed:"",tags:null,model:null},theme:null,_c:function(attributes){this._super("",attributes)},_hooks:function(){this.on("dom_init",function(ev){var tags=this.get_tags(null,null,!0),names=[],t=this;$.each(tags,function(idx,tag){var name=tag.get_name();-1===$.inArray(name,names)&&(names.push(name),tag.get_handler().trigger(ev.type,{template:t}))})})},get_theme:function(){var ret=this.get_component("theme");return ret},render:function(init){var v=this.get_theme().get_viewer();if(this.util.is_bool(init)||(init=!1),init)this.trigger("render-init",this.dom_get());else{if(!v.is_active())return!1;var item=v.get_item();if(!this.util.is_type(item,View.Content_Item))return v.close(),!1;if(v.is_active()&&this.has_tags()){var loading_promise=this.trigger("render-loading"),tpl=this,tags=this.get_tags(),tag_promises=[];$.when(item.load(),loading_promise).done(function(){return!!v.is_active()&&($.each(tags,function(idx,tag){return!!v.is_active()&&void tag_promises.push(tag.render(item).done(function(r){return!!v.is_active()&&void r.tag.dom_get().html(r.output)}))}),!!v.is_active()&&void $.when.apply($,tag_promises).done(function(){tpl.trigger("render-complete")}))})}}},get_layout:function(parsed){this.util.is_bool(parsed)||(parsed=!0);var l=parsed?this.parse_layout():this.get_attribute("layout_raw","");return l},parse_layout:function(){var a="layout_parsed",ret=this.get_attribute(a);return this.util.is_string(ret)?ret:(ret=this.sanitize_layout(this.get_layout(!1)),ret=this.parse_tags(ret),this.set_attribute(a,ret),ret)},sanitize_layout:function(l){if(this.util.is_empty(l))return l;var rtype=this.util.is_string(l)?"string":null,dom=$(l),tag_temp=this.get_tag_temp(),cls=tag_temp.get_class(),cls_new=["x",cls].join("_");switch($(tag_temp.get_selector(),dom).each(function(){$(this).removeClass(cls).addClass(cls_new)}),rtype){case"string":dom=dom.wrap("
").parent().html(),l=dom;break;default:l=dom}return l},parse_tags:function(l){if(!this.util.is_string(l))return"";for(var match,re=/\{{2}\s*(\w.*?)\s*\}{2}/gim;match=re.exec(l);)l=l.substring(0,match.index)+this.get_tag_container(match[1])+l.substring(match.index+match[0].length);return l},get_tag_container:function(tag){var attr=this.get_tag_attribute();return this.util.format('',attr,encodeURI(tag))},get_tag_attribute:function(){return this.get_tag_temp().dom_get_attribute()},get_tag:function(idx){var ret=null;if(this.has_tags()){var tags=this.get_tags();(!this.util.is_int(idx)||0>idx||idx>=tags.length)&&(idx=0),ret=tags[idx]}return ret},get_tags:function(name,prop,isolate){this.util.is_bool(isolate)||(isolate=!1);var a="tags",tags=this.get_attribute(a);if(!this.util.is_array(tags)){tags=[];var d=this.dom_get(),attr=this.get_tag_attribute(),nodes=$(d).find("["+attr+"]");$(nodes).each(function(){var el=$(this),tag=new View.Template_Tag(decodeURI(el.attr(attr)));tag.has_handler()&&(tags.push(tag),isolate||(tag.dom_set(el),el.addClass(tag.get_classes(" ")))),isolate||el.removeAttr(attr)}),isolate||this.set_attribute(a,tags,!1)}if(!this.util.is_empty(tags)&&this.util.is_string(name)){this.util.is_string(prop)||(prop=!1);for(var tags_filtered=[],tc=null,x=0;x0},get_tag_temp:function(){return this.get_controller().get_component_temp(View.Template_Tag)},get_tag_selector:function(name,prop){this.util.is_string(name)||(name=""),this.util.is_string(prop)||(prop="");var tag=this.get_tag_temp();return tag.set_attribute("name",name),tag.set_attribute("prop",prop),tag.get_selector("full")},dom_init:function(){this.dom_set(this.get_layout()),this.trigger("dom_init")},dom_get_tag:function(tag,prop){var ret=$(),tags=this.get_tags(tag,prop);if(tags.length){var level=null;this.util.is_string(tag)&&(level=this.util.is_string(prop)?"full":"tag");var sel="."+tags[0].get_class(level);ret=this.dom_get().find(sel)}return ret}};View.Template=Modeled_Component.extend(Template);var Template_Tag={_slug:"template_tag",_reciprocal:!0,_attr_default:{name:null,prop:null,match:null},handlers:{},_c:function(tag_match){this.parse(tag_match)},parse:function(tag_match){if(!this.util.is_string(tag_match))return!1;var part,parts=tag_match.split("|");if(!parts.length)return null;var attrs={name:null,prop:null,match:tag_match};attrs.name=parts[0],attrs.name.indexOf(".")!==-1&&(attrs.name=attrs.name.split(".",2),attrs.prop=attrs.name[1],attrs.name=attrs.name[0]);for(var x=1;x1&&!(part[0]in attrs)&&(attrs[part[0]]=part[1]);this.set_attributes(attrs,!0)},render:function(item){var tag=this;return tag.get_handler().render(item,tag).pipe(function(output){return{tag:tag,output:output}})},get_name:function(){return this.get_attribute("name")},get_prop:function(){return this.get_attribute("prop")},get_handler:function(){return this.has_handler()?this.handlers[this.get_name()]:new View.Template_Tag_Handler("")},has_handler:function(){return this.get_name()in this.handlers},get_classes:function(rtype){var cls=[this.get_class(),this.get_class("tag"),this.get_class("full")];return this.util.is_string(rtype)&&(cls=cls.join(rtype)),cls},get_class:function(level){var cls="";switch(level){case"tag":cls=this.get_name();break;case"full":var i,parts=[this.get_name(),this.get_prop()],a=[];for(i=0;i');$("head").append(out.join(""))}}},Component={_slug:"component",_ns:null,_refs:{},_reciprocal:!1,_dom:null,_attributes:!1,_attr_default:{},_attr_default_parsed:!1,_attr_init:null,_attr_map:{},_events:{},_status:null,_id:"",_c:function(id,attributes){this._set_id(id),this.util.is_obj(attributes)&&(this._attr_init=attributes),this._hooks()},_set_parent:function(){this._super(View)},_hooks:function(){},_set_id:function(id){return this.util.is_empty(this._id)&&(this._id=this.util.is_string(id)?id:this.util.guid()),this._id},get_id:function(ns){var id=this._id;return this.util.is_bool(ns)&&ns&&(id=this.add_ns(id)),id},get_ns:function(){return null===this._ns&&(this._ns=this.util.add_prefix(this._slug)),this._ns},add_ns:function(val){return this.util.is_string(val)?this.get_ns()+"_"+val:""},get_status:function(id,raw){var ret=!1;return this.util.in_obj(this._status,id)&&(ret=raw?this._status[id]:!!this._status[id]),ret},set_status:function(id,val){return this.util.is_string(id)?(this.util.is_set(val)||(val=!0),this.util.is_obj(this._status,!1)||(this._status={}),this._status[id]=val):this.util.is_set(val)||(val=!1),val},get_controller:function(){return this.get_parent()},has_reference:function(ref){return!!(this.util.is_string(ref)&&ref in this&&ref in this.get_references())},get_references:function(){return this._refs},get_reference:function(ref){return this.has_reference(ref)?this._refs[ref]:null},get_component:function(cname,options){var c=null;if(!this.has_reference(cname))return c;options=$.extend({},{check_attr:!0,get_default:!1},options);var ctype=this.get_reference(cname);return this.util.is_type(this[cname],ctype)?this[cname]:(c=this[cname]=null,options.check_attr&&(c=this.get_attribute(cname),this.util.is_empty(c)||(c=this.set_component(cname,c))),this.util.is_empty(c)&&options.get_default&&(c=this.get_controller().get_component(ctype)),c)},set_component:function(name,ref,validate){if(!this.has_reference(name))return null;if(this.util.is_empty(ref))ref=null;else{var ctype=this.get_reference(name);this.util.is_string(ref,!1)&&(ref=this.get_controller().get_component(ctype,ref)),(!this.util.is_type(ref,ctype)||this.util.is_func(validate)&&!validate.call(this,ref))&&(ref=null)}return this[name]=ref,this[name]},clear_component:function(name){this.set_component(name,null)},init_attributes:function(force){if(this.util.is_bool(force)||(force=!1),force||!this.util.is_obj(this._attributes)){var a=this._attributes={};$.extend(a,this.init_default_attributes()),this.util.is_obj(this._attr_init)&&$.extend(a,this._attr_init),$.extend(a,this.get_dom_attributes())}},init_default_attributes:function(){if(!this._attr_default_parsed&&this.util.is_obj(this._attr_map)){var opts=this.get_controller().get_options(this.util.obj_keys(this._attr_map));if(this.util.is_obj(opts)){for(var opt in this._attr_map)opt in opts&&null!==this._attr_map[opt]&&(opts[this._attr_map[opt]]=opts[opt],delete opts[opt]);$.extend(!0,this._attr_default,opts)}this._attr_default_parsed=!0}return this._attr_default},get_dom_attributes:function(){var attrs={},el=this.dom_get(null,{init:!1});if(0",options.tag),attrs).appendTo(d)).length&&this.util.is_method(options,"success")&&options.success.call(r,r),$(r).append(options.content),$(r)},dom_has:function(){return!!this.dom_get().length},get_data_key:function(){return this.get_ns()},on:function(event,fn,options){if(!this.util.is_string(event)||!this.util.is_func(fn)){var t=this,args=Array.prototype.slice.call(arguments,1);return this.util.is_array(event)?$.each(event,function(idx,val){t.on.apply(t,[val].concat(args))}):this.util.is_obj(event)&&$.each(event,function(ev,hdl){t.on.apply(t,[ev,hdl].concat(args))}),this}this.util.is_obj(options,!1)||(options={}),options=$.extend({},{clear:!1},options),this.util.is_obj(this._events,!1)||(this._events={});var es=this._events;return event in es&&this.util.is_obj(es[event],!1)&&!options.clear||(es[event]=[]),es[event].push(fn),this},trigger:function(event,data){var dfr=$.Deferred(),dfrs=[],t=this;if(this.util.is_array(event))return $.each(event,function(idx,val){dfrs.push(t.trigger(val,data))}),$.when.apply(t,dfrs).done(function(){dfr.resolve()}),dfr.promise();if(!(this.util.is_string(event)&&event in this._events))return dfr.resolve(),dfr.promise();var ev={type:event,data:null};return this.util.is_set(data)&&(ev.data=data),$.each(this._events[event],function(idx,fn){dfrs.push(fn.call(t,ev,t))}),$.when.apply(this,dfrs).done(function(){dfr.resolve()}),dfr.promise()}};View.Component=Component=SLB.Class.extend(Component);var Viewer={_slug:"viewer",_refs:{item:"Content_Item",theme:"Theme"},_reciprocal:!0,_attr_default:{loop:!0,animate:!0,autofit:!0,overlay_enabled:!0,overlay_opacity:"0.8",title_default:!1,container:null,slideshow_enabled:!0,slideshow_autostart:!1,slideshow_duration:2,slideshow_active:!1,slideshow_timer:null,labels:{close:"close",nav_prev:"« prev",nav_next:"next »",slideshow_start:"start slideshow",slideshow_stop:"stop slideshow",group_status:"Image %current% of %total%",loading:"loading"}},_attr_map:{theme:null,group_loop:"loop",ui_autofit:"autofit",ui_animate:"animate",ui_overlay_opacity:"overlay_opacity",ui_labels:"labels",ui_title_default:"title_default",slideshow_enabled:null,slideshow_autostart:null,slideshow_duration:null},item:null,item_queued:null,theme:null,item_working:null,active:!1,init:!1,open:!1,loading:!1,_hooks:function(){var t=this;this.on(["item-prev","item-next"],function(){t.trigger("item-change")}).on(["close","item-change"],function(){t.unload().done(function(){t.unlock()})})},get_item:function(){return this.get_component("item")},set_item:function(item){this.clear_item(!1);var i=this.set_component("item",item,function(item){return item.has_type()});return!this.util.is_empty(i)},clear_item:function(full){this.util.is_bool(full)||(full=!0);var item=this.get_item();item&&item.reset(),full&&this.clear_component("item")},get_theme:function(){var ret=this.get_component("theme",{check_attr:!1});return this.util.is_empty(ret)&&(ret=this.set_component("theme",new View.Theme(this))),ret},set_theme:function(theme){this.set_component("theme",theme)},lock:function(){return this.set_status("item_working",$.Deferred())},get_lock:function(simple,full){this.util.is_bool(simple)||(simple=!1),this.util.is_bool(full)||(full=!1);var s="item_working";if(simple)return this.get_status(s);var r=this.get_status(s,!0);return this.util.is_promise(r)||(r=this.lock()),full?r:r.promise()},is_locked:function(){return this.get_lock(!0)},unlock:function(){return this.get_lock(!1,!0).resolve()},set_active:function(mode){return this.util.is_bool(mode)||(mode=!0),this.set_status("active",mode)},is_active:function(){return this.get_status("active")},set_loading:function(mode){var dfr=$.Deferred();this.util.is_bool(mode)||(mode=!0),this.loading=mode,this.slideshow_active()&&this.slideshow_pause(mode);var m=mode?"addClass":"removeClass";return $(this.dom_get())[m]("loading"),mode?this.get_theme().transition("load").always(function(){dfr.resolve()}):dfr.resolve(),dfr.promise()},unset_loading:function(){return this.set_loading(!1)},get_loading:function(){return!!this.util.is_bool(this.loading)&&this.loading},is_loading:function(){return this.get_loading()},show:function(item){this.item_queued=item;var vt="theme_valid",valid=!0;if(this.has_attribute(vt)?valid=this.get_attribute(vt,!0):(valid=!(!this.get_theme()||""===this.get_theme().get_template().get_layout(!1)),this.set_attribute(vt,valid)),!valid)return this.close(),!1;var v=this,fin=function(){if(v.lock(),v.set_status("show_deferred",!1),!v.set_item(v.item_queued))return v.close(),!1;v.history_add(),v.set_active(),v.render()};this.is_locked()?this.get_status("show_deferred")||(this.set_status("show_deferred"),this.get_lock().always(function(){fin()})):fin()},history_handle:function(e){var state=e.originalEvent.state;if(this.util.is_string(state.item,!1))this.get_controller().get_item(state.item).show({event:e}),this.trigger("item-change");else{var count=this.history_get(!0);this.history_set(0),-1!==count&&this.close()}},history_get:function(full){return this.get_status("history_count",full)},history_set:function(val){return this.set_status("history_count",val)},history_add:function(){if(!history.pushState)return!1;var item=this.get_item(),opts=item.get_attribute("options_show"),count=this.history_get()?this.history_get(!0):0;if(this.util.in_obj(opts,"event")){var e=opts.event.originalEvent;this.util.in_obj(e,"state")&&this.util.in_obj(e.state,"count")&&(count=e.state.count)}else{var state={viewer:this.get_id(),item:null,count:count};count||history.replaceState(state,null),state.item=this.get_controller().save_item(item).get_id(),state.count=++count,history.pushState(state,"")}this.history_set(count)},history_reset:function(){var count=this.history_get(!0);count&&(this.history_set(-1),history.go(-1*count))},is_open:function(){return"none"!==this.dom_get().css("display")},render:function(){var v=this,thm=this.get_theme();v.dom_prep(),this.get_status("render-events")||(this.set_status("render-events"),thm.on("render-loading",function(ev,thm){var dfr=$.Deferred();if(!v.is_active())return dfr.reject(),dfr.promise();var set_pos=function(){v.dom_get().css("top",$(window).scrollTop())},always=function(){v.set_loading().always(function(){dfr.resolve()})};return v.is_open()?thm.transition("unload").fail(function(){set_pos(),thm.dom_get_tag("item","content").attr("style","")}).always(always):thm.transition("open").always(function(){always(),v.events_open(),v.open=!0}).fail(function(){set_pos(),v.get_overlay().show(),v.dom_get().show()}),dfr.promise()}).on("render-complete",function(ev,thm){if(!v.is_active())return!1;var d=v.dom_get(),classes=["item_single","item_multi"],ms=["addClass","removeClass"];v.get_item().get_group().is_single()||ms.reverse(),$.each(ms,function(idx,val){d[val](classes[idx])}),v.events_complete(),thm.transition("complete").fail(function(){if(v.get_attribute("autofit",!0)){var dims=$.extend({display:"inline-block"},thm.get_item_dimensions());thm.dom_get_tag("item","content").css(dims)}}).always(function(){v.unset_loading(),v.trigger("render-complete"),v.init=!0})})),thm.render()},dom_get_container:function(){var sel=this.get_attribute("container");this.util.is_empty(sel)&&(sel="#"+this.add_ns("wrap"));var c=$(sel);if(!c.length){var id=0===sel.indexOf("#")?sel.substr(1):sel;c=$("
",{id:id}).appendTo("body")}return c},dom_init:function(){var d=this.dom_set($("
",{id:this.get_id(!0),class:this.get_ns()})).appendTo(this.dom_get_container()).hide(),thm=this.get_theme();d.addClass(thm.get_classes(" "));var v=this;this.get_status("render-init")||(this.set_status("render-init"),thm.on("render-init",function(ev){v.dom_put("layout",ev.data)})),thm.render(!0)},dom_prep:function(mode){var m=this.util.is_bool(mode)&&!mode?"removeClass":"addClass";$("html")[m](this.util.add_prefix("overlay"))},dom_restore:function(){this.dom_prep(!1)},get_layout:function(){return this.dom_get("layout",{put:{success:function(){$(this).hide()}}})},animation_enabled:function(){return this.get_attribute("animate",!0)},overlay_enabled:function(){var ov=this.get_attribute("overlay_enabled");return!!this.util.is_bool(ov)&&ov},get_overlay:function(){var o=null,v=this;return this.overlay_enabled()&&(o=this.dom_get("overlay",{put:{success:function(){$(this).hide().css("opacity",v.get_attribute("overlay_opacity"))}}})),$(o)},unload:function(){var dfr=$.Deferred();return this.get_theme().dom_get_tag("item").text(""),dfr.resolve(),dfr.promise()},reset:function(){this.dom_get().hide(),this.dom_restore(),this.history_reset(),this.clear_item(),this.set_active(!1),this.set_loading(!1),this.slideshow_stop(),this.keys_disable(),this.unlock()},get_labels:function(){return this.get_attribute("labels",{})},get_label:function(name){var lbls=this.get_labels();return name in lbls?lbls[name]:""},events_open:function(){if(this.keys_enable(),this.open)return!1;var l=this.get_layout();l.children().click(function(ev){ev.stopPropagation()});var v=this,close=function(){v.close()};l.click(close),this.get_overlay().click(close),this.trigger("events-open")},events_complete:function(){if(this.init)return!1;this.trigger("events-complete")},keys_enable:function(mode){this.util.is_bool(mode)||(mode=!0);var e=["keyup",this.util.get_prefix()].join("."),v=this;mode?$(document).on(e,function(ev){return v.keys_control(ev)}):$(document).off(e)},keys_disable:function(){this.keys_enable(!1)},keys_control:function(ev){var handlers={27:this.close,37:this.item_prev,39:this.item_next};if("rtl"===document.documentElement.getAttribute("dir")&&(handlers[37]=this.item_next,handlers[39]=this.item_prev),ev.which in handlers)return handlers[ev.which].call(this),!1},slideshow_enabled:function(){var o=this.get_attribute("slideshow_enabled");return!(!(this.util.is_bool(o)&&o&&this.get_item())||this.get_item().get_group().is_single())},slideshow_active:function(){return!(!this.slideshow_enabled()||!(this.get_attribute("slideshow_active")||!this.init&&this.get_attribute("slideshow_autostart")))},slideshow_clear_timer:function(){clearInterval(this.get_attribute("slideshow_timer"))},slideshow_set_timer:function(callback){this.set_attribute("slideshow_timer",setInterval(callback,1e3*this.get_attribute("slideshow_duration")))},slideshow_start:function(){if(!this.slideshow_enabled())return!1;this.set_attribute("slideshow_active",!0),this.dom_get().addClass("slideshow_active"),this.slideshow_clear_timer();var v=this;this.slideshow_set_timer(function(){v.slideshow_pause(),v.item_next()}),this.trigger("slideshow-start")},slideshow_stop:function(full){this.util.is_bool(full)||(full=!0),full&&(this.set_attribute("slideshow_active",!1),this.dom_get().removeClass("slideshow_active")),this.slideshow_clear_timer(),this.trigger("slideshow-stop")},slideshow_toggle:function(){if(!this.slideshow_enabled())return!1;this.slideshow_active()?this.slideshow_stop():this.slideshow_start(),this.trigger("slideshow-toggle")},slideshow_pause:function(mode){this.util.is_bool(mode)||(mode=!0),this.slideshow_active()&&(mode?this.slideshow_stop(!1):this.slideshow_start()),this.trigger("slideshow-pause")},slideshow_resume:function(){this.slideshow_pause(!1)},item_next:function(){var g=this.get_item().get_group(!0),v=this,ev="item-next",st=["events","viewer",ev].join("_");g.get_status(st)||(g.set_status(st),g.on(ev,function(e){v.trigger(e.type)})),g.show_next()},item_prev:function(){var g=this.get_item().get_group(!0),v=this,ev="item-prev",st=["events","viewer",ev].join("_");g.get_status(st)||(g.set_status(st),g.on(ev,function(){v.trigger(ev)})),g.show_prev()},close:function(){this.set_active(!1);var v=this,thm=this.get_theme();return thm.transition("unload").always(function(){thm.transition("close",!0).always(function(){v.reset(),v.trigger("close")})}).fail(function(){thm.dom_get_tag("item","content").attr("style","")}),!1}};View.Viewer=Component.extend(Viewer);var Group={_slug:"group",_reciprocal:!0,_refs:{current:"Content_Item"},current:null,selector:null,_hooks:function(){var t=this;this.on(["item-prev","item-next"],function(){t.trigger("item-change")})},get_selector:function(){return this.util.is_empty(this.selector)&&(this.selector=this.util.format('a[%s="%s"]',this.dom_get_attribute(),this.get_id())),this.selector},get_items:function(){var items=$(this.get_selector());return 0===items.length&&this.has_current()&&(items=this.get_current().dom_get()),items},get_item:function(idx){this.util.is_int(idx)||(idx=0);var items=this.get_items(),max=this.get_size()-1;return maxoffset.width&&(max.width-=offset.width),max.height>offset.height&&(max.height-=offset.height);var factor=Math.min(max.width/dims.width,max.height/dims.height);factor<1&&$.each(dims,function(key){dims[key]=Math.round(dims[key]*factor)})}return $.extend({},dims)},get_dimensions:function(){var dims=this.get_item_dimensions(),offset=this.get_offset();return $.each(dims,function(key){dims[key]+=offset[key]}),dims},get_breakpoints:function(){return this.get_attribute_recursive("breakpoints")},get_breakpoint:function(target){var ret=0;if(this.util.is_string(target)){var b=this.get_attribute_recursive("breakpoints");this.util.is_obj(b)&&target in b&&(ret=b[target])}return ret},render:function(init){var thm=this,tpl=this.get_template(),st="events_render";this.get_status(st)||(this.set_status(st),tpl.on(["render-init","render-loading","render-complete"],function(ev){return thm.trigger(ev.type,ev.data)})),tpl.render(init)},transition:function(event,clear_queue){var dfr=null,attr="transition",v=this.get_viewer(),fx_temp=null,anim_on=v.animation_enabled();if(v.get_attribute(attr,!0)&&this.util.is_string(event)){clear_queue&&v.get_layout().find("*").each(function(){for(var el=$(this);el.queue().length;)el.stop(!1,!0)});var trns,attr_set=[attr,"set"].join("_");if(this.get_attribute(attr_set))trns=this.get_attribute(attr,{});else{var models=this.get_ancestors(!0);trns=[],this.set_attribute(attr_set,!0);var thm=this;$.each(models,function(idx,model){attr in model&&thm.util.is_obj(model[attr])&&trns.push(model[attr])}),trns.push({}),trns=this.set_attribute(attr,$.extend.apply($,trns.reverse()))}this.util.is_method(trns,event)&&(anim_on||(fx_temp=$.fx.off,$.fx.off=!0),dfr=trns[event].call(this,v,$.Deferred()))}return this.util.is_promise(dfr)||(dfr=$.Deferred()).reject(),dfr.always(function(){null!==fx_temp&&($.fx.off=fx_temp)}),dfr.promise()}};View.Theme=Modeled_Component.extend(Theme);var Template={_slug:"template",_reciprocal:!0,_refs:{theme:"Theme"},_attr_default:{layout_uri:"",layout_raw:"",layout_parsed:"",tags:null,model:null},theme:null,_c:function(attributes){this._super("",attributes)},_hooks:function(){this.on("dom_init",function(ev){var tags=this.get_tags(null,null,!0),names=[],t=this;$.each(tags,function(idx,tag){var name=tag.get_name();-1===$.inArray(name,names)&&(names.push(name),tag.get_handler().trigger(ev.type,{template:t}))})})},get_theme:function(){return this.get_component("theme")},render:function(init){var v=this.get_theme().get_viewer();if(this.util.is_bool(init)||(init=!1),init)this.trigger("render-init",this.dom_get());else{if(!v.is_active())return!1;var item=v.get_item();if(!this.util.is_type(item,View.Content_Item))return v.close(),!1;if(v.is_active()&&this.has_tags()){var loading_promise=this.trigger("render-loading"),tpl=this,tags=this.get_tags(),tag_promises=[];$.when(item.load(),loading_promise).done(function(){return!!v.is_active()&&($.each(tags,function(idx,tag){if(!v.is_active())return!1;tag_promises.push(tag.render(item).done(function(r){if(!v.is_active())return!1;r.tag.dom_get().html(r.output)}))}),!!v.is_active()&&void $.when.apply($,tag_promises).done(function(){tpl.trigger("render-complete")}))})}}},get_layout:function(parsed){return this.util.is_bool(parsed)||(parsed=!0),parsed?this.parse_layout():this.get_attribute("layout_raw","")},parse_layout:function(){var a="layout_parsed",ret=this.get_attribute(a);return this.util.is_string(ret)||(ret=this.sanitize_layout(this.get_layout(!1)),ret=this.parse_tags(ret),this.set_attribute(a,ret)),ret},sanitize_layout:function(l){if(this.util.is_empty(l))return l;var rtype=this.util.is_string(l)?"string":null,dom=$(l),tag_temp=this.get_tag_temp(),cls=tag_temp.get_class(),cls_new=["x",cls].join("_");switch($(tag_temp.get_selector(),dom).each(function(){$(this).removeClass(cls).addClass(cls_new)}),rtype){case"string":l=dom=dom.wrap("
").parent().html();break;default:l=dom}return l},parse_tags:function(l){if(!this.util.is_string(l))return"";for(var match,re=/\{{2}\s*(\w.*?)\s*\}{2}/gim;match=re.exec(l);)l=l.substring(0,match.index)+this.get_tag_container(match[1])+l.substring(match.index+match[0].length);return l},get_tag_container:function(tag){var attr=this.get_tag_attribute();return this.util.format('',attr,encodeURI(tag))},get_tag_attribute:function(){return this.get_tag_temp().dom_get_attribute()},get_tag:function(idx){var ret=null;if(this.has_tags()){var tags=this.get_tags();(!this.util.is_int(idx)||idx<0||idx>=tags.length)&&(idx=0),ret=tags[idx]}return ret},get_tags:function(name,prop,isolate){this.util.is_bool(isolate)||(isolate=!1);var a="tags",tags=this.get_attribute(a);if(!this.util.is_array(tags)){tags=[];var d=this.dom_get(),attr=this.get_tag_attribute(),nodes=$(d).find("["+attr+"]");$(nodes).each(function(){var el=$(this),tag=new View.Template_Tag(decodeURI(el.attr(attr)));tag.has_handler()&&(tags.push(tag),isolate||(tag.dom_set(el),el.addClass(tag.get_classes(" ")))),isolate||el.removeAttr(attr)}),isolate||this.set_attribute(a,tags,!1)}if(!this.util.is_empty(tags)&&this.util.is_string(name)){this.util.is_string(prop)||(prop=!1);for(var tags_filtered=[],tc=null,x=0;x Date: Thu, 7 Jun 2018 16:34:51 -1000 Subject: [PATCH 20/27] Themes:Black: Add: RTL Support to styles --- themes/black/css/style.css | 2 +- themes/black/sass/style.scss | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/themes/black/css/style.css b/themes/black/css/style.css index 4ddfa31..f957609 100644 --- a/themes/black/css/style.css +++ b/themes/black/css/style.css @@ -1 +1 @@ -#slb_viewer_wrap .slb_theme_slb_black a,#slb_viewer_wrap .slb_theme_slb_black a:hover{color:#fff}#slb_viewer_wrap .slb_theme_slb_black .slb_loading{background-image:url("../images/loading.gif")}#slb_viewer_wrap .slb_theme_slb_black .slb_container{background-color:#151515}#slb_viewer_wrap .slb_theme_slb_black .slb_prev a{background-image:url("../images/nav_prev.png")}#slb_viewer_wrap .slb_theme_slb_black .slb_next a{background-image:url("../images/nav_next.png")}#slb_viewer_wrap .slb_theme_slb_black .slb_data_title{color:#e3e3e3}#slb_viewer_wrap .slb_theme_slb_black .slb_data_desc{color:#cecece}#slb_viewer_wrap .slb_theme_slb_black .slb_group_status{color:#999} +#slb_viewer_wrap .slb_theme_slb_black a,#slb_viewer_wrap .slb_theme_slb_black a:hover{color:#fff}#slb_viewer_wrap .slb_theme_slb_black .slb_loading{background-image:url("../images/loading.gif")}#slb_viewer_wrap .slb_theme_slb_black .slb_container{background-color:#151515}#slb_viewer_wrap .slb_theme_slb_black .slb_content .slb_prev .slb_template_tag,[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_black .slb_content .slb_next .slb_template_tag{background-image:url("../images/nav_prev.png")}#slb_viewer_wrap .slb_theme_slb_black .slb_content .slb_next .slb_template_tag,[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_black .slb_content .slb_prev .slb_template_tag{background-image:url("../images/nav_next.png")}#slb_viewer_wrap .slb_theme_slb_black .slb_data_title{color:#e3e3e3}#slb_viewer_wrap .slb_theme_slb_black .slb_data_desc{color:#cecece}#slb_viewer_wrap .slb_theme_slb_black .slb_group_status{color:#999} diff --git a/themes/black/sass/style.scss b/themes/black/sass/style.scss index 4709f72..f8d3d21 100644 --- a/themes/black/sass/style.scss +++ b/themes/black/sass/style.scss @@ -13,13 +13,16 @@ .slb_container { background-color: #151515; } - - .slb_prev a { - background-image: url('../images/nav_prev.png'); - } - - .slb_next a { - background-image: url('../images/nav_next.png'); + .slb_content { + .slb_prev .slb_template_tag, + [dir="rtl"] & .slb_next .slb_template_tag { + background-image: url('../images/nav_prev.png'); + } + + .slb_next .slb_template_tag, + [dir="rtl"] & .slb_prev .slb_template_tag { + background-image: url('../images/nav_next.png'); + } } .slb_data_title { From 103ce720fe5b4daee27f8b704f8047505ed727fa Mon Sep 17 00:00:00 2001 From: Archetyped Date: Thu, 7 Jun 2018 17:31:38 -1000 Subject: [PATCH 21/27] Themes: Add: Font files (Yanone Kaffeesatz) --- themes/default/fonts/OFL.txt | 97 +++++ .../yanone-kaffeesatz-v9-latin-regular.eot | Bin 0 -> 21201 bytes .../yanone-kaffeesatz-v9-latin-regular.svg | 407 ++++++++++++++++++ .../yanone-kaffeesatz-v9-latin-regular.ttf | Bin 0 -> 40260 bytes .../yanone-kaffeesatz-v9-latin-regular.woff | Bin 0 -> 22540 bytes .../yanone-kaffeesatz-v9-latin-regular.woff2 | Bin 0 -> 18568 bytes 6 files changed, 504 insertions(+) create mode 100644 themes/default/fonts/OFL.txt create mode 100644 themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.eot create mode 100644 themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.svg create mode 100644 themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.ttf create mode 100644 themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.woff create mode 100644 themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.woff2 diff --git a/themes/default/fonts/OFL.txt b/themes/default/fonts/OFL.txt new file mode 100644 index 0000000..1456c18 --- /dev/null +++ b/themes/default/fonts/OFL.txt @@ -0,0 +1,97 @@ +Copyright (c) , (), +with Reserved Font Name . +Copyright (c) , (), +with Reserved Font Name . +Copyright (c) , (). + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.eot b/themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..e4df10355db6e387476eb2127a1a787f3c950306 GIT binary patch literal 21201 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 literal 0 HcmV?d00001 diff --git a/themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.svg b/themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.svg new file mode 100644 index 0000000..a69669b --- /dev/null +++ b/themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.svg @@ -0,0 +1,407 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.ttf b/themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8a30298e77184a326769609dbad82c72d24877b5 GIT binary patch literal 40260 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 literal 0 HcmV?d00001 diff --git a/themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.woff b/themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..7956c5f08999571e8a57e279f318c0d13c997392 GIT binary patch literal 22540 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 C9t-&Z literal 0 HcmV?d00001 diff --git a/themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.woff2 b/themes/default/fonts/yanone-kaffeesatz-v9-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..27dd09425aab567bd11ff8f23654f47be731b339 GIT binary patch literal 18568 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 T9JpjM?lJWws2Ut&vjG4AIH9qJ literal 0 HcmV?d00001 From 48dd327790e44a44964cea7b6adf2bbeca160d50 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Thu, 7 Jun 2018 17:34:04 -1000 Subject: [PATCH 22/27] Themes: Update: Load font locally Closes #658 --- includes/class.themes.php | 1 - themes/default/css/style.css | 2 +- themes/default/sass/_fonts.scss | 13 +++++++++++++ themes/default/sass/style.scss | 9 ++++++++- 4 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 themes/default/sass/_fonts.scss diff --git a/includes/class.themes.php b/includes/class.themes.php index 017fc0d..689c34b 100644 --- a/includes/class.themes.php +++ b/includes/class.themes.php @@ -79,7 +79,6 @@ function init_defaults($themes) { array ( 'base', $src_base . "/default/$js_path/client.js" ), ), 'styles' => array ( - array ( 'font', "$scheme://fonts.googleapis.com/css?family=Yanone+Kaffeesatz" ), array ( 'base', "$src_base/default/css/style.css" ), ), ), diff --git a/themes/default/css/style.css b/themes/default/css/style.css index fd310f2..0ded32f 100644 --- a/themes/default/css/style.css +++ b/themes/default/css/style.css @@ -1 +1 @@ -#slb_viewer_wrap .slb_theme_slb_default .slb_loading,#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_template_tag_ui,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag{text-indent:100%;white-space:nowrap;overflow:hidden}#slb_viewer_wrap .slb_theme_slb_default a,#slb_viewer_wrap .slb_theme_slb_default a:hover{border-bottom:none;color:#000;text-decoration:underline}#slb_viewer_wrap .slb_theme_slb_default .slb_viewer_layout{top:20px}#slb_viewer_wrap .slb_theme_slb_default .slb_container{box-shadow:0 0 64px -40px #fcfcfc;border-radius:5px}#slb_viewer_wrap .slb_theme_slb_default .slb_template_tag_ui{transition:opacity .5s}#slb_viewer_wrap .slb_theme_slb_default .slb_controls{position:absolute;top:8px;right:8px;width:75%;text-align:right}[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_controls{right:inherit;left:0px}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_template_tag_ui{width:25px;height:25px;float:right;margin-left:2px;opacity:0.5}[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_template_tag_ui{float:left}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_template_tag_ui:hover{opacity:0.8}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_slideshow .slb_template_tag{background:url("../images/ui_slideshow_play.png") 0 0 no-repeat}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_close .slb_template_tag{background:url("../images/ui_close.png") 0 0 no-repeat}#slb_viewer_wrap .slb_theme_slb_default.slideshow_active .slb_controls .slb_slideshow .slb_template_tag{background:url("../images/ui_slideshow_pause.png") 0 0 no-repeat}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag{position:absolute;top:20%;height:71%;width:45%;min-width:25px;min-height:33px;background-repeat:no-repeat;opacity:0.5}#slb_viewer_wrap .slb_theme_slb_default .slb_content{min-height:58px;min-width:50px}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag,[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag{left:4px;right:inherit;background-image:url("../images/nav_prev.png");background-position:left 45%}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag,[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag{right:4px;left:inherit;background-image:url("../images/nav_next.png");background-position:right 45%}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag:hover,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag:hover{opacity:1}#slb_viewer_wrap .slb_theme_slb_default .slb_details{line-height:1.4em;overflow:hidden;position:relative}#slb_viewer_wrap .slb_theme_slb_default .slb_details .slb_data{caption-side:bottom}#slb_viewer_wrap .slb_theme_slb_default .slb_details .slb_nav{display:none}#slb_viewer_wrap .slb_theme_slb_default .slb_data_title,#slb_viewer_wrap .slb_theme_slb_default .slb_group_status{font-family:'Yanone Kaffeesatz', arial, sans-serif;font-size:23px;margin-right:.2em;display:inline-block}[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_data_title,[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_group_status{margin-left:.2em;margin-right:0px}#slb_viewer_wrap .slb_theme_slb_default .slb_group_status{color:#777;font-style:italic;font-size:18.4px}#slb_viewer_wrap .slb_theme_slb_default .slb_data_desc{display:block;margin-top:0.5em}@media screen and (max-width: 480px){#slb_viewer_wrap .slb_theme_slb_default .slb_container{box-shadow:none;border-radius:0}#slb_viewer_wrap .slb_theme_slb_default .slb_controls{top:3px;right:3px}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag{top:17%;height:79%}} +@font-face{font-family:'Yanone Kaffeesatz';font-style:normal;font-weight:400;src:url("../fonts/yanone-kaffeesatz-v9-latin-regular.eot");src:local("Yanone Kaffeesatz Regular"),local("YanoneKaffeesatz-Regular"),url("../fonts/yanone-kaffeesatz-v9-latin-regular.eot?#iefix") format("embedded-opentype"),url("../fonts/yanone-kaffeesatz-v9-latin-regular.woff2") format("woff2"),url("../fonts/yanone-kaffeesatz-v9-latin-regular.woff") format("woff"),url("../fonts/yanone-kaffeesatz-v9-latin-regular.ttf") format("truetype"),url("../fonts/yanone-kaffeesatz-v9-latin-regular.svg#YanoneKaffeesatz") format("svg")}#slb_viewer_wrap .slb_theme_slb_default .slb_loading,#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_template_tag_ui,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag{text-indent:100%;white-space:nowrap;overflow:hidden}#slb_viewer_wrap .slb_theme_slb_default a,#slb_viewer_wrap .slb_theme_slb_default a:hover{border-bottom:none;color:#000;text-decoration:underline}#slb_viewer_wrap .slb_theme_slb_default .slb_viewer_layout{top:20px}#slb_viewer_wrap .slb_theme_slb_default .slb_container{box-shadow:0 0 64px -40px #fcfcfc;border-radius:5px}#slb_viewer_wrap .slb_theme_slb_default .slb_template_tag_ui{transition:opacity .5s}#slb_viewer_wrap .slb_theme_slb_default .slb_controls{position:absolute;top:8px;right:8px;width:75%;text-align:right}[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_controls{right:inherit;left:0px}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_template_tag_ui{width:25px;height:25px;float:right;margin-left:2px;opacity:0.5}[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_template_tag_ui{float:left}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_template_tag_ui:hover{opacity:0.8}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_slideshow .slb_template_tag{background:url("../images/ui_slideshow_play.png") 0 0 no-repeat}#slb_viewer_wrap .slb_theme_slb_default .slb_controls .slb_close .slb_template_tag{background:url("../images/ui_close.png") 0 0 no-repeat}#slb_viewer_wrap .slb_theme_slb_default.slideshow_active .slb_controls .slb_slideshow .slb_template_tag{background:url("../images/ui_slideshow_pause.png") 0 0 no-repeat}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag{position:absolute;top:20%;height:71%;width:45%;min-width:25px;min-height:33px;background-repeat:no-repeat;opacity:0.5}#slb_viewer_wrap .slb_theme_slb_default .slb_content{min-height:58px;min-width:50px}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag,[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag{left:4px;right:inherit;background-image:url("../images/nav_prev.png");background-position:left 45%}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag,[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag{right:4px;left:inherit;background-image:url("../images/nav_next.png");background-position:right 45%}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag:hover,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag:hover{opacity:1}#slb_viewer_wrap .slb_theme_slb_default .slb_details{line-height:1.4em;overflow:hidden;position:relative}#slb_viewer_wrap .slb_theme_slb_default .slb_details .slb_data{caption-side:bottom}#slb_viewer_wrap .slb_theme_slb_default .slb_details .slb_nav{display:none}#slb_viewer_wrap .slb_theme_slb_default .slb_data_title,#slb_viewer_wrap .slb_theme_slb_default .slb_group_status{font-family:'Yanone Kaffeesatz', arial, sans-serif;font-size:23px;margin-right:.2em;display:inline-block}[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_data_title,[dir="rtl"] #slb_viewer_wrap .slb_theme_slb_default .slb_group_status{margin-left:.2em;margin-right:0px}#slb_viewer_wrap .slb_theme_slb_default .slb_group_status{color:#777;font-style:italic;font-size:18.4px}#slb_viewer_wrap .slb_theme_slb_default .slb_data_desc{display:block;margin-top:0.5em}@media screen and (max-width: 480px){#slb_viewer_wrap .slb_theme_slb_default .slb_container{box-shadow:none;border-radius:0}#slb_viewer_wrap .slb_theme_slb_default .slb_controls{top:3px;right:3px}#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_prev .slb_template_tag,#slb_viewer_wrap .slb_theme_slb_default .slb_content .slb_next .slb_template_tag{top:17%;height:79%}} diff --git a/themes/default/sass/_fonts.scss b/themes/default/sass/_fonts.scss new file mode 100644 index 0000000..e4b6ccc --- /dev/null +++ b/themes/default/sass/_fonts.scss @@ -0,0 +1,13 @@ +/* yanone-kaffeesatz-regular - latin */ +@font-face { + font-family: 'Yanone Kaffeesatz'; + font-style: normal; + font-weight: 400; + src: url('../fonts/yanone-kaffeesatz-v9-latin-regular.eot'); /* IE9 Compat Modes */ + src: local('Yanone Kaffeesatz Regular'), local('YanoneKaffeesatz-Regular'), + url('../fonts/yanone-kaffeesatz-v9-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../fonts/yanone-kaffeesatz-v9-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('../fonts/yanone-kaffeesatz-v9-latin-regular.woff') format('woff'), /* Modern Browsers */ + url('../fonts/yanone-kaffeesatz-v9-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../fonts/yanone-kaffeesatz-v9-latin-regular.svg#YanoneKaffeesatz') format('svg'); /* Legacy iOS */ +} \ No newline at end of file diff --git a/themes/default/sass/style.scss b/themes/default/sass/style.scss index 94a6123..229f543 100644 --- a/themes/default/sass/style.scss +++ b/themes/default/sass/style.scss @@ -1,9 +1,16 @@ -//Variables +// Variables $nav_width: 25px; $nav_height: 33px; $ui_controls_width: 25px; $ui_controls_height: 25px; + +// Fonts + +@import "fonts"; + +// Placeholders + %hide-text { text-indent: 100%; white-space: nowrap; From eb54720e1e4c4d983d5f33a71e84952d38d07c2a Mon Sep 17 00:00:00 2001 From: Archetyped Date: Fri, 8 Jun 2018 10:32:52 -1000 Subject: [PATCH 23/27] Meta: Add version info to `Requirements_Check` --- includes/class-requirements-check.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/class-requirements-check.php b/includes/class-requirements-check.php index c217f0b..63ec797 100644 --- a/includes/class-requirements-check.php +++ b/includes/class-requirements-check.php @@ -5,13 +5,13 @@ * Used to ensure environment meets plugin requirements. * * @package Simple Lightbox - * @since + * @since 2.7.0 */ /** * Plugin Requirements Validation class * - * @since + * @since 2.7.0 */ class SLB_Requirements_Check { /** From 7e2c31aa970eb98565ada271514571bda7ecc9ef Mon Sep 17 00:00:00 2001 From: Archetyped Date: Fri, 8 Jun 2018 11:39:21 -1000 Subject: [PATCH 24/27] Update: readme/changelog (2.7.0) --- changelog.txt | 10 ++++++++++ readme.txt | 12 +++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/changelog.txt b/changelog.txt index 42114d2..abe9e57 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,13 @@ += 2.7.0 = + +* Fix: Remove reference to deprecated `screen_icon()` function (The Icon of Finnegan Island) +* Add: Validate requirements before initialization. +* Optimize: PHP 7.2+ Compatibility +* Optimize: Internal code optimizations +* Themes + * Add: RTL Support + * Update: Load font locally + = 2.6.0 = * Add: Activate links in native WordPress navigation menus (enable in admin settings) diff --git a/readme.txt b/readme.txt index ac3686d..afffb42 100644 --- a/readme.txt +++ b/readme.txt @@ -46,7 +46,7 @@ Options for customizing the lightbox behavior are located in the **Appearance > == Upgrade Notice == -= 0.0.0-dev = += 2.7.0 = Fixes & improvements. PHP 5.4+ Required. == Frequently Asked Questions == @@ -61,4 +61,14 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ == Changelog == += 2.7.0 = + +* Fix: Remove reference to deprecated `screen_icon()` function (The Icon of Finnegan Island) +* Add: Validate requirements before initialization. +* Optimize: PHP 7.2+ Compatibility +* Optimize: Internal code optimizations +* Themes + * Add: RTL Support + * Update: Load font locally + [See full changelog](https://github.com/archetyped/simple-lightbox/releases) \ No newline at end of file From e3b819235d60396d8cca4681d2790e4a9c16b1e5 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Fri, 8 Jun 2018 13:03:49 -1000 Subject: [PATCH 25/27] Fix: Reset settings link initializes plugin delete action WordPress automatically attaches delete confirmation to plugin action links with `delete` class. --- client/css/admin.css | 2 +- client/sass/admin.scss | 8 ++++++++ controller.php | 2 +- includes/class.admin_action.php | 4 ++-- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/client/css/admin.css b/client/css/admin.css index a6f6b5c..43931e7 100644 --- a/client/css/admin.css +++ b/client/css/admin.css @@ -1 +1 @@ -.slb_section_head{display:block;padding:2em 0 0}.slb_option_item .block{display:inline-block}.slb_option_item label.title{width:200px;padding:10px}.slb_option_item .input{font-size:11px;line-height:20px;margin-bottom:9px;padding:8px 10px}.slb_option_item .input select{min-width:12em}.slb_notice{color:#f00;font-weight:bold}.slb .columns-2{margin-right:300px}.slb .columns-2 .postbox-container{float:left;width:100%}.slb .columns-2 .content-secondary{margin-right:-300px;width:280px;float:right} +.slb_section_head{display:block;padding:2em 0 0}.slb_option_item .block{display:inline-block}.slb_option_item label.title{width:200px;padding:10px}.slb_option_item .input{font-size:11px;line-height:20px;margin-bottom:9px;padding:8px 10px}.slb_option_item .input select{min-width:12em}.slb_notice{color:#f00;font-weight:bold}.slb .columns-2{margin-right:300px}.slb .columns-2 .postbox-container{float:left;width:100%}.slb .columns-2 .content-secondary{margin-right:-300px;width:280px;float:right}.slb_admin_action_reset{color:#a00}.slb_admin_action_reset:hover{color:#dc3232;border:none} diff --git a/client/sass/admin.scss b/client/sass/admin.scss index 31ff77a..67dabcf 100644 --- a/client/sass/admin.scss +++ b/client/sass/admin.scss @@ -43,4 +43,12 @@ float: right; } } +} + +.slb_admin_action_reset { + color: #a00; + &:hover { + color: #dc3232; + border: none; + } } \ No newline at end of file diff --git a/controller.php b/controller.php index 9490023..5b40db7 100644 --- a/controller.php +++ b/controller.php @@ -340,7 +340,7 @@ function admin_menus() { // Add Actions $lbls_reset = array ( 'title' => __('Reset', 'simple-lightbox'), - 'confirm' => __('Are you sure you want to reset settings?', 'simple-lightbox'), + 'confirm' => __('Are you sure you want to reset Simple Lightbox\'s settings?', 'simple-lightbox'), 'success' => __('Settings have been reset', 'simple-lightbox'), 'failure' => __('Settings were not reset', 'simple-lightbox') ); diff --git a/includes/class.admin_action.php b/includes/class.admin_action.php index 92b3588..3ef1af1 100644 --- a/includes/class.admin_action.php +++ b/includes/class.admin_action.php @@ -93,8 +93,8 @@ protected function get_query_args_remove() { public function get_link_attr() { return array ( - 'class' => 'delete', - 'onclick' => "return confirm('" . $this->get_label('confirm') . "')" + 'class' => $this->util->get_hook($this->get_id_raw()), + 'onclick' => "return confirm('" . esc_js( $this->get_label('confirm') ) . "')" ); } From c64fc7191a5da2988bf0934c28449a0a8e159361 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Fri, 8 Jun 2018 13:10:36 -1000 Subject: [PATCH 26/27] Update: readme/changelog (2.7.0) (2) --- readme.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.txt b/readme.txt index afffb42..3add365 100644 --- a/readme.txt +++ b/readme.txt @@ -64,6 +64,7 @@ Get more information on [Simple Lightbox's official page](http://archetyped.com/ = 2.7.0 = * Fix: Remove reference to deprecated `screen_icon()` function (The Icon of Finnegan Island) +* Fix: Reset settings link initializes plugin delete confirmation * Add: Validate requirements before initialization. * Optimize: PHP 7.2+ Compatibility * Optimize: Internal code optimizations From ccfa8a7df1d28c81881e0feac6cc369227892807 Mon Sep 17 00:00:00 2001 From: Archetyped Date: Fri, 8 Jun 2018 13:13:22 -1000 Subject: [PATCH 27/27] Prep release (2.7.0) --- main.php | 2 +- package-lock.json | 2 +- package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/main.php b/main.php index b9896d1..0c74876 100644 --- a/main.php +++ b/main.php @@ -11,7 +11,7 @@ Plugin Name: Simple Lightbox Plugin URI: http://archetyped.com/tools/simple-lightbox/ Description: The highly customizable lightbox for WordPress -Version: 0.0.0-dev +Version: 2.7.0 Text Domain: simple-lightbox Domain Path: /l10n Author: Archetyped diff --git a/package-lock.json b/package-lock.json index f0e8af6..ed1b89d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "simple-lightbox", - "version": "0.0.0-dev", + "version": "2.7.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 795fc5a..426d88c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "simple-lightbox", - "version": "0.0.0-dev", + "version": "2.7.0", "title": "Simple Lightbox", "description": "The highly-customizable lightbox for WordPress", "author": "Archetyped ",