From 067c9b4035590c168687ea4d3460206dbea4c416 Mon Sep 17 00:00:00 2001 From: Timothy J Warren Date: Thu, 1 Nov 2018 22:01:09 -0400 Subject: [PATCH] Lots of visual updates --- app/appConf/routes.php | 109 +-- app/bootstrap.php | 5 + app/views/anime/cover-item.php | 6 +- app/views/anime/details.php | 217 +++-- app/views/anime/edit.php | 14 +- app/views/character.php | 240 ----- app/views/character/details.php | 221 +++++ app/views/collection/cover-item.php | 7 +- app/views/collection/cover.php | 2 +- app/views/collection/list.php | 4 +- app/views/main-menu.php | 2 +- app/views/manga/cover.php | 12 +- app/views/manga/details.php | 126 ++- app/views/person/character-mapping.php | 115 +-- app/views/person/details.php | 67 ++ app/views/person/index.php | 78 -- app/views/{ => settings}/_form.php | 0 app/views/{ => settings}/settings.php | 1 - app/views/{me.php => user/details.php} | 44 +- public/css/app.min.css | 2 +- public/css/base.css | 146 ++- public/images/placeholder.png | Bin 242 -> 807 bytes public/images/placeholder.webp | Bin 0 -> 1288 bytes public/js/scripts-authed.min.js | 10 +- public/js/scripts-authed.min.js.map | 2 +- public/js/scripts.min.js | 4 +- public/js/scripts.min.js.map | 2 +- public/js/src/base/events.js | 13 + public/js/src/index.js | 4 +- public/package.json | 9 +- public/yarn.lock | 1245 +++++++++++++++++------- 31 files changed, 1639 insertions(+), 1068 deletions(-) delete mode 100644 app/views/character.php create mode 100644 app/views/character/details.php create mode 100644 app/views/person/details.php delete mode 100644 app/views/person/index.php rename app/views/{ => settings}/_form.php (100%) rename app/views/{ => settings}/settings.php (99%) rename app/views/{me.php => user/details.php} (71%) create mode 100644 public/images/placeholder.webp diff --git a/app/appConf/routes.php b/app/appConf/routes.php index 7a8a7de6..50ff8e5c 100644 --- a/app/appConf/routes.php +++ b/app/appConf/routes.php @@ -15,6 +15,9 @@ */ use const Aviat\AnimeClient\{ + ALPHA_SLUG_PATTERN, + NUM_PATTERN, + SLUG_PATTERN, DEFAULT_CONTROLLER_METHOD, DEFAULT_CONTROLLER }; @@ -24,14 +27,13 @@ use const Aviat\AnimeClient\{ // // Maps paths to controllers and methods // ------------------------------------------------------------------------- -return [ +$routes = [ // --------------------------------------------------------------------- // Anime List Routes // --------------------------------------------------------------------- 'anime.add.get' => [ 'path' => '/anime/add', 'action' => 'addForm', - 'verb' => 'get', ], 'anime.add.post' => [ 'path' => '/anime/add', @@ -42,7 +44,7 @@ return [ 'path' => '/anime/details/{id}', 'action' => 'details', 'tokens' => [ - 'id' => '[a-z0-9\-]+', + 'id' => SLUG_PATTERN, ], ], 'anime.delete' => [ @@ -60,7 +62,6 @@ return [ 'manga.add.get' => [ 'path' => '/manga/add', 'action' => 'addForm', - 'verb' => 'get', ], 'manga.add.post' => [ 'path' => '/manga/add', @@ -76,7 +77,7 @@ return [ 'path' => '/manga/details/{id}', 'action' => 'details', 'tokens' => [ - 'id' => '[a-z0-9\-]+', + 'id' => SLUG_PATTERN, ], ], // --------------------------------------------------------------------- @@ -89,13 +90,12 @@ return [ 'anime.collection.add.get' => [ 'path' => '/anime-collection/add', 'action' => 'form', - 'params' => [], ], 'anime.collection.edit.get' => [ 'path' => '/anime-collection/edit/{id}', 'action' => 'form', 'tokens' => [ - 'id' => '[0-9]+', + 'id' => NUM_PATTERN, ], ], 'anime.collection.add.post' => [ @@ -110,10 +110,8 @@ return [ ], 'anime.collection.view' => [ 'path' => '/anime-collection/view{/view}', - 'action' => 'index', - 'params' => [], 'tokens' => [ - 'view' => '[a-z_]+', + 'view' => ALPHA_SLUG_PATTERN, ], ], 'anime.collection.delete' => [ @@ -131,13 +129,12 @@ return [ 'manga.collection.add.get' => [ 'path' => '/manga-collection/add', 'action' => 'form', - 'params' => [], ], 'manga.collection.edit.get' => [ 'path' => '/manga-collection/edit/{id}', 'action' => 'form', 'tokens' => [ - 'id' => '[0-9]+', + 'id' => NUM_PATTERN, ], ], 'manga.collection.add.post' => [ @@ -152,10 +149,8 @@ return [ ], 'manga.collection.view' => [ 'path' => '/manga-collection/view{/view}', - 'action' => 'index', - 'params' => [], 'tokens' => [ - 'view' => '[a-z_]+', + 'view' => ALPHA_SLUG_PATTERN, ], ], 'manga.collection.delete' => [ @@ -168,27 +163,26 @@ return [ // --------------------------------------------------------------------- 'character' => [ 'path' => '/character/{slug}', - 'action' => 'index', - 'params' => [], 'tokens' => [ - 'slug' => '[a-z0-9\-]+' + 'slug' => SLUG_PATTERN ] ], 'person' => [ 'path' => '/people/{id}', - 'action' => 'index', - 'params' => [], 'tokens' => [ - 'id' => '[a-z0-9\-]+' + 'id' => SLUG_PATTERN ] ], + 'default_user_info' => [ + 'path' => '/me', + 'action' => 'me', + 'controller' => 'user', + ], 'user_info' => [ - 'path' => '/about/{user}', - 'action' => 'about', - 'controller' => DEFAULT_CONTROLLER, - 'verb' => 'get', + 'path' => '/user/{username}', + 'controller' => 'user', 'tokens' => [ - 'user' => '.*?' + 'username' => '.*?' ] ], // --------------------------------------------------------------------- @@ -197,66 +191,53 @@ return [ 'anilist-redirect' => [ 'path' => '/anilist-redirect', 'action' => 'anilistRedirect', - 'controller' => DEFAULT_CONTROLLER, - 'verb' => 'get', + 'controller' => 'user', ], 'anilist-callback' => [ 'path' => '/anilist-oauth', 'action' => 'anilistCallback', - 'controller' => DEFAULT_CONTROLLER, - 'verb' => 'get', + 'controller' => 'user', ], 'image_proxy' => [ 'path' => '/public/images/{type}/{file}', - 'action' => 'images', - 'controller' => DEFAULT_CONTROLLER, - 'verb' => 'get', + 'action' => 'cache', + 'controller' => 'images', 'tokens' => [ - 'type' => '[a-z0-9\-]+', + 'type' => SLUG_PATTERN, 'file' => '[a-z0-9\-]+\.[a-z]{3,4}' ] ], 'cache_purge' => [ 'path' => '/cache_purge', 'action' => 'clearCache', - 'controller' => DEFAULT_CONTROLLER, - 'verb' => 'get', ], 'settings' => [ 'path' => '/settings', - 'action' => 'settings', - 'controller' => DEFAULT_CONTROLLER, - 'verb' => 'get', ], 'settings-post' => [ - 'path' => '/settings-save', - 'action' => 'settings_post', - 'controller' => DEFAULT_CONTROLLER, + 'path' => '/settings/update', + 'action' => 'update', 'verb' => 'post', ], 'login' => [ 'path' => '/login', 'action' => 'login', - 'controller' => DEFAULT_CONTROLLER, - 'verb' => 'get', ], 'login.post' => [ 'path' => '/login', 'action' => 'loginAction', - 'controller' => DEFAULT_CONTROLLER, 'verb' => 'post', ], 'logout' => [ 'path' => '/logout', 'action' => 'logout', - 'controller' => DEFAULT_CONTROLLER, ], 'increment' => [ 'path' => '/{controller}/increment', 'action' => 'increment', 'verb' => 'post', 'tokens' => [ - 'controller' => '[a-z_]+', + 'controller' => ALPHA_SLUG_PATTERN, ], ], 'update' => [ @@ -264,7 +245,7 @@ return [ 'action' => 'update', 'verb' => 'post', 'tokens' => [ - 'controller' => '[a-z_]+', + 'controller' => ALPHA_SLUG_PATTERN, ], ], 'update.post' => [ @@ -272,28 +253,46 @@ return [ 'action' => 'formUpdate', 'verb' => 'post', 'tokens' => [ - 'controller' => '[a-z_]+', + 'controller' => ALPHA_SLUG_PATTERN, ], ], 'edit' => [ 'path' => '/{controller}/edit/{id}/{status}', 'action' => 'edit', 'tokens' => [ - 'id' => '[0-9a-z_]+', + 'id' => SLUG_PATTERN, 'status' => '([a-zA-Z\-_]|%20)+', ], ], 'list' => [ 'path' => '/{controller}/{type}{/view}', - 'action' => DEFAULT_CONTROLLER_METHOD, 'tokens' => [ - 'type' => '[a-z_]+', - 'view' => '[a-z_]+', + 'type' => ALPHA_SLUG_PATTERN, + 'view' => ALPHA_SLUG_PATTERN, ], ], 'index_redirect' => [ 'path' => '/', - 'controller' => DEFAULT_CONTROLLER, 'action' => 'redirectToDefaultRoute', ], -]; \ No newline at end of file +]; + +$defaultMap = [ + 'action' => DEFAULT_CONTROLLER_METHOD, + 'controller' => DEFAULT_CONTROLLER, + 'params' => [], + 'verb' => 'get', +]; + +foreach ($routes as &$route) +{ + foreach($defaultMap as $key => $val) + { + if ( ! array_key_exists($key, $route)) + { + $route[$key] = $val; + } + } +} + +return $routes; diff --git a/app/bootstrap.php b/app/bootstrap.php index ed6b3e63..fbcb9411 100644 --- a/app/bootstrap.php +++ b/app/bootstrap.php @@ -86,6 +86,11 @@ return function ($configArray = []) { $formHelper->setContainer($container); return $formHelper; }); + $htmlHelper->set('picture', function() use ($container) { + $pictureHelper = new Helper\Picture(); + $pictureHelper->setContainer($container); + return $pictureHelper; + }); return $htmlHelper; }); diff --git a/app/views/anime/cover-item.php b/app/views/anime/cover-item.php index 1a6ffb4b..884f9832 100644 --- a/app/views/anime/cover-item.php +++ b/app/views/anime/cover-item.php @@ -6,11 +6,7 @@ isAuthenticated()): ?> - - " type="image/webp"> - " type="image/jpeg"> - " alt="" /> - + picture("images/anime/{$item['anime']['id']}.webp") ?>
diff --git a/app/views/anime/details.php b/app/views/anime/details.php index 201f89c9..02d7cc4e 100644 --- a/app/views/anime/details.php +++ b/app/views/anime/details.php @@ -1,13 +1,11 @@ +
-

- -

- +

+ +

+

0): ?> -
-

Streaming on:

- - +
+

Streaming on:

+ + - - - - - - - - - - - + + + + + + + + +    + + + +    + + + + + + + +

Trailer

- +
- 0 && count($staff) > 0): ?> -
- -
- - 0): ?> -
-
-

Characters

- $list): ?> -

-
- $char): ?> - - - - +
+

Characters

+ +
+ + $list): ?> + /> + +
+ $char): ?> + + + + +
+ + +
- 0): ?> -
-
-

Staff

+ +
+

Staff

- $people): ?> -

-
- $person): ?> - - -
- + + +
+ \ No newline at end of file diff --git a/app/views/anime/edit.php b/app/views/anime/edit.php index 12f367e5..b75a2423 100644 --- a/app/views/anime/edit.php +++ b/app/views/anime/edit.php @@ -17,7 +17,7 @@
- img($urlGenerator->assetUrl('images/anime', "{$item['anime']['id']}.jpg")) ?> + picture("images/anime/{$item['anime']['id']}.webp") ?>
@@ -89,11 +89,9 @@ -
-
-
- Danger Zone -
+ +
+ Danger Zone @@ -110,7 +108,7 @@ - -
+
+ \ No newline at end of file diff --git a/app/views/character.php b/app/views/character.php deleted file mode 100644 index fae1671a..00000000 --- a/app/views/character.php +++ /dev/null @@ -1,240 +0,0 @@ - -
-
-
- - " type="image/webp"> - " type="image/jpeg"> - " alt="" /> - - -

Nicknames / Other names

- -

- - -
-
-

- -

- - -
- -

-
-
- - -

Media

-
- - - - -
- $anime): ?> - - -
- - - - - - -
- - $manga): ?> - - -
- -
- - -
- 0): ?> -

Castings

- - - -

Voice Actors

- -
- - - $casting): ?> - type="radio" id="character-va" - name="character-vas" - /> - -
- - - - - - $c): ?> - - - - - -
Cast MemberSeries
-
- generate('person', ['id' => $c['person']['id']]); - ?> - - -
- -
-
-
-
-
- -
- generate('anime.details', ['id' => $series['attributes']['slug']]); - $titles = Kitsu::filterTitles($series['attributes']); - ?> - - - - -
- -
-
-
- - -
- - - - $entries): ?> -

- $casting): ?> -
- - - - - - $c):?> - - - - - -
Cast MemberSeries
-
- generate('person', ['id' => $c['person']['id']]); - ?> - - -
- -
-
-
-
-
- -
- generate('anime.details', ['id' => $series['attributes']['slug']]); - $titles = Kitsu::filterTitles($series['attributes']); - ?> - - - - -
- -
-
- - - -
-
\ No newline at end of file diff --git a/app/views/character/details.php b/app/views/character/details.php new file mode 100644 index 00000000..4162507e --- /dev/null +++ b/app/views/character/details.php @@ -0,0 +1,221 @@ + +
+
+
+ picture("images/characters/{$data[0]['id']}-original.webp") ?> + +

Nicknames / Other names

+ +

+ + +
+
+

+ +

+ + +
+ +

+
+
+ + +

Media

+
+ + + + +
+ $anime): ?> + + +
+ + + + + + +
+ $manga): ?> + + +
+ +
+ + +
+ 0): ?> +

Castings

+ + + +

Voice Actors

+ +
+ + + $casting): ?> + type="radio" id="character-va" + name="character-vas" + /> + +
+ + + + + + $c): ?> + + + + + +
Cast MemberSeries
+ + +
+ + + +
+
+
+ + +
+ + + + $entries): ?> +

+ $casting): ?> +
+ + + + + + $c): ?> + + + + + +
Cast MemberSeries
+ + +
+ + + +
+
+ + + +
+
\ No newline at end of file diff --git a/app/views/collection/cover-item.php b/app/views/collection/cover-item.php index 8a25a2dc..b45e13e7 100644 --- a/app/views/collection/cover-item.php +++ b/app/views/collection/cover-item.php @@ -1,10 +1,5 @@
- - " type="image/webp"> - " type="image/jpeg"> - " alt=" cover image" /> - - + picture("images/anime/{$item['hummingbird_id']}.webp") ?>
diff --git a/app/views/collection/cover.php b/app/views/collection/cover.php index 429754ab..97eb1fc2 100644 --- a/app/views/collection/cover.php +++ b/app/views/collection/cover.php @@ -10,7 +10,7 @@ $items): ?> type="radio" id="collection-tab-" name="collection-tabs" /> -
+
diff --git a/app/views/collection/list.php b/app/views/collection/list.php index 3f87b152..6f305722 100644 --- a/app/views/collection/list.php +++ b/app/views/collection/list.php @@ -11,8 +11,8 @@ type="radio" id="collection-tab-" name="collection-tabs"/> -
- +
+
isAuthenticated()): ?> diff --git a/app/views/main-menu.php b/app/views/main-menu.php index b80bf053..70059648 100644 --- a/app/views/main-menu.php +++ b/app/views/main-menu.php @@ -51,7 +51,7 @@ $hasManga = stripos($_SERVER['REQUEST_URI'], 'manga') !== FALSE; [a( - $url->generate('user_info', ['user' => 'me']), + $url->generate('default_user_info'), 'About '. $config->get('whose_list') ) ?>] diff --git a/app/views/manga/cover.php b/app/views/manga/cover.php index ed149fc7..328897c6 100644 --- a/app/views/manga/cover.php +++ b/app/views/manga/cover.php @@ -23,17 +23,13 @@ +1 Volume */ ?> - - " type="image/webp"> - " type="image/jpeg"> - " alt="" /> - + picture("images/manga/{$item['manga']['id']}.webp") ?>
diff --git a/app/views/manga/details.php b/app/views/manga/details.php index 4befe779..d5657053 100644 --- a/app/views/manga/details.php +++ b/app/views/manga/details.php @@ -1,14 +1,11 @@
+ +
@@ -30,8 +27,8 @@
Manga Type
-

- +

+

@@ -41,71 +38,62 @@
0): ?> -
-

Characters

- $list): ?> -

-
- $char): ?> - - - - -
- +
+ + $list): ?> + /> + +
+ $char): ?> + + + + +
+ + +
0): ?> -
-

Staff

- $people): ?> -

-
- $person): ?> - - -
- +
+ + $people): ?> +
+ /> + +
+ $person): ?> + + +
+
+ + +
\ No newline at end of file diff --git a/app/views/person/character-mapping.php b/app/views/person/character-mapping.php index a8f8499a..3d571929 100644 --- a/app/views/person/character-mapping.php +++ b/app/views/person/character-mapping.php @@ -2,61 +2,66 @@ use function Aviat\AnimeClient\getLocalImg; use Aviat\AnimeClient\API\Kitsu; ?> - $casting): ?> - - - - - - - $character): ?> +

Voice Acting Roles

+
+ + $characterList): ?> + type="radio" name="character-type-tabs" id="character-type-" /> + +
+
CharacterSeries
- - + + - -
- - -
- $series): ?> - - -
-
CharacterSeries
- + $character): ?> + + + + + +
+ $series): ?> + + +
+ + + + + + +
diff --git a/app/views/person/details.php b/app/views/person/details.php new file mode 100644 index 00000000..d6717ed3 --- /dev/null +++ b/app/views/person/details.php @@ -0,0 +1,67 @@ + +
+
+
+ picture("images/people/{$data['id']}-original.webp", 'jpg', ['class' => 'cover' ]) ?> +
+
+

+
+
+ + +
+

Castings

+
+ + $entries): ?> +
+ /> + + $casting): ?> + + +

+ +
+ $series): ?> + + +
+ +
+ + +
+
+ + + +
+ +
+ +
diff --git a/app/views/person/index.php b/app/views/person/index.php deleted file mode 100644 index 1a1cd5e6..00000000 --- a/app/views/person/index.php +++ /dev/null @@ -1,78 +0,0 @@ - -
-
-
- - " - type="image/webp" - > - " - type="image/jpeg" - > - " alt="" /> - -
-
-

-
-
- -
- 0): ?> -

Castings

- $entries): ?> -

- - - - $casting): ?> - - -
- -
- $series): ?> - - -
-
- - - - -
-
diff --git a/app/views/_form.php b/app/views/settings/_form.php similarity index 100% rename from app/views/_form.php rename to app/views/settings/_form.php diff --git a/app/views/settings.php b/app/views/settings/settings.php similarity index 99% rename from app/views/settings.php rename to app/views/settings/settings.php index 430078fd..b51319aa 100644 --- a/app/views/settings.php +++ b/app/views/settings/settings.php @@ -48,7 +48,6 @@ $nestedPrefix = 'config'; 'Update Access Token' ) ?> - diff --git a/app/views/me.php b/app/views/user/details.php similarity index 71% rename from app/views/me.php rename to app/views/user/details.php index 65cf69f8..60981735 100644 --- a/app/views/me.php +++ b/app/views/user/details.php @@ -7,9 +7,11 @@ use Aviat\AnimeClient\API\Kitsu;
assetUrl( + getLocalImg($attributes['avatar']['original'], FALSE) + ); + echo $helper->img($avatar, ['alt' => '']); ?> -


@@ -46,6 +48,14 @@ use Aviat\AnimeClient\API\Kitsu; Time spent watching anime: + + # of Anime episodes watched + + + + # of Manga chapters read + + # of Posts @@ -62,12 +72,12 @@ use Aviat\AnimeClient\API\Kitsu;

- - - + a( + "https://kitsu.io/users/{$attributes['slug']}", + $attributes['name'], [ + 'title' => 'View profile on Kitsu' + ]) + ?>

@@ -86,11 +96,7 @@ use Aviat\AnimeClient\API\Kitsu; generate('character', ['slug' => $char['slug']]) ?>
a($link, $char['canonicalName']); ?>
- - " type="image/webp"> - " type="image/jpeg"> - " alt="" /> - + picture("images/characters/{$char['id']}.webp") ?>
@@ -107,11 +113,7 @@ use Aviat\AnimeClient\API\Kitsu; $titles = Kitsu::filterTitles($anime); ?> - - " type="image/webp"> - " type="image/jpeg"> - " width="220" alt="" /> - + picture("images/anime/{$anime['id']}.webp") ?>
@@ -135,11 +137,7 @@ use Aviat\AnimeClient\API\Kitsu; $titles = Kitsu::filterTitles($manga); ?> - - " type="image/webp"> - " type="image/jpeg"> - " width="220" alt="" /> - + picture("images/manga/{$manga['id']}.webp") ?>
diff --git a/public/css/app.min.css b/public/css/app.min.css index e6dfea2a..99af4949 100644 --- a/public/css/app.min.css +++ b/public/css/app.min.css @@ -1 +1 @@ -:root{-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-box-sizing:border-box;-webkit-text-size-adjust:100%;box-sizing:border-box;cursor:default;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,sans-serif;line-height:1.4;overflow-y:scroll;scroll-behavior:smooth;text-size-adjust:100%}audio:not([controls]){display:none}details{display:block}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}main{margin:0 auto;padding:0 1.6rem 1.6rem}main,pre,summary{display:block}pre{background:#efefef;color:#444;font-family:Anonymous Pro,Fira Code,Menlo,Monaco,Consolas,Courier New,monospace;font-size:1.4em;font-size:14px;font-size:1.4rem;margin:1.6rem 0;overflow:auto;padding:1.6rem;word-break:break-all;word-wrap:break-word}progress{display:inline-block}small{color:#777;font-size:75%}big{font-size:125%}template{display:none}textarea{border:.1rem solid #ccc;border-radius:0;display:block;margin-bottom:.8rem;overflow:auto;padding:.8rem;resize:vertical;vertical-align:middle}[hidden]{display:none}[unselectable]{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}*,:after,:before{-webkit-box-sizing:inherit;border-style:solid;border-width:0;box-sizing:inherit}*{font-size:inherit;line-height:inherit;margin:0;padding:0}:after,:before{text-decoration:inherit;vertical-align:inherit}a{-webkit-transition:.25s ease;color:#1271db;text-decoration:none;transition:.25s ease}audio,canvas,iframe,img,svg,video{vertical-align:middle}button,input,select,textarea{border:.1rem solid #ccc;color:inherit;font-family:inherit;font-style:inherit;font-weight:inherit;min-height:1.4em}code,kbd,pre,samp{font-family:Anonymous Pro,Fira Code,Menlo,Monaco,Consolas,Courier New,monospace}table{border-collapse:collapse;border-spacing:0;margin-bottom:1.6rem}::-moz-selection{background-color:#b3d4fc;text-shadow:none}::selection{background-color:#b3d4fc;text-shadow:none}button::-moz-focus-inner{border:0}body{color:#444;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;font-size:1.6rem;font-style:normal;font-weight:400;padding:0}p{margin:0 0 1.6rem}h1,h2,h3,h4,h5,h6{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,sans-serif;margin:2rem 0 1.6rem}h1{border-bottom:.1rem solid rgba(0,0,0,.2);font-size:3.6em;font-size:36px;font-size:3.6rem}h1,h2{font-style:normal;font-weight:500}h2{font-size:3em;font-size:30px;font-size:3rem}h3{font-size:2.4em;font-size:24px;font-size:2.4rem;font-style:normal;font-weight:500;margin:1.6rem 0 .4rem}h4{font-size:1.8em;font-size:18px;font-size:1.8rem}h4,h5{font-style:normal;font-weight:600;margin:1.6rem 0 .4rem}h5{font-size:1.6em;font-size:16px;font-size:1.6rem}h6{color:#777;font-size:1.4em;font-style:normal;font-weight:600;margin:1.6rem 0 .4rem}code,h6{font-size:14px;font-size:1.4rem}code{background:#efefef;color:#444;font-family:Anonymous Pro,Fira Code,Menlo,Monaco,Consolas,Courier New,monospace;word-break:break-all;word-wrap:break-word}a:focus,a:hover{text-decoration:none}dl{margin-bottom:1.6rem}dd{margin-left:4rem}ol,ul{margin-bottom:.8rem;padding-left:2rem}blockquote{border-left:.2rem solid #1271db;font-style:italic;margin:1.6rem 0;padding-left:1.6rem}blockquote,figcaption{font-family:Georgia,Times,Times New Roman,serif}html{font-size:62.5%}article,aside,details,footer,header,main,section,summary{display:block;height:auto;margin:0 auto;width:100%}footer{clear:both;display:inline-block;float:left;max-width:100%;padding:1rem 0;text-align:center}footer,hr{border-top:.1rem solid rgba(0,0,0,.2)}hr{display:block;margin-bottom:1.6rem;width:100%}img{height:auto;vertical-align:baseline}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select{border:.1rem solid #ccc;border-radius:0;display:inline-block;padding:.8rem;vertical-align:middle}input:not([type]){-webkit-appearance:none;background-clip:padding-box;background-color:#fff;border:.1rem solid #ccc;border-radius:0;color:#444;display:inline-block;padding:.8rem;text-align:left}input[type=color]{padding:.8rem 1.6rem}input:not([type]):focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#b3d4fc}input[type=checkbox],input[type=radio]{vertical-align:middle}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:1px thin solid #444;outline:.1rem thin solid #444}input:not([type])[disabled],input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled],select[disabled],textarea[disabled]{background-color:#efefef;color:#777;cursor:not-allowed}input[readonly],select[readonly],textarea[readonly]{background-color:#efefef;border-color:#ccc;color:#777}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{border-color:#e9322d;color:#b94a48}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#ff4136}select{background-color:#fff;border:.1rem solid #ccc}select[multiple]{height:auto}label{line-height:2}fieldset{border:0;margin:0;padding:.8rem 0}legend{border-bottom:.1rem solid #ccc;color:#444;display:block;margin-bottom:.8rem;padding:.8rem 0;width:100%}button,input[type=submit]{-moz-user-select:none;-ms-user-select:none;-webkit-transition:.25s ease;-webkit-user-drag:none;-webkit-user-select:none;border:.2rem solid #444;border-radius:0;color:#444;cursor:pointer;display:inline-block;margin-bottom:.8rem;margin-right:.4rem;padding:.8rem 1.6rem;text-align:center;text-decoration:none;text-transform:uppercase;transition:.25s ease;user-select:none;vertical-align:baseline}button a,input[type=submit] a{color:#444}button::-moz-focus-inner,input[type=submit]::-moz-focus-inner{padding:0}button:hover,input[type=submit]:hover{background:#444;border-color:#444;color:#fff}button:hover a,input[type=submit]:hover a{color:#fff}button:active,input[type=submit]:active{background:#6a6a6a;border-color:#6a6a6a;color:#fff}button:active a,input[type=submit]:active a{color:#fff}button:disabled,input[type=submit]:disabled{-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed;opacity:.4}nav ul{list-style:none;margin:0;padding:0;text-align:center}nav ul li{display:inline}nav a{-webkit-transition:.25s ease;border-bottom:.2rem solid transparent;color:#444;padding:.8rem 1.6rem;text-decoration:none;transition:.25s ease}nav a:hover,nav li.selected a{border-color:rgba(0,0,0,.2)}nav a:active{border-color:rgba(0,0,0,.56)}caption{padding:.8rem 0}thead th{background:#efefef;color:#444}tr{background:#fff;margin-bottom:.8rem}td,th{border:.1rem solid #ccc;padding:.8rem 1.6rem;text-align:center;vertical-align:inherit}tfoot tr{background:none}tfoot td{color:#efefef;font-size:8px;font-size:.8rem;font-style:italic;padding:1.6rem .4rem}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){clip:rect(0)!important;position:absolute!important}}@media screen and max-width 40rem{article,aside,section{clear:both;display:block;max-width:100%}img{margin-right:1.6rem}}.media[hidden],[hidden=hidden],template{display:none}body{margin:.5em}button{background:hsla(0,0%,100%,.65);margin:0}table{margin:0 auto}td{padding:1rem}thead td,thead th{padding:.5rem}input[type=number]{width:4em}tbody>tr:nth-child(odd){background:#ddd}a:active,a:hover{color:#7d12db}.bracketed{color:#12db18}#main-nav a,.bracketed{text-shadow:1px 1px 1px #000}.bracketed:before{content:"[\00a0"}.bracketed:after{content:"\00a0]"}.bracketed:active,.bracketed:hover{color:#db7d12}.grow-1{-ms-flex-positive:1;-webkit-box-flex:1;flex-grow:1}.flex-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-no-wrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-align-start{-ms-flex-line-pack:start;align-content:flex-start}.flex-align-end{-ms-flex-align:end;-webkit-box-align:end;align-items:flex-end}.flex-align-space-around{-ms-flex-line-pack:distribute;align-content:space-around}.flex-justify-start{-ms-flex-pack:start;-webkit-box-pack:start;justify-content:flex-start}.flex-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.flex-center{-ms-flex-pack:center;-webkit-box-pack:center;justify-content:center}.flex-self-center{-ms-flex-item-align:center;align-self:center}.flex-space-evenly{-ms-flex-pack:space-evenly;-webkit-box-pack:space-evenly;justify-content:space-evenly}.flex{display:-webkit-box;display:-ms-flexbox;display:flex}.small-font{font-size:16px;font-size:1.6rem}.justify{text-align:justify}.align_center{text-align:center!important}.align_left{text-align:left!important}.align_right{text-align:right!important}.valign_top{vertical-align:top}.no_border{border:none}.media-wrap{margin:0 auto;position:relative;text-align:left}.media-wrap-flex{-ms-flex-line-pack:space-evenly;-ms-flex-pack:justify;-ms-flex-wrap:wrap;-webkit-box-pack:justify;align-content:space-evenly;display:-webkit-box;display:-ms-flexbox;display:flex;flex-wrap:wrap;justify-content:space-between;position:relative}td .media-wrap-flex{-ms-flex-pack:center;-webkit-box-pack:center;justify-content:center}.danger{background-color:#ff4136;border-color:#924949;color:#fff}.danger:active,.danger:hover{background-color:#924949;border-color:#ff4136;color:#fff}.user-btn{border-color:#12db18;color:#12db18;padding:0 .5rem;text-shadow:1px 1px 1px #000}.user-btn:active,.user-btn:hover{background-color:#db7d12;border-color:#db7d12}.full_width{width:100%}#main-nav{border-bottom:.1rem solid rgba(0,0,0,.2);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,sans-serif;font-size:3.6em;font-size:36px;font-size:3.6rem;font-style:normal;font-weight:500;margin:2rem 0 1.6rem}.cssload-loader{-webkit-perspective:780px;border-radius:50%;height:62px;left:calc(50% - 31px);perspective:780px;position:relative;width:62px}.cssload-inner{-webkit-box-sizing:border-box;border-radius:50%;box-sizing:border-box;height:100%;position:absolute;width:100%}.cssload-inner.cssload-one{-webkit-animation:cssload-rotate-one 1.15s linear infinite;animation:cssload-rotate-one 1.15s linear infinite;border-bottom:3px solid #000;left:0;top:0}.cssload-inner.cssload-two{-webkit-animation:cssload-rotate-two 1.15s linear infinite;animation:cssload-rotate-two 1.15s linear infinite;border-right:3px solid #000;right:0;top:0}.cssload-inner.cssload-three{-webkit-animation:cssload-rotate-three 1.15s linear infinite;animation:cssload-rotate-three 1.15s linear infinite;border-top:3px solid #000;bottom:0;right:0}@-webkit-keyframes cssload-rotate-one{0%{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotate(0deg);transform:rotateX(35deg) rotateY(-45deg) rotate(0deg)}to{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotate(1turn);transform:rotateX(35deg) rotateY(-45deg) rotate(1turn)}}@keyframes cssload-rotate-one{0%{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotate(0deg);transform:rotateX(35deg) rotateY(-45deg) rotate(0deg)}to{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotate(1turn);transform:rotateX(35deg) rotateY(-45deg) rotate(1turn)}}@-webkit-keyframes cssload-rotate-two{0%{-webkit-transform:rotateX(50deg) rotateY(10deg) rotate(0deg);transform:rotateX(50deg) rotateY(10deg) rotate(0deg)}to{-webkit-transform:rotateX(50deg) rotateY(10deg) rotate(1turn);transform:rotateX(50deg) rotateY(10deg) rotate(1turn)}}@keyframes cssload-rotate-two{0%{-webkit-transform:rotateX(50deg) rotateY(10deg) rotate(0deg);transform:rotateX(50deg) rotateY(10deg) rotate(0deg)}to{-webkit-transform:rotateX(50deg) rotateY(10deg) rotate(1turn);transform:rotateX(50deg) rotateY(10deg) rotate(1turn)}}@-webkit-keyframes cssload-rotate-three{0%{-webkit-transform:rotateX(35deg) rotateY(55deg) rotate(0deg);transform:rotateX(35deg) rotateY(55deg) rotate(0deg)}to{-webkit-transform:rotateX(35deg) rotateY(55deg) rotate(1turn);transform:rotateX(35deg) rotateY(55deg) rotate(1turn)}}@keyframes cssload-rotate-three{0%{-webkit-transform:rotateX(35deg) rotateY(55deg) rotate(0deg);transform:rotateX(35deg) rotateY(55deg) rotate(0deg)}to{-webkit-transform:rotateX(35deg) rotateY(55deg) rotate(1turn);transform:rotateX(35deg) rotateY(55deg) rotate(1turn)}}.sorting,.sorting_asc,.sorting_desc{vertical-align:text-bottom}.sorting:before{content:" ↕\00a0"}.sorting_asc:before{content:" ↑\00a0"}.sorting_desc:before{content:" ↓\00a0"}.form thead th,.form thead tr{background:inherit;border:0}.form tr>td:nth-child(odd){max-width:30%;min-width:25px;text-align:right}.form tr>td:nth-child(2n){text-align:left}.invisible tbody>tr:nth-child(odd){background:inherit}.invisible td,.invisible th,.invisible tr{border:0}.message,.static-message{margin:.5em auto;padding:.5em;position:relative;width:95%}.message .close{height:1em;line-height:1em;position:absolute;right:.5em;text-align:center;top:.5em;vertical-align:middle;width:1em}.message:hover .close:after{content:"☒"}.message:hover{cursor:pointer}.message .icon{left:.5em;margin-right:1em;top:.5em}.message.error,.static-message.error{background:#f3e6e6;border:1px solid #924949}.message.error .icon:after{content:"✘"}.message.success,.static-message.success{background:#70dda9;border:1px solid #1f8454}.message.success .icon:after{content:"✔"}.message.info,.static-message.info{background:#ffc;border:1px solid #bfbe3a}.message.info .icon:after{content:"⚠"}.character,.media,.small_character{display:inline-block;height:311px;margin:.25em .125em;position:relative;text-align:center;vertical-align:top;width:220px;z-index:0}.details picture.cover,picture.cover{display:inline;display:initial;width:100%}.character>img,.media>img,.small_character>img{width:100%}.media .edit_buttons>button{margin:.5em auto}.media_metadata>div,.medium_metadata>div,.name,.row{color:#fff;padding:.25em .125em;text-align:right;text-shadow:2px 2px 2px #000;z-index:2}.age_rating,.media_type{text-align:left}.media>.media_metadata{bottom:0;position:absolute;right:0}.media>.medium_metadata{bottom:0;left:0;position:absolute}.media>.name{position:absolute;top:0}.media>.name a{-webkit-transition:none;display:inline-block;transition:none}.media .name a:before{content:"";display:block;height:311px;left:0;position:absolute;top:0;width:220px;z-index:-1}.media-list .media:hover .name a:before{background:rgba(0,0,0,.75)}.media>.name span.canonical{font-weight:700}.media>.name small{font-weight:400}.media:hover .name{background:rgba(0,0,0,.75)}.media-list .media>.name a:hover,.media-list .media>.name a:hover small{color:#1271db}.media:hover>.edit_buttons[hidden],.media:hover>button[hidden]{-webkit-transition:.25s ease;display:block;transition:.25s ease}.media:hover{-webkit-transition:.25s ease;transition:.25s ease}.character>.name a,.character>.name a small,.media>.name a,.media>.name a small,.small_character>.name a,.small_character>.name a small{background:none;color:#fff;text-shadow:2px 2px 2px #000}.anime .name,.manga .name{background:#000;background:rgba(0,0,0,.45);padding:.5em .25em;text-align:center;width:100%}.anime .age_rating,.anime .airing_status,.anime .completion,.anime .delete,.anime .edit,.anime .media_type,.anime .user_rating{background:none;text-align:center}.anime .table,.manga .table{bottom:0;left:0;position:absolute;width:100%}.anime .row,.manga .row{-ms-flex-line-pack:distribute;-ms-flex-pack:distribute;align-content:space-around;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:space-around;padding:0 inherit;text-align:center;width:100%}.anime .row>span,.manga .row>span{text-align:left;z-index:2}.anime .row>div,.manga .row>div{-ms-flex-item-align:center;align-self:center;display:flex-item;font-size:.8em;text-align:center;vertical-align:middle;z-index:2}.anime .media>button.plus_one{border-color:hsla(0,0%,100%,.65);left:44px;left:calc(50% - 66.5px);position:absolute;top:138px;top:calc(50% - 21.5px);z-index:50}.anime .media>button.plus_one:hover{background:#888;color:hsla(0,0%,100%,.65)}.anime .media>button.plus_one:active{background:#444}.manga .row{padding:1px}.manga .media{height:310px;margin:.25em}.manga .media>.edit_buttons{left:43.5px;left:calc(50% - 66.5px);position:absolute;top:86px;top:calc(50% - 22.4px);z-index:40}.manga .media>.edit_buttons button{border-color:hsla(0,0%,100%,.65)}.manga .media>.edit_buttons:hover button{background:#888;color:hsla(0,0%,100%,.65)}.manga .media>.edit_buttons button:active{background:#444}.media.search>.name{background-color:#555;background-color:rgba(0,0,0,.35);background-repeat:no-repeat;background-size:cover;background-size:contain}.media.search>.row{z-index:6}.big-check,.mal-check{display:none}.big-check:checked+label{-webkit-transition:.25s ease;background:rgba(0,0,0,.75);transition:.25s ease}.big-check:checked+label:after{color:#adff2f;content:"✓";font-size:15em;font-size:150px;font-size:15rem;height:100%;left:0;position:absolute;text-align:center;top:147px;width:100%;z-index:5}#series_list article.media{position:relative}#series_list .name,#series_list .name label{display:block;height:100%;left:0;line-height:1.25em;position:absolute;top:0;vertical-align:middle;width:100%}#series_list .name small{color:#fff}.details{font-size:inherit;margin:1.5rem auto 0;padding:1rem}.description{max-width:800px;max-width:80rem}.fixed{margin:0 auto;max-width:1000px;max-width:100rem}.fixed .text{max-width:600px}.details .cover{display:block;width:284px}.details h2{margin-top:0}.details .flex>*{margin:1rem}.details .media_details td{padding:0 1.5rem}.details p{text-align:justify}.details .media_details td:nth-child(odd){text-align:right;white-space:nowrap;width:1%}.details .media_details td:nth-child(2n){text-align:left}.character,.person,.small_character{height:350px;position:relative;vertical-align:middle;white-space:nowrap;width:225px}.person{height:338px;width:225px}.character a{height:350px}.character:hover .name,.small_character:hover .name{background:rgba(0,0,0,.8)}.small_character a{display:inline-block;height:100%;width:100%}.character .name,.small_character .name{bottom:0;left:0;position:absolute;z-index:10}.character img,.character picture,.person img,.person picture,.small_character img,.small_character picture{-webkit-transform:translate(-50%,-50%);left:50%;max-height:350px;max-width:225px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:5}.person img,.person picture{max-height:338px}.min-table{margin-left:0;min-width:0}aside.info{max-width:390px}aside.info img,aside.info picture{display:block;margin:0 auto}.small_character{height:250px;width:160px}.small_character img,.small_character picture{max-height:250px;max-width:160px}.user-page .media-wrap{text-align:left}.media a{display:inline-block;height:100%;width:100%}@media screen and (max-width:40em){nav a{line-height:4em;line-height:4rem}.media{margin:2px 0}main{padding:0 .5rem .5rem}}.streaming-logo{height:50px;vertical-align:middle;width:50px}.cover_streaming_link{display:none}.media:hover .cover_streaming_link{display:block}.cover_streaming_link .streaming-logo{-webkit-filter:drop-shadow(0 -1px 4px #fff);filter:drop-shadow(0 -1px 4px #fff);height:20px;width:20px}#loading-shadow{background:rgba(0,0,0,.8);z-index:500}#loading-shadow,#loading-shadow .loading-wrapper{height:100%;left:0;position:fixed;top:0;width:100%}#loading-shadow .loading-wrapper{-ms-flex-align:center;-ms-flex-pack:center;-webkit-box-align:center;-webkit-box-pack:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;z-index:501}#loading-shadow .loading-content{color:#fff;position:relative}.loading-content .cssload-inner.cssload-one,.loading-content .cssload-inner.cssload-three,.loading-content .cssload-inner.cssload-two{border-color:#fff}.tabs{-ms-flex-wrap:wrap;-webkit-box-shadow:0 48px 80px -32px rgba(0,0,0,.3);background:#efefef;box-shadow:0 48px 80px -32px rgba(0,0,0,.3);display:-webkit-box;display:-ms-flexbox;display:flex;flex-wrap:wrap;margin-top:1.5em}.tabs>label{-webkit-transition:background .1s,color .1s;background:#e5e5e5;border:1px solid #e5e5e5;color:#7f7f7f;cursor:pointer;font-size:18px;font-weight:700;padding:20px 30px;transition:background .1s,color .1s;width:100%}.tabs>label:hover{background:#d8d8d8}.tabs>label:active{background:#ccc}.tabs>[type=radio]:focus+label{-webkit-box-shadow:inset 0 0 0 3px #2aa1c0;box-shadow:inset 0 0 0 3px #2aa1c0;z-index:1}.tabs>[type=radio]{opacity:0;position:absolute}.tabs>[type=radio]:checked+label{background:#fff;border-bottom:1px solid #fff;color:#000}.tabs>[type=radio]:checked+label+.content{background:#fff;border:1px solid #e5e5e5;border-top:0;display:block;padding:20px 30px 30px;width:100%}.tabs .content{display:none}@media (min-width:600px){.tabs>label{width:auto}.tabs .content{-ms-flex-order:99;-webkit-box-ordinal-group:100;order:99}}.settings.form .content article{display:inline-block;margin:1em;width:auto} \ No newline at end of file +:root{-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-box-sizing:border-box;-webkit-text-size-adjust:100%;box-sizing:border-box;cursor:default;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,sans-serif;line-height:1.4;overflow-y:scroll;scroll-behavior:smooth;text-size-adjust:100%}audio:not([controls]){display:none}details{display:block}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}main{margin:0 auto;padding:0 1.6rem 1.6rem}main,pre,summary{display:block}pre{background:#efefef;color:#444;font-family:Anonymous Pro,Fira Code,Menlo,Monaco,Consolas,Courier New,monospace;font-size:1.4em;font-size:14px;font-size:1.4rem;margin:1.6rem 0;overflow:auto;padding:1.6rem;word-break:break-all;word-wrap:break-word}progress{display:inline-block}small{color:#777;font-size:75%}big{font-size:125%}template{display:none}textarea{border:.1rem solid #ccc;border-radius:0;display:block;margin-bottom:.8rem;overflow:auto;padding:.8rem;resize:vertical;vertical-align:middle}[hidden]{display:none}[unselectable]{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}*,:after,:before{-webkit-box-sizing:inherit;border-style:solid;border-width:0;box-sizing:inherit}*{font-size:inherit;line-height:inherit;margin:0;padding:0}:after,:before{text-decoration:inherit;vertical-align:inherit}a{-webkit-transition:.25s ease;color:#1271db;text-decoration:none;transition:.25s ease}audio,canvas,iframe,img,svg,video{vertical-align:middle}button,input,select,textarea{border:.1rem solid #ccc;color:inherit;font-family:inherit;font-style:inherit;font-weight:inherit;min-height:1.4em}code,kbd,pre,samp{font-family:Anonymous Pro,Fira Code,Menlo,Monaco,Consolas,Courier New,monospace}table{border-collapse:collapse;border-spacing:0;margin-bottom:1.6rem}::-moz-selection{background-color:#b3d4fc;text-shadow:none}::selection{background-color:#b3d4fc;text-shadow:none}button::-moz-focus-inner{border:0}body{color:#444;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;font-size:1.6rem;font-style:normal;font-weight:400;padding:0}p{margin:0 0 1.6rem}h1,h2,h3,h4,h5,h6{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,sans-serif;margin:2rem 0 1.6rem}h1{border-bottom:.1rem solid rgba(0,0,0,.2);font-size:3.6em;font-size:36px;font-size:3.6rem}h1,h2{font-style:normal;font-weight:500}h2{font-size:3em;font-size:30px;font-size:3rem}h3{font-size:2.4em;font-size:24px;font-size:2.4rem;font-style:normal;font-weight:500;margin:1.6rem 0 .4rem}h4{font-size:1.8em;font-size:18px;font-size:1.8rem}h4,h5{font-style:normal;font-weight:600;margin:1.6rem 0 .4rem}h5{font-size:1.6em;font-size:16px;font-size:1.6rem}h6{color:#777;font-size:1.4em;font-style:normal;font-weight:600;margin:1.6rem 0 .4rem}code,h6{font-size:14px;font-size:1.4rem}code{background:#efefef;color:#444;font-family:Anonymous Pro,Fira Code,Menlo,Monaco,Consolas,Courier New,monospace;word-break:break-all;word-wrap:break-word}a:focus,a:hover{text-decoration:none}dl{margin-bottom:1.6rem}dd{margin-left:4rem}ol,ul{margin-bottom:.8rem;padding-left:2rem}blockquote{border-left:.2rem solid #1271db;font-style:italic;margin:1.6rem 0;padding-left:1.6rem}blockquote,figcaption{font-family:Georgia,Times,Times New Roman,serif}html{font-size:62.5%}article,aside,details,footer,header,main,section,summary{display:block;height:auto;margin:0 auto;width:100%}footer{clear:both;display:inline-block;float:left;max-width:100%;padding:1rem 0;text-align:center}footer,hr{border-top:.1rem solid rgba(0,0,0,.2)}hr{display:block;margin-bottom:1.6rem;width:100%}img{height:auto;vertical-align:baseline}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select{border:.1rem solid #ccc;border-radius:0;display:inline-block;padding:.8rem;vertical-align:middle}input:not([type]){-webkit-appearance:none;background-clip:padding-box;background-color:#fff;border:.1rem solid #ccc;border-radius:0;color:#444;display:inline-block;padding:.8rem;text-align:left}input[type=color]{padding:.8rem 1.6rem}input:not([type]):focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#b3d4fc}input[type=checkbox],input[type=radio]{vertical-align:middle}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:1px thin solid #444;outline:.1rem thin solid #444}input:not([type])[disabled],input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled],select[disabled],textarea[disabled]{background-color:#efefef;color:#777;cursor:not-allowed}input[readonly],select[readonly],textarea[readonly]{background-color:#efefef;border-color:#ccc;color:#777}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{border-color:#e9322d;color:#b94a48}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#ff4136}select{background-color:#fff;border:.1rem solid #ccc}select[multiple]{height:auto}label{line-height:2}fieldset{border:0;margin:0;padding:.8rem 0}legend{border-bottom:.1rem solid #ccc;color:#444;display:block;margin-bottom:.8rem;padding:.8rem 0;width:100%}button,input[type=submit]{-moz-user-select:none;-ms-user-select:none;-webkit-transition:.25s ease;-webkit-user-drag:none;-webkit-user-select:none;border:.2rem solid #444;border-radius:0;color:#444;cursor:pointer;display:inline-block;margin-bottom:.8rem;margin-right:.4rem;padding:.8rem 1.6rem;text-align:center;text-decoration:none;text-transform:uppercase;transition:.25s ease;user-select:none;vertical-align:baseline}button a,input[type=submit] a{color:#444}button::-moz-focus-inner,input[type=submit]::-moz-focus-inner{padding:0}button:hover,input[type=submit]:hover{background:#444;border-color:#444;color:#fff}button:hover a,input[type=submit]:hover a{color:#fff}button:active,input[type=submit]:active{background:#6a6a6a;border-color:#6a6a6a;color:#fff}button:active a,input[type=submit]:active a{color:#fff}button:disabled,input[type=submit]:disabled{-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed;opacity:.4}nav ul{list-style:none;margin:0;padding:0;text-align:center}nav ul li{display:inline}nav a{-webkit-transition:.25s ease;border-bottom:.2rem solid transparent;color:#444;padding:.8rem 1.6rem;text-decoration:none;transition:.25s ease}nav a:hover,nav li.selected a{border-color:rgba(0,0,0,.2)}nav a:active{border-color:rgba(0,0,0,.56)}caption{padding:.8rem 0}thead th{background:#efefef;color:#444}tr{background:#fff;margin-bottom:.8rem}td,th{border:.1rem solid #ccc;padding:.8rem 1.6rem;text-align:center;vertical-align:inherit}tfoot tr{background:none}tfoot td{color:#efefef;font-size:8px;font-size:.8rem;font-style:italic;padding:1.6rem .4rem}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){clip:rect(0)!important;position:absolute!important}}@media screen and max-width 40rem{article,aside,section{clear:both;display:block;max-width:100%}img{margin-right:1.6rem}}.media[hidden],[hidden=hidden],template{display:none}body{margin:.5em}button{background:hsla(0,0%,100%,.65);margin:0}table{-webkit-box-shadow:0 48px 80px -32px rgba(0,0,0,.3);box-shadow:0 48px 80px -32px rgba(0,0,0,.3);margin:0 auto}td{padding:1rem}thead td,thead th{padding:.5rem}input[type=number]{width:4em}tbody>tr:nth-child(odd){background:#ddd}a:active,a:hover{color:#7d12db}.bracketed{color:#12db18}#main-nav a,.bracketed{text-shadow:1px 1px 1px #000}.bracketed:before{content:"[\00a0"}.bracketed:after{content:"\00a0]"}.bracketed:active,.bracketed:hover{color:#db7d12}.grow-1{-ms-flex-positive:1;-webkit-box-flex:1;flex-grow:1}.flex-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-no-wrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-align-start{-ms-flex-line-pack:start;align-content:flex-start}.flex-align-end{-ms-flex-align:end;-webkit-box-align:end;align-items:flex-end}.flex-align-space-around{-ms-flex-line-pack:distribute;align-content:space-around}.flex-justify-start{-ms-flex-pack:start;-webkit-box-pack:start;justify-content:flex-start}.flex-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.flex-center{-ms-flex-pack:center;-webkit-box-pack:center;justify-content:center}.flex-self-center{-ms-flex-item-align:center;align-self:center}.flex-space-evenly{-ms-flex-pack:space-evenly;-webkit-box-pack:space-evenly;justify-content:space-evenly}.flex{display:inline-block;display:-webkit-box;display:-ms-flexbox;display:flex}.small-font{font-size:16px;font-size:1.6rem}.justify{text-align:justify}.align_center{text-align:center!important}.align_left{text-align:left!important}.align_right{text-align:right!important}.valign_top{vertical-align:top}.no_border{border:none}.media-wrap{margin:0 auto;position:relative;text-align:center}.media-wrap-flex{-ms-flex-line-pack:space-evenly;-ms-flex-pack:justify;-ms-flex-wrap:wrap;-webkit-box-pack:justify;align-content:space-evenly;display:inline-block;display:-webkit-box;display:-ms-flexbox;display:flex;flex-wrap:wrap;justify-content:space-between;position:relative}td .media-wrap-flex{-ms-flex-pack:center;-webkit-box-pack:center;justify-content:center}.danger{background-color:#ff4136;border-color:#924949;color:#fff}.danger:active,.danger:hover{background-color:#924949;border-color:#ff4136;color:#fff}.user-btn{border-color:#12db18;color:#12db18;padding:0 .5rem;text-shadow:1px 1px 1px #000}.user-btn:active,.user-btn:hover{background-color:#db7d12;border-color:#db7d12}.full_width{width:100%}.full-height{max-height:none}.toph{margin-top:0}#main-nav{border-bottom:.1rem solid rgba(0,0,0,.2);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,sans-serif;font-size:3.6em;font-size:36px;font-size:3.6rem;font-style:normal;font-weight:500;margin:2rem 0 1.6rem}.cssload-loader{-webkit-perspective:780px;border-radius:50%;height:62px;left:calc(50% - 31px);perspective:780px;position:relative;width:62px}.cssload-inner{-webkit-box-sizing:border-box;border-radius:50%;box-sizing:border-box;height:100%;position:absolute;width:100%}.cssload-inner.cssload-one{-webkit-animation:cssload-rotate-one 1.15s linear infinite;animation:cssload-rotate-one 1.15s linear infinite;border-bottom:3px solid #000;left:0;top:0}.cssload-inner.cssload-two{-webkit-animation:cssload-rotate-two 1.15s linear infinite;animation:cssload-rotate-two 1.15s linear infinite;border-right:3px solid #000;right:0;top:0}.cssload-inner.cssload-three{-webkit-animation:cssload-rotate-three 1.15s linear infinite;animation:cssload-rotate-three 1.15s linear infinite;border-top:3px solid #000;bottom:0;right:0}@-webkit-keyframes cssload-rotate-one{0%{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotate(0deg);transform:rotateX(35deg) rotateY(-45deg) rotate(0deg)}to{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotate(1turn);transform:rotateX(35deg) rotateY(-45deg) rotate(1turn)}}@keyframes cssload-rotate-one{0%{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotate(0deg);transform:rotateX(35deg) rotateY(-45deg) rotate(0deg)}to{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotate(1turn);transform:rotateX(35deg) rotateY(-45deg) rotate(1turn)}}@-webkit-keyframes cssload-rotate-two{0%{-webkit-transform:rotateX(50deg) rotateY(10deg) rotate(0deg);transform:rotateX(50deg) rotateY(10deg) rotate(0deg)}to{-webkit-transform:rotateX(50deg) rotateY(10deg) rotate(1turn);transform:rotateX(50deg) rotateY(10deg) rotate(1turn)}}@keyframes cssload-rotate-two{0%{-webkit-transform:rotateX(50deg) rotateY(10deg) rotate(0deg);transform:rotateX(50deg) rotateY(10deg) rotate(0deg)}to{-webkit-transform:rotateX(50deg) rotateY(10deg) rotate(1turn);transform:rotateX(50deg) rotateY(10deg) rotate(1turn)}}@-webkit-keyframes cssload-rotate-three{0%{-webkit-transform:rotateX(35deg) rotateY(55deg) rotate(0deg);transform:rotateX(35deg) rotateY(55deg) rotate(0deg)}to{-webkit-transform:rotateX(35deg) rotateY(55deg) rotate(1turn);transform:rotateX(35deg) rotateY(55deg) rotate(1turn)}}@keyframes cssload-rotate-three{0%{-webkit-transform:rotateX(35deg) rotateY(55deg) rotate(0deg);transform:rotateX(35deg) rotateY(55deg) rotate(0deg)}to{-webkit-transform:rotateX(35deg) rotateY(55deg) rotate(1turn);transform:rotateX(35deg) rotateY(55deg) rotate(1turn)}}.sorting,.sorting_asc,.sorting_desc{vertical-align:text-bottom}.sorting:before{content:" ↕\00a0"}.sorting_asc:before{content:" ↑\00a0"}.sorting_desc:before{content:" ↓\00a0"}.form thead th,.form thead tr{background:inherit;border:0}.form tr>td:nth-child(odd){max-width:30%;min-width:25px;text-align:right}.form tr>td:nth-child(2n){text-align:left}.invisible tbody>tr:nth-child(odd){background:inherit}.borderless,.borderless td,.borderless th,.borderless tr,.invisible td,.invisible th,.invisible tr{-webkit-box-shadow:none;border:0;box-shadow:none}.message,.static-message{margin:.5em auto;padding:.5em;position:relative;width:95%}.message .close{height:1em;line-height:1em;position:absolute;right:.5em;text-align:center;top:.5em;vertical-align:middle;width:1em}.message:hover .close:after{content:"☒"}.message:hover{cursor:pointer}.message .icon{left:.5em;margin-right:1em;top:.5em}.message.error,.static-message.error{background:#f3e6e6;border:1px solid #924949}.message.error .icon:after{content:"✘"}.message.success,.static-message.success{background:#70dda9;border:1px solid #1f8454}.message.success .icon:after{content:"✔"}.message.info,.static-message.info{background:#ffc;border:1px solid #bfbe3a}.message.info .icon:after{content:"⚠"}.character,.media,.small_character{background:rgba(0,0,0,.15);display:inline-block;height:311px;margin:.25em .125em;position:relative;text-align:center;vertical-align:top;width:220px;z-index:0}.details picture.cover,picture.cover{display:inline;display:initial;width:100%}.character>img,.media>img,.small_character>img{width:100%}.media .edit_buttons>button{margin:.5em auto}.media_metadata>div,.medium_metadata>div,.name,.row{color:#fff;padding:.25em .125em;text-align:right;text-shadow:2px 2px 2px #000;z-index:2}.age_rating,.media_type{text-align:left}.media>.media_metadata{bottom:0;position:absolute;right:0}.media>.medium_metadata{bottom:0;left:0;position:absolute}.media>.name{position:absolute;top:0}.media>.name a{-webkit-transition:none;display:inline-block;transition:none}.media .name a:before{content:"";display:block;height:311px;left:0;position:absolute;top:0;width:220px;z-index:-1}.media-list .media:hover .name a:before{background:rgba(0,0,0,.75)}.media>.name span.canonical{font-weight:700}.media>.name small{font-weight:400}.media:hover .name{background:rgba(0,0,0,.75)}.media-list .media>.name a:hover,.media-list .media>.name a:hover small{color:#1271db}.media:hover>.edit_buttons[hidden],.media:hover>button[hidden]{-webkit-transition:.25s ease;display:block;transition:.25s ease}.media:hover{-webkit-transition:.25s ease;transition:.25s ease}.character>.name a,.character>.name a small,.media>.name a,.media>.name a small,.small_character>.name a,.small_character>.name a small{background:none;color:#fff;text-shadow:2px 2px 2px #000}.anime .name,.manga .name{background:#000;background:rgba(0,0,0,.45);padding:.5em .25em;text-align:center;width:100%}.anime .age_rating,.anime .airing_status,.anime .completion,.anime .delete,.anime .edit,.anime .media_type,.anime .user_rating{background:none;text-align:center}.anime .table,.manga .table{bottom:0;left:0;position:absolute;width:100%}.anime .row,.manga .row{-ms-flex-line-pack:distribute;-ms-flex-pack:distribute;align-content:space-around;display:inline-block;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:space-around;padding:0 inherit;text-align:center;width:100%}.anime .row>span,.manga .row>span{text-align:left;z-index:2}.anime .row>div,.manga .row>div{-ms-flex-item-align:center;align-self:center;display:inline-block;display:flex-item;font-size:.8em;text-align:center;vertical-align:middle;z-index:2}.anime .media>button.plus_one{border-color:hsla(0,0%,100%,.65);left:44px;left:calc(50% - 66.5px);position:absolute;top:138px;top:calc(50% - 21.5px);z-index:50}.anime .media>button.plus_one:hover{background:#888;color:hsla(0,0%,100%,.65)}.anime .media>button.plus_one:active{background:#444}.manga .row{padding:1px}.manga .media{height:310px;margin:.25em}.manga .media>.edit_buttons{left:43.5px;left:calc(50% - 66.5px);position:absolute;top:86px;top:calc(50% - 22.4px);z-index:40}.manga .media>.edit_buttons button{border-color:hsla(0,0%,100%,.65)}.manga .media>.edit_buttons:hover button{background:#888;color:hsla(0,0%,100%,.65)}.manga .media>.edit_buttons button:active{background:#444}.media.search>.name{background-color:#555;background-color:rgba(0,0,0,.35);background-repeat:no-repeat;background-size:cover;background-size:contain}.media.search>.row{z-index:6}.big-check,.mal-check{display:none}.big-check:checked+label{-webkit-transition:.25s ease;background:rgba(0,0,0,.75);transition:.25s ease}.big-check:checked+label:after{color:#adff2f;content:"✓";font-size:15em;font-size:150px;font-size:15rem;height:100%;left:0;position:absolute;text-align:center;top:147px;width:100%;z-index:5}#series_list article.media{position:relative}#series_list .name,#series_list .name label{display:block;height:100%;left:0;line-height:1.25em;position:absolute;top:0;vertical-align:middle;width:100%}#series_list .name small{color:#fff}.details{font-size:inherit;margin:1.5rem auto 0;padding:1rem}.description{max-width:800px;max-width:80rem}.fixed{margin:0 auto;max-width:1000px;max-width:100rem}.fixed .text{max-width:600px}.details .cover{display:block}.details .flex>*{margin:1rem}.details .media_details td{padding:0 1.5rem}.details p{text-align:justify}.details .media_details td:nth-child(odd){text-align:right;white-space:nowrap;width:1%}.details .media_details td:nth-child(2n){text-align:left}.details a h1,.details a h2{margin-top:0}.character,.person,.small_character{height:350px;position:relative;vertical-align:middle;white-space:nowrap;width:225px}.person{height:338px;width:225px}.small_person{height:300px;width:200px}.character a{height:350px}.character:hover .name,.small_character:hover .name{background:rgba(0,0,0,.8)}.small_character a{display:inline-block;height:100%;width:100%}.character .name,.small_character .name{bottom:0;left:0;position:absolute;z-index:10}.character img,.character picture,.person img,.person picture,.small_character img,.small_character picture{-webkit-transform:translate(-50%,-50%);left:50%;max-height:350px;max-width:225px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:5}.person img,.person picture{max-height:338px}.small_person img,.small_person picture{max-height:300px;max-width:200px}.min-table{margin-left:0;min-width:0}.max-table{margin:0;min-width:100%}aside.info{max-width:390px}aside.info img,aside.info picture{display:block;margin:0 auto}.small_character{height:250px;width:160px}.small_character img,.small_character picture{max-height:250px;max-width:160px}.user-page .media-wrap{text-align:left}.media a{display:inline-block;height:100%;width:100%}@media screen and (max-width:40em){nav a{line-height:4em;line-height:4rem}.media{margin:2px 0}main{padding:0 .5rem .5rem}}.streaming-logo{height:50px;vertical-align:middle;width:50px}.cover_streaming_link{display:none}.media:hover .cover_streaming_link{display:block}.cover_streaming_link .streaming-logo{-webkit-filter:drop-shadow(0 -1px 4px #fff);filter:drop-shadow(0 -1px 4px #fff);height:20px;width:20px}#loading-shadow{background:rgba(0,0,0,.8);z-index:500}#loading-shadow,#loading-shadow .loading-wrapper{height:100%;left:0;position:fixed;top:0;width:100%}#loading-shadow .loading-wrapper{-ms-flex-align:center;-ms-flex-pack:center;-webkit-box-align:center;-webkit-box-pack:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;justify-content:center;z-index:501}#loading-shadow .loading-content{color:#fff;position:relative}.loading-content .cssload-inner.cssload-one,.loading-content .cssload-inner.cssload-three,.loading-content .cssload-inner.cssload-two{border-color:#fff}.tabs{-ms-flex-wrap:wrap;-webkit-box-shadow:0 48px 80px -32px rgba(0,0,0,.3);background:#efefef;box-shadow:0 48px 80px -32px rgba(0,0,0,.3);display:inline-block;display:-webkit-box;display:-ms-flexbox;display:flex;flex-wrap:wrap;margin-top:1.5em}.tabs>label{-webkit-transition:background .1s,color .1s;background:#e5e5e5;border:1px solid #e5e5e5;color:#7f7f7f;cursor:pointer;font-size:18px;font-weight:700;padding:20px 30px;transition:background .1s,color .1s;width:100%}.tabs>label:hover{background:#d8d8d8}.tabs>label:active{background:#ccc}.tabs>[type=radio]:focus+label{-webkit-box-shadow:inset 0 0 0 3px #2aa1c0;box-shadow:inset 0 0 0 3px #2aa1c0;z-index:1}.tabs>[type=radio]{opacity:0;position:absolute}.tabs>[type=radio]:checked+label{background:#fff;border-bottom:1px solid #fff;color:#000}.tabs>[type=radio]:checked+label+.content{background:#fff;border:1px solid #e5e5e5;border-top:0;display:block;margin:0 auto;overflow:auto;padding:15px;width:100%}.tabs .content{display:none;max-height:950px}.tabs .content.full-height{max-height:none}@media (min-width:600px){.tabs>label{width:auto}.tabs .content{-ms-flex-order:99;-webkit-box-ordinal-group:100;order:99}}.vertical-tabs{-webkit-box-shadow:0 48px 80px -32px rgba(0,0,0,.3);border:1px solid #e5e5e5;box-shadow:0 48px 80px -32px rgba(0,0,0,.3);margin:0 auto;position:relative;width:100%}.vertical-tabs input[type=radio]{display:none}.vertical-tabs .tab{-ms-flex-wrap:nowrap;display:inline-block;display:-webkit-box;display:-ms-flexbox;display:flex;flex-wrap:nowrap}.vertical-tabs .tab,.vertical-tabs .tab label{-ms-flex-align:center;-webkit-box-align:center;align-items:center}.vertical-tabs .tab label{background:#e5e5e5;border:1px solid #e5e5e5;color:#7f7f7f;cursor:pointer;font-size:18px;font-weight:700;padding:0 20px;width:28%}.vertical-tabs .tab label:hover{background:#d8d8d8}.vertical-tabs .tab label:active{background:#ccc}.vertical-tabs .tab .content{border:1px solid #e5e5e5;border-left:0;border-right:0;display:none;max-height:950px;overflow:auto}.vertical-tabs .tab .content.full-height{max-height:none}.vertical-tabs [type=radio]:checked+label{background:#fff;border:0;color:#000;width:38%}.vertical-tabs [type=radio]:focus+label{-webkit-box-shadow:inset 0 0 0 3px #2aa1c0;box-shadow:inset 0 0 0 3px #2aa1c0;z-index:1}.vertical-tabs [type=radio]:checked~.content{display:block}.settings.form .content article{display:inline-block;margin:1em;width:auto} \ No newline at end of file diff --git a/public/css/base.css b/public/css/base.css index 1fb72b88..321dc760 100644 --- a/public/css/base.css +++ b/public/css/base.css @@ -30,6 +30,7 @@ button { table { /* min-width: 85%; */ + box-shadow: 0 48px 80px -32px rgba(0, 0, 0, 0.3); margin: 0 auto; } @@ -124,6 +125,7 @@ a:hover, a:active { } .flex { + display: inline-block; display: flex } @@ -156,12 +158,13 @@ a:hover, a:active { } .media-wrap { - text-align: left; + text-align: center; margin: 0 auto; position: relative; } .media-wrap-flex { + display: inline-block; display: flex; flex-wrap: wrap; align-content: space-evenly; @@ -202,6 +205,14 @@ td .media-wrap-flex { width: 100%; } +.full-height { + max-height: none; +} + +.toph { + margin-top: 0; +} + /* ----------------------------------------------------------------------------- Main Nav ------------------------------------------------------------------------------*/ @@ -330,10 +341,19 @@ td .media-wrap-flex { background: inherit; } -.invisible tr, .invisible td, .invisible th { +.borderless, +.borderless tr, +.borderless td, +.borderless th, +.invisible tr, +.invisible td, +.invisible th { + box-shadow: none; border: 0; } + + /* ----------------------------------------------------------------------------- Message boxes ------------------------------------------------------------------------------*/ @@ -410,10 +430,7 @@ td .media-wrap-flex { height: 311px; margin: var(--normal-padding); z-index: 0; -} - -.small_character { - + background: rgba(0,0,0,0.15); } .details picture.cover, @@ -428,10 +445,6 @@ picture.cover { width: 100%; } -.small_character { - -} - .media .edit_buttons > button { margin: 0.5em auto; } @@ -561,6 +574,7 @@ picture.cover { .anime .row, .manga .row { width: 100%; + display: inline-block; display: flex; align-content: space-around; justify-content: space-around; @@ -575,6 +589,7 @@ picture.cover { .anime .row > div, .manga .row > div { font-size: 0.8em; + display: inline-block; display: flex-item; align-self: center; text-align: center; @@ -719,12 +734,6 @@ picture.cover { .details .cover { display: block; - width: 284px; - /* height: 402px; */ -} - -.details h2 { - margin-top: 0; } .details .flex > * { @@ -749,6 +758,11 @@ picture.cover { text-align: left; } +.details a h1, +.details a h2 { + margin-top: 0; +} + .character, .small_character, .person { @@ -765,6 +779,11 @@ picture.cover { height: 338px; } +.small_person { + width: 200px; + height: 300px; +} + .character a { height: 350px; } @@ -808,11 +827,22 @@ picture.cover { max-height: 338px; } +.small_person img, +.small_person picture { + max-height: 300px; + max-width: 200px; +} + .min-table { min-width: 0; margin-left: 0; } +.max-table { + min-width:100%; + margin: 0; +} + aside.info { max-width: 390px; } @@ -930,6 +960,7 @@ aside.info picture, aside.info img { CSS Tabs -----------------------------------------------------------------------------*/ .tabs { + display: inline-block; display: flex; flex-wrap: wrap; background: #efefef; @@ -978,13 +1009,22 @@ CSS Tabs border: 1px solid #e5e5e5; border-top: 0; display: block; - padding: 20px 30px 30px; + padding: 15px; background: #fff; width: 100%; + margin: 0 auto; + + overflow: auto; + /* text-align: center; */ } .tabs .content { display: none; + max-height: 950px; +} + +.tabs .content.full-height { + max-height: none; } @media (min-width: 600px) { @@ -997,6 +1037,78 @@ CSS Tabs } } +/* --------------------------------------------------------------------------- + Vertical Tabs + ----------------------------------------------------------------------------*/ + +.vertical-tabs { + border: 1px solid #e5e5e5; + box-shadow: 0 48px 80px -32px rgba(0, 0, 0, 0.3); + margin: 0 auto; + position: relative; + width: 100%; +} + +.vertical-tabs input[type="radio"] { + display: none; +} + +.vertical-tabs .tab { + align-items: center; + display: inline-block; + display: flex; + flex-wrap: nowrap; +} + +.vertical-tabs .tab label { + align-items: center; + background: #e5e5e5; + border: 1px solid #e5e5e5; + color: #7f7f7f; + cursor: pointer; + font-size: 18px; + font-weight: bold; + padding: 0 20px; + width: 28%; +} + +.vertical-tabs .tab label:hover { + background: #d8d8d8; +} + +.vertical-tabs .tab label:active { + background: #ccc; +} + +.vertical-tabs .tab .content { + display: none; + border: 1px solid #e5e5e5; + border-left: 0; + border-right: 0; + max-height: 950px; + overflow: auto; +} + +.vertical-tabs .tab .content.full-height { + max-height: none; +} + +.vertical-tabs [type=radio]:checked + label { + border: 0; + background: #fff; + color: #000; + width: 38%; +} + +.vertical-tabs [type=radio]:focus + label { + box-shadow: inset 0px 0px 0px 3px #2aa1c0; + z-index: 1; +} + +.vertical-tabs [type=radio]:checked ~ .content { + display: block; +} + /* ---------------------------------------------------------------------------- Settings Form -----------------------------------------------------------------------------*/ diff --git a/public/images/placeholder.png b/public/images/placeholder.png index 14327ee6d0c6995163296f45421123e9e4e283bc..e878e9337adba471adc3a53eb444177ac1daddc0 100644 GIT binary patch literal 807 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yaTa()7BevL9RXp+soH$f3=B*+ zJzX3_DsH{Kc`>h9fx+S8&M(J*6xsFKnHsXOTv>Fjc;2?WnN9b^?o0{##r)}?FCzyF z3lkG#V}pZ(f`Whm2L}rX6B2@`L{Wty1Tzmw6^0PPR=6rGLdzK7vJhM5JvV)%px82{ z+V+^m-O@*P$x(d^zx;|lXJ3AHThG#Txo>i>zs*-LJeFzq;pz97^Cw;xKdpZFG)#a& zoL{A7LQ>D=Kgm0{wP?n^xpdzCxW?am=6N&jRCpbak`6y#w9d@lT`x1Luk^}Cx0vIQ;nr-ufU*ETU^z7Bl*Ly$P{HlsInxI=f zQ`fue&hB^H)%TXIxwRuJUo8F2+o=An<@3((h}(X*S;kUv@x4a3d8bbp_RibCdENEb zd4*T5T~=(lvT4bVQ)*jF*H4v>&U=4xQ@V8Nx&0pk9$x#ekrR1ZU%f1M?VaMr=;^lp z|6Oic+q=iEU%PC|rOe6GZ;P+7J*l;K^|m$M)$`kAKb9>0`ZDBQucn(qR_|QfvV}A+G=b|95b3So}9Y z8z{n9666=m;PC85+C)Y1dWKd{7sn8b)5!@Etcw#KF!nRfc;ftUqvB@?2bY;v2~ z?Qg$Hxp9NvK;?YS14HvSx!%tbAA2Tvm{}Z1Ry$bSCb@$D#AfzSD*xxKe4hBY{y;)H z!xigTe~DWM4faEVmG diff --git a/public/images/placeholder.webp b/public/images/placeholder.webp new file mode 100644 index 0000000000000000000000000000000000000000..cbbab7c548c4b5648bcf54e123ec03051743abf6 GIT binary patch literal 1288 zcmV+j1^4<=Nk&Eh1pok7MM6+kP&il$0000G0002T0074T06|PpNV)(3009p${}B-a zZf)DDs)O5;6tBTjig9ScT_TI=;zq=W@gzc0_XeEr{-0F9i0Jup z*yWWq2$U+IV17IaIwYQa^Rz2hCJYsl=sR2~Ba)!lba3Ut)IlYsG_D|pB!WZW%9^Q< z;-p?&7Zyq6bNI}a2OA&tB}HHSfF#1DDXtuu`Y4@L+ZCqDy~rWm;>wYwgA)HM_A?jG z1l`Emm%eb^g7N160|2`b)IRD|d(;zFP&gnU1ONbV9{`;JD#!rH06uLtnn|Q1BB3GG zSSWxEiD_=(bx|Aa0R92mC-)wFuMT?0lMU=&kzS2|9o-%Me>K%?^Dp(^+x@LQKz`bLB7Ua? zNsTV2nRvZ4x}Ig?^wR2imy6R&speiUO)jUIc)c{bo@L?O+|_}2QYZAf0Ph$k&_gnR zi1?I8IJOHXP1R!J#f$>bAd5CFgljW?3R(dm#XO1go(6xTOzByI`PE2)5hx?Hr5Muc zd6$dROR45wFHJ6|nRvZ4x}Ig?^wR2imy6R&spaSZ{{O3B00b9s#Xq*3fo0d3_>s7` zF#QToF1oflLs`_{$1Fs84p|;3od}e}E)}O?5p!w@vN?Vwy-Md#V|e?;s?MFjMBX3G z%0@(U`L{}7r-^W1sM^2hx#iVHA$URxi(X-9v(#_?Tv&cYSET}^v(+6Abqjqv(TCf} zp$|=#dV&ZiEXsO|z^=m9(Yh+Xf7!rqr|~m6S{?{IDe3ENXEZ#7*u8pN6pKPLZ z&SaGcXi4?-rt>sZe-Hf^L&v}CL^+xJUG9TF0PC{W16cIivXW1^XL=j8FTe+E&p+IR zM&|<7!DlXOcRs{>&F`8*uK)9wBvP`v6Gq@dXWwG~(DsZ`dO_|a(DmQIPuVZAtET_Z z#vo@(pBcsDc`BRMln0{JI%#G#Vjd6gcf_6z2o#f4P#&O8fQab;v0+_TdzXS6wmOm1 ziktTEqey^7qbAjk>gdBPy8E)=59GDKS!CXAe~eg@XUyt6=@0f5(?|?_yy@cU-h3Ze zE%(a-raDnSs6DVwmPx)@808|9=*_AGhJ`}Tl+7NyaJbNHtkk=$FY#<>#uCF1%664M zp|EhQ6OqqQtth|Cs*E(h2yZ=v4j=k0r?Y8g`Zp_ljT6VCf-$VAC#rC;iMidHatTVX zENI|+=IDz+qDjKis;GS4Z;=;@ng`K%)h*4H299)config.error.call(null,request.status,responseText,request.response);else config.success.call(null,responseText, request.status)}};if(config.dataType==="json"){config.data=JSON.stringify(config.data);config.mimeType="application/json"}else config.data=ajaxSerialize(config.data);request.setRequestHeader("Content-Type",config.mimeType);switch(method){case "GET":request.send(null);break;default:request.send(config.data);break}};AnimeClient.get=function(url,data,callback){callback=callback===undefined?null:callback;if(callback===null){callback=data;data={}}return AnimeClient.ajax(url,{data:data,success:callback})}; -AnimeClient.on("header","click",".message",function(e){AnimeClient.hide(e.target)});AnimeClient.on("form.js-delete","submit",function(event){var proceed=confirm("Are you ABSOLUTELY SURE you want to delete this item?");if(proceed===false){event.preventDefault();event.stopPropagation()}});AnimeClient.on(".js-clear-cache","click",function(){AnimeClient.get("/cache_purge",function(){AnimeClient.showMessage("success","Successfully purged api cache")})});if("serviceWorker"in navigator)navigator.serviceWorker.register("/sw.js").then(function(reg){console.log("Service worker registered", -reg.scope)})["catch"](function(error){console.error("Failed to register service worker",error)});AnimeClient.on("main","change",".big-check",function(e){var id=e.target.id;document.getElementById("mal_"+id).checked=true});function renderAnimeSearchResults(data){var results=[];data.forEach(function(x){var item=x.attributes;var titles=item.titles.reduce(function(prev,current){return prev+(current+"\x3cbr /\x3e")},[]);results.push('\n\t\t\t\x3carticle class\x3d"media search"\x3e\n\t\t\t\t\x3cdiv class\x3d"name"\x3e\n\t\t\t\t\t\x3cinput type\x3d"radio" class\x3d"mal-check" id\x3d"mal_'+ -item.slug+'" name\x3d"mal_id" value\x3d"'+x.mal_id+'" /\x3e\n\t\t\t\t\t\x3cinput type\x3d"radio" class\x3d"big-check" id\x3d"'+item.slug+'" name\x3d"id" value\x3d"'+x.id+'" /\x3e\n\t\t\t\t\t\x3clabel for\x3d"'+item.slug+'"\x3e\n\t\t\t\t\t\t\x3cpicture width\x3d"220"\x3e\n\t\t\t\t\t\t\t\x3csource srcset\x3d"/public/images/anime/'+x.id+'.webp" type\x3d"image/webp" /\x3e\n\t\t\t\t\t\t\t\x3csource srcset\x3d"/public/images/anime/'+x.id+'.jpg" type\x3d"image/jpeg" /\x3e\n\t\t\t\t\t\t\t\x3cimg src\x3d"/public/images/anime/'+ -x.id+'.jpg" alt\x3d"" width\x3d"220" /\x3e\n\t\t\t\t\t\t\x3c/picture\x3e\n\t\t\t\t\t\t\n\t\t\t\t\t\t\x3cspan class\x3d"name"\x3e\n\t\t\t\t\t\t\t'+item.canonicalTitle+"\x3cbr /\x3e\n\t\t\t\t\t\t\t\x3csmall\x3e"+titles+'\x3c/small\x3e\n\t\t\t\t\t\t\x3c/span\x3e\n\t\t\t\t\t\x3c/label\x3e\n\t\t\t\t\x3c/div\x3e\n\t\t\t\t\x3cdiv class\x3d"table"\x3e\n\t\t\t\t\t\x3cdiv class\x3d"row"\x3e\n\t\t\t\t\t\t\x3cspan class\x3d"edit"\x3e\n\t\t\t\t\t\t\t\x3ca class\x3d"bracketed" href\x3d"/anime/details/'+item.slug+ -'"\x3eInfo Page\x3c/a\x3e\n\t\t\t\t\t\t\x3c/span\x3e\n\t\t\t\t\t\x3c/div\x3e\n\t\t\t\t\x3c/div\x3e\n\t\t\t\x3c/article\x3e\n\t\t')});return results.join("")}function renderMangaSearchResults(data){var results=[];data.forEach(function(x){var item=x.attributes;var titles=item.titles.reduce(function(prev,current){return prev+(current+"\x3cbr /\x3e")},[]);results.push('\n\t\t\t\x3carticle class\x3d"media search"\x3e\n\t\t\t\t\x3cdiv class\x3d"name"\x3e\n\t\t\t\t\t\x3cinput type\x3d"radio" id\x3d"mal_'+ +AnimeClient.on("header","click",".message",function(e){AnimeClient.hide(e.target)});AnimeClient.on("form.js-delete","submit",function(event){var proceed=confirm("Are you ABSOLUTELY SURE you want to delete this item?");if(proceed===false){event.preventDefault();event.stopPropagation()}});AnimeClient.on(".js-clear-cache","click",function(){AnimeClient.get("/cache_purge",function(){AnimeClient.showMessage("success","Successfully purged api cache")})});AnimeClient.on(".vertical-tabs input","change",function(event){var el= +event.currentTarget.parentElement;var rect=el.getBoundingClientRect();var top=rect.top+window.pageYOffset;var bottom=rect.bottom+window.pageYOffset;window.scrollTo({bottom:bottom,behavior:"smooth"})});AnimeClient.on("main","change",".big-check",function(e){var id=e.target.id;document.getElementById("mal_"+id).checked=true});function renderAnimeSearchResults(data){var results=[];data.forEach(function(x){var item=x.attributes;var titles=item.titles.reduce(function(prev,current){return prev+(current+ +"\x3cbr /\x3e")},[]);results.push('\n\t\t\t\x3carticle class\x3d"media search"\x3e\n\t\t\t\t\x3cdiv class\x3d"name"\x3e\n\t\t\t\t\t\x3cinput type\x3d"radio" class\x3d"mal-check" id\x3d"mal_'+item.slug+'" name\x3d"mal_id" value\x3d"'+x.mal_id+'" /\x3e\n\t\t\t\t\t\x3cinput type\x3d"radio" class\x3d"big-check" id\x3d"'+item.slug+'" name\x3d"id" value\x3d"'+x.id+'" /\x3e\n\t\t\t\t\t\x3clabel for\x3d"'+item.slug+'"\x3e\n\t\t\t\t\t\t\x3cpicture width\x3d"220"\x3e\n\t\t\t\t\t\t\t\x3csource srcset\x3d"/public/images/anime/'+ +x.id+'.webp" type\x3d"image/webp" /\x3e\n\t\t\t\t\t\t\t\x3csource srcset\x3d"/public/images/anime/'+x.id+'.jpg" type\x3d"image/jpeg" /\x3e\n\t\t\t\t\t\t\t\x3cimg src\x3d"/public/images/anime/'+x.id+'.jpg" alt\x3d"" width\x3d"220" /\x3e\n\t\t\t\t\t\t\x3c/picture\x3e\n\t\t\t\t\t\t\n\t\t\t\t\t\t\x3cspan class\x3d"name"\x3e\n\t\t\t\t\t\t\t'+item.canonicalTitle+"\x3cbr /\x3e\n\t\t\t\t\t\t\t\x3csmall\x3e"+titles+'\x3c/small\x3e\n\t\t\t\t\t\t\x3c/span\x3e\n\t\t\t\t\t\x3c/label\x3e\n\t\t\t\t\x3c/div\x3e\n\t\t\t\t\x3cdiv class\x3d"table"\x3e\n\t\t\t\t\t\x3cdiv class\x3d"row"\x3e\n\t\t\t\t\t\t\x3cspan class\x3d"edit"\x3e\n\t\t\t\t\t\t\t\x3ca class\x3d"bracketed" href\x3d"/anime/details/'+ +item.slug+'"\x3eInfo Page\x3c/a\x3e\n\t\t\t\t\t\t\x3c/span\x3e\n\t\t\t\t\t\x3c/div\x3e\n\t\t\t\t\x3c/div\x3e\n\t\t\t\x3c/article\x3e\n\t\t')});return results.join("")}function renderMangaSearchResults(data){var results=[];data.forEach(function(x){var item=x.attributes;var titles=item.titles.reduce(function(prev,current){return prev+(current+"\x3cbr /\x3e")},[]);results.push('\n\t\t\t\x3carticle class\x3d"media search"\x3e\n\t\t\t\t\x3cdiv class\x3d"name"\x3e\n\t\t\t\t\t\x3cinput type\x3d"radio" id\x3d"mal_'+ item.slug+'" name\x3d"mal_id" value\x3d"'+x.mal_id+'" /\x3e\n\t\t\t\t\t\x3cinput type\x3d"radio" class\x3d"big-check" id\x3d"'+item.slug+'" name\x3d"id" value\x3d"'+x.id+'" /\x3e\n\t\t\t\t\t\x3clabel for\x3d"'+item.slug+'"\x3e\n\t\t\t\t\t\t\x3cpicture width\x3d"220"\x3e\n\t\t\t\t\t\t\t\x3csource srcset\x3d"/public/images/manga/'+x.id+'.webp" type\x3d"image/webp" /\x3e\n\t\t\t\t\t\t\t\x3csource srcset\x3d"/public/images/manga/'+x.id+'.jpg" type\x3d"image/jpeg" /\x3e\n\t\t\t\t\t\t\t\x3cimg src\x3d"/public/images/manga/'+ x.id+'.jpg" alt\x3d"" width\x3d"220" /\x3e\n\t\t\t\t\t\t\x3c/picture\x3e\n\t\t\t\t\t\t\x3cspan class\x3d"name"\x3e\n\t\t\t\t\t\t\t'+item.canonicalTitle+"\x3cbr /\x3e\n\t\t\t\t\t\t\t\x3csmall\x3e"+titles+'\x3c/small\x3e\n\t\t\t\t\t\t\x3c/span\x3e\n\t\t\t\t\t\x3c/label\x3e\n\t\t\t\t\x3c/div\x3e\n\t\t\t\t\x3cdiv class\x3d"table"\x3e\n\t\t\t\t\t\x3cdiv class\x3d"row"\x3e\n\t\t\t\t\t\t\x3cspan class\x3d"edit"\x3e\n\t\t\t\t\t\t\t\x3ca class\x3d"bracketed" href\x3d"/manga/details/'+item.slug+'"\x3eInfo Page\x3c/a\x3e\n\t\t\t\t\t\t\x3c/span\x3e\n\t\t\t\t\t\x3c/div\x3e\n\t\t\t\t\x3c/div\x3e\n\t\t\t\x3c/article\x3e\n\t\t')}); return results.join("")}var search=function(query){AnimeClient.$(".cssload-loader")[0].removeAttribute("hidden");AnimeClient.get(AnimeClient.url("/anime-collection/search"),{query:query},function(searchResults,status){searchResults=JSON.parse(searchResults);AnimeClient.$(".cssload-loader")[0].setAttribute("hidden","hidden");AnimeClient.$("#series_list")[0].innerHTML=renderAnimeSearchResults(searchResults.data)})};if(AnimeClient.hasElement(".anime #search"))AnimeClient.on("#search","keyup",AnimeClient.throttle(250, diff --git a/public/js/scripts-authed.min.js.map b/public/js/scripts-authed.min.js.map index 6908ca80..549edb1f 100644 --- a/public/js/scripts-authed.min.js.map +++ b/public/js/scripts-authed.min.js.map @@ -1 +1 @@ -{"version":3,"file":"scripts-authed.min.js.map","sources":["src/base/AnimeClient.js","src/base/events.js","src/index.js","src/template-helpers.js","src/anime.js","src/manga.js"],"sourcesContent":["// -------------------------------------------------------------------------\n// ! Base\n// -------------------------------------------------------------------------\n\nconst matches = (elm, selector) => {\n\tlet matches = (elm.document || elm.ownerDocument).querySelectorAll(selector),\n\t\ti = matches.length;\n\twhile (--i >= 0 && matches.item(i) !== elm) {};\n\treturn i > -1;\n}\n\nexport const AnimeClient = {\n\t/**\n\t * Placeholder function\n\t */\n\tnoop: () => {},\n\t/**\n\t * DOM selector\n\t *\n\t * @param {string} selector - The dom selector string\n\t * @param {object} [context]\n\t * @return {[HTMLElement]} - array of dom elements\n\t */\n\t$(selector, context = null) {\n\t\tif (typeof selector !== 'string') {\n\t\t\treturn selector;\n\t\t}\n\n\t\tcontext = (context !== null && context.nodeType === 1)\n\t\t\t? context\n\t\t\t: document;\n\n\t\tlet elements = [];\n\t\tif (selector.match(/^#([\\w]+$)/)) {\n\t\t\telements.push(document.getElementById(selector.split('#')[1]));\n\t\t} else {\n\t\t\telements = [].slice.apply(context.querySelectorAll(selector));\n\t\t}\n\n\t\treturn elements;\n\t},\n\t/**\n\t * Does the selector exist on the current page?\n\t *\n\t * @param {string} selector\n\t * @returns {boolean}\n\t */\n\thasElement (selector) {\n\t\treturn AnimeClient.$(selector).length > 0;\n\t},\n\t/**\n\t * Scroll to the top of the Page\n\t *\n\t * @return {void}\n\t */\n\tscrollToTop () {\n\t\twindow.scroll(0,0);\n\t},\n\t/**\n\t * Hide the selected element\n\t *\n\t * @param {string|Element} sel - the selector of the element to hide\n\t * @return {void}\n\t */\n\thide (sel) {\n\t\tsel.setAttribute('hidden', 'hidden');\n\t},\n\t/**\n\t * UnHide the selected element\n\t *\n\t * @param {string|Element} sel - the selector of the element to hide\n\t * @return {void}\n\t */\n\tshow (sel) {\n\t\tsel.removeAttribute('hidden');\n\t},\n\t/**\n\t * Display a message box\n\t *\n\t * @param {string} type - message type: info, error, success\n\t * @param {string} message - the message itself\n\t * @return {void}\n\t */\n\tshowMessage (type, message) {\n\t\tlet template =\n\t\t\t`
\n\t\t\t\t\n\t\t\t\t${message}\n\t\t\t\t\n\t\t\t
`;\n\n\t\tlet sel = AnimeClient.$('.message');\n\t\tif (sel[0] !== undefined) {\n\t\t\tsel[0].remove();\n\t\t}\n\n\t\tAnimeClient.$('header')[0].insertAdjacentHTML('beforeend', template);\n\t},\n\t/**\n\t * Finds the closest parent element matching the passed selector\n\t *\n\t * @param {HTMLElement} current - the current HTMLElement\n\t * @param {string} parentSelector - selector for the parent element\n\t * @return {HTMLElement|null} - the parent element\n\t */\n\tclosestParent (current, parentSelector) {\n\t\tif (Element.prototype.closest !== undefined) {\n\t\t\treturn current.closest(parentSelector);\n\t\t}\n\n\t\twhile (current !== document.documentElement) {\n\t\t\tif (matches(current, parentSelector)) {\n\t\t\t\treturn current;\n\t\t\t}\n\n\t\t\tcurrent = current.parentElement;\n\t\t}\n\n\t\treturn null;\n\t},\n\t/**\n\t * Generate a full url from a relative path\n\t *\n\t * @param {string} path - url path\n\t * @return {string} - full url\n\t */\n\turl (path) {\n\t\tlet uri = `//${document.location.host}`;\n\t\turi += (path.charAt(0) === '/') ? path : `/${path}`;\n\n\t\treturn uri;\n\t},\n\t/**\n\t * Throttle execution of a function\n\t *\n\t * @see https://remysharp.com/2010/07/21/throttling-function-calls\n\t * @see https://jsfiddle.net/jonathansampson/m7G64/\n\t * @param {Number} interval - the minimum throttle time in ms\n\t * @param {Function} fn - the function to throttle\n\t * @param {Object} [scope] - the 'this' object for the function\n\t * @return {Function}\n\t */\n\tthrottle (interval, fn, scope) {\n\t\tlet wait = false;\n\t\treturn function (...args) {\n\t\t\tconst context = scope || this;\n\n\t\t\tif ( ! wait) {\n\t\t\t\tfn.apply(context, args);\n\t\t\t\twait = true;\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\twait = false;\n\t\t\t\t}, interval);\n\t\t\t}\n\t\t};\n\t},\n};\n\n// -------------------------------------------------------------------------\n// ! Events\n// -------------------------------------------------------------------------\n\nfunction addEvent(sel, event, listener) {\n\t// Recurse!\n\tif (! event.match(/^([\\w\\-]+)$/)) {\n\t\tevent.split(' ').forEach((evt) => {\n\t\t\taddEvent(sel, evt, listener);\n\t\t});\n\t}\n\n\tsel.addEventListener(event, listener, false);\n}\n\nfunction delegateEvent(sel, target, event, listener) {\n\t// Attach the listener to the parent\n\taddEvent(sel, event, (e) => {\n\t\t// Get live version of the target selector\n\t\tAnimeClient.$(target, sel).forEach((element) => {\n\t\t\tif(e.target == element) {\n\t\t\t\tlistener.call(element, e);\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Add an event listener\n *\n * @param {string|HTMLElement} sel - the parent selector to bind to\n * @param {string} event - event name(s) to bind\n * @param {string|HTMLElement|function} target - the element to directly bind the event to\n * @param {function} [listener] - event listener callback\n * @return {void}\n */\nAnimeClient.on = (sel, event, target, listener) => {\n\tif (listener === undefined) {\n\t\tlistener = target;\n\t\tAnimeClient.$(sel).forEach((el) => {\n\t\t\taddEvent(el, event, listener);\n\t\t});\n\t} else {\n\t\tAnimeClient.$(sel).forEach((el) => {\n\t\t\tdelegateEvent(el, target, event, listener);\n\t\t});\n\t}\n};\n\n// -------------------------------------------------------------------------\n// ! Ajax\n// -------------------------------------------------------------------------\n\n/**\n * Url encoding for non-get requests\n *\n * @param data\n * @returns {string}\n * @private\n */\nfunction ajaxSerialize(data) {\n\tlet pairs = [];\n\n\tObject.keys(data).forEach((name) => {\n\t\tlet value = data[name].toString();\n\n\t\tname = encodeURIComponent(name);\n\t\tvalue = encodeURIComponent(value);\n\n\t\tpairs.push(`${name}=${value}`);\n\t});\n\n\treturn pairs.join('&');\n}\n\n/**\n * Make an ajax request\n *\n * Config:{\n * \tdata: // data to send with the request\n * \ttype: // http verb of the request, defaults to GET\n * \tsuccess: // success callback\n * \terror: // error callback\n * }\n *\n * @param {string} url - the url to request\n * @param {Object} config - the configuration object\n * @return {void}\n */\nAnimeClient.ajax = (url, config) => {\n\t// Set some sane defaults\n\tconst defaultConfig = {\n\t\tdata: {},\n\t\ttype: 'GET',\n\t\tdataType: '',\n\t\tsuccess: AnimeClient.noop,\n\t\tmimeType: 'application/x-www-form-urlencoded',\n\t\terror: AnimeClient.noop\n\t}\n\n\tconfig = {\n\t\t...defaultConfig,\n\t\t...config,\n\t}\n\n\tlet request = new XMLHttpRequest();\n\tlet method = String(config.type).toUpperCase();\n\n\tif (method === 'GET') {\n\t\turl += (url.match(/\\?/))\n\t\t\t? ajaxSerialize(config.data)\n\t\t\t: `?${ajaxSerialize(config.data)}`;\n\t}\n\n\trequest.open(method, url);\n\n\trequest.onreadystatechange = () => {\n\t\tif (request.readyState === 4) {\n\t\t\tlet responseText = '';\n\n\t\t\tif (request.responseType === 'json') {\n\t\t\t\tresponseText = JSON.parse(request.responseText);\n\t\t\t} else {\n\t\t\t\tresponseText = request.responseText;\n\t\t\t}\n\n\t\t\tif (request.status > 299) {\n\t\t\t\tconfig.error.call(null, request.status, responseText, request.response);\n\t\t\t} else {\n\t\t\t\tconfig.success.call(null, responseText, request.status);\n\t\t\t}\n\t\t}\n\t};\n\n\tif (config.dataType === 'json') {\n\t\tconfig.data = JSON.stringify(config.data);\n\t\tconfig.mimeType = 'application/json';\n\t} else {\n\t\tconfig.data = ajaxSerialize(config.data);\n\t}\n\n\trequest.setRequestHeader('Content-Type', config.mimeType);\n\n\tswitch (method) {\n\t\tcase 'GET':\n\t\t\trequest.send(null);\n\t\tbreak;\n\n\t\tdefault:\n\t\t\trequest.send(config.data);\n\t\tbreak;\n\t}\n};\n\n/**\n * Do a get request\n *\n * @param {string} url\n * @param {object|function} data\n * @param {function} [callback]\n */\nAnimeClient.get = (url, data, callback = null) => {\n\tif (callback === null) {\n\t\tcallback = data;\n\t\tdata = {};\n\t}\n\n\treturn AnimeClient.ajax(url, {\n\t\tdata,\n\t\tsuccess: callback\n\t});\n};\n\n// -------------------------------------------------------------------------\n// Export\n// -------------------------------------------------------------------------\n\nexport default AnimeClient;","import _ from './AnimeClient.js';\n/**\n * Event handlers\n */\n// Close event for messages\n_.on('header', 'click', '.message', (e) => {\n\t_.hide(e.target);\n});\n\n// Confirm deleting of list or library items\n_.on('form.js-delete', 'submit', (event) => {\n\tconst proceed = confirm('Are you ABSOLUTELY SURE you want to delete this item?');\n\n\tif (proceed === false) {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t}\n});\n\n// Clear the api cache\n_.on('.js-clear-cache', 'click', () => {\n\t_.get('/cache_purge', () => {\n\t\t_.showMessage('success', 'Successfully purged api cache');\n\t});\n});\n","import './base/events.js';\n\nif ('serviceWorker' in navigator) {\n\tnavigator.serviceWorker.register('/sw.js').then(reg => {\n\t\tconsole.log('Service worker registered', reg.scope);\n\t}).catch(error => {\n\t\tconsole.error('Failed to register service worker', error);\n\t});\n}\n\n","import _ from './base/AnimeClient.js';\n\n// Click on hidden MAL checkbox so\n// that MAL id is passed\n_.on('main', 'change', '.big-check', (e) => {\n\tconst id = e.target.id;\n\tdocument.getElementById(`mal_${id}`).checked = true;\n});\n\nexport function renderAnimeSearchResults (data) {\n\tconst results = [];\n\n\tdata.forEach(x => {\n\t\tconst item = x.attributes;\n\t\tconst titles = item.titles.reduce((prev, current) => {\n\t\t\treturn prev + `${current}
`;\n\t\t}, []);\n\n\t\tresults.push(`\n\t\t\t
\n\t\t`);\n\t});\n\n\treturn results.join('');\n}\n\nexport function renderMangaSearchResults (data) {\n\tconst results = [];\n\n\tdata.forEach(x => {\n\t\tconst item = x.attributes;\n\t\tconst titles = item.titles.reduce((prev, current) => {\n\t\t\treturn prev + `${current}
`;\n\t\t}, []);\n\n\t\tresults.push(`\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tInfo Page\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t`);\n\t});\n\n\treturn results.join('');\n}","import _ from './base/AnimeClient.js'\nimport { renderAnimeSearchResults } from './template-helpers.js'\n\nconst search = (query) => {\n\t// Show the loader\n\t_.$('.cssload-loader')[ 0 ].removeAttribute('hidden');\n\n\t// Do the api search\n\t_.get(_.url('/anime-collection/search'), { query }, (searchResults, status) => {\n\t\tsearchResults = JSON.parse(searchResults);\n\n\t\t// Hide the loader\n\t\t_.$('.cssload-loader')[ 0 ].setAttribute('hidden', 'hidden');\n\n\t\t// Show the results\n\t\t_.$('#series_list')[ 0 ].innerHTML = renderAnimeSearchResults(searchResults.data);\n\t});\n};\n\nif (_.hasElement('.anime #search')) {\n\t_.on('#search', 'keyup', _.throttle(250, (e) => {\n\t\tconst query = encodeURIComponent(e.target.value);\n\t\tif (query === '') {\n\t\t\treturn;\n\t\t}\n\n\t\tsearch(query);\n\t}));\n}\n\n// Action to increment episode count\n_.on('body.anime.list', 'click', '.plus_one', (e) => {\n\tlet parentSel = _.closestParent(e.target, 'article');\n\tlet watchedCount = parseInt(_.$('.completed_number', parentSel)[ 0 ].textContent, 10) || 0;\n\tlet totalCount = parseInt(_.$('.total_number', parentSel)[ 0 ].textContent, 10);\n\tlet title = _.$('.name a', parentSel)[ 0 ].textContent;\n\n\t// Setup the update data\n\tlet data = {\n\t\tid: parentSel.dataset.kitsuId,\n\t\tmal_id: parentSel.dataset.malId,\n\t\tdata: {\n\t\t\tprogress: watchedCount + 1\n\t\t}\n\t};\n\n\t// If the episode count is 0, and incremented,\n\t// change status to currently watching\n\tif (isNaN(watchedCount) || watchedCount === 0) {\n\t\tdata.data.status = 'current';\n\t}\n\n\t// If you increment at the last episode, mark as completed\n\tif ((!isNaN(watchedCount)) && (watchedCount + 1) === totalCount) {\n\t\tdata.data.status = 'completed';\n\t}\n\n\t_.show(_.$('#loading-shadow')[ 0 ]);\n\n\t// okay, lets actually make some changes!\n\t_.ajax(_.url('/anime/increment'), {\n\t\tdata,\n\t\tdataType: 'json',\n\t\ttype: 'POST',\n\t\tsuccess: (res) => {\n\t\t\tconst resData = JSON.parse(res);\n\n\t\t\tif (resData.errors) {\n\t\t\t\t_.hide(_.$('#loading-shadow')[ 0 ]);\n\t\t\t\t_.showMessage('error', `Failed to update ${title}. `);\n\t\t\t\t_.scrollToTop();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (resData.data.attributes.status === 'completed') {\n\t\t\t\t_.hide(parentSel);\n\t\t\t}\n\n\t\t\t_.hide(_.$('#loading-shadow')[ 0 ]);\n\n\t\t\t_.showMessage('success', `Successfully updated ${title}`);\n\t\t\t_.$('.completed_number', parentSel)[ 0 ].textContent = ++watchedCount;\n\t\t\t_.scrollToTop();\n\t\t},\n\t\terror: () => {\n\t\t\t_.hide(_.$('#loading-shadow')[ 0 ]);\n\t\t\t_.showMessage('error', `Failed to update ${title}. `);\n\t\t\t_.scrollToTop();\n\t\t}\n\t});\n});","import _ from './base/AnimeClient.js'\nimport { renderMangaSearchResults } from './template-helpers.js'\n\nconst search = (query) => {\n\t_.$('.cssload-loader')[ 0 ].removeAttribute('hidden');\n\t_.get(_.url('/manga/search'), { query }, (searchResults, status) => {\n\t\tsearchResults = JSON.parse(searchResults);\n\t\t_.$('.cssload-loader')[ 0 ].setAttribute('hidden', 'hidden');\n\t\t_.$('#series_list')[ 0 ].innerHTML = renderMangaSearchResults(searchResults.data);\n\t});\n};\n\nif (_.hasElement('.manga #search')) {\n\t_.on('#search', 'keyup', _.throttle(250, (e) => {\n\t\tlet query = encodeURIComponent(e.target.value);\n\t\tif (query === '') {\n\t\t\treturn;\n\t\t}\n\n\t\tsearch(query);\n\t}));\n}\n\n/**\n * Javascript for editing manga, if logged in\n */\n_.on('.manga.list', 'click', '.edit_buttons button', (e) => {\n\tlet thisSel = e.target;\n\tlet parentSel = _.closestParent(e.target, 'article');\n\tlet type = thisSel.classList.contains('plus_one_chapter') ? 'chapter' : 'volume';\n\tlet completed = parseInt(_.$(`.${type}s_read`, parentSel)[ 0 ].textContent, 10) || 0;\n\tlet total = parseInt(_.$(`.${type}_count`, parentSel)[ 0 ].textContent, 10);\n\tlet mangaName = _.$('.name', parentSel)[ 0 ].textContent;\n\n\tif (isNaN(completed)) {\n\t\tcompleted = 0;\n\t}\n\n\t// Setup the update data\n\tlet data = {\n\t\tid: parentSel.dataset.kitsuId,\n\t\tmal_id: parentSel.dataset.malId,\n\t\tdata: {\n\t\t\tprogress: completed\n\t\t}\n\t};\n\n\t// If the episode count is 0, and incremented,\n\t// change status to currently reading\n\tif (isNaN(completed) || completed === 0) {\n\t\tdata.data.status = 'current';\n\t}\n\n\t// If you increment at the last chapter, mark as completed\n\tif ((!isNaN(completed)) && (completed + 1) === total) {\n\t\tdata.data.status = 'completed';\n\t}\n\n\t// Update the total count\n\tdata.data.progress = ++completed;\n\n\t_.show(_.$('#loading-shadow')[ 0 ]);\n\n\t_.ajax(_.url('/manga/increment'), {\n\t\tdata,\n\t\tdataType: 'json',\n\t\ttype: 'POST',\n\t\tmimeType: 'application/json',\n\t\tsuccess: () => {\n\t\t\tif (data.data.status === 'completed') {\n\t\t\t\t_.hide(parentSel);\n\t\t\t}\n\n\t\t\t_.hide(_.$('#loading-shadow')[ 0 ]);\n\n\t\t\t_.$(`.${type}s_read`, parentSel)[ 0 ].textContent = completed;\n\t\t\t_.showMessage('success', `Successfully updated ${mangaName}`);\n\t\t\t_.scrollToTop();\n\t\t},\n\t\terror: () => {\n\t\t\t_.hide(_.$('#loading-shadow')[ 0 ]);\n\t\t\t_.showMessage('error', `Failed to update ${mangaName}`);\n\t\t\t_.scrollToTop();\n\t\t}\n\t});\n});"],"names":["matches","elm","selector","querySelectorAll","document","ownerDocument","i","length","item","AnimeClient","noop","$","context","nodeType","elements","match","push","getElementById","split","slice","apply","hasElement","scrollToTop","window","scroll","hide","sel","setAttribute","show","removeAttribute","showMessage","type","message","template","undefined","remove","insertAdjacentHTML","closestParent","current","parentSelector","Element","prototype","closest","documentElement","parentElement","url","path","uri","location","host","charAt","throttle","interval","fn","scope","wait","args","setTimeout","addEvent","event","listener","forEach","evt","addEventListener","delegateEvent","target","e","element","call","stopPropagation","on","AnimeClient.on","el","ajaxSerialize","data","pairs","Object","keys","name","value","toString","encodeURIComponent","join","ajax","AnimeClient.ajax","config","defaultConfig","dataType","success","mimeType","error","request","XMLHttpRequest","method","String","toUpperCase","open","onreadystatechange","request.onreadystatechange","readyState","responseText","responseType","JSON","parse","status","response","stringify","setRequestHeader","send","get","AnimeClient.get","callback","_","proceed","confirm","preventDefault","navigator","serviceWorker","register","then","reg","console","log","catch","id","checked","renderAnimeSearchResults","results","x","attributes","titles","reduce","prev","slug","mal_id","canonicalTitle","renderMangaSearchResults","search","query","searchResults","parentSel","watchedCount","parseInt","totalCount","title","dataset","kitsuId","malId","progress","isNaN","res","resData","errors","search$1","thisSel","classList","contains","completed","total","mangaName"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"scripts-authed.min.js.map","sources":["src/base/AnimeClient.js","src/base/events.js","src/template-helpers.js","src/anime.js","src/manga.js"],"sourcesContent":["// -------------------------------------------------------------------------\n// ! Base\n// -------------------------------------------------------------------------\n\nconst matches = (elm, selector) => {\n\tlet matches = (elm.document || elm.ownerDocument).querySelectorAll(selector),\n\t\ti = matches.length;\n\twhile (--i >= 0 && matches.item(i) !== elm) {};\n\treturn i > -1;\n}\n\nexport const AnimeClient = {\n\t/**\n\t * Placeholder function\n\t */\n\tnoop: () => {},\n\t/**\n\t * DOM selector\n\t *\n\t * @param {string} selector - The dom selector string\n\t * @param {object} [context]\n\t * @return {[HTMLElement]} - array of dom elements\n\t */\n\t$(selector, context = null) {\n\t\tif (typeof selector !== 'string') {\n\t\t\treturn selector;\n\t\t}\n\n\t\tcontext = (context !== null && context.nodeType === 1)\n\t\t\t? context\n\t\t\t: document;\n\n\t\tlet elements = [];\n\t\tif (selector.match(/^#([\\w]+$)/)) {\n\t\t\telements.push(document.getElementById(selector.split('#')[1]));\n\t\t} else {\n\t\t\telements = [].slice.apply(context.querySelectorAll(selector));\n\t\t}\n\n\t\treturn elements;\n\t},\n\t/**\n\t * Does the selector exist on the current page?\n\t *\n\t * @param {string} selector\n\t * @returns {boolean}\n\t */\n\thasElement (selector) {\n\t\treturn AnimeClient.$(selector).length > 0;\n\t},\n\t/**\n\t * Scroll to the top of the Page\n\t *\n\t * @return {void}\n\t */\n\tscrollToTop () {\n\t\twindow.scroll(0,0);\n\t},\n\t/**\n\t * Hide the selected element\n\t *\n\t * @param {string|Element} sel - the selector of the element to hide\n\t * @return {void}\n\t */\n\thide (sel) {\n\t\tsel.setAttribute('hidden', 'hidden');\n\t},\n\t/**\n\t * UnHide the selected element\n\t *\n\t * @param {string|Element} sel - the selector of the element to hide\n\t * @return {void}\n\t */\n\tshow (sel) {\n\t\tsel.removeAttribute('hidden');\n\t},\n\t/**\n\t * Display a message box\n\t *\n\t * @param {string} type - message type: info, error, success\n\t * @param {string} message - the message itself\n\t * @return {void}\n\t */\n\tshowMessage (type, message) {\n\t\tlet template =\n\t\t\t`
\n\t\t\t\t\n\t\t\t\t${message}\n\t\t\t\t\n\t\t\t
`;\n\n\t\tlet sel = AnimeClient.$('.message');\n\t\tif (sel[0] !== undefined) {\n\t\t\tsel[0].remove();\n\t\t}\n\n\t\tAnimeClient.$('header')[0].insertAdjacentHTML('beforeend', template);\n\t},\n\t/**\n\t * Finds the closest parent element matching the passed selector\n\t *\n\t * @param {HTMLElement} current - the current HTMLElement\n\t * @param {string} parentSelector - selector for the parent element\n\t * @return {HTMLElement|null} - the parent element\n\t */\n\tclosestParent (current, parentSelector) {\n\t\tif (Element.prototype.closest !== undefined) {\n\t\t\treturn current.closest(parentSelector);\n\t\t}\n\n\t\twhile (current !== document.documentElement) {\n\t\t\tif (matches(current, parentSelector)) {\n\t\t\t\treturn current;\n\t\t\t}\n\n\t\t\tcurrent = current.parentElement;\n\t\t}\n\n\t\treturn null;\n\t},\n\t/**\n\t * Generate a full url from a relative path\n\t *\n\t * @param {string} path - url path\n\t * @return {string} - full url\n\t */\n\turl (path) {\n\t\tlet uri = `//${document.location.host}`;\n\t\turi += (path.charAt(0) === '/') ? path : `/${path}`;\n\n\t\treturn uri;\n\t},\n\t/**\n\t * Throttle execution of a function\n\t *\n\t * @see https://remysharp.com/2010/07/21/throttling-function-calls\n\t * @see https://jsfiddle.net/jonathansampson/m7G64/\n\t * @param {Number} interval - the minimum throttle time in ms\n\t * @param {Function} fn - the function to throttle\n\t * @param {Object} [scope] - the 'this' object for the function\n\t * @return {Function}\n\t */\n\tthrottle (interval, fn, scope) {\n\t\tlet wait = false;\n\t\treturn function (...args) {\n\t\t\tconst context = scope || this;\n\n\t\t\tif ( ! wait) {\n\t\t\t\tfn.apply(context, args);\n\t\t\t\twait = true;\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\twait = false;\n\t\t\t\t}, interval);\n\t\t\t}\n\t\t};\n\t},\n};\n\n// -------------------------------------------------------------------------\n// ! Events\n// -------------------------------------------------------------------------\n\nfunction addEvent(sel, event, listener) {\n\t// Recurse!\n\tif (! event.match(/^([\\w\\-]+)$/)) {\n\t\tevent.split(' ').forEach((evt) => {\n\t\t\taddEvent(sel, evt, listener);\n\t\t});\n\t}\n\n\tsel.addEventListener(event, listener, false);\n}\n\nfunction delegateEvent(sel, target, event, listener) {\n\t// Attach the listener to the parent\n\taddEvent(sel, event, (e) => {\n\t\t// Get live version of the target selector\n\t\tAnimeClient.$(target, sel).forEach((element) => {\n\t\t\tif(e.target == element) {\n\t\t\t\tlistener.call(element, e);\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Add an event listener\n *\n * @param {string|HTMLElement} sel - the parent selector to bind to\n * @param {string} event - event name(s) to bind\n * @param {string|HTMLElement|function} target - the element to directly bind the event to\n * @param {function} [listener] - event listener callback\n * @return {void}\n */\nAnimeClient.on = (sel, event, target, listener) => {\n\tif (listener === undefined) {\n\t\tlistener = target;\n\t\tAnimeClient.$(sel).forEach((el) => {\n\t\t\taddEvent(el, event, listener);\n\t\t});\n\t} else {\n\t\tAnimeClient.$(sel).forEach((el) => {\n\t\t\tdelegateEvent(el, target, event, listener);\n\t\t});\n\t}\n};\n\n// -------------------------------------------------------------------------\n// ! Ajax\n// -------------------------------------------------------------------------\n\n/**\n * Url encoding for non-get requests\n *\n * @param data\n * @returns {string}\n * @private\n */\nfunction ajaxSerialize(data) {\n\tlet pairs = [];\n\n\tObject.keys(data).forEach((name) => {\n\t\tlet value = data[name].toString();\n\n\t\tname = encodeURIComponent(name);\n\t\tvalue = encodeURIComponent(value);\n\n\t\tpairs.push(`${name}=${value}`);\n\t});\n\n\treturn pairs.join('&');\n}\n\n/**\n * Make an ajax request\n *\n * Config:{\n * \tdata: // data to send with the request\n * \ttype: // http verb of the request, defaults to GET\n * \tsuccess: // success callback\n * \terror: // error callback\n * }\n *\n * @param {string} url - the url to request\n * @param {Object} config - the configuration object\n * @return {void}\n */\nAnimeClient.ajax = (url, config) => {\n\t// Set some sane defaults\n\tconst defaultConfig = {\n\t\tdata: {},\n\t\ttype: 'GET',\n\t\tdataType: '',\n\t\tsuccess: AnimeClient.noop,\n\t\tmimeType: 'application/x-www-form-urlencoded',\n\t\terror: AnimeClient.noop\n\t}\n\n\tconfig = {\n\t\t...defaultConfig,\n\t\t...config,\n\t}\n\n\tlet request = new XMLHttpRequest();\n\tlet method = String(config.type).toUpperCase();\n\n\tif (method === 'GET') {\n\t\turl += (url.match(/\\?/))\n\t\t\t? ajaxSerialize(config.data)\n\t\t\t: `?${ajaxSerialize(config.data)}`;\n\t}\n\n\trequest.open(method, url);\n\n\trequest.onreadystatechange = () => {\n\t\tif (request.readyState === 4) {\n\t\t\tlet responseText = '';\n\n\t\t\tif (request.responseType === 'json') {\n\t\t\t\tresponseText = JSON.parse(request.responseText);\n\t\t\t} else {\n\t\t\t\tresponseText = request.responseText;\n\t\t\t}\n\n\t\t\tif (request.status > 299) {\n\t\t\t\tconfig.error.call(null, request.status, responseText, request.response);\n\t\t\t} else {\n\t\t\t\tconfig.success.call(null, responseText, request.status);\n\t\t\t}\n\t\t}\n\t};\n\n\tif (config.dataType === 'json') {\n\t\tconfig.data = JSON.stringify(config.data);\n\t\tconfig.mimeType = 'application/json';\n\t} else {\n\t\tconfig.data = ajaxSerialize(config.data);\n\t}\n\n\trequest.setRequestHeader('Content-Type', config.mimeType);\n\n\tswitch (method) {\n\t\tcase 'GET':\n\t\t\trequest.send(null);\n\t\tbreak;\n\n\t\tdefault:\n\t\t\trequest.send(config.data);\n\t\tbreak;\n\t}\n};\n\n/**\n * Do a get request\n *\n * @param {string} url\n * @param {object|function} data\n * @param {function} [callback]\n */\nAnimeClient.get = (url, data, callback = null) => {\n\tif (callback === null) {\n\t\tcallback = data;\n\t\tdata = {};\n\t}\n\n\treturn AnimeClient.ajax(url, {\n\t\tdata,\n\t\tsuccess: callback\n\t});\n};\n\n// -------------------------------------------------------------------------\n// Export\n// -------------------------------------------------------------------------\n\nexport default AnimeClient;","import _ from './AnimeClient.js';\n/**\n * Event handlers\n */\n// Close event for messages\n_.on('header', 'click', '.message', (e) => {\n\t_.hide(e.target);\n});\n\n// Confirm deleting of list or library items\n_.on('form.js-delete', 'submit', (event) => {\n\tconst proceed = confirm('Are you ABSOLUTELY SURE you want to delete this item?');\n\n\tif (proceed === false) {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t}\n});\n\n// Clear the api cache\n_.on('.js-clear-cache', 'click', () => {\n\t_.get('/cache_purge', () => {\n\t\t_.showMessage('success', 'Successfully purged api cache');\n\t});\n});\n\n// Alleviate some page jumping\n _.on('.vertical-tabs input', 'change', (event) => {\n\tconst el = event.currentTarget.parentElement;\n\tconst rect = el.getBoundingClientRect();\n\n\tconst top = rect.top + window.pageYOffset;\n\tconst bottom = rect.bottom + window.pageYOffset;\n\n\tlet middle = (Math.abs(top) + Math.abs(bottom)) / 2;\n\n\tif (top < 0 && bottom < 0)\n\t{\n\t\tmiddle *= -1;\n\t}\n\n\twindow.scrollTo({\n\t\tbottom,\n\t\tbehavior: 'smooth',\n\t});\n});\n","import _ from './base/AnimeClient.js';\n\n// Click on hidden MAL checkbox so\n// that MAL id is passed\n_.on('main', 'change', '.big-check', (e) => {\n\tconst id = e.target.id;\n\tdocument.getElementById(`mal_${id}`).checked = true;\n});\n\nexport function renderAnimeSearchResults (data) {\n\tconst results = [];\n\n\tdata.forEach(x => {\n\t\tconst item = x.attributes;\n\t\tconst titles = item.titles.reduce((prev, current) => {\n\t\t\treturn prev + `${current}
`;\n\t\t}, []);\n\n\t\tresults.push(`\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tInfo Page\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t`);\n\t});\n\n\treturn results.join('');\n}\n\nexport function renderMangaSearchResults (data) {\n\tconst results = [];\n\n\tdata.forEach(x => {\n\t\tconst item = x.attributes;\n\t\tconst titles = item.titles.reduce((prev, current) => {\n\t\t\treturn prev + `${current}
`;\n\t\t}, []);\n\n\t\tresults.push(`\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tInfo Page\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t`);\n\t});\n\n\treturn results.join('');\n}","import _ from './base/AnimeClient.js'\nimport { renderAnimeSearchResults } from './template-helpers.js'\n\nconst search = (query) => {\n\t// Show the loader\n\t_.$('.cssload-loader')[ 0 ].removeAttribute('hidden');\n\n\t// Do the api search\n\t_.get(_.url('/anime-collection/search'), { query }, (searchResults, status) => {\n\t\tsearchResults = JSON.parse(searchResults);\n\n\t\t// Hide the loader\n\t\t_.$('.cssload-loader')[ 0 ].setAttribute('hidden', 'hidden');\n\n\t\t// Show the results\n\t\t_.$('#series_list')[ 0 ].innerHTML = renderAnimeSearchResults(searchResults.data);\n\t});\n};\n\nif (_.hasElement('.anime #search')) {\n\t_.on('#search', 'keyup', _.throttle(250, (e) => {\n\t\tconst query = encodeURIComponent(e.target.value);\n\t\tif (query === '') {\n\t\t\treturn;\n\t\t}\n\n\t\tsearch(query);\n\t}));\n}\n\n// Action to increment episode count\n_.on('body.anime.list', 'click', '.plus_one', (e) => {\n\tlet parentSel = _.closestParent(e.target, 'article');\n\tlet watchedCount = parseInt(_.$('.completed_number', parentSel)[ 0 ].textContent, 10) || 0;\n\tlet totalCount = parseInt(_.$('.total_number', parentSel)[ 0 ].textContent, 10);\n\tlet title = _.$('.name a', parentSel)[ 0 ].textContent;\n\n\t// Setup the update data\n\tlet data = {\n\t\tid: parentSel.dataset.kitsuId,\n\t\tmal_id: parentSel.dataset.malId,\n\t\tdata: {\n\t\t\tprogress: watchedCount + 1\n\t\t}\n\t};\n\n\t// If the episode count is 0, and incremented,\n\t// change status to currently watching\n\tif (isNaN(watchedCount) || watchedCount === 0) {\n\t\tdata.data.status = 'current';\n\t}\n\n\t// If you increment at the last episode, mark as completed\n\tif ((!isNaN(watchedCount)) && (watchedCount + 1) === totalCount) {\n\t\tdata.data.status = 'completed';\n\t}\n\n\t_.show(_.$('#loading-shadow')[ 0 ]);\n\n\t// okay, lets actually make some changes!\n\t_.ajax(_.url('/anime/increment'), {\n\t\tdata,\n\t\tdataType: 'json',\n\t\ttype: 'POST',\n\t\tsuccess: (res) => {\n\t\t\tconst resData = JSON.parse(res);\n\n\t\t\tif (resData.errors) {\n\t\t\t\t_.hide(_.$('#loading-shadow')[ 0 ]);\n\t\t\t\t_.showMessage('error', `Failed to update ${title}. `);\n\t\t\t\t_.scrollToTop();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (resData.data.attributes.status === 'completed') {\n\t\t\t\t_.hide(parentSel);\n\t\t\t}\n\n\t\t\t_.hide(_.$('#loading-shadow')[ 0 ]);\n\n\t\t\t_.showMessage('success', `Successfully updated ${title}`);\n\t\t\t_.$('.completed_number', parentSel)[ 0 ].textContent = ++watchedCount;\n\t\t\t_.scrollToTop();\n\t\t},\n\t\terror: () => {\n\t\t\t_.hide(_.$('#loading-shadow')[ 0 ]);\n\t\t\t_.showMessage('error', `Failed to update ${title}. `);\n\t\t\t_.scrollToTop();\n\t\t}\n\t});\n});","import _ from './base/AnimeClient.js'\nimport { renderMangaSearchResults } from './template-helpers.js'\n\nconst search = (query) => {\n\t_.$('.cssload-loader')[ 0 ].removeAttribute('hidden');\n\t_.get(_.url('/manga/search'), { query }, (searchResults, status) => {\n\t\tsearchResults = JSON.parse(searchResults);\n\t\t_.$('.cssload-loader')[ 0 ].setAttribute('hidden', 'hidden');\n\t\t_.$('#series_list')[ 0 ].innerHTML = renderMangaSearchResults(searchResults.data);\n\t});\n};\n\nif (_.hasElement('.manga #search')) {\n\t_.on('#search', 'keyup', _.throttle(250, (e) => {\n\t\tlet query = encodeURIComponent(e.target.value);\n\t\tif (query === '') {\n\t\t\treturn;\n\t\t}\n\n\t\tsearch(query);\n\t}));\n}\n\n/**\n * Javascript for editing manga, if logged in\n */\n_.on('.manga.list', 'click', '.edit_buttons button', (e) => {\n\tlet thisSel = e.target;\n\tlet parentSel = _.closestParent(e.target, 'article');\n\tlet type = thisSel.classList.contains('plus_one_chapter') ? 'chapter' : 'volume';\n\tlet completed = parseInt(_.$(`.${type}s_read`, parentSel)[ 0 ].textContent, 10) || 0;\n\tlet total = parseInt(_.$(`.${type}_count`, parentSel)[ 0 ].textContent, 10);\n\tlet mangaName = _.$('.name', parentSel)[ 0 ].textContent;\n\n\tif (isNaN(completed)) {\n\t\tcompleted = 0;\n\t}\n\n\t// Setup the update data\n\tlet data = {\n\t\tid: parentSel.dataset.kitsuId,\n\t\tmal_id: parentSel.dataset.malId,\n\t\tdata: {\n\t\t\tprogress: completed\n\t\t}\n\t};\n\n\t// If the episode count is 0, and incremented,\n\t// change status to currently reading\n\tif (isNaN(completed) || completed === 0) {\n\t\tdata.data.status = 'current';\n\t}\n\n\t// If you increment at the last chapter, mark as completed\n\tif ((!isNaN(completed)) && (completed + 1) === total) {\n\t\tdata.data.status = 'completed';\n\t}\n\n\t// Update the total count\n\tdata.data.progress = ++completed;\n\n\t_.show(_.$('#loading-shadow')[ 0 ]);\n\n\t_.ajax(_.url('/manga/increment'), {\n\t\tdata,\n\t\tdataType: 'json',\n\t\ttype: 'POST',\n\t\tmimeType: 'application/json',\n\t\tsuccess: () => {\n\t\t\tif (data.data.status === 'completed') {\n\t\t\t\t_.hide(parentSel);\n\t\t\t}\n\n\t\t\t_.hide(_.$('#loading-shadow')[ 0 ]);\n\n\t\t\t_.$(`.${type}s_read`, parentSel)[ 0 ].textContent = completed;\n\t\t\t_.showMessage('success', `Successfully updated ${mangaName}`);\n\t\t\t_.scrollToTop();\n\t\t},\n\t\terror: () => {\n\t\t\t_.hide(_.$('#loading-shadow')[ 0 ]);\n\t\t\t_.showMessage('error', `Failed to update ${mangaName}`);\n\t\t\t_.scrollToTop();\n\t\t}\n\t});\n});"],"names":["matches","elm","selector","querySelectorAll","document","ownerDocument","i","length","item","AnimeClient","noop","$","context","nodeType","elements","match","push","getElementById","split","slice","apply","hasElement","scrollToTop","window","scroll","hide","sel","setAttribute","show","removeAttribute","showMessage","type","message","template","undefined","remove","insertAdjacentHTML","closestParent","current","parentSelector","Element","prototype","closest","documentElement","parentElement","url","path","uri","location","host","charAt","throttle","interval","fn","scope","wait","args","setTimeout","addEvent","event","listener","forEach","evt","addEventListener","delegateEvent","target","e","element","call","stopPropagation","on","AnimeClient.on","el","ajaxSerialize","data","pairs","Object","keys","name","value","toString","encodeURIComponent","join","ajax","AnimeClient.ajax","config","defaultConfig","dataType","success","mimeType","error","request","XMLHttpRequest","method","String","toUpperCase","open","onreadystatechange","request.onreadystatechange","readyState","responseText","responseType","JSON","parse","status","response","stringify","setRequestHeader","send","get","AnimeClient.get","callback","_","proceed","confirm","preventDefault","currentTarget","rect","getBoundingClientRect","top","pageYOffset","bottom","scrollTo","behavior","id","checked","renderAnimeSearchResults","results","x","attributes","titles","reduce","prev","slug","mal_id","canonicalTitle","renderMangaSearchResults","search","query","searchResults","parentSel","watchedCount","parseInt","totalCount","title","dataset","kitsuId","malId","progress","isNaN","res","resData","errors","search$1","thisSel","classList","contains","completed","total","mangaName"],"mappings":"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"} \ No newline at end of file diff --git a/public/js/scripts.min.js b/public/js/scripts.min.js index 78aa6a49..129be917 100644 --- a/public/js/scripts.min.js +++ b/public/js/scripts.min.js @@ -6,6 +6,6 @@ evt,listener)});sel.addEventListener(event,listener,false)}function delegateEven listener)})};function ajaxSerialize(data){var pairs=[];Object.keys(data).forEach(function(name){var value=data[name].toString();name=encodeURIComponent(name);value=encodeURIComponent(value);pairs.push(name+"\x3d"+value)});return pairs.join("\x26")}AnimeClient.ajax=function(url,config){var defaultConfig={data:{},type:"GET",dataType:"",success:AnimeClient.noop,mimeType:"application/x-www-form-urlencoded",error:AnimeClient.noop};config=Object.assign({},defaultConfig,config);var request=new XMLHttpRequest; var method=String(config.type).toUpperCase();if(method==="GET")url+=url.match(/\?/)?ajaxSerialize(config.data):"?"+ajaxSerialize(config.data);request.open(method,url);request.onreadystatechange=function(){if(request.readyState===4){var responseText="";if(request.responseType==="json")responseText=JSON.parse(request.responseText);else responseText=request.responseText;if(request.status>299)config.error.call(null,request.status,responseText,request.response);else config.success.call(null,responseText, request.status)}};if(config.dataType==="json"){config.data=JSON.stringify(config.data);config.mimeType="application/json"}else config.data=ajaxSerialize(config.data);request.setRequestHeader("Content-Type",config.mimeType);switch(method){case "GET":request.send(null);break;default:request.send(config.data);break}};AnimeClient.get=function(url,data,callback){callback=callback===undefined?null:callback;if(callback===null){callback=data;data={}}return AnimeClient.ajax(url,{data:data,success:callback})}; -AnimeClient.on("header","click",".message",function(e){AnimeClient.hide(e.target)});AnimeClient.on("form.js-delete","submit",function(event){var proceed=confirm("Are you ABSOLUTELY SURE you want to delete this item?");if(proceed===false){event.preventDefault();event.stopPropagation()}});AnimeClient.on(".js-clear-cache","click",function(){AnimeClient.get("/cache_purge",function(){AnimeClient.showMessage("success","Successfully purged api cache")})});if("serviceWorker"in navigator)navigator.serviceWorker.register("/sw.js").then(function(reg){console.log("Service worker registered", -reg.scope)})["catch"](function(error){console.error("Failed to register service worker",error)})})(); +AnimeClient.on("header","click",".message",function(e){AnimeClient.hide(e.target)});AnimeClient.on("form.js-delete","submit",function(event){var proceed=confirm("Are you ABSOLUTELY SURE you want to delete this item?");if(proceed===false){event.preventDefault();event.stopPropagation()}});AnimeClient.on(".js-clear-cache","click",function(){AnimeClient.get("/cache_purge",function(){AnimeClient.showMessage("success","Successfully purged api cache")})});AnimeClient.on(".vertical-tabs input","change",function(event){var el= +event.currentTarget.parentElement;var rect=el.getBoundingClientRect();var top=rect.top+window.pageYOffset;var bottom=rect.bottom+window.pageYOffset;window.scrollTo({bottom:bottom,behavior:"smooth"})})})(); //# sourceMappingURL=scripts.min.js.map diff --git a/public/js/scripts.min.js.map b/public/js/scripts.min.js.map index ce7f14fc..fc7c15d7 100644 --- a/public/js/scripts.min.js.map +++ b/public/js/scripts.min.js.map @@ -1 +1 @@ -{"version":3,"file":"scripts.min.js.map","sources":["src/base/AnimeClient.js","src/base/events.js","src/index.js"],"sourcesContent":["// -------------------------------------------------------------------------\n// ! Base\n// -------------------------------------------------------------------------\n\nconst matches = (elm, selector) => {\n\tlet matches = (elm.document || elm.ownerDocument).querySelectorAll(selector),\n\t\ti = matches.length;\n\twhile (--i >= 0 && matches.item(i) !== elm) {};\n\treturn i > -1;\n}\n\nexport const AnimeClient = {\n\t/**\n\t * Placeholder function\n\t */\n\tnoop: () => {},\n\t/**\n\t * DOM selector\n\t *\n\t * @param {string} selector - The dom selector string\n\t * @param {object} [context]\n\t * @return {[HTMLElement]} - array of dom elements\n\t */\n\t$(selector, context = null) {\n\t\tif (typeof selector !== 'string') {\n\t\t\treturn selector;\n\t\t}\n\n\t\tcontext = (context !== null && context.nodeType === 1)\n\t\t\t? context\n\t\t\t: document;\n\n\t\tlet elements = [];\n\t\tif (selector.match(/^#([\\w]+$)/)) {\n\t\t\telements.push(document.getElementById(selector.split('#')[1]));\n\t\t} else {\n\t\t\telements = [].slice.apply(context.querySelectorAll(selector));\n\t\t}\n\n\t\treturn elements;\n\t},\n\t/**\n\t * Does the selector exist on the current page?\n\t *\n\t * @param {string} selector\n\t * @returns {boolean}\n\t */\n\thasElement (selector) {\n\t\treturn AnimeClient.$(selector).length > 0;\n\t},\n\t/**\n\t * Scroll to the top of the Page\n\t *\n\t * @return {void}\n\t */\n\tscrollToTop () {\n\t\twindow.scroll(0,0);\n\t},\n\t/**\n\t * Hide the selected element\n\t *\n\t * @param {string|Element} sel - the selector of the element to hide\n\t * @return {void}\n\t */\n\thide (sel) {\n\t\tsel.setAttribute('hidden', 'hidden');\n\t},\n\t/**\n\t * UnHide the selected element\n\t *\n\t * @param {string|Element} sel - the selector of the element to hide\n\t * @return {void}\n\t */\n\tshow (sel) {\n\t\tsel.removeAttribute('hidden');\n\t},\n\t/**\n\t * Display a message box\n\t *\n\t * @param {string} type - message type: info, error, success\n\t * @param {string} message - the message itself\n\t * @return {void}\n\t */\n\tshowMessage (type, message) {\n\t\tlet template =\n\t\t\t`
\n\t\t\t\t\n\t\t\t\t${message}\n\t\t\t\t\n\t\t\t
`;\n\n\t\tlet sel = AnimeClient.$('.message');\n\t\tif (sel[0] !== undefined) {\n\t\t\tsel[0].remove();\n\t\t}\n\n\t\tAnimeClient.$('header')[0].insertAdjacentHTML('beforeend', template);\n\t},\n\t/**\n\t * Finds the closest parent element matching the passed selector\n\t *\n\t * @param {HTMLElement} current - the current HTMLElement\n\t * @param {string} parentSelector - selector for the parent element\n\t * @return {HTMLElement|null} - the parent element\n\t */\n\tclosestParent (current, parentSelector) {\n\t\tif (Element.prototype.closest !== undefined) {\n\t\t\treturn current.closest(parentSelector);\n\t\t}\n\n\t\twhile (current !== document.documentElement) {\n\t\t\tif (matches(current, parentSelector)) {\n\t\t\t\treturn current;\n\t\t\t}\n\n\t\t\tcurrent = current.parentElement;\n\t\t}\n\n\t\treturn null;\n\t},\n\t/**\n\t * Generate a full url from a relative path\n\t *\n\t * @param {string} path - url path\n\t * @return {string} - full url\n\t */\n\turl (path) {\n\t\tlet uri = `//${document.location.host}`;\n\t\turi += (path.charAt(0) === '/') ? path : `/${path}`;\n\n\t\treturn uri;\n\t},\n\t/**\n\t * Throttle execution of a function\n\t *\n\t * @see https://remysharp.com/2010/07/21/throttling-function-calls\n\t * @see https://jsfiddle.net/jonathansampson/m7G64/\n\t * @param {Number} interval - the minimum throttle time in ms\n\t * @param {Function} fn - the function to throttle\n\t * @param {Object} [scope] - the 'this' object for the function\n\t * @return {Function}\n\t */\n\tthrottle (interval, fn, scope) {\n\t\tlet wait = false;\n\t\treturn function (...args) {\n\t\t\tconst context = scope || this;\n\n\t\t\tif ( ! wait) {\n\t\t\t\tfn.apply(context, args);\n\t\t\t\twait = true;\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\twait = false;\n\t\t\t\t}, interval);\n\t\t\t}\n\t\t};\n\t},\n};\n\n// -------------------------------------------------------------------------\n// ! Events\n// -------------------------------------------------------------------------\n\nfunction addEvent(sel, event, listener) {\n\t// Recurse!\n\tif (! event.match(/^([\\w\\-]+)$/)) {\n\t\tevent.split(' ').forEach((evt) => {\n\t\t\taddEvent(sel, evt, listener);\n\t\t});\n\t}\n\n\tsel.addEventListener(event, listener, false);\n}\n\nfunction delegateEvent(sel, target, event, listener) {\n\t// Attach the listener to the parent\n\taddEvent(sel, event, (e) => {\n\t\t// Get live version of the target selector\n\t\tAnimeClient.$(target, sel).forEach((element) => {\n\t\t\tif(e.target == element) {\n\t\t\t\tlistener.call(element, e);\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Add an event listener\n *\n * @param {string|HTMLElement} sel - the parent selector to bind to\n * @param {string} event - event name(s) to bind\n * @param {string|HTMLElement|function} target - the element to directly bind the event to\n * @param {function} [listener] - event listener callback\n * @return {void}\n */\nAnimeClient.on = (sel, event, target, listener) => {\n\tif (listener === undefined) {\n\t\tlistener = target;\n\t\tAnimeClient.$(sel).forEach((el) => {\n\t\t\taddEvent(el, event, listener);\n\t\t});\n\t} else {\n\t\tAnimeClient.$(sel).forEach((el) => {\n\t\t\tdelegateEvent(el, target, event, listener);\n\t\t});\n\t}\n};\n\n// -------------------------------------------------------------------------\n// ! Ajax\n// -------------------------------------------------------------------------\n\n/**\n * Url encoding for non-get requests\n *\n * @param data\n * @returns {string}\n * @private\n */\nfunction ajaxSerialize(data) {\n\tlet pairs = [];\n\n\tObject.keys(data).forEach((name) => {\n\t\tlet value = data[name].toString();\n\n\t\tname = encodeURIComponent(name);\n\t\tvalue = encodeURIComponent(value);\n\n\t\tpairs.push(`${name}=${value}`);\n\t});\n\n\treturn pairs.join('&');\n}\n\n/**\n * Make an ajax request\n *\n * Config:{\n * \tdata: // data to send with the request\n * \ttype: // http verb of the request, defaults to GET\n * \tsuccess: // success callback\n * \terror: // error callback\n * }\n *\n * @param {string} url - the url to request\n * @param {Object} config - the configuration object\n * @return {void}\n */\nAnimeClient.ajax = (url, config) => {\n\t// Set some sane defaults\n\tconst defaultConfig = {\n\t\tdata: {},\n\t\ttype: 'GET',\n\t\tdataType: '',\n\t\tsuccess: AnimeClient.noop,\n\t\tmimeType: 'application/x-www-form-urlencoded',\n\t\terror: AnimeClient.noop\n\t}\n\n\tconfig = {\n\t\t...defaultConfig,\n\t\t...config,\n\t}\n\n\tlet request = new XMLHttpRequest();\n\tlet method = String(config.type).toUpperCase();\n\n\tif (method === 'GET') {\n\t\turl += (url.match(/\\?/))\n\t\t\t? ajaxSerialize(config.data)\n\t\t\t: `?${ajaxSerialize(config.data)}`;\n\t}\n\n\trequest.open(method, url);\n\n\trequest.onreadystatechange = () => {\n\t\tif (request.readyState === 4) {\n\t\t\tlet responseText = '';\n\n\t\t\tif (request.responseType === 'json') {\n\t\t\t\tresponseText = JSON.parse(request.responseText);\n\t\t\t} else {\n\t\t\t\tresponseText = request.responseText;\n\t\t\t}\n\n\t\t\tif (request.status > 299) {\n\t\t\t\tconfig.error.call(null, request.status, responseText, request.response);\n\t\t\t} else {\n\t\t\t\tconfig.success.call(null, responseText, request.status);\n\t\t\t}\n\t\t}\n\t};\n\n\tif (config.dataType === 'json') {\n\t\tconfig.data = JSON.stringify(config.data);\n\t\tconfig.mimeType = 'application/json';\n\t} else {\n\t\tconfig.data = ajaxSerialize(config.data);\n\t}\n\n\trequest.setRequestHeader('Content-Type', config.mimeType);\n\n\tswitch (method) {\n\t\tcase 'GET':\n\t\t\trequest.send(null);\n\t\tbreak;\n\n\t\tdefault:\n\t\t\trequest.send(config.data);\n\t\tbreak;\n\t}\n};\n\n/**\n * Do a get request\n *\n * @param {string} url\n * @param {object|function} data\n * @param {function} [callback]\n */\nAnimeClient.get = (url, data, callback = null) => {\n\tif (callback === null) {\n\t\tcallback = data;\n\t\tdata = {};\n\t}\n\n\treturn AnimeClient.ajax(url, {\n\t\tdata,\n\t\tsuccess: callback\n\t});\n};\n\n// -------------------------------------------------------------------------\n// Export\n// -------------------------------------------------------------------------\n\nexport default AnimeClient;","import _ from './AnimeClient.js';\n/**\n * Event handlers\n */\n// Close event for messages\n_.on('header', 'click', '.message', (e) => {\n\t_.hide(e.target);\n});\n\n// Confirm deleting of list or library items\n_.on('form.js-delete', 'submit', (event) => {\n\tconst proceed = confirm('Are you ABSOLUTELY SURE you want to delete this item?');\n\n\tif (proceed === false) {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t}\n});\n\n// Clear the api cache\n_.on('.js-clear-cache', 'click', () => {\n\t_.get('/cache_purge', () => {\n\t\t_.showMessage('success', 'Successfully purged api cache');\n\t});\n});\n","import './base/events.js';\n\nif ('serviceWorker' in navigator) {\n\tnavigator.serviceWorker.register('/sw.js').then(reg => {\n\t\tconsole.log('Service worker registered', reg.scope);\n\t}).catch(error => {\n\t\tconsole.error('Failed to register service worker', error);\n\t});\n}\n\n"],"names":["matches","elm","selector","querySelectorAll","document","ownerDocument","i","length","item","AnimeClient","noop","$","context","nodeType","elements","match","push","getElementById","split","slice","apply","hasElement","scrollToTop","window","scroll","hide","sel","setAttribute","show","removeAttribute","showMessage","type","message","template","undefined","remove","insertAdjacentHTML","closestParent","current","parentSelector","Element","prototype","closest","documentElement","parentElement","url","path","uri","location","host","charAt","throttle","interval","fn","scope","wait","args","setTimeout","addEvent","event","listener","forEach","evt","addEventListener","delegateEvent","target","e","element","call","stopPropagation","on","AnimeClient.on","el","ajaxSerialize","data","pairs","Object","keys","name","value","toString","encodeURIComponent","join","ajax","AnimeClient.ajax","config","defaultConfig","dataType","success","mimeType","error","request","XMLHttpRequest","method","String","toUpperCase","open","onreadystatechange","request.onreadystatechange","readyState","responseText","responseType","JSON","parse","status","response","stringify","setRequestHeader","send","get","AnimeClient.get","callback","_","proceed","confirm","preventDefault","navigator","serviceWorker","register","then","reg","console","log","catch"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"scripts.min.js.map","sources":["src/base/AnimeClient.js","src/base/events.js"],"sourcesContent":["// -------------------------------------------------------------------------\n// ! Base\n// -------------------------------------------------------------------------\n\nconst matches = (elm, selector) => {\n\tlet matches = (elm.document || elm.ownerDocument).querySelectorAll(selector),\n\t\ti = matches.length;\n\twhile (--i >= 0 && matches.item(i) !== elm) {};\n\treturn i > -1;\n}\n\nexport const AnimeClient = {\n\t/**\n\t * Placeholder function\n\t */\n\tnoop: () => {},\n\t/**\n\t * DOM selector\n\t *\n\t * @param {string} selector - The dom selector string\n\t * @param {object} [context]\n\t * @return {[HTMLElement]} - array of dom elements\n\t */\n\t$(selector, context = null) {\n\t\tif (typeof selector !== 'string') {\n\t\t\treturn selector;\n\t\t}\n\n\t\tcontext = (context !== null && context.nodeType === 1)\n\t\t\t? context\n\t\t\t: document;\n\n\t\tlet elements = [];\n\t\tif (selector.match(/^#([\\w]+$)/)) {\n\t\t\telements.push(document.getElementById(selector.split('#')[1]));\n\t\t} else {\n\t\t\telements = [].slice.apply(context.querySelectorAll(selector));\n\t\t}\n\n\t\treturn elements;\n\t},\n\t/**\n\t * Does the selector exist on the current page?\n\t *\n\t * @param {string} selector\n\t * @returns {boolean}\n\t */\n\thasElement (selector) {\n\t\treturn AnimeClient.$(selector).length > 0;\n\t},\n\t/**\n\t * Scroll to the top of the Page\n\t *\n\t * @return {void}\n\t */\n\tscrollToTop () {\n\t\twindow.scroll(0,0);\n\t},\n\t/**\n\t * Hide the selected element\n\t *\n\t * @param {string|Element} sel - the selector of the element to hide\n\t * @return {void}\n\t */\n\thide (sel) {\n\t\tsel.setAttribute('hidden', 'hidden');\n\t},\n\t/**\n\t * UnHide the selected element\n\t *\n\t * @param {string|Element} sel - the selector of the element to hide\n\t * @return {void}\n\t */\n\tshow (sel) {\n\t\tsel.removeAttribute('hidden');\n\t},\n\t/**\n\t * Display a message box\n\t *\n\t * @param {string} type - message type: info, error, success\n\t * @param {string} message - the message itself\n\t * @return {void}\n\t */\n\tshowMessage (type, message) {\n\t\tlet template =\n\t\t\t`
\n\t\t\t\t\n\t\t\t\t${message}\n\t\t\t\t\n\t\t\t
`;\n\n\t\tlet sel = AnimeClient.$('.message');\n\t\tif (sel[0] !== undefined) {\n\t\t\tsel[0].remove();\n\t\t}\n\n\t\tAnimeClient.$('header')[0].insertAdjacentHTML('beforeend', template);\n\t},\n\t/**\n\t * Finds the closest parent element matching the passed selector\n\t *\n\t * @param {HTMLElement} current - the current HTMLElement\n\t * @param {string} parentSelector - selector for the parent element\n\t * @return {HTMLElement|null} - the parent element\n\t */\n\tclosestParent (current, parentSelector) {\n\t\tif (Element.prototype.closest !== undefined) {\n\t\t\treturn current.closest(parentSelector);\n\t\t}\n\n\t\twhile (current !== document.documentElement) {\n\t\t\tif (matches(current, parentSelector)) {\n\t\t\t\treturn current;\n\t\t\t}\n\n\t\t\tcurrent = current.parentElement;\n\t\t}\n\n\t\treturn null;\n\t},\n\t/**\n\t * Generate a full url from a relative path\n\t *\n\t * @param {string} path - url path\n\t * @return {string} - full url\n\t */\n\turl (path) {\n\t\tlet uri = `//${document.location.host}`;\n\t\turi += (path.charAt(0) === '/') ? path : `/${path}`;\n\n\t\treturn uri;\n\t},\n\t/**\n\t * Throttle execution of a function\n\t *\n\t * @see https://remysharp.com/2010/07/21/throttling-function-calls\n\t * @see https://jsfiddle.net/jonathansampson/m7G64/\n\t * @param {Number} interval - the minimum throttle time in ms\n\t * @param {Function} fn - the function to throttle\n\t * @param {Object} [scope] - the 'this' object for the function\n\t * @return {Function}\n\t */\n\tthrottle (interval, fn, scope) {\n\t\tlet wait = false;\n\t\treturn function (...args) {\n\t\t\tconst context = scope || this;\n\n\t\t\tif ( ! wait) {\n\t\t\t\tfn.apply(context, args);\n\t\t\t\twait = true;\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\twait = false;\n\t\t\t\t}, interval);\n\t\t\t}\n\t\t};\n\t},\n};\n\n// -------------------------------------------------------------------------\n// ! Events\n// -------------------------------------------------------------------------\n\nfunction addEvent(sel, event, listener) {\n\t// Recurse!\n\tif (! event.match(/^([\\w\\-]+)$/)) {\n\t\tevent.split(' ').forEach((evt) => {\n\t\t\taddEvent(sel, evt, listener);\n\t\t});\n\t}\n\n\tsel.addEventListener(event, listener, false);\n}\n\nfunction delegateEvent(sel, target, event, listener) {\n\t// Attach the listener to the parent\n\taddEvent(sel, event, (e) => {\n\t\t// Get live version of the target selector\n\t\tAnimeClient.$(target, sel).forEach((element) => {\n\t\t\tif(e.target == element) {\n\t\t\t\tlistener.call(element, e);\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Add an event listener\n *\n * @param {string|HTMLElement} sel - the parent selector to bind to\n * @param {string} event - event name(s) to bind\n * @param {string|HTMLElement|function} target - the element to directly bind the event to\n * @param {function} [listener] - event listener callback\n * @return {void}\n */\nAnimeClient.on = (sel, event, target, listener) => {\n\tif (listener === undefined) {\n\t\tlistener = target;\n\t\tAnimeClient.$(sel).forEach((el) => {\n\t\t\taddEvent(el, event, listener);\n\t\t});\n\t} else {\n\t\tAnimeClient.$(sel).forEach((el) => {\n\t\t\tdelegateEvent(el, target, event, listener);\n\t\t});\n\t}\n};\n\n// -------------------------------------------------------------------------\n// ! Ajax\n// -------------------------------------------------------------------------\n\n/**\n * Url encoding for non-get requests\n *\n * @param data\n * @returns {string}\n * @private\n */\nfunction ajaxSerialize(data) {\n\tlet pairs = [];\n\n\tObject.keys(data).forEach((name) => {\n\t\tlet value = data[name].toString();\n\n\t\tname = encodeURIComponent(name);\n\t\tvalue = encodeURIComponent(value);\n\n\t\tpairs.push(`${name}=${value}`);\n\t});\n\n\treturn pairs.join('&');\n}\n\n/**\n * Make an ajax request\n *\n * Config:{\n * \tdata: // data to send with the request\n * \ttype: // http verb of the request, defaults to GET\n * \tsuccess: // success callback\n * \terror: // error callback\n * }\n *\n * @param {string} url - the url to request\n * @param {Object} config - the configuration object\n * @return {void}\n */\nAnimeClient.ajax = (url, config) => {\n\t// Set some sane defaults\n\tconst defaultConfig = {\n\t\tdata: {},\n\t\ttype: 'GET',\n\t\tdataType: '',\n\t\tsuccess: AnimeClient.noop,\n\t\tmimeType: 'application/x-www-form-urlencoded',\n\t\terror: AnimeClient.noop\n\t}\n\n\tconfig = {\n\t\t...defaultConfig,\n\t\t...config,\n\t}\n\n\tlet request = new XMLHttpRequest();\n\tlet method = String(config.type).toUpperCase();\n\n\tif (method === 'GET') {\n\t\turl += (url.match(/\\?/))\n\t\t\t? ajaxSerialize(config.data)\n\t\t\t: `?${ajaxSerialize(config.data)}`;\n\t}\n\n\trequest.open(method, url);\n\n\trequest.onreadystatechange = () => {\n\t\tif (request.readyState === 4) {\n\t\t\tlet responseText = '';\n\n\t\t\tif (request.responseType === 'json') {\n\t\t\t\tresponseText = JSON.parse(request.responseText);\n\t\t\t} else {\n\t\t\t\tresponseText = request.responseText;\n\t\t\t}\n\n\t\t\tif (request.status > 299) {\n\t\t\t\tconfig.error.call(null, request.status, responseText, request.response);\n\t\t\t} else {\n\t\t\t\tconfig.success.call(null, responseText, request.status);\n\t\t\t}\n\t\t}\n\t};\n\n\tif (config.dataType === 'json') {\n\t\tconfig.data = JSON.stringify(config.data);\n\t\tconfig.mimeType = 'application/json';\n\t} else {\n\t\tconfig.data = ajaxSerialize(config.data);\n\t}\n\n\trequest.setRequestHeader('Content-Type', config.mimeType);\n\n\tswitch (method) {\n\t\tcase 'GET':\n\t\t\trequest.send(null);\n\t\tbreak;\n\n\t\tdefault:\n\t\t\trequest.send(config.data);\n\t\tbreak;\n\t}\n};\n\n/**\n * Do a get request\n *\n * @param {string} url\n * @param {object|function} data\n * @param {function} [callback]\n */\nAnimeClient.get = (url, data, callback = null) => {\n\tif (callback === null) {\n\t\tcallback = data;\n\t\tdata = {};\n\t}\n\n\treturn AnimeClient.ajax(url, {\n\t\tdata,\n\t\tsuccess: callback\n\t});\n};\n\n// -------------------------------------------------------------------------\n// Export\n// -------------------------------------------------------------------------\n\nexport default AnimeClient;","import _ from './AnimeClient.js';\n/**\n * Event handlers\n */\n// Close event for messages\n_.on('header', 'click', '.message', (e) => {\n\t_.hide(e.target);\n});\n\n// Confirm deleting of list or library items\n_.on('form.js-delete', 'submit', (event) => {\n\tconst proceed = confirm('Are you ABSOLUTELY SURE you want to delete this item?');\n\n\tif (proceed === false) {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t}\n});\n\n// Clear the api cache\n_.on('.js-clear-cache', 'click', () => {\n\t_.get('/cache_purge', () => {\n\t\t_.showMessage('success', 'Successfully purged api cache');\n\t});\n});\n\n// Alleviate some page jumping\n _.on('.vertical-tabs input', 'change', (event) => {\n\tconst el = event.currentTarget.parentElement;\n\tconst rect = el.getBoundingClientRect();\n\n\tconst top = rect.top + window.pageYOffset;\n\tconst bottom = rect.bottom + window.pageYOffset;\n\n\tlet middle = (Math.abs(top) + Math.abs(bottom)) / 2;\n\n\tif (top < 0 && bottom < 0)\n\t{\n\t\tmiddle *= -1;\n\t}\n\n\twindow.scrollTo({\n\t\tbottom,\n\t\tbehavior: 'smooth',\n\t});\n});\n"],"names":["matches","elm","selector","querySelectorAll","document","ownerDocument","i","length","item","AnimeClient","noop","$","context","nodeType","elements","match","push","getElementById","split","slice","apply","hasElement","scrollToTop","window","scroll","hide","sel","setAttribute","show","removeAttribute","showMessage","type","message","template","undefined","remove","insertAdjacentHTML","closestParent","current","parentSelector","Element","prototype","closest","documentElement","parentElement","url","path","uri","location","host","charAt","throttle","interval","fn","scope","wait","args","setTimeout","addEvent","event","listener","forEach","evt","addEventListener","delegateEvent","target","e","element","call","stopPropagation","on","AnimeClient.on","el","ajaxSerialize","data","pairs","Object","keys","name","value","toString","encodeURIComponent","join","ajax","AnimeClient.ajax","config","defaultConfig","dataType","success","mimeType","error","request","XMLHttpRequest","method","String","toUpperCase","open","onreadystatechange","request.onreadystatechange","readyState","responseText","responseType","JSON","parse","status","response","stringify","setRequestHeader","send","get","AnimeClient.get","callback","_","proceed","confirm","preventDefault","currentTarget","rect","getBoundingClientRect","top","pageYOffset","bottom","scrollTo","behavior"],"mappings":"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"} \ No newline at end of file diff --git a/public/js/src/base/events.js b/public/js/src/base/events.js index e5fbf4bc..cb36a9ed 100644 --- a/public/js/src/base/events.js +++ b/public/js/src/base/events.js @@ -23,3 +23,16 @@ _.on('.js-clear-cache', 'click', () => { _.showMessage('success', 'Successfully purged api cache'); }); }); + +// Alleviate some page jumping + _.on('.vertical-tabs input', 'change', (event) => { + const el = event.currentTarget.parentElement; + const rect = el.getBoundingClientRect(); + + const top = rect.top + window.pageYOffset; + + window.scrollTo({ + top, + behavior: 'smooth', + }); +}); diff --git a/public/js/src/index.js b/public/js/src/index.js index 88d68d5b..a03b2fdc 100644 --- a/public/js/src/index.js +++ b/public/js/src/index.js @@ -1,10 +1,10 @@ import './base/events.js'; -if ('serviceWorker' in navigator) { +/* if ('serviceWorker' in navigator) { navigator.serviceWorker.register('/sw.js').then(reg => { console.log('Service worker registered', reg.scope); }).catch(error => { console.error('Failed to register service worker', error); }); -} +} */ diff --git a/public/package.json b/public/package.json index a092b621..8a379e5b 100644 --- a/public/package.json +++ b/public/package.json @@ -1,4 +1,5 @@ { + "license": "MIT", "scripts": { "build": "npm run build:css && npm run build:js", "build:css": "node ./tools/css.js", @@ -8,15 +9,13 @@ "watch": "concurrently \"npm:watch:css\" \"npm:watch:js\" --kill-others" }, "devDependencies": { - "concurrently": "^3.6.1", + "concurrently": "^4.0.1", "cssnano": "^4.0.5", "postcss-cachify": "^1.3.1", "postcss-cssnext": "^3.0.0", "postcss-import": "^12.0.0", - "rollup": "^0.64.1", + "rollup": "^0.66.6", + "rollup-plugin-closure-compiler-js": "^1.0.6", "watch": "^1.0.2" - }, - "dependencies": { - "rollup-plugin-closure-compiler-js": "^1.0.6" } } diff --git a/public/yarn.lock b/public/yarn.lock index 34c3b5e9..ca4147b9 100644 --- a/public/yarn.lock +++ b/public/yarn.lock @@ -5,42 +5,51 @@ "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== "@types/node@*": - version "10.10.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.10.1.tgz#d5c96ca246a418404914d180b7fdd625ad18eca6" + version "10.12.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.2.tgz#d77f9faa027cadad9c912cd47f4f8b07b0fb0864" + integrity sha512-53ElVDSnZeFUUFIYzI8WLQ25IhWzb6vbddNp8UHlXQyU0ET2RhV5zg0NfubzU7iNMh5bBXb0htCzfvrSVNgzaQ== alphanum-sort@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" autoprefixer@^7.1.1: version "7.2.6" - resolved "http://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz#256672f86f7c735da849c4f07d008abb056067dc" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.2.6.tgz#256672f86f7c735da849c4f07d008abb056067dc" + integrity sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ== dependencies: browserslist "^2.11.3" caniuse-lite "^1.0.30000805" @@ -52,6 +61,7 @@ autoprefixer@^7.1.1: babel-runtime@^6.23.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= dependencies: core-js "^2.4.0" regenerator-runtime "^0.11.0" @@ -59,22 +69,27 @@ babel-runtime@^6.23.0: balanced-match@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.1.0.tgz#b504bd05869b39259dd0c5efc35d843176dccc4a" + integrity sha1-tQS9BYabOSWd0MXvw12EMXbczEo= balanced-match@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + integrity sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg= balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" @@ -82,25 +97,34 @@ brace-expansion@^1.1.7: browserslist@^2.0.0, browserslist@^2.11.3: version "2.11.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2" + integrity sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA== dependencies: caniuse-lite "^1.0.30000792" electron-to-chromium "^1.3.30" browserslist@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.1.1.tgz#328eb4ff1215b12df6589e9ab82f8adaa4fc8cd6" + version "4.3.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.3.4.tgz#4477b737db6a1b07077275b24791e680d4300425" + integrity sha512-u5iz+ijIMUlmV8blX82VGFrB9ecnUg5qEt55CMZ/YJEhha+d8qpBfOFuutJ6F/VKRXjZoD33b6uvarpPxcl3RA== dependencies: - caniuse-lite "^1.0.30000884" - electron-to-chromium "^1.3.62" - node-releases "^1.0.0-alpha.11" + caniuse-lite "^1.0.30000899" + electron-to-chromium "^1.3.82" + node-releases "^1.0.1" builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= caniuse-api@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-2.0.0.tgz#b1ddb5a5966b16f48dc4998444d4bbc6c7d9d834" + integrity sha1-sd21pZZrFvSNxJmERNS7xsfZ2DQ= dependencies: browserslist "^2.0.0" caniuse-lite "^1.0.0" @@ -110,19 +134,22 @@ caniuse-api@^2.0.0: caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== dependencies: browserslist "^4.0.0" caniuse-lite "^1.0.0" lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.30000884: - version "1.0.30000885" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000885.tgz#e889e9f8e7e50e769f2a49634c932b8aee622984" +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.30000899: + version "1.0.30000903" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000903.tgz#86d46227759279b3db345ddbe778335dbba9e858" + integrity sha512-T1XVJEpGCoaq7MDw7/6hCdYUukmSaS+1l/OQJkLtw7Cr2+/+d67tNGKEbyiqf7Ck8x6EhNFUxjYFXXka0N/w5g== chalk@^1.1.3: version "1.1.3" - resolved "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= dependencies: ansi-styles "^2.2.1" escape-string-regexp "^1.0.2" @@ -133,60 +160,66 @@ chalk@^1.1.3: chalk@^2.0.1, chalk@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" supports-color "^5.3.0" -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - -clone@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - -cloneable-readable@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65" - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= coa@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.1.tgz#f3f8b0b15073e35d70263fb1042cb2c023db38af" + integrity sha512-5wfTTO8E2/ja4jFSxePXlG5nRu5bBtL/r1HCIpJW/lzT6yDtKl0u0Z4o/Vpz32IpKmBn7HerheEZQgA9N2DarQ== dependencies: q "^1.1.2" +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + color-convert@^1.3.0, color-convert@^1.8.2, color-convert@^1.9.0, color-convert@^1.9.1: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" -color-name@1.1.3, color-name@^1.0.0: +color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== color-string@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" + integrity sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE= dependencies: color-name "^1.0.0" color-string@^1.4.0, color-string@^1.5.2: version "1.5.3" resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== dependencies: color-name "^1.0.0" simple-swizzle "^0.2.2" @@ -194,6 +227,7 @@ color-string@^1.4.0, color-string@^1.5.2: color@^0.11.0: version "0.11.4" resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" + integrity sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q= dependencies: clone "^1.0.2" color-convert "^1.3.0" @@ -202,6 +236,7 @@ color@^0.11.0: color@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/color/-/color-1.0.3.tgz#e48e832d85f14ef694fb468811c2d5cfe729b55d" + integrity sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0= dependencies: color-convert "^1.8.2" color-string "^1.4.0" @@ -209,13 +244,15 @@ color@^1.0.3: color@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color/-/color-2.0.1.tgz#e4ed78a3c4603d0891eba5430b04b86314f4c839" + integrity sha512-ubUCVVKfT7r2w2D3qtHakj8mbmKms+tThR8gI8zEYCbUBl8/voqFGt3kgBqGwXAopgXybnkuOq+qMYCRrp4cXw== dependencies: color-convert "^1.9.1" color-string "^1.5.2" color@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/color/-/color-3.0.0.tgz#d920b4328d534a3ac8295d68f7bd4ba6c427be9a" + version "3.1.0" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.0.tgz#d8e9fb096732875774c84bf922815df0308d0ffc" + integrity sha512-CwyopLkuRYO5ei2EpzpIh6LqJMt6Mt+jZhO5VI5f/wJLZriXQE32/SSqzmrh+QB+AZT81Cj8yv+7zwToW8ahZg== dependencies: color-convert "^1.9.1" color-string "^1.5.2" @@ -223,32 +260,32 @@ color@^3.0.0: colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" - -commander@2.6.0: - version "2.6.0" - resolved "http://registry.npmjs.org/commander/-/commander-2.6.0.tgz#9df7e52fb2a0cb0fb89058ee80c3104225f37e1d" + integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM= concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concurrently@^3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-3.6.1.tgz#2f95baec5c4051294dfbb55b57a3b98a3e2b45ec" +concurrently@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-4.0.1.tgz#f6310fbadf2f476dd95df952edb5c0ab789f672c" + integrity sha512-D8UI+mlI/bfvrA57SeKOht6sEpb01dKk+8Yee4fbnkk1Ue8r3S+JXoEdFZIpzQlXJGtnxo47Wvvg/kG4ba3U6Q== dependencies: chalk "^2.4.1" - commander "2.6.0" date-fns "^1.23.0" - lodash "^4.5.1" - read-pkg "^3.0.0" - rx "2.3.24" + lodash "^4.17.10" + read-pkg "^4.0.1" + rxjs "6.2.2" spawn-command "^0.0.2-1" - supports-color "^3.2.3" + supports-color "^4.5.0" tree-kill "^1.1.0" + yargs "^12.0.1" connect-cachify-static@^1.3.0: version "1.6.0" resolved "https://registry.yarnpkg.com/connect-cachify-static/-/connect-cachify-static-1.6.0.tgz#f97eac98fa0ac6e6fe793fc32565f9ca028e9b38" + integrity sha512-rmBn6Xy7erXXuUtWWoxztyyuLVCp/FxF07g7MWOIWhSJJb5mv08jInLUlbFE1b7LMLEs9ff0x8j0KFOBHY8eMw== dependencies: debug "~2" find "~0" @@ -259,22 +296,32 @@ connect-cachify-static@^1.3.0: core-js@^2.4.0: version "2.5.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" - -core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw== cosmiconfig@^5.0.0: version "5.0.6" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.6.tgz#dca6cf680a0bd03589aff684700858c81abeeb39" + integrity sha512-6DWfizHriCrFWURP1/qyhsiFvYdlJzbCzmtFWh744+KyWsJo5+kPzUZZaMRSSItoYc0pxFX7gEO7ZC1/gN/7AQ== dependencies: is-directory "^0.3.1" js-yaml "^3.9.0" parse-json "^4.0.0" +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + css-color-function@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/css-color-function/-/css-color-function-1.3.3.tgz#8ed24c2c0205073339fafa004bc8c141fccb282e" + integrity sha1-jtJMLAIFBzM5+voAS8jBQfzLKC4= dependencies: balanced-match "0.1.0" color "^0.11.0" @@ -284,30 +331,35 @@ css-color-function@~1.3.3: css-color-names@0.0.4, css-color-names@^0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= -css-declaration-sorter@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-3.0.1.tgz#d0e3056b0fd88dc1ea9dceff435adbe9c702a7f8" +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== dependencies: - postcss "^6.0.0" + postcss "^7.0.1" timsort "^0.3.0" css-select-base-adapter@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.0.tgz#0102b3d14630df86c3eb9fa9f5456270106cf990" + version "0.1.1" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== css-select@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.0.0.tgz#7aa2921392114831f68db175c0b6a555df74bbd5" + version "2.0.2" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz#ab4386cec9e1f668855564b17c3733b43b2a5ede" + integrity sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ== dependencies: boolbase "^1.0.0" - css-what "2.1" + css-what "^2.1.2" domutils "^1.7.0" - nth-check "^1.0.1" + nth-check "^1.0.2" css-tree@1.0.0-alpha.28: version "1.0.0-alpha.28" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f" + integrity sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w== dependencies: mdn-data "~1.1.0" source-map "^0.5.3" @@ -315,6 +367,7 @@ css-tree@1.0.0-alpha.28: css-tree@1.0.0-alpha.29: version "1.0.0-alpha.29" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" + integrity sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg== dependencies: mdn-data "~1.1.0" source-map "^0.5.3" @@ -322,123 +375,153 @@ css-tree@1.0.0-alpha.29: css-unit-converter@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" + integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= css-url-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec" + integrity sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w= -css-what@2.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" +css-what@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.2.tgz#c0876d9d0480927d7d4920dcd72af3595649554d" + integrity sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ== -cssnano-preset-default@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.0.tgz#c334287b4f7d49fb2d170a92f9214655788e3b6b" +cssesc@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" + integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== + +cssnano-preset-default@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.5.tgz#d1756c0259d98ad311e601ba76e95c60f6771ac1" + integrity sha512-f1uhya0ZAjPYtDD58QkBB0R+uYdzHPei7cDxJyQQIHt5acdhyGXaSXl2nDLzWHLwGFbZcHxQtkJS8mmNwnxTvw== dependencies: - css-declaration-sorter "^3.0.0" - cssnano-util-raw-cache "^4.0.0" - postcss "^6.0.0" - postcss-calc "^6.0.0" - postcss-colormin "^4.0.0" - postcss-convert-values "^4.0.0" - postcss-discard-comments "^4.0.0" - postcss-discard-duplicates "^4.0.0" - postcss-discard-empty "^4.0.0" - postcss-discard-overridden "^4.0.0" - postcss-merge-longhand "^4.0.0" - postcss-merge-rules "^4.0.0" - postcss-minify-font-values "^4.0.0" - postcss-minify-gradients "^4.0.0" - postcss-minify-params "^4.0.0" - postcss-minify-selectors "^4.0.0" - postcss-normalize-charset "^4.0.0" - postcss-normalize-display-values "^4.0.0" - postcss-normalize-positions "^4.0.0" - postcss-normalize-repeat-style "^4.0.0" - postcss-normalize-string "^4.0.0" - postcss-normalize-timing-functions "^4.0.0" - postcss-normalize-unicode "^4.0.0" - postcss-normalize-url "^4.0.0" - postcss-normalize-whitespace "^4.0.0" - postcss-ordered-values "^4.0.0" - postcss-reduce-initial "^4.0.0" - postcss-reduce-transforms "^4.0.0" - postcss-svgo "^4.0.0" - postcss-unique-selectors "^4.0.0" + css-declaration-sorter "^4.0.1" + cssnano-util-raw-cache "^4.0.1" + postcss "^7.0.0" + postcss-calc "^7.0.0" + postcss-colormin "^4.0.2" + postcss-convert-values "^4.0.1" + postcss-discard-comments "^4.0.1" + postcss-discard-duplicates "^4.0.2" + postcss-discard-empty "^4.0.1" + postcss-discard-overridden "^4.0.1" + postcss-merge-longhand "^4.0.9" + postcss-merge-rules "^4.0.2" + postcss-minify-font-values "^4.0.2" + postcss-minify-gradients "^4.0.1" + postcss-minify-params "^4.0.1" + postcss-minify-selectors "^4.0.1" + postcss-normalize-charset "^4.0.1" + postcss-normalize-display-values "^4.0.1" + postcss-normalize-positions "^4.0.1" + postcss-normalize-repeat-style "^4.0.1" + postcss-normalize-string "^4.0.1" + postcss-normalize-timing-functions "^4.0.1" + postcss-normalize-unicode "^4.0.1" + postcss-normalize-url "^4.0.1" + postcss-normalize-whitespace "^4.0.1" + postcss-ordered-values "^4.1.1" + postcss-reduce-initial "^4.0.2" + postcss-reduce-transforms "^4.0.1" + postcss-svgo "^4.0.1" + postcss-unique-selectors "^4.0.1" cssnano-util-get-arguments@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= cssnano-util-get-match@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= -cssnano-util-raw-cache@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.0.tgz#be0a2856e25f185f5f7a2bcc0624e28b7f179a9f" +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== dependencies: - postcss "^6.0.0" + postcss "^7.0.0" cssnano-util-same-parent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.0.tgz#d2a3de1039aa98bc4ec25001fa050330c2a16dac" + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== cssnano@^4.0.5: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.0.tgz#682c37b84b9b7df616450a5a8dc9269b9bd10734" + version "4.1.7" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.7.tgz#0bf112294bec103ab5f68d3f805732c8325a0b1b" + integrity sha512-AiXL90l+MDuQmRNyypG2P7ux7K4XklxYzNNUd5HXZCNcH8/N9bHPcpN97v8tXgRVeFL/Ed8iP8mVmAAu0ZpT7A== dependencies: cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.0" + cssnano-preset-default "^4.0.5" is-resolvable "^1.0.0" - postcss "^6.0.0" + postcss "^7.0.0" csso@^3.5.0: version "3.5.1" resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" + integrity sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg== dependencies: css-tree "1.0.0-alpha.29" date-fns@^1.23.0: version "1.29.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6" + integrity sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw== debug@^2.1.2, debug@~2: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" debug@^3.1.0: - version "3.2.5" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.5.tgz#c2418fbfd7a29f4d4f70ff4cea604d4b64c46407" + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== dependencies: ms "^2.1.1" +decamelize@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" + integrity sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg== + dependencies: + xregexp "4.0.0" + define-properties@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== dependencies: object-keys "^1.0.12" dom-serializer@0: version "0.1.0" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" + integrity sha1-BzxpdUbOB4DOI75KKOKT5AvDDII= dependencies: domelementtype "~1.1.1" entities "~1.1.1" domelementtype@1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" + version "1.2.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.2.1.tgz#578558ef23befac043a1abb0db07635509393479" + integrity sha512-SQVCLFS2E7G5CRCMdn6K9bIhRj1bS6QBWZfF0TUPh4V/BbqrQ619IdSS3/izn0FZ+9l+uODzaZjb08fjOfablA== domelementtype@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" + integrity sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs= domutils@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== dependencies: dom-serializer "0" domelementtype "1" @@ -446,26 +529,31 @@ domutils@^1.7.0: dot-prop@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== dependencies: is-obj "^1.0.0" -electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.62: - version "1.3.70" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.70.tgz#ded377256d92d81b4257d36c65aa890274afcfd2" +electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.82: + version "1.3.83" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.83.tgz#74584eb0972bb6777811c5d68d988c722f5e6666" + integrity sha512-DqJoDarxq50dcHsOOlMLNoy+qQitlMNbYb6wwbE0oUw2veHdRkpNrhmngiUYKMErdJ8SJ48rpJsZTQgy5SoEAA== entities@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" es-abstract@^1.5.1, es-abstract@^1.6.1: version "1.12.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" + integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA== dependencies: es-to-primitive "^1.1.1" function-bind "^1.1.1" @@ -474,126 +562,183 @@ es-abstract@^1.5.1, es-abstract@^1.6.1: is-regex "^1.0.4" es-to-primitive@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== dependencies: - is-callable "^1.1.1" + is-callable "^1.1.4" is-date-object "^1.0.1" - is-symbol "^1.0.1" + is-symbol "^1.0.2" escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== exec-sh@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36" + integrity sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw== dependencies: merge "^1.2.0" +execa@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" + integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== + dependencies: + cross-spawn "^6.0.0" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + find@~0: version "0.2.9" resolved "https://registry.yarnpkg.com/find/-/find-0.2.9.tgz#4b73f1ff9e56ad91b76e716407fe5ffe6554bb8c" + integrity sha1-S3Px/55WrZG3bnFkB/5f/mVUu4w= dependencies: traverse-chain "~0.1.0" flatten@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" + integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= function-bind@^1.1.0, function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= google-closure-compiler-js@>20170000: - version "20180610.0.0" - resolved "https://registry.yarnpkg.com/google-closure-compiler-js/-/google-closure-compiler-js-20180610.0.0.tgz#df0dbf39ba3977027db2c1beb244368521c9220b" - dependencies: - minimist "^1.2.0" - vinyl "^2.0.1" - webpack-core "^0.6.8" - -graceful-fs@^4.1.2: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + version "20181008.0.0" + resolved "https://registry.yarnpkg.com/google-closure-compiler-js/-/google-closure-compiler-js-20181008.0.0.tgz#aa252fe9bfff47a4d1790c8af1a2adc755d7a3a7" + integrity sha512-vE3v9FZf7l/RjG2rsQ2X2Ho0nkqAcfldiuBrKsPLomYQn1z9uFgWgD+kQP2TXigactA10cX9ZNddKMO81tO45Q== has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= dependencies: ansi-regex "^2.0.0" has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= + +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE= has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= has@^1.0.0, has@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" hex-color-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== hosted-git-info@^2.1.4: version "2.7.1" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" + integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== hsl-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= hsla-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= html-comment-regex@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" + version "1.1.2" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" + integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== indexes-of@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= -inherits@^2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== is-absolute-url@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= is-arrayish@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== is-builtin-module@^1.0.0: version "1.0.0" - resolved "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + integrity sha1-VAVy0096wxGfj3bDDLwbHgN6/74= dependencies: builtin-modules "^1.0.0" -is-callable@^1.1.1, is-callable@^1.1.3: +is-callable@^1.1.3, is-callable@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== is-color-stop@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= dependencies: css-color-names "^0.0.4" hex-color-regex "^1.1.0" @@ -605,50 +750,80 @@ is-color-stop@^1.0.0: is-date-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= is-directory@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-obj@^1.0.0: version "1.0.1" - resolved "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= is-regex@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= dependencies: has "^1.0.1" is-resolvable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= is-svg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== dependencies: html-comment-regex "^1.1.0" -is-symbol@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" +is-symbol@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + dependencies: + has-symbols "^1.0.0" -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= isnumeric@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/isnumeric/-/isnumeric-0.2.0.tgz#a2347ba360de19e33d0ffd590fddf7755cbf2e64" + integrity sha1-ojR7o2DeGeM9D/1ZD933dVy/LmQ= js-base64@^2.1.9: version "2.4.9" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.9.tgz#748911fb04f48a60c4771b375cac45a80df11c03" + integrity sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ== js-yaml@^3.12.0, js-yaml@^3.9.0: version "3.12.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" + integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -656,27 +831,37 @@ js-yaml@^3.12.0, js-yaml@^3.9.0: json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" + invert-kv "^2.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" lodash._reinterpolate@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= lodash.template@^4.2.4: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" + integrity sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A= dependencies: lodash._reinterpolate "~3.0.0" lodash.templatesettings "^4.0.0" @@ -684,66 +869,106 @@ lodash.template@^4.2.4: lodash.templatesettings@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" + integrity sha1-K01OlbpEDZFf8IvImeRVNmZxMxY= dependencies: lodash._reinterpolate "~3.0.0" lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.5.1: +lodash@^4.17.10: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== + +map-age-cleaner@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz#098fb15538fd3dbe461f12745b0ca8568d4e3f74" + integrity sha512-UN1dNocxQq44IhJyMI4TU8phc2m9BddacHRPRjKGLYaF0jqd3xLz0jS0skpAU9WgYyoR4gHtUpzytNBS385FWQ== + dependencies: + p-defer "^1.0.0" math-expression-evaluator@^1.2.14: version "1.2.17" resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" + integrity sha1-3oGf282E3M2PrlnGrreWFbnSZqw= mdn-data@~1.1.0: version "1.1.4" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" + integrity sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA== + +mem@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz#6437690d9471678f6cc83659c00cbafcd6b0cdaf" + integrity sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA== + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^1.0.0" + p-is-promise "^1.1.0" merge@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" + integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== + +mimic-fn@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== minimatch@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" minimist@0.0.8: version "0.0.8" - resolved "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= minimist@^1.2.0: version "1.2.0" - resolved "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= mkdirp@~0.5.1: version "0.5.1" - resolved "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= ms@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== -node-releases@^1.0.0-alpha.11: - version "1.0.0-alpha.11" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.0-alpha.11.tgz#73c810acc2e5b741a17ddfbb39dfca9ab9359d8a" +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-releases@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.2.tgz#27c296d9fca3b659c64f7d43ea47a31ad2a90e4b" + integrity sha512-zP8Asfg13lG9KDAW85rylSxXBYvaSdtjMIYKHUk8c1fM8drmFwRqbSYKYD+UlNVPUvrceSvgLUKHMOWR5jPWQg== dependencies: semver "^5.3.0" normalize-package-data@^2.3.2: version "2.4.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== dependencies: hosted-git-info "^2.1.4" is-builtin-module "^1.0.0" @@ -753,28 +978,46 @@ normalize-package-data@^2.3.2: normalize-range@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= normalize-url@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== -nth-check@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== dependencies: boolbase "~1.0.0" num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= object-keys@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" + integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== object.getownpropertydescriptors@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= dependencies: define-properties "^1.1.2" es-abstract "^1.5.1" @@ -782,6 +1025,7 @@ object.getownpropertydescriptors@^2.0.3: object.values@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a" + integrity sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo= dependencies: define-properties "^1.1.2" es-abstract "^1.6.1" @@ -791,14 +1035,60 @@ object.values@^1.0.4: on-headers@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" + integrity sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c= onecolor@^3.0.4: version "3.1.0" resolved "https://registry.yarnpkg.com/onecolor/-/onecolor-3.1.0.tgz#b72522270a49569ac20d244b3cd40fe157fda4d2" + integrity sha512-YZSypViXzu3ul5LMu/m6XjJ9ol8qAy9S2VjHl5E6UlhUH1KGKWabyEJifn0Jjpw23bYDzC2ucKMPGiH5kfwSGQ== + +os-locale@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.0.1.tgz#3b014fbf01d87f60a1e5348d80fe870dc82c4620" + integrity sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw== + dependencies: + execa "^0.10.0" + lcid "^2.0.0" + mem "^4.0.0" + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-is-promise@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" + integrity sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4= + +p-limit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.0.0.tgz#e624ed54ee8c460a778b3c9f3670496ff8a57aec" + integrity sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A== + dependencies: + p-try "^2.0.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-try@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" + integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= dependencies: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" @@ -806,28 +1096,37 @@ parse-json@^4.0.0: parseurl@~1: version "1.3.2" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= path-parse@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - dependencies: - pify "^3.0.0" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= pixrem@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/pixrem/-/pixrem-4.0.1.tgz#2da4a1de6ec4423c5fc3794e930b81d4490ec686" + integrity sha1-LaSh3m7EQjxfw3lOkwuB1EkOxoY= dependencies: browserslist "^2.0.0" postcss "^6.0.0" @@ -836,6 +1135,7 @@ pixrem@^4.0.0: pleeease-filters@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/pleeease-filters/-/pleeease-filters-4.0.0.tgz#6632b2fb05648d2758d865384fbced79e1ccaec7" + integrity sha1-ZjKy+wVkjSdY2GU4T7zteeHMrsc= dependencies: onecolor "^3.0.4" postcss "^6.0.1" @@ -843,6 +1143,7 @@ pleeease-filters@^4.0.0: postcss-apply@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/postcss-apply/-/postcss-apply-0.8.0.tgz#14e544bbb5cb6f1c1e048857965d79ae066b1343" + integrity sha1-FOVEu7XLbxweBIhXll15rgZrE0M= dependencies: babel-runtime "^6.23.0" balanced-match "^0.4.2" @@ -851,6 +1152,7 @@ postcss-apply@^0.8.0: postcss-attribute-case-insensitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-2.0.0.tgz#94dc422c8f90997f16bd33a3654bbbec084963b4" + integrity sha1-lNxCLI+QmX8WvTOjZUu77AhJY7Q= dependencies: postcss "^6.0.0" postcss-selector-parser "^2.2.3" @@ -858,23 +1160,36 @@ postcss-attribute-case-insensitive@^2.0.0: postcss-cachify@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/postcss-cachify/-/postcss-cachify-1.3.2.tgz#2c34282244ee50ba217cc2959305f6198453f139" + integrity sha1-LDQoIkTuULohfMKVkwX2GYRT8Tk= dependencies: connect-cachify-static "^1.3.0" debug "^2.1.2" postcss "^5.0.0" postcss-calc@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-6.0.1.tgz#3d24171bbf6e7629d422a436ebfe6dd9511f4330" + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-6.0.2.tgz#4d9a43e27dbbf27d095fecb021ac6896e2318337" + integrity sha512-fiznXjEN5T42Qm7qqMCVJXS3roaj9r4xsSi+meaBVe7CJBl8t/QLOXu02Z2E6oWAMWIvCuF6JrvzFekmVEbOKA== dependencies: css-unit-converter "^1.1.1" - postcss "^6.0.0" + postcss "^7.0.2" postcss-selector-parser "^2.2.2" reduce-css-calc "^2.0.0" +postcss-calc@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436" + integrity sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ== + dependencies: + css-unit-converter "^1.1.1" + postcss "^7.0.5" + postcss-selector-parser "^5.0.0-rc.4" + postcss-value-parser "^3.3.1" + postcss-color-function@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-color-function/-/postcss-color-function-4.0.1.tgz#402b3f2cebc3f6947e618fb6be3654fbecef6444" + integrity sha1-QCs/LOvD9pR+YY+2vjZU++zvZEQ= dependencies: css-color-function "~1.3.3" postcss "^6.0.1" @@ -884,6 +1199,7 @@ postcss-color-function@^4.0.0: postcss-color-gray@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-4.1.0.tgz#e5581ed57eaa826fb652ca11b1e2b7b136a9f9df" + integrity sha512-L4iLKQLdqChz6ZOgGb6dRxkBNw78JFYcJmBz1orHpZoeLtuhDDGegRtX9gSyfoCIM7rWZ3VNOyiqqvk83BEN+w== dependencies: color "^2.0.1" postcss "^6.0.14" @@ -893,6 +1209,7 @@ postcss-color-gray@^4.0.0: postcss-color-hex-alpha@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-3.0.0.tgz#1e53e6c8acb237955e8fd08b7ecdb1b8b8309f95" + integrity sha1-HlPmyKyyN5Vej9CLfs2xuLgwn5U= dependencies: color "^1.0.3" postcss "^6.0.1" @@ -901,6 +1218,7 @@ postcss-color-hex-alpha@^3.0.0: postcss-color-hsl@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-color-hsl/-/postcss-color-hsl-2.0.0.tgz#12703666fa310430e3f30a454dac1386317d5844" + integrity sha1-EnA2ZvoxBDDj8wpFTawThjF9WEQ= dependencies: postcss "^6.0.1" postcss-value-parser "^3.3.0" @@ -909,6 +1227,7 @@ postcss-color-hsl@^2.0.0: postcss-color-hwb@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-color-hwb/-/postcss-color-hwb-3.0.0.tgz#3402b19ef4d8497540c1fb5072be9863ca95571e" + integrity sha1-NAKxnvTYSXVAwftQcr6YY8qVVx4= dependencies: color "^1.0.3" postcss "^6.0.1" @@ -918,6 +1237,7 @@ postcss-color-hwb@^3.0.0: postcss-color-rebeccapurple@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-3.1.0.tgz#ce1269ecc2d0d8bf92aab44bd884e633124c33ec" + integrity sha512-212hJUk9uSsbwO5ECqVjmh/iLsmiVL1xy9ce9TVf+X3cK/ZlUIlaMdoxje/YpsL9cmUH3I7io+/G2LyWx5rg1g== dependencies: postcss "^6.0.22" postcss-values-parser "^1.5.0" @@ -925,6 +1245,7 @@ postcss-color-rebeccapurple@^3.0.0: postcss-color-rgb@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-color-rgb/-/postcss-color-rgb-2.0.0.tgz#14539c8a7131494b482e0dd1cc265ff6514b5263" + integrity sha1-FFOcinExSUtILg3RzCZf9lFLUmM= dependencies: postcss "^6.0.1" postcss-value-parser "^3.3.0" @@ -932,31 +1253,35 @@ postcss-color-rgb@^2.0.0: postcss-color-rgba-fallback@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-color-rgba-fallback/-/postcss-color-rgba-fallback-3.0.0.tgz#37d5c9353a07a09270912a82606bb42a0d702c04" + integrity sha1-N9XJNToHoJJwkSqCYGu0Kg1wLAQ= dependencies: postcss "^6.0.6" postcss-value-parser "^3.3.0" rgb-hex "^2.1.0" -postcss-colormin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.1.tgz#6f1c18a0155bc69613f2ff13843e2e4ae8ff0bbe" +postcss-colormin@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.2.tgz#93cd1fa11280008696887db1a528048b18e7ed99" + integrity sha512-1QJc2coIehnVFsz0otges8kQLsryi4lo19WD+U5xCWvXd0uw/Z+KKYnbiNDCnO9GP+PvErPHCG0jNvWTngk9Rw== dependencies: browserslist "^4.0.0" color "^3.0.0" has "^1.0.0" - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-convert-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.0.tgz#77d77d9aed1dc4e6956e651cc349d53305876f62" +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== dependencies: - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-cssnext@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/postcss-cssnext/-/postcss-cssnext-3.1.0.tgz#927dc29341a938254cde38ea60a923b9dfedead9" + integrity sha512-awPDhI4OKetcHCr560iVCoDuP6e/vn0r6EAqdWPpAavJMvkBSZ6kDpSN4b3mB3Ti57hQMunHHM8Wvx9PeuYXtA== dependencies: autoprefixer "^7.1.1" caniuse-api "^2.0.0" @@ -993,12 +1318,14 @@ postcss-cssnext@^3.0.0: postcss-custom-media@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-6.0.0.tgz#be532784110ecb295044fb5395a18006eb21a737" + integrity sha1-vlMnhBEOyylQRPtTlaGABushpzc= dependencies: postcss "^6.0.1" postcss-custom-properties@^6.1.0: version "6.3.1" - resolved "http://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-6.3.1.tgz#5c52abde313d7ec9368c4abf67d27a656cba8b39" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-6.3.1.tgz#5c52abde313d7ec9368c4abf67d27a656cba8b39" + integrity sha512-zoiwn4sCiUFbr4KcgcNZLFkR6gVQom647L+z1p/KBVHZ1OYwT87apnS42atJtx6XlX2yI7N5fjXbFixShQO2QQ== dependencies: balanced-match "^1.0.0" postcss "^6.0.18" @@ -1006,56 +1333,65 @@ postcss-custom-properties@^6.1.0: postcss-custom-selectors@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-4.0.1.tgz#781382f94c52e727ef5ca4776ea2adf49a611382" + integrity sha1-eBOC+UxS5yfvXKR3bqKt9JphE4I= dependencies: postcss "^6.0.1" postcss-selector-matches "^3.0.0" -postcss-discard-comments@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.0.tgz#9684a299e76b3e93263ef8fd2adbf1a1c08fd88d" +postcss-discard-comments@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.1.tgz#30697735b0c476852a7a11050eb84387a67ef55d" + integrity sha512-Ay+rZu1Sz6g8IdzRjUgG2NafSNpp2MSMOQUb+9kkzzzP+kh07fP0yNbhtFejURnyVXSX3FYy2nVNW1QTnNjgBQ== dependencies: - postcss "^6.0.0" + postcss "^7.0.0" -postcss-discard-duplicates@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.0.tgz#42f3c267f85fa909e042c35767ecfd65cb2bd72c" +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== dependencies: - postcss "^6.0.0" + postcss "^7.0.0" -postcss-discard-empty@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.0.tgz#55e18a59c74128e38c7d2804bcfa4056611fb97f" +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== dependencies: - postcss "^6.0.0" + postcss "^7.0.0" -postcss-discard-overridden@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.0.tgz#4a0bf85978784cf1f81ed2c1c1fd9d964a1da1fa" +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== dependencies: - postcss "^6.0.0" + postcss "^7.0.0" postcss-font-family-system-ui@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-font-family-system-ui/-/postcss-font-family-system-ui-3.0.0.tgz#675fe7a9e029669f05f8dba2e44c2225ede80623" + integrity sha512-58G/hTxMSSKlIRpcPUjlyo6hV2MEzvcVO2m4L/T7Bb2fJTG4DYYfQjQeRvuimKQh1V1sOzCIz99g+H2aFNtlQw== dependencies: postcss "^6.0" postcss-font-variant@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-3.0.0.tgz#08ccc88f6050ba82ed8ef2cc76c0c6a6b41f183e" + integrity sha1-CMzIj2BQuoLtjvLMdsDGprQfGD4= dependencies: postcss "^6.0.1" postcss-image-set-polyfill@^0.3.5: version "0.3.5" resolved "https://registry.yarnpkg.com/postcss-image-set-polyfill/-/postcss-image-set-polyfill-0.3.5.tgz#0f193413700cf1f82bd39066ef016d65a4a18181" + integrity sha1-Dxk0E3AM8fgr05Bm7wFtZaShgYE= dependencies: postcss "^6.0.1" postcss-media-query-parser "^0.2.3" postcss-import@^12.0.0: - version "12.0.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-12.0.0.tgz#149f96a4ef0b27525c419784be8517ebd17e92c5" + version "12.0.1" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-12.0.1.tgz#cf8c7ab0b5ccab5649024536e565f841928b7153" + integrity sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw== dependencies: postcss "^7.0.1" postcss-value-parser "^3.2.3" @@ -1065,6 +1401,7 @@ postcss-import@^12.0.0: postcss-initial@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-2.0.0.tgz#72715f7336e0bb79351d99ee65c4a253a8441ba4" + integrity sha1-cnFfczbgu3k1HZnuZcSiU6hEG6Q= dependencies: lodash.template "^4.2.4" postcss "^6.0.1" @@ -1072,160 +1409,183 @@ postcss-initial@^2.0.0: postcss-media-minmax@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-3.0.0.tgz#675256037a43ef40bc4f0760bfd06d4dc69d48d2" + integrity sha1-Z1JWA3pD70C8Twdgv9BtTcadSNI= dependencies: postcss "^6.0.1" postcss-media-query-parser@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" + integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ= -postcss-merge-longhand@^4.0.0: - version "4.0.5" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.5.tgz#00898d72347fc7e40bb564b11bdc08119c599b59" +postcss-merge-longhand@^4.0.9: + version "4.0.9" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.9.tgz#c2428b994833ffb2a072f290ca642e75ceabcd6f" + integrity sha512-UVMXrXF5K/kIwUbK/crPFCytpWbNX2Q3dZSc8+nQUgfOHrCT4+MHncpdxVphUlQeZxlLXUJbDyXc5NBhTnS2tA== dependencies: css-color-names "0.0.4" - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" stylehacks "^4.0.0" -postcss-merge-rules@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.1.tgz#430fd59b3f2ed2e8afcd0b31278eda39854abb10" +postcss-merge-rules@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.2.tgz#2be44401bf19856f27f32b8b12c0df5af1b88e74" + integrity sha512-UiuXwCCJtQy9tAIxsnurfF0mrNHKc4NnNx6NxqmzNNjXpQwLSukUxELHTRF0Rg1pAmcoKLih8PwvZbiordchag== dependencies: browserslist "^4.0.0" caniuse-api "^3.0.0" cssnano-util-same-parent "^4.0.0" - postcss "^6.0.0" + postcss "^7.0.0" postcss-selector-parser "^3.0.0" vendors "^1.0.0" postcss-message-helpers@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" + integrity sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4= -postcss-minify-font-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.0.tgz#4cc33d283d6a81759036e757ef981d92cbd85bed" +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== dependencies: - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-minify-gradients@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.0.tgz#3fc3916439d27a9bb8066db7cdad801650eb090e" +postcss-minify-gradients@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.1.tgz#6da95c6e92a809f956bb76bf0c04494953e1a7dd" + integrity sha512-pySEW3E6Ly5mHm18rekbWiAjVi/Wj8KKt2vwSfVFAWdW6wOIekgqxKxLU7vJfb107o3FDNPkaYFCxGAJBFyogA== dependencies: cssnano-util-get-arguments "^4.0.0" is-color-stop "^1.0.0" - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-minify-params@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.0.tgz#05e9166ee48c05af651989ce84d39c1b4d790674" +postcss-minify-params@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.1.tgz#5b2e2d0264dd645ef5d68f8fec0d4c38c1cf93d2" + integrity sha512-h4W0FEMEzBLxpxIVelRtMheskOKKp52ND6rJv+nBS33G1twu2tCyurYj/YtgU76+UDCvWeNs0hs8HFAWE2OUFg== dependencies: alphanum-sort "^1.0.0" + browserslist "^4.0.0" cssnano-util-get-arguments "^4.0.0" - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" uniqs "^2.0.0" -postcss-minify-selectors@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.0.tgz#b1e9f6c463416d3fcdcb26e7b785d95f61578aad" +postcss-minify-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.1.tgz#a891c197977cc37abf60b3ea06b84248b1c1e9cd" + integrity sha512-8+plQkomve3G+CodLCgbhAKrb5lekAnLYuL1d7Nz+/7RANpBEVdgBkPNwljfSKvZ9xkkZTZITd04KP+zeJTJqg== dependencies: alphanum-sort "^1.0.0" has "^1.0.0" - postcss "^6.0.0" + postcss "^7.0.0" postcss-selector-parser "^3.0.0" postcss-nesting@^4.0.1: version "4.2.1" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-4.2.1.tgz#0483bce338b3f0828ced90ff530b29b98b00300d" + integrity sha512-IkyWXICwagCnlaviRexi7qOdwPw3+xVVjgFfGsxmztvRVaNxAlrypOIKqDE5mxY+BVxnId1rnUKBRQoNE2VDaA== dependencies: postcss "^6.0.11" -postcss-normalize-charset@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.0.tgz#24527292702d5e8129eafa3d1de49ed51a6ab730" +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== dependencies: - postcss "^6.0.0" + postcss "^7.0.0" -postcss-normalize-display-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.0.tgz#950e0c7be3445770a160fffd6b6644c3c0cd8f89" +postcss-normalize-display-values@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.1.tgz#d9a83d47c716e8a980f22f632c8b0458cfb48a4c" + integrity sha512-R5mC4vaDdvsrku96yXP7zak+O3Mm9Y8IslUobk7IMP+u/g+lXvcN4jngmHY5zeJnrQvE13dfAg5ViU05ZFDwdg== dependencies: cssnano-util-get-match "^4.0.0" - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-positions@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.0.tgz#ee9343ab981b822c63ab72615ecccd08564445a3" +postcss-normalize-positions@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.1.tgz#ee2d4b67818c961964c6be09d179894b94fd6ba1" + integrity sha512-GNoOaLRBM0gvH+ZRb2vKCIujzz4aclli64MBwDuYGU2EY53LwiP7MxOZGE46UGtotrSnmarPPZ69l2S/uxdaWA== dependencies: cssnano-util-get-arguments "^4.0.0" has "^1.0.0" - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-repeat-style@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.0.tgz#b711c592cf16faf9ff575e42fa100b6799083eff" +postcss-normalize-repeat-style@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.1.tgz#5293f234b94d7669a9f805495d35b82a581c50e5" + integrity sha512-fFHPGIjBUyUiswY2rd9rsFcC0t3oRta4wxE1h3lpwfQZwFeFjXFSiDtdJ7APCmHQOnUZnqYBADNRPKPwFAONgA== dependencies: cssnano-util-get-arguments "^4.0.0" cssnano-util-get-match "^4.0.0" - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.0.tgz#718cb6d30a6fac6ac6a830e32c06c07dbc66fe5d" +postcss-normalize-string@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.1.tgz#23c5030c2cc24175f66c914fa5199e2e3c10fef3" + integrity sha512-IJoexFTkAvAq5UZVxWXAGE0yLoNN/012v7TQh5nDo6imZJl2Fwgbhy3J2qnIoaDBrtUP0H7JrXlX1jjn2YcvCQ== dependencies: has "^1.0.0" - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-timing-functions@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.0.tgz#0351f29886aa981d43d91b2c2bd1aea6d0af6d23" +postcss-normalize-timing-functions@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.1.tgz#8be83e0b9cb3ff2d1abddee032a49108f05f95d7" + integrity sha512-1nOtk7ze36+63ONWD8RCaRDYsnzorrj+Q6fxkQV+mlY5+471Qx9kspqv0O/qQNMeApg8KNrRf496zHwJ3tBZ7w== dependencies: cssnano-util-get-match "^4.0.0" - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-unicode@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.0.tgz#5acd5d47baea5d17674b2ccc4ae5166fa88cdf97" +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== dependencies: - postcss "^6.0.0" + browserslist "^4.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-url@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.0.tgz#b7a9c8ad26cf26694c146eb2d68bd0cf49956f0d" +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== dependencies: is-absolute-url "^2.0.0" normalize-url "^3.0.0" - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-normalize-whitespace@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.0.tgz#1da7e76b10ae63c11827fa04fc3bb4a1efe99cc0" +postcss-normalize-whitespace@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.1.tgz#d14cb639b61238418ac8bc8d3b7bdd65fc86575e" + integrity sha512-U8MBODMB2L+nStzOk6VvWWjZgi5kQNShCyjRhMT3s+W9Jw93yIjOnrEkKYD3Ul7ChWbEcjDWmXq0qOL9MIAnAw== dependencies: - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-ordered-values@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.0.tgz#2c769d5d44aa3c7c907b8be2e997ed19dfd8d50a" +postcss-ordered-values@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.1.tgz#2e3b432ef3e489b18333aeca1f1295eb89be9fc2" + integrity sha512-PeJiLgJWPzkVF8JuKSBcylaU+hDJ/TX3zqAMIjlghgn1JBi6QwQaDZoDIlqWRcCAI8SxKrt3FCPSRmOgKRB97Q== dependencies: cssnano-util-get-arguments "^4.0.0" - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-pseudo-class-any-link@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-4.0.0.tgz#9152a0613d3450720513e8892854bae42d0ee68e" + integrity sha1-kVKgYT00UHIFE+iJKFS65C0O5o4= dependencies: postcss "^6.0.1" postcss-selector-parser "^2.2.3" @@ -1233,36 +1593,41 @@ postcss-pseudo-class-any-link@^4.0.0: postcss-pseudoelements@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-pseudoelements/-/postcss-pseudoelements-5.0.0.tgz#eef194e8d524645ca520a949e95e518e812402cb" + integrity sha1-7vGU6NUkZFylIKlJ6V5RjoEkAss= dependencies: postcss "^6.0.0" -postcss-reduce-initial@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.1.tgz#f2d58f50cea2b0c5dc1278d6ea5ed0ff5829c293" +postcss-reduce-initial@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.2.tgz#bac8e325d67510ee01fa460676dc8ea9e3b40f15" + integrity sha512-epUiC39NonKUKG+P3eAOKKZtm5OtAtQJL7Ye0CBN1f+UQTHzqotudp+hki7zxXm7tT0ZAKDMBj1uihpPjP25ug== dependencies: browserslist "^4.0.0" caniuse-api "^3.0.0" has "^1.0.0" - postcss "^6.0.0" + postcss "^7.0.0" -postcss-reduce-transforms@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.0.tgz#f645fc7440c35274f40de8104e14ad7163edf188" +postcss-reduce-transforms@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.1.tgz#8600d5553bdd3ad640f43bff81eb52f8760d4561" + integrity sha512-sZVr3QlGs0pjh6JAIe6DzWvBaqYw05V1t3d9Tp+VnFRT5j+rsqoWsysh/iSD7YNsULjq9IAylCznIwVd5oU/zA== dependencies: cssnano-util-get-match "^4.0.0" has "^1.0.0" - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" postcss-replace-overflow-wrap@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-2.0.0.tgz#794db6faa54f8db100854392a93af45768b4e25b" + integrity sha1-eU22+qVPjbEAhUOSqTr0V2i04ls= dependencies: postcss "^6.0.1" postcss-selector-matches@^3.0.0, postcss-selector-matches@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-3.0.1.tgz#e5634011e13950881861bbdd58c2d0111ffc96ab" + integrity sha1-5WNAEeE5UIgYYbvdWMLQER/8lqs= dependencies: balanced-match "^0.4.2" postcss "^6.0.1" @@ -1270,6 +1635,7 @@ postcss-selector-matches@^3.0.0, postcss-selector-matches@^3.0.1: postcss-selector-not@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-3.0.1.tgz#2e4db2f0965336c01e7cec7db6c60dff767335d9" + integrity sha1-Lk2y8JZTNsAefOx9tsYN/3ZzNdk= dependencies: balanced-match "^0.4.2" postcss "^6.0.1" @@ -1277,6 +1643,7 @@ postcss-selector-not@^3.0.1: postcss-selector-parser@^2.2.2, postcss-selector-parser@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" + integrity sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A= dependencies: flatten "^1.0.2" indexes-of "^1.0.1" @@ -1285,35 +1652,49 @@ postcss-selector-parser@^2.2.2, postcss-selector-parser@^2.2.3: postcss-selector-parser@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" + integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU= dependencies: dot-prop "^4.1.1" indexes-of "^1.0.1" uniq "^1.0.1" -postcss-svgo@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.0.tgz#c0bbad02520fc636c9d78b0e8403e2e515c32285" +postcss-selector-parser@^5.0.0-rc.4: + version "5.0.0-rc.4" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0-rc.4.tgz#ca5e77238bf152966378c13e91ad6d611568ea87" + integrity sha512-0XvfYuShrKlTk1ooUrVzMCFQRcypsdEIsGqh5IxC5rdtBi4/M/tDAJeSONwC2MTqEFsmPZYAV7Dd4X8rgAfV0A== + dependencies: + cssesc "^2.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-svgo@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.1.tgz#5628cdb38f015de6b588ce6d0bf0724b492b581d" + integrity sha512-YD5uIk5NDRySy0hcI+ZJHwqemv2WiqqzDgtvgMzO8EGSkK5aONyX8HMVFRFJSdO8wUWTuisUFn/d7yRRbBr5Qw== dependencies: is-svg "^3.0.0" - postcss "^6.0.0" + postcss "^7.0.0" postcss-value-parser "^3.0.0" svgo "^1.0.0" -postcss-unique-selectors@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.0.tgz#04c1e9764c75874261303402c41f0e9769fc5501" +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== dependencies: alphanum-sort "^1.0.0" - postcss "^6.0.0" + postcss "^7.0.0" uniqs "^2.0.0" -postcss-value-parser@^3.0.0, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" +postcss-value-parser@^3.0.0, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== postcss-values-parser@^1.5.0: version "1.5.0" - resolved "http://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-1.5.0.tgz#5d9fa63e2bcb0179ce48f3235303765eb89f3047" + resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-1.5.0.tgz#5d9fa63e2bcb0179ce48f3235303765eb89f3047" + integrity sha512-3M3p+2gMp0AH3da530TlX8kiO1nxdTnc3C6vr8dMxRLIlh8UYkz0/wcwptSXjhtx2Fr0TySI7a+BHDQ8NL7LaQ== dependencies: flatten "^1.0.2" indexes-of "^1.0.1" @@ -1322,6 +1703,7 @@ postcss-values-parser@^1.5.0: postcss@^5.0.0: version "5.2.18" resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" + integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg== dependencies: chalk "^1.1.3" js-base64 "^2.1.9" @@ -1331,56 +1713,46 @@ postcss@^5.0.0: postcss@^6.0, postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.11, postcss@^6.0.14, postcss@^6.0.17, postcss@^6.0.18, postcss@^6.0.22, postcss@^6.0.5, postcss@^6.0.6: version "6.0.23" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== dependencies: chalk "^2.4.1" source-map "^0.6.1" supports-color "^5.4.0" -postcss@^7.0.1: - version "7.0.2" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.2.tgz#7b5a109de356804e27f95a960bef0e4d5bc9bb18" +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.2, postcss@^7.0.5: + version "7.0.5" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.5.tgz#70e6443e36a6d520b0fd4e7593fcca3635ee9f55" + integrity sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ== dependencies: chalk "^2.4.1" source-map "^0.6.1" - supports-color "^5.4.0" - -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + supports-color "^5.5.0" q@^1.1.2: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= read-cache@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + integrity sha1-5mTvMRYRZsl1HNvo28+GtftY93Q= dependencies: pify "^2.3.0" -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" +read-pkg@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237" + integrity sha1-ljYlN48+HE1IyFhytabsfV0JMjc= dependencies: - load-json-file "^4.0.0" normalize-package-data "^2.3.2" - path-type "^3.0.0" - -readable-stream@^2.3.5: - version "2.3.6" - resolved "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" + parse-json "^4.0.0" + pify "^3.0.0" reduce-css-calc@^1.2.7: version "1.3.0" - resolved "http://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" + integrity sha1-dHyRTgSWFKTJz7umKYca0dKSdxY= dependencies: balanced-match "^0.4.2" math-expression-evaluator "^1.2.14" @@ -1389,6 +1761,7 @@ reduce-css-calc@^1.2.7: reduce-css-calc@^2.0.0: version "2.1.5" resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.5.tgz#f283712f0c9708ef952d328f4b16112d57b03714" + integrity sha512-AybiBU03FKbjYzyvJvwkJZY6NLN+80Ufc2EqEs+41yQH+8wqBEslD6eGiS0oIeq5TNLA5PrhBeYHXWdn8gtW7A== dependencies: css-unit-converter "^1.1.1" postcss-value-parser "^3.3.0" @@ -1396,173 +1769,239 @@ reduce-css-calc@^2.0.0: reduce-function-call@^1.0.1, reduce-function-call@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" + integrity sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk= dependencies: balanced-match "^0.4.2" regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -replace-ext@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= resolve@^1.1.7: version "1.8.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" + integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== dependencies: path-parse "^1.0.5" rgb-hex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/rgb-hex/-/rgb-hex-2.1.0.tgz#c773c5fe2268a25578d92539a82a7a5ce53beda6" + integrity sha1-x3PF/iJoolV42SU5qCp6XOU77aY= rgb-regex@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= rgb@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/rgb/-/rgb-0.1.0.tgz#be27b291e8feffeac1bd99729721bfa40fc037b5" + integrity sha1-vieykej+/+rBvZlylyG/pA/AN7U= rgba-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= rollup-plugin-closure-compiler-js@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/rollup-plugin-closure-compiler-js/-/rollup-plugin-closure-compiler-js-1.0.6.tgz#58e3e31297ad1a532d9114108bc06f2756d72c3d" + integrity sha1-WOPjEpetGlMtkRQQi8BvJ1bXLD0= dependencies: google-closure-compiler-js ">20170000" -rollup@^0.64.1: - version "0.64.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.64.1.tgz#9188ee368e5fcd43ffbc00ec414e72eeb5de87ba" +rollup@^0.66.6: + version "0.66.6" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.66.6.tgz#ce7d6185beb7acea644ce220c25e71ae03275482" + integrity sha512-J7/SWanrcb83vfIHqa8+aVVGzy457GcjA6GVZEnD0x2u4OnOd0Q1pCrEoNe8yLwM6z6LZP02zBT2uW0yh5TqOw== dependencies: "@types/estree" "0.0.39" "@types/node" "*" -rx@2.3.24: - version "2.3.24" - resolved "https://registry.yarnpkg.com/rx/-/rx-2.3.24.tgz#14f950a4217d7e35daa71bbcbe58eff68ea4b2b7" - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" +rxjs@6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.2.2.tgz#eb75fa3c186ff5289907d06483a77884586e1cf9" + integrity sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ== + dependencies: + tslib "^1.9.0" sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -"semver@2 || 3 || 4 || 5", semver@^5.3.0: - version "5.5.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477" +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" + integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= dependencies: is-arrayish "^0.3.1" -source-list-map@~0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" - source-map@^0.5.3, source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= source-map@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - -source-map@~0.4.1: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - dependencies: - amdefine ">=0.0.4" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== spawn-command@^0.0.2-1: version "0.0.2-1" resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" + integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= spdx-correct@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" + version "3.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.2.tgz#19bb409e91b47b1ad54159243f7312a858db3c2e" + integrity sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" + version "2.2.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" + integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== spdx-expression-parse@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz#e2a303236cac54b04031fa7a5a79c7e701df852f" + version "3.0.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz#a59efc09784c2a5bada13cfeaf5c75dd214044d2" + integrity sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg== sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= stable@~0.1.6: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= dependencies: - safe-buffer "~5.1.0" + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" -strip-ansi@^3.0.0: +string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= dependencies: ansi-regex "^2.0.0" -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= stylehacks@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.0.tgz#64b323951c4a24e5fc7b2ec06c137bf32d155e8a" + version "4.0.1" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.1.tgz#3186595d047ab0df813d213e51c8b94e0b9010f2" + integrity sha512-TK5zEPeD9NyC1uPIdjikzsgWxdQQN/ry1X3d1iOz1UkYDCmcr928gWD1KHgyC27F50UnE0xCTrBOO1l6KR8M4w== dependencies: browserslist "^4.0.0" - postcss "^6.0.0" + postcss "^7.0.0" postcss-selector-parser "^3.0.0" supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= supports-color@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= dependencies: has-flag "^1.0.0" -supports-color@^5.3.0, supports-color@^5.4.0: +supports-color@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" + integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s= + dependencies: + has-flag "^2.0.0" + +supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" svgo@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.1.1.tgz#12384b03335bcecd85cfa5f4e3375fed671cb985" + integrity sha512-GBkJbnTuFpM4jFbiERHDWhZc/S/kpHToqmZag3aEBjPYK44JAN2QBjvrGIxLOoCyMZjuFQIfTO2eJd8uwLY/9g== dependencies: coa "~2.0.1" colors "~1.1.2" @@ -1582,26 +2021,37 @@ svgo@^1.0.0: timsort@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= traverse-chain@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/traverse-chain/-/traverse-chain-0.1.0.tgz#61dbc2d53b69ff6091a12a168fd7d433107e40f1" + integrity sha1-YdvC1Ttp/2CRoSoWj9fUMxB+QPE= tree-kill@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.0.tgz#5846786237b4239014f05db156b643212d4c6f36" + integrity sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg== + +tslib@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" + integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== uniq@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= uniqs@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= units-css@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/units-css/-/units-css-0.4.0.tgz#d6228653a51983d7c16ff28f8b9dc3b1ffed3a07" + integrity sha1-1iKGU6UZg9fBb/KPi53Dsf/tOgc= dependencies: isnumeric "^0.2.0" viewport-dimensions "^0.2.0" @@ -1609,14 +2059,12 @@ units-css@^0.4.0: unquote@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= util.promisify@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== dependencies: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" @@ -1624,6 +2072,7 @@ util.promisify@~1.0.0: validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" @@ -1631,32 +2080,72 @@ validate-npm-package-license@^3.0.1: vendors@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801" + integrity sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ== viewport-dimensions@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/viewport-dimensions/-/viewport-dimensions-0.2.0.tgz#de740747db5387fd1725f5175e91bac76afdf36c" - -vinyl@^2.0.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" + integrity sha1-3nQHR9tTh/0XJfUXXpG6x2r982w= watch@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/watch/-/watch-1.0.2.tgz#340a717bde765726fa0aa07d721e0147a551df0c" + integrity sha1-NApxe952Vyb6CqB9ch4BR6VR3ww= dependencies: exec-sh "^0.2.0" minimist "^1.2.0" -webpack-core@^0.6.8: - version "0.6.9" - resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2" +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: - source-list-map "~0.1.7" - source-map "~0.4.1" + isexe "^2.0.0" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +xregexp@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" + integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg== + +"y18n@^3.2.1 || ^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + +yargs-parser@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== + dependencies: + camelcase "^4.1.0" + +yargs@^12.0.1: + version "12.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" + integrity sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ== + dependencies: + cliui "^4.0.0" + decamelize "^2.0.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^10.1.0"