Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
78a5aefbad | ||
|
fb86781725 | ||
|
15f0171e51 | ||
|
d40ee44938 | ||
|
5e99263c33 | ||
|
f9304b3441 | ||
|
71a3ce1327 | ||
|
aaa76deba0 | ||
|
507632fd39 | ||
|
92416eceef | ||
|
f55bcdadd8 | ||
|
8df13dce17 | ||
|
966109c7e3 |
7
.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# Ignore dependencies
|
||||||
|
node_modules
|
||||||
|
vendor
|
||||||
|
|
||||||
|
# Ignore operating system files
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
98
README.md
@ -1,6 +1,6 @@
|
|||||||
# BetterNavigator for Silverstripe
|
# BetterNavigator for Silverstripe
|
||||||
|
|
||||||
![Diagram of module](images/demo.png)
|
<img src="images/demo.png" alt="Diagram of module" width="618" height="393" />
|
||||||
|
|
||||||
This module is intended to replicate and expand upon the functionality provided by Silverstripe's built-in SilverStripeNavigator class. It provides a handy front-end menu for CMS users which offers these features:
|
This module is intended to replicate and expand upon the functionality provided by Silverstripe's built-in SilverStripeNavigator class. It provides a handy front-end menu for CMS users which offers these features:
|
||||||
|
|
||||||
@ -17,15 +17,19 @@ This module is intended to replicate and expand upon the functionality provided
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
Silverstripe 4.0 (3.1+ through previous releases)
|
Silverstripe 5.0 (4.0+ and 3.1+ through previous releases)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
**Composer / Packagist ([best practice](http://doc.silverstripe.org/framework/en/trunk/installation/composer))**
|
Add "jonom/silverstripe-betternavigator" to your composer requirements.
|
||||||
Add "jonom/silverstripe-betternavigator" to your requirements.
|
|
||||||
|
|
||||||
**Manually**
|
```
|
||||||
Download, place the folder in your project root, rename it to 'betternavigator' (if applicable) and run a dev/build?flush=1.
|
composer require jonom/silverstripe-betternavigator
|
||||||
|
```
|
||||||
|
|
||||||
|
## Upgrading
|
||||||
|
|
||||||
|
* **6.0:** the namespace for this module's templates and configuration was changed in v6 to include a `JonoM` prefix. You may need to update your template directory structure and/or app configuration accordingly.
|
||||||
|
|
||||||
## How to use
|
## How to use
|
||||||
|
|
||||||
@ -33,10 +37,23 @@ The navigator is auto-injected into your template, and no code changes are neede
|
|||||||
|
|
||||||
If your website uses caching, make sure BetterNavigator's output is excluded.
|
If your website uses caching, make sure BetterNavigator's output is excluded.
|
||||||
|
|
||||||
## Disabling the navigator
|
### Access developer tools on a live website
|
||||||
|
|
||||||
You can disable the navigator using your own custom logic by defining a `showBetterNavigator(): bool`
|
You can mark certain CMS users as developers in your site's config, so they can access developer tools when logged in. Example YAML:
|
||||||
method in any controller with the extension applied.
|
|
||||||
|
```
|
||||||
|
JonoM\BetterNavigator:
|
||||||
|
developers:
|
||||||
|
- 'dev@yoursite.com'
|
||||||
|
- 'otherdev@yoursite.com'
|
||||||
|
```
|
||||||
|
|
||||||
|
## Customisation
|
||||||
|
|
||||||
|
### Navigator display
|
||||||
|
|
||||||
|
You can control whether the navigator is displayed by defining a `showBetterNavigator(): bool`
|
||||||
|
method in any controller with the extension applied. By default the navigator will only show on controllers that have a `dataRecord` property that is an instance of `SilverStripe\CMS\Model\SiteTree`.
|
||||||
|
|
||||||
```php
|
```php
|
||||||
public function showBetterNavigator()
|
public function showBetterNavigator()
|
||||||
@ -45,33 +62,26 @@ public function showBetterNavigator()
|
|||||||
return $this->ShowDebugTools;
|
return $this->ShowDebugTools;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
**Access developer tools on a live website**
|
|
||||||
You can mark certain CMS users as developers in your site's config, so they can access developer tools when logged in. Example YAML:
|
|
||||||
|
|
||||||
```
|
### Layout options
|
||||||
BetterNavigator:
|
|
||||||
developers:
|
|
||||||
- 'dev@yoursite.com'
|
|
||||||
- 'otherdev@yoursite.com'
|
|
||||||
```
|
|
||||||
|
|
||||||
## Customisation
|
|
||||||
|
|
||||||
BetterNavigator can be made translucent when collapsed by adding the following config setting:
|
BetterNavigator can be made translucent when collapsed by adding the following config setting:
|
||||||
|
|
||||||
```
|
```
|
||||||
BetterNavigator:
|
JonoM\BetterNavigator:
|
||||||
translucent: true
|
translucent: true
|
||||||
```
|
```
|
||||||
|
|
||||||
BetterNavigator's default position is 'right-top', but can be changed to 'right-bottom', 'left-top' or 'left-bottom'. Example:
|
BetterNavigator's default position is 'right-top', but can be changed to 'right-bottom', 'left-top' or 'left-bottom'. Example:
|
||||||
|
|
||||||
```
|
```
|
||||||
BetterNavigator:
|
JonoM\BetterNavigator:
|
||||||
position: 'right-bottom'
|
position: 'right-bottom'
|
||||||
```
|
```
|
||||||
|
|
||||||
BetterNavigator's output is controlled by templates so it can be [easily overridden](http://doc.silverstripe.org/framework/en/topics/theme-development#overriding).
|
### Template additions/overrides
|
||||||
|
|
||||||
|
BetterNavigator's output is controlled by templates so it can be [easily overridden](https://docs.silverstripe.org/en/5/developer_guides/templates/template_inheritance/#cascading-themes).
|
||||||
|
|
||||||
Some empty `<% include %>` placeholders are included to let you easily add more content (new buttons for instance). Just create any of these templates in your theme or app directory and add your content:
|
Some empty `<% include %>` placeholders are included to let you easily add more content (new buttons for instance). Just create any of these templates in your theme or app directory and add your content:
|
||||||
|
|
||||||
@ -81,9 +91,45 @@ Some empty `<% include %>` placeholders are included to let you easily add more
|
|||||||
|
|
||||||
The BetterNavigator.ss template's scope is set to the page that is being viewed, so any methods available in your page controller will be available in the BetterNavigator.ss template. This should allow you to add custom links by page type and introduce complex logic if you want to.
|
The BetterNavigator.ss template's scope is set to the page that is being viewed, so any methods available in your page controller will be available in the BetterNavigator.ss template. This should allow you to add custom links by page type and introduce complex logic if you want to.
|
||||||
|
|
||||||
## Bonus: better debugging tools
|
### Overriding the "Edit in CMS" Link
|
||||||
|
|
||||||
This module provide quick access to Silverstripe's built in [URL Variable Tools](http://doc.silverstripe.org/framework/en/reference/urlvariabletools) but reading their output isn't much fun. You can peek under Silverstripe's hood much more conveniently using lekoala's [Silverstripe DebugBar](https://github.com/lekoala/silverstripe-debugbar)
|
There may be occasions when you wish to override the "Edit in CMS" link. For example to point to the edit form for a displayed DataObject, rather than for the Page itself. To do so, simply add a `BetterNavigatorEditLink()` method to your page's Controller, e.g.:
|
||||||
|
|
||||||
|
````php
|
||||||
|
// EventsPageController.php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return an alternative URL for the BetterNavigator Edit in CMS link.
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function BetterNavigatorEditLink()
|
||||||
|
{
|
||||||
|
$event = $this->displayedEvent();
|
||||||
|
return $event->canEdit() ? CMSEditLinkAPI::find_edit_link_for_object($event) : false;
|
||||||
|
}
|
||||||
|
````
|
||||||
|
|
||||||
|
(This example uses [sunnysideup/cms_edit_link_field](https://github.com/sunnysideup/silverstripe-cms_edit_link_field) to automatically find an edit link for a specified DataObject, but you can return any URL.)
|
||||||
|
|
||||||
|
### Overriding the permissions required for the cms edit link
|
||||||
|
|
||||||
|
By default users are required to have at least the `CMS_ACCESS_CMSMain` permission in order to see the edit link in better navigator, you can override this by setting the `better_navigator_edit_permission` configuration option on your controller to another permission code or an array of permission codes, e.g.:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
My\Namespace\EventController:
|
||||||
|
better_navigator_edit_permission: "CUSTOM_PERMISSION_CODE"
|
||||||
|
better_navigator_edit_permission_mode: "any" #Optional, but can be either "any" or "all" (defaults to "all")
|
||||||
|
```
|
||||||
|
|
||||||
|
## Recommended companions
|
||||||
|
|
||||||
|
### DebugBar for better debugging tools
|
||||||
|
|
||||||
|
This module provide quick access to Silverstripe's built in [URL Variable Tools](https://docs.silverstripe.org/en/developer_guides/debugging/url_variable_tools/#url-variable-tools) but reading their output isn't much fun. You can peek under Silverstripe's hood much more conveniently using lekoala's [Silverstripe DebugBar](https://github.com/lekoala/silverstripe-debugbar)
|
||||||
|
|
||||||
|
### Environment Awareness to save your sites from yourself
|
||||||
|
|
||||||
|
[Environment Awareness](https://github.com/jonom/silverstripe-environment-awareness) makes it obvious which environment you're in, to make it less likely that you nuke something in prod. You can display the current environment [right in the navigator](https://github.com/jonom/silverstripe-environment-awareness/blob/master/docs/en/how-to-use.md#include-front-end-environment-notice).
|
||||||
|
|
||||||
## Maintainer contact
|
## Maintainer contact
|
||||||
|
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"silverstripe/framework": "^4.0"
|
"silverstripe/framework": "^5"
|
||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
"installer-name": "betternavigator",
|
|
||||||
"expose": [
|
"expose": [
|
||||||
"css",
|
"css",
|
||||||
"images",
|
"images",
|
||||||
|
11
config.rb
@ -1,11 +0,0 @@
|
|||||||
require 'compass/import-once/activate'
|
|
||||||
http_path = "/betternavigator/"
|
|
||||||
css_dir = "css"
|
|
||||||
sass_dir = "scss"
|
|
||||||
images_dir = "images"
|
|
||||||
javascripts_dir = "javascript"
|
|
||||||
fonts_dir = "fonts"
|
|
||||||
output_style = :compact
|
|
||||||
relative_assets = true
|
|
||||||
line_comments = false
|
|
||||||
sourcemap = true
|
|
@ -1,65 +1,366 @@
|
|||||||
.bn-icon-sprite, .bn-icon-close, .bn-icon-cog, .bn-icon-db, .bn-icon-devmode, .bn-icon-edit, .bn-icon-flush, .bn-icon-info, .bn-icon-tick, .bn-icon-tools, .bn-icon-user, .bn-icon-view { background-image: url('../images/bn-icon-sff60849a67.png'); background-repeat: no-repeat; }
|
/**
|
||||||
|
* Better navigator styles
|
||||||
|
*/
|
||||||
|
.svg-images--bn-icon--view, #BetterNavigator .bn-icon-view, .svg-images--bn-icon--user, #BetterNavigator .bn-icon-user, .svg-images--bn-icon--tools, #BetterNavigator .bn-icon-tools, .svg-images--bn-icon--tick, #BetterNavigator .bn-icon-tick, .svg-images--bn-icon--info, #BetterNavigator .bn-icon-info, .svg-images--bn-icon--flush, #BetterNavigator .bn-icon-flush, .svg-images--bn-icon--edit, #BetterNavigator .bn-icon-edit, .svg-images--bn-icon--devmode, .svg-images--bn-icon--db, #BetterNavigator .bn-icon-db, .svg-images--bn-icon--cog, #BetterNavigator .bn-icon-cog, .svg-images--bn-icon--close, #BetterNavigator .bn-icon-close {
|
||||||
|
background: url("svg/sprite.css-982681f2.svg") no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
.bn-icon-close { background-position: 0 0; height: 12px; width: 12px; }
|
.svg-images--bn-icon--close, #BetterNavigator .bn-icon-close {
|
||||||
|
background-position: 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
.bn-icon-cog { background-position: 0 -12px; height: 17px; width: 17px; }
|
.svg-images--bn-icon--close-dims, #BetterNavigator .bn-icon-close {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
.bn-icon-db { background-position: 0 -29px; height: 16px; width: 16px; }
|
.svg-images--bn-icon--cog, #BetterNavigator .bn-icon-cog {
|
||||||
|
background-position: 33.3333333333% 0;
|
||||||
|
}
|
||||||
|
|
||||||
.bn-icon-devmode { background-position: 0 -45px; height: 16px; width: 16px; }
|
.svg-images--bn-icon--cog-dims, #BetterNavigator .bn-icon-cog {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
.bn-icon-edit { background-position: 0 -61px; height: 16px; width: 16px; }
|
.svg-images--bn-icon--db, #BetterNavigator .bn-icon-db {
|
||||||
|
background-position: 0 50%;
|
||||||
|
}
|
||||||
|
|
||||||
.bn-icon-flush { background-position: 0 -77px; height: 16px; width: 16px; }
|
.svg-images--bn-icon--db-dims, #BetterNavigator .bn-icon-db {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
.bn-icon-info { background-position: 0 -93px; height: 16px; width: 16px; }
|
.svg-images--bn-icon--devmode {
|
||||||
|
background-position: 33.3333333333% 50%;
|
||||||
|
}
|
||||||
|
|
||||||
.bn-icon-tick { background-position: 0 -109px; height: 16px; width: 16px; }
|
.svg-images--bn-icon--devmode-dims {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
.bn-icon-tools { background-position: 0 -125px; height: 16px; width: 16px; }
|
.svg-images--bn-icon--edit, #BetterNavigator .bn-icon-edit {
|
||||||
|
background-position: 66.6666666667% 0;
|
||||||
|
}
|
||||||
|
|
||||||
.bn-icon-user { background-position: 0 -141px; height: 16px; width: 16px; }
|
.svg-images--bn-icon--edit-dims, #BetterNavigator .bn-icon-edit {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
.bn-icon-view { background-position: 0 -157px; height: 16px; width: 16px; }
|
.svg-images--bn-icon--flush, #BetterNavigator .bn-icon-flush {
|
||||||
|
background-position: 66.6666666667% 50%;
|
||||||
|
}
|
||||||
|
|
||||||
span[class^='bn-icon'], span[class*=' bn-icon'] { display: inline-block; }
|
.svg-images--bn-icon--flush-dims, #BetterNavigator .bn-icon-flush {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
#BetterNavigator { position: fixed; z-index: 99999; max-height: 100%; overflow: auto; font-family: Helvetica, Arial, sans-serif; font-size: 12px; line-height: 16px; text-align: left; }
|
.svg-images--bn-icon--info, #BetterNavigator .bn-icon-info {
|
||||||
#BetterNavigator a { text-decoration: none; }
|
background-position: 0 100%;
|
||||||
#BetterNavigator form { display: none; }
|
}
|
||||||
#BetterNavigator.collapsed { box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5); }
|
|
||||||
#BetterNavigator.collapsed.translucent { opacity: 0.5; transition: opacity 250ms; }
|
|
||||||
#BetterNavigator.collapsed.translucent:hover { opacity: 1; }
|
|
||||||
#BetterNavigator.collapsed #BetterNavigatorStatus { border-width: 1px; }
|
|
||||||
#BetterNavigator.collapsed #BetterNavigatorStatus .bn-icon-close { display: none; }
|
|
||||||
#BetterNavigator.collapsed #BetterNavigatorStatus .bn-icon-cog { display: inline-block; }
|
|
||||||
#BetterNavigator.collapsed #BetterNavigatorContent { display: none; }
|
|
||||||
#BetterNavigator.right-top { right: 0; top: 0; }
|
|
||||||
#BetterNavigator.right-top.collapsed { -moz-transform-origin: right top; -ms-transform-origin: right top; -webkit-transform-origin: right top; transform-origin: right top; -moz-transform: rotate(90deg) translate(100%, 0); -ms-transform: rotate(90deg) translate(100%, 0); -webkit-transform: rotate(90deg) translate(100%, 0); transform: rotate(90deg) translate(100%, 0); }
|
|
||||||
#BetterNavigator.right-bottom { right: 0; bottom: 0; }
|
|
||||||
#BetterNavigator.right-bottom.collapsed { -moz-transform-origin: right bottom; -ms-transform-origin: right bottom; -webkit-transform-origin: right bottom; transform-origin: right bottom; -moz-transform: rotate(90deg) translate(0, 100%); -ms-transform: rotate(90deg) translate(0, 100%); -webkit-transform: rotate(90deg) translate(0, 100%); transform: rotate(90deg) translate(0, 100%); }
|
|
||||||
#BetterNavigator.left-bottom { left: 0; bottom: 0; }
|
|
||||||
#BetterNavigator.left-bottom.collapsed { -moz-transform-origin: left bottom; -ms-transform-origin: left bottom; -webkit-transform-origin: left bottom; transform-origin: left bottom; -moz-transform: rotate(90deg) translate(-100%, 0); -ms-transform: rotate(90deg) translate(-100%, 0); -webkit-transform: rotate(90deg) translate(-100%, 0); transform: rotate(90deg) translate(-100%, 0); }
|
|
||||||
#BetterNavigator.left-top { left: 0; top: 0; }
|
|
||||||
#BetterNavigator.left-top.collapsed { -moz-transform-origin: left top; -ms-transform-origin: left top; -webkit-transform-origin: left top; transform-origin: left top; -moz-transform: rotate(90deg) translate(0, -100%); -ms-transform: rotate(90deg) translate(0, -100%); -webkit-transform: rotate(90deg) translate(0, -100%); transform: rotate(90deg) translate(0, -100%); }
|
|
||||||
|
|
||||||
#BetterNavigatorStatus { color: #fff; background: #6f6f6f; border: 1px solid #646464; border-width: 0; text-transform: uppercase; cursor: pointer; padding: 10px 15px 8px; font-weight: bold; }
|
.svg-images--bn-icon--info-dims, #BetterNavigator .bn-icon-info {
|
||||||
#BetterNavigatorStatus .bn-icon-cog { margin: -4px 8px -4px -4px; display: none; }
|
width: 16px;
|
||||||
#BetterNavigatorStatus .bn-icon-close { float: right; margin: 1px 0 0 0; }
|
height: 16px;
|
||||||
#BetterNavigatorStatus .bn-icon-cog, #BetterNavigatorStatus .bn-icon-close { opacity: .7; }
|
}
|
||||||
#BetterNavigatorStatus:hover { background: dimgray; }
|
|
||||||
#BetterNavigatorStatus:hover .bn-icon-cog, #BetterNavigatorStatus:hover .bn-icon-close { opacity: 1; }
|
|
||||||
#BetterNavigatorStatus.Live { background: #39b54a; border-color: #33a343; }
|
|
||||||
#BetterNavigatorStatus.Live:hover { background: #36ac46; }
|
|
||||||
#BetterNavigatorStatus.Draft { background: #f26c4f; border-color: #da6147; }
|
|
||||||
#BetterNavigatorStatus.Draft:hover { background: #e6674b; }
|
|
||||||
|
|
||||||
#BetterNavigatorContent { padding: 6px; color: #71767a; background: #cfd8de; border: 1px solid #bac2c8; border-width: 0 0 1px 1px; }
|
.svg-images--bn-icon--tick, #BetterNavigator .bn-icon-tick {
|
||||||
#BetterNavigatorContent .bn-heading { text-align: center; text-transform: uppercase; font-size: 11px; margin: 8px 0 4px 0; }
|
background-position: 33.3333333333% 100%;
|
||||||
#BetterNavigatorContent span[class^='bn-icon'], #BetterNavigatorContent span[class*=' bn-icon'] { margin: -2px 5px -3px -2px; }
|
}
|
||||||
#BetterNavigatorContent a, #BetterNavigatorContent span.bn-disabled { display: block; background: #eceff2; color: #313639; font-family: Helvetica, Arial, sans-serif; font-size: 12px; border-radius: 5px; border-bottom: 1px solid #a3aaaf; margin: 0 0 4px 0; padding: 6px 10px 5px 10px; line-height: 16px; font-weight: bold; }
|
|
||||||
#BetterNavigatorContent a .light, #BetterNavigatorContent span.bn-disabled .light { font-weight: normal; }
|
|
||||||
#BetterNavigatorContent a:focus, #BetterNavigatorContent a:hover, #BetterNavigatorContent a:active { background: #fff; color: #000; }
|
|
||||||
#BetterNavigatorContent span.bn-disabled { background: #afbac0; color: #51565a; cursor: default; }
|
|
||||||
|
|
||||||
body > p.message { text-align: left; background: #fff; color: #222; padding: 10px 20px; margin: 0; border-bottom: 1px solid #ccc; border-left: 5px solid #1d8aff; }
|
.svg-images--bn-icon--tick-dims, #BetterNavigator .bn-icon-tick {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--tools, #BetterNavigator .bn-icon-tools {
|
||||||
|
background-position: 66.6666666667% 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--tools-dims, #BetterNavigator .bn-icon-tools {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--user, #BetterNavigator .bn-icon-user {
|
||||||
|
background-position: 100% 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--user-dims, #BetterNavigator .bn-icon-user {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--view, #BetterNavigator .bn-icon-view {
|
||||||
|
background-position: 100% 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--view-dims, #BetterNavigator .bn-icon-view {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#BetterNavigator {
|
||||||
|
position: fixed;
|
||||||
|
z-index: 99999;
|
||||||
|
max-height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
text-align: left;
|
||||||
|
box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.25), 0px 0px 12px rgba(0, 0, 0, 0.15);
|
||||||
|
}
|
||||||
|
#BetterNavigator * {
|
||||||
|
all: initial;
|
||||||
|
font-family: Helvetica, Arial, sans-serif;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
#BetterNavigator a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
#BetterNavigator form {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
#BetterNavigator.collapsed.translucent {
|
||||||
|
opacity: 0.5;
|
||||||
|
transition: opacity 250ms;
|
||||||
|
}
|
||||||
|
#BetterNavigator.collapsed.translucent:hover {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
#BetterNavigator.collapsed #BetterNavigatorStatus {
|
||||||
|
padding-right: 12px;
|
||||||
|
}
|
||||||
|
#BetterNavigator.collapsed #BetterNavigatorContent {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
#BetterNavigator.collapsed #BetterNavigatorStatusIcon {
|
||||||
|
order: -1;
|
||||||
|
}
|
||||||
|
#BetterNavigator.right-top {
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
#BetterNavigator.right-top.collapsed {
|
||||||
|
transform-origin: right top;
|
||||||
|
transform: rotate(90deg) translate(100%, 0);
|
||||||
|
}
|
||||||
|
#BetterNavigator.right-bottom {
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
#BetterNavigator.right-bottom.collapsed {
|
||||||
|
transform-origin: right bottom;
|
||||||
|
transform: rotate(90deg) translate(0, 100%);
|
||||||
|
}
|
||||||
|
#BetterNavigator.left-bottom {
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
#BetterNavigator.left-bottom.collapsed {
|
||||||
|
transform-origin: left bottom;
|
||||||
|
transform: rotate(90deg) translate(-100%, 0);
|
||||||
|
}
|
||||||
|
#BetterNavigator.left-top {
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
#BetterNavigator.left-top.collapsed {
|
||||||
|
transform-origin: left top;
|
||||||
|
transform: rotate(90deg) translate(0, -100%);
|
||||||
|
}
|
||||||
|
#BetterNavigator span[class^=bn-icon],
|
||||||
|
#BetterNavigator span[class*=" bn-icon"] {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
#BetterNavigator .bn-icon-close {
|
||||||
|
transform: scale(1.3);
|
||||||
|
}
|
||||||
|
#BetterNavigator .bn-icon-db {
|
||||||
|
transform: scale(0.8);
|
||||||
|
}
|
||||||
|
#BetterNavigator .bn-icon-edit {
|
||||||
|
transform: scale(0.9);
|
||||||
|
}
|
||||||
|
#BetterNavigator .bn-icon-flush {
|
||||||
|
transform: scale(0.8);
|
||||||
|
}
|
||||||
|
#BetterNavigator .bn-icon-info {
|
||||||
|
transform: scale(0.7);
|
||||||
|
}
|
||||||
|
#BetterNavigator .bn-icon-tick {
|
||||||
|
transform: scale(0.7);
|
||||||
|
}
|
||||||
|
#BetterNavigator .bn-icon-tools {
|
||||||
|
transform: scale(0.9);
|
||||||
|
}
|
||||||
|
#BetterNavigator .bn-icon-view {
|
||||||
|
transform: scale(0.95);
|
||||||
|
}
|
||||||
|
|
||||||
|
#BetterNavigatorStatus {
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
align-items: center;
|
||||||
|
appearance: none;
|
||||||
|
background: #6f6f6f;
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 8px 10px 8px 14px;
|
||||||
|
margin: 0;
|
||||||
|
transition: 100ms background-color ease-in-out;
|
||||||
|
white-space: nowrap;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
#BetterNavigatorStatus .status-text {
|
||||||
|
text-align: left;
|
||||||
|
color: #fff;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-family: inherit;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 1;
|
||||||
|
letter-spacing: 0.4px;
|
||||||
|
padding: 3px 3px 2px;
|
||||||
|
border-radius: 3px;
|
||||||
|
background: #6f6f6f;
|
||||||
|
}
|
||||||
|
#BetterNavigatorStatus:hover, #BetterNavigatorStatus:focus-visible {
|
||||||
|
background: dimgray;
|
||||||
|
}
|
||||||
|
#BetterNavigatorStatus:hover .bn-icon-cog,
|
||||||
|
#BetterNavigatorStatus:hover .bn-icon-close, #BetterNavigatorStatus:focus-visible .bn-icon-cog,
|
||||||
|
#BetterNavigatorStatus:focus-visible .bn-icon-close {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
#BetterNavigatorStatus:focus-visible {
|
||||||
|
outline: 3px solid #646464;
|
||||||
|
outline-offset: 0;
|
||||||
|
}
|
||||||
|
#BetterNavigatorStatus.Live {
|
||||||
|
background: #06ad18;
|
||||||
|
}
|
||||||
|
#BetterNavigatorStatus.Live .status-text {
|
||||||
|
background: #068913;
|
||||||
|
}
|
||||||
|
#BetterNavigatorStatus.Live:hover {
|
||||||
|
background: #06a417;
|
||||||
|
}
|
||||||
|
#BetterNavigatorStatus.Live:focus-visible {
|
||||||
|
outline: 3px solid #059c16;
|
||||||
|
}
|
||||||
|
#BetterNavigatorStatus.Draft {
|
||||||
|
background: #e6674b;
|
||||||
|
}
|
||||||
|
#BetterNavigatorStatus.Draft .status-text {
|
||||||
|
background: #d73f1d;
|
||||||
|
}
|
||||||
|
#BetterNavigatorStatus.Draft:hover {
|
||||||
|
background: #db6247;
|
||||||
|
}
|
||||||
|
#BetterNavigatorStatus.Draft:focus-visible {
|
||||||
|
outline: 3px solid #cf5d44;
|
||||||
|
}
|
||||||
|
#BetterNavigatorStatus .bn-icon-cog,
|
||||||
|
#BetterNavigatorStatus .bn-icon-close {
|
||||||
|
opacity: 0.7;
|
||||||
|
}
|
||||||
|
|
||||||
|
#BetterNavigatorStatusIcon {
|
||||||
|
cursor: inherit;
|
||||||
|
transition: 100ms opacity ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
#BetterNavigatorContent {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
padding: 8px;
|
||||||
|
gap: 6px;
|
||||||
|
color: #595d61;
|
||||||
|
background: #cfd8de;
|
||||||
|
min-width: 140px;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
#BetterNavigatorContent .bn-heading {
|
||||||
|
display: block;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-size: 11px;
|
||||||
|
line-height: 1.2;
|
||||||
|
color: #595d61;
|
||||||
|
margin: 5px 0 0 0;
|
||||||
|
padding: 0;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
#BetterNavigatorContent span[class^=bn-icon],
|
||||||
|
#BetterNavigatorContent span[class*=" bn-icon"] {
|
||||||
|
cursor: inherit;
|
||||||
|
margin: -2px 5px -3px -2px;
|
||||||
|
}
|
||||||
|
#BetterNavigatorContent a,
|
||||||
|
#BetterNavigatorContent .bn-disabled {
|
||||||
|
display: block;
|
||||||
|
background: #eceff2;
|
||||||
|
color: #313639;
|
||||||
|
font-family: Helvetica, Arial, sans-serif;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 1.4;
|
||||||
|
border-radius: 5px;
|
||||||
|
border-bottom: 1px solid #a3aaaf;
|
||||||
|
margin: 0;
|
||||||
|
padding: 6px 10px 5px 10px;
|
||||||
|
font-weight: bold;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: 100ms background-color ease-in-out;
|
||||||
|
}
|
||||||
|
#BetterNavigatorContent a .light,
|
||||||
|
#BetterNavigatorContent .bn-disabled .light {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
#BetterNavigatorContent a:focus-visible,
|
||||||
|
#BetterNavigatorContent a:hover {
|
||||||
|
background: #fff;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
#BetterNavigatorContent a:focus-visible {
|
||||||
|
border-bottom: 1px solid transparent;
|
||||||
|
outline: 2px solid #93999e;
|
||||||
|
outline-offset: 1px;
|
||||||
|
}
|
||||||
|
#BetterNavigatorContent a:active {
|
||||||
|
background: #d4d7da;
|
||||||
|
border-color: #acb3b7;
|
||||||
|
}
|
||||||
|
#BetterNavigatorContent .bn-disabled {
|
||||||
|
background: #c6d3da;
|
||||||
|
color: #51565a;
|
||||||
|
cursor: default;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
#BetterNavigatorContent .bn-links {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 5px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
#BetterNavigatorContent .bn-links > :last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body > p.message {
|
||||||
|
text-align: left;
|
||||||
|
background: #fff;
|
||||||
|
color: #222;
|
||||||
|
padding: 10px 20px;
|
||||||
|
margin: 0;
|
||||||
|
border-bottom: 1px solid #ccc;
|
||||||
|
border-left: 5px solid #1d8aff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*# sourceMappingURL=betternavigator.css.map */
|
||||||
|
1
css/betternavigator.css.map
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"version":3,"sourceRoot":"","sources":["../scss/betternavigator.scss","../scss/_iconsprite.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;ACAA;EACI;;;AAGJ;EAEI;;;AAGJ;EACI;EACA;;;AAGJ;EAEI;;;AAGJ;EACI;EACA;;;AAGJ;EAEI;;;AAGJ;EACI;EACA;;;AAGJ;EAEI;;;AAGJ;EACI;EACA;;;AAGJ;EAEI;;;AAGJ;EACI;EACA;;;AAGJ;EAEI;;;AAGJ;EACI;EACA;;;AAGJ;EAEI;;;AAGJ;EACI;EACA;;;AAGJ;EAEI;;;AAGJ;EACI;EACA;;;AAGJ;EAEI;;;AAGJ;EACI;EACA;;;AAGJ;EAEI;;;AAGJ;EACI;EACA;;;AAGJ;EAEI;;;AAGJ;EACI;EACA;;;ADnFJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGA;EAGI;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAMA;EACI;EACA;;AAEA;EACI;;AAIR;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAIR;EACI;EACA;;AAEA;EACI;EACA;;AAIR;EACI;EACA;;AAEA;EACI;EACA;;AAIR;EACI;EACA;;AAEA;EACI;EACA;;AAIR;EACI;EACA;;AAEA;EACI;EACA;;AAKR;AAAA;EAEI;;AAGJ;EAGI;;AAQJ;EAGI;;AAGJ;EAGI;;AAGJ;EAGI;;AAGJ;EAGI;;AAGJ;EAGI;;AAGJ;EAGI;;AAQJ;EAGI;;;AAMR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YA3KW;EA4KX;EACA;EACA;EACA;EACA;EACA,OA/LI;;AAiMJ;EACI;EACA,OAnMA;EAoMA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YA7LS;;AAgMb;EAEI;;AAEA;AAAA;AAAA;EAEI;;AAIR;EACI;EACA;;AAGJ;EACI,YArNI;;AAuNJ;EACI,YAvNE;;AA0NN;EACI;;AAGJ;EACI;;AAIR;EACI,YAnOK;;AAqOL;EACI,YArOG;;AAwOP;EACI;;AAGJ;EACI;;AAIR;AAAA;EAEI;;;AAIR;EACI;EACA;;;AAKJ;EACI;EACA;EACA;EACA;EACA,OA7QW;EA8QX,YA7QgB;EA8QhB;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA,OAvRO;EAwRP;EACA;EACA;;AAGJ;AAAA;EAEI;EACA;;AAGJ;AAAA;EAEI;EACA,YAlSW;EAmSX,OArSM;EAsSN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI;;AAIR;AAAA;EAEI,YA7TA;EA8TA,OA/TA;;AAkUJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI,YArUmB;EAsUnB,OAxUc;EAyUd;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;;AAMZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA","file":"betternavigator.css"}
|
1
css/svg/sprite.css-982681f2.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?><svg width="64" height="48" viewBox="0 0 64 48" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><svg width="16" height="16" fill="#FFF" viewBox="0 0 16 16" id="images--bn-icon--close" xmlns="http://www.w3.org/2000/svg"><path d="M11.478 11.879a.96.96 0 0 1-1.358 0L7.999 9.455l-2.121 2.423A.96.96 0 0 1 4.52 10.52L6.726 8 4.519 5.478A.96.96 0 0 1 5.877 4.12l2.122 2.425L10.12 4.12a.96.96 0 0 1 1.358 1.358L9.272 8l2.206 2.52a.96.96 0 0 1 0 1.358z"/></svg><svg width="16" height="16" fill="#FFF" viewBox="0 0 16 16" id="images--bn-icon--cog" x="16" xmlns="http://www.w3.org/2000/svg"><path d="M14.59 9.535a3.053 3.053 0 0 1 1.127-4.164l-1.572-2.723a3.017 3.017 0 0 1-1.529.414A3.052 3.052 0 0 1 9.574 0H6.429a3.009 3.009 0 0 1-.406 1.535c-.839 1.454-2.706 1.948-4.17 1.106L.281 5.364a3 3 0 0 1 1.123 1.117 3.053 3.053 0 0 1-1.12 4.16l1.572 2.723c.448-.261.967-.41 1.522-.41A3.052 3.052 0 0 1 6.42 16h3.145a3.012 3.012 0 0 1 .406-1.519 3.053 3.053 0 0 1 4.163-1.11l1.572-2.723a3.008 3.008 0 0 1-1.116-1.113zM8 11.24a3.24 3.24 0 1 1 0-6.48 3.24 3.24 0 0 1 0 6.48z"/></svg><svg width="16" height="16" viewBox="0 0 16 16" id="images--bn-icon--db" y="16" xmlns="http://www.w3.org/2000/svg"><path d="M8 0C3.582 0 0 1.119 0 2.5v2C0 5.881 3.582 7 8 7s8-1.119 8-2.5v-2C16 1.119 12.418 0 8 0z"/><path d="M8 8.5C3.582 8.5 0 7.381 0 6v3c0 1.381 3.582 2.5 8 2.5s8-1.119 8-2.5V6c0 1.381-3.582 2.5-8 2.5z"/><path d="M8 13c-4.418 0-8-1.119-8-2.5v3C0 14.881 3.582 16 8 16s8-1.119 8-2.5v-3c0 1.381-3.582 2.5-8 2.5z"/></svg><svg width="16" height="16" viewBox="0 0 16 16" id="images--bn-icon--devmode" x="16" y="16" xmlns="http://www.w3.org/2000/svg"><path d="M8 9.662c1.912 0 3.514-.65 3.61-1.498l-.9-2.522c-.211.609-1.38 1.041-2.71 1.041s-2.499-.432-2.71-1.041l-.899 2.522c.097.849 1.698 1.498 3.61 1.498zm0-5.364c.899 0 1.734-.278 1.978-.711l-.809-2.269C9.047.976 8.496.8 7.999.8s-1.048.177-1.17.518L6.02 3.587c.245.433 1.08.711 1.978.711zm7.024 6.155L12.02 9.242l.346.966c-.018 1.023-2.003 1.839-4.366 1.839s-4.35-.815-4.366-1.839l.346-.966-3.004 1.211c-.842.339-.878.967-.078 1.395l5.65 3.03c.798.428 2.106.428 2.906 0l5.65-3.03c.799-.428.763-1.056-.079-1.395z"/></svg><svg width="16" height="16" viewBox="0 0 16 16" id="images--bn-icon--edit" x="32" xmlns="http://www.w3.org/2000/svg"><path d="M14.049 1.951c-1.154-1.154-2.02-.982-2.02-.982L1.768 11.229l-.808 3.81 3.81-.808L15.031 3.973c-.001 0 .173-.866-.982-2.022zM4.544 13.774l-1.299.28c-.125-.234-.276-.469-.552-.746s-.511-.426-.746-.553l.28-1.298.376-.375s.706.014 1.505.813c.798.797.813 1.505.813 1.505l-.377.374z"/></svg><svg width="16" height="16" viewBox="0 0 16 16" id="images--bn-icon--flush" x="32" y="16" xmlns="http://www.w3.org/2000/svg"><path d="M16 6h-6l2.243-2.243C11.11 2.624 9.603 2 8 2s-3.109.624-4.243 1.757C2.624 4.89 2 6.397 2 8s.624 3.109 1.757 4.243A5.961 5.961 0 0 0 8 14a5.963 5.963 0 0 0 4.516-2.049l1.505 1.317a8 8 0 1 1-.364-10.924L16 0v6z"/></svg><svg width="16" height="16" viewBox="0 0 16 16" id="images--bn-icon--info" y="32" xmlns="http://www.w3.org/2000/svg"><path d="M16 9V8h-3.02a5.785 5.785 0 0 0-1.12-3.004h2.53L15.485.617l-.97-.243-.905 3.621h-2.729l-.042-.032A2.996 2.996 0 0 0 8.001-.001a2.996 2.996 0 0 0-2.838 3.964l-.042.032H2.392L1.487.374l-.97.243 1.095 4.379h2.53A5.785 5.785 0 0 0 3.022 8H.002v1h3.021c.059.713.242 1.388.526 1.996H1.612L.517 15.375l.97.243.905-3.621h1.756c.917 1.219 2.303 1.996 3.854 1.996s2.937-.777 3.854-1.996h1.756l.905 3.621.97-.243-1.095-4.379h-1.937A5.903 5.903 0 0 0 12.981 9h3.021z"/></svg><svg width="16" height="16" viewBox="0 0 16 16" id="images--bn-icon--tick" x="16" y="32" xmlns="http://www.w3.org/2000/svg"><path d="M13.5 2 6 9.5 2.5 6 0 8.5l6 6 10-10z"/></svg><svg width="16" height="16" viewBox="0 0 16 16" id="images--bn-icon--tools" x="32" y="32" xmlns="http://www.w3.org/2000/svg"><path d="M2.508 5.512c.746-.58 1.366-.18 2.192.777.093.108.218-.018.289-.08S6.15 5.165 6.203 5.12c.053-.047.117-.135.033-.234a27.04 27.04 0 0 1-.594-.761C4.196 2.233 9.599.95 8.769.93 8.347.919 6.652.899 6.399.927c-1.026.108-2.315 1.067-2.964 1.514-.849.581-1.166.922-1.218.969-.24.21-.038.694-.474 1.075-.46.402-.747.098-1.014.331-.132.117-.502.394-.607.486-.106.094-.126.251-.017.377 0 0 1.011 1.117 1.096 1.216.084.098.313.182.454.057s.506-.442.566-.498c.062-.053-.04-.689.286-.942zm4.566.414c-.096-.111-.215-.114-.318-.023L5.609 6.905a.232.232 0 0 0-.022.32l6.635 7.551a.425.425 0 0 0 .601.042l.776-.65a.432.432 0 0 0 .042-.606L7.074 5.927zm8.848-3.214c-.059-.395-.264-.313-.37-.146-.106.169-.577.882-.77 1.205-.192.32-.666.953-1.547.328-.918-.649-.599-1.102-.439-1.406a32.33 32.33 0 0 1 .726-1.272c.071-.108-.012-.422-.297-.29s-2.018.82-2.258 1.808c-.246 1.005.206 1.903-.68 2.795l-1.074 1.12 1.079 1.253 1.323-1.256c.315-.317.989-.625 1.598-.486 1.306.295 2.019-.195 2.449-1.006.386-.725.322-2.251.262-2.646zM2.191 13.642a.431.431 0 0 0 0 .606l.761.744c.166.167.43.097.597-.07l3.926-3.859-1.202-1.371-4.081 3.95z"/></svg><svg width="16" height="16" viewBox="0 0 16 16" id="images--bn-icon--user" x="48" xmlns="http://www.w3.org/2000/svg"><path d="M9 11.041v-.825c1.102-.621 2-2.168 2-3.716C11 4.015 11 2 8 2S5 4.015 5 6.5c0 1.548.898 3.095 2 3.716v.825c-3.392.277-6 1.944-6 3.959h14c0-2.015-2.608-3.682-6-3.959z"/></svg><svg width="16" height="16" viewBox="0 0 16 16" id="images--bn-icon--view" x="48" y="16" xmlns="http://www.w3.org/2000/svg"><path d="M8 3.52C2.751 3.52 0 7.386 0 8c0 .613 2.751 4.48 8 4.48S16 8.613 16 8c0-.614-2.752-4.48-8-4.48zm0 7.926c-1.964 0-3.556-1.542-3.556-3.446S6.036 4.553 8 4.553 11.555 6.097 11.555 8 9.964 11.446 8 11.446zM8 8c-.326-.358.53-1.723 0-1.723-.982 0-1.778.772-1.778 1.723S7.018 9.723 8 9.723 9.778 8.951 9.778 8c0-.438-1.502.303-1.778 0z"/></svg></svg>
|
After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 159 B |
1
images/bn-icon/close.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="#FFF"><path d="M11.478 11.879a.96.96 0 0 1-1.358 0L7.999 9.455l-2.121 2.423A.96.96 0 0 1 4.52 10.52L6.726 8 4.519 5.478A.96.96 0 0 1 5.877 4.12l2.122 2.425L10.12 4.12a.96.96 0 0 1 1.358 1.358L9.272 8l2.206 2.52a.96.96 0 0 1 0 1.358z"/></svg>
|
After Width: | Height: | Size: 311 B |
Before Width: | Height: | Size: 220 B |
1
images/bn-icon/cog.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="#FFF"><path d="M14.59 9.535a3.053 3.053 0 0 1 1.127-4.164l-1.572-2.723a3.017 3.017 0 0 1-1.529.414A3.052 3.052 0 0 1 9.574 0H6.429a3.009 3.009 0 0 1-.406 1.535c-.839 1.454-2.706 1.948-4.17 1.106L.281 5.364a3 3 0 0 1 1.123 1.117 3.053 3.053 0 0 1-1.12 4.16l1.572 2.723c.448-.261.967-.41 1.522-.41A3.052 3.052 0 0 1 6.42 16h3.145a3.012 3.012 0 0 1 .406-1.519 3.053 3.053 0 0 1 4.163-1.11l1.572-2.723a3.008 3.008 0 0 1-1.116-1.113zM8 11.24a3.24 3.24 0 1 1 0-6.48 3.24 3.24 0 0 1 0 6.48z"/></svg>
|
After Width: | Height: | Size: 561 B |
Before Width: | Height: | Size: 272 B |
1
images/bn-icon/db.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M8 0C3.582 0 0 1.119 0 2.5v2C0 5.881 3.582 7 8 7s8-1.119 8-2.5v-2C16 1.119 12.418 0 8 0z"/><path d="M8 8.5C3.582 8.5 0 7.381 0 6v3c0 1.381 3.582 2.5 8 2.5s8-1.119 8-2.5V6c0 1.381-3.582 2.5-8 2.5z"/><path d="M8 13c-4.418 0-8-1.119-8-2.5v3C0 14.881 3.582 16 8 16s8-1.119 8-2.5v-3c0 1.381-3.582 2.5-8 2.5z"/></svg>
|
After Width: | Height: | Size: 383 B |
Before Width: | Height: | Size: 257 B |
1
images/bn-icon/devmode.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M8 9.662c1.912 0 3.514-.65 3.61-1.498l-.9-2.522c-.211.609-1.38 1.041-2.71 1.041s-2.499-.432-2.71-1.041l-.899 2.522c.097.849 1.698 1.498 3.61 1.498zm0-5.364c.899 0 1.734-.278 1.978-.711l-.809-2.269C9.047.976 8.496.8 7.999.8s-1.048.177-1.17.518L6.02 3.587c.245.433 1.08.711 1.978.711zm7.024 6.155L12.02 9.242l.346.966c-.018 1.023-2.003 1.839-4.366 1.839s-4.35-.815-4.366-1.839l.346-.966-3.004 1.211c-.842.339-.878.967-.078 1.395l5.65 3.03c.798.428 2.106.428 2.906 0l5.65-3.03c.799-.428.763-1.056-.079-1.395z"/></svg>
|
After Width: | Height: | Size: 586 B |
Before Width: | Height: | Size: 183 B |
1
images/bn-icon/edit.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M14.049 1.951c-1.154-1.154-2.02-.982-2.02-.982L1.768 11.229l-.808 3.81 3.81-.808L15.031 3.973c-.001 0 .173-.866-.982-2.022zM4.544 13.774l-1.299.28c-.125-.234-.276-.469-.552-.746s-.511-.426-.746-.553l.28-1.298.376-.375s.706.014 1.505.813c.798.797.813 1.505.813 1.505l-.377.374z"/></svg>
|
After Width: | Height: | Size: 357 B |
Before Width: | Height: | Size: 303 B |
1
images/bn-icon/flush.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M16 6h-6l2.243-2.243C11.11 2.624 9.603 2 8 2s-3.109.624-4.243 1.757C2.624 4.89 2 6.397 2 8s.624 3.109 1.757 4.243A5.961 5.961 0 0 0 8 14a5.963 5.963 0 0 0 4.516-2.049l1.505 1.317a8 8 0 1 1-.364-10.924L16 0v6z"/></svg>
|
After Width: | Height: | Size: 289 B |
Before Width: | Height: | Size: 354 B |
1
images/bn-icon/info.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M16 9V8h-3.02a5.785 5.785 0 0 0-1.12-3.004h2.53L15.485.617l-.97-.243-.905 3.621h-2.729l-.042-.032A2.996 2.996 0 0 0 8.001-.001a2.996 2.996 0 0 0-2.838 3.964l-.042.032H2.392L1.487.374l-.97.243 1.095 4.379h2.53A5.785 5.785 0 0 0 3.022 8H.002v1h3.021c.059.713.242 1.388.526 1.996H1.612L.517 15.375l.97.243.905-3.621h1.756c.917 1.219 2.303 1.996 3.854 1.996s2.937-.777 3.854-1.996h1.756l.905 3.621.97-.243-1.095-4.379h-1.937A5.903 5.903 0 0 0 12.981 9h3.021z"/></svg>
|
After Width: | Height: | Size: 535 B |
Before Width: | Height: | Size: 242 B |
1
images/bn-icon/tick.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M13.5 2 6 9.5 2.5 6 0 8.5l6 6 10-10z"/></svg>
|
After Width: | Height: | Size: 117 B |
Before Width: | Height: | Size: 339 B |
1
images/bn-icon/tools.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M2.508 5.512c.746-.58 1.366-.18 2.192.777.093.108.218-.018.289-.08S6.15 5.165 6.203 5.12c.053-.047.117-.135.033-.234a27.04 27.04 0 0 1-.594-.761C4.196 2.233 9.599.95 8.769.93 8.347.919 6.652.899 6.399.927c-1.026.108-2.315 1.067-2.964 1.514-.849.581-1.166.922-1.218.969-.24.21-.038.694-.474 1.075-.46.402-.747.098-1.014.331-.132.117-.502.394-.607.486-.106.094-.126.251-.017.377 0 0 1.011 1.117 1.096 1.216.084.098.313.182.454.057s.506-.442.566-.498c.062-.053-.04-.689.286-.942zm4.566.414c-.096-.111-.215-.114-.318-.023L5.609 6.905a.232.232 0 0 0-.022.32l6.635 7.551a.425.425 0 0 0 .601.042l.776-.65a.432.432 0 0 0 .042-.606L7.074 5.927zm8.848-3.214c-.059-.395-.264-.313-.37-.146-.106.169-.577.882-.77 1.205-.192.32-.666.953-1.547.328-.918-.649-.599-1.102-.439-1.406a32.33 32.33 0 0 1 .726-1.272c.071-.108-.012-.422-.297-.29s-2.018.82-2.258 1.808c-.246 1.005.206 1.903-.68 2.795l-1.074 1.12 1.079 1.253 1.323-1.256c.315-.317.989-.625 1.598-.486 1.306.295 2.019-.195 2.449-1.006.386-.725.322-2.251.262-2.646zM2.191 13.642a.431.431 0 0 0 0 .606l.761.744c.166.167.43.097.597-.07l3.926-3.859-1.202-1.371-4.081 3.95z"/></svg>
|
After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 230 B |
1
images/bn-icon/user.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M9 11.041v-.825c1.102-.621 2-2.168 2-3.716C11 4.015 11 2 8 2S5 4.015 5 6.5c0 1.548.898 3.095 2 3.716v.825c-3.392.277-6 1.944-6 3.959h14c0-2.015-2.608-3.682-6-3.959z"/></svg>
|
After Width: | Height: | Size: 245 B |
Before Width: | Height: | Size: 229 B |
1
images/bn-icon/view.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M8 3.52C2.751 3.52 0 7.386 0 8c0 .613 2.751 4.48 8 4.48S16 8.613 16 8c0-.614-2.752-4.48-8-4.48zm0 7.926c-1.964 0-3.556-1.542-3.556-3.446S6.036 4.553 8 4.553 11.555 6.097 11.555 8 9.964 11.446 8 11.446zM8 8c-.326-.358.53-1.723 0-1.723-.982 0-1.778.772-1.778 1.723S7.018 9.723 8 9.723 9.778 8.951 9.778 8c0-.438-1.502.303-1.778 0z"/></svg>
|
After Width: | Height: | Size: 409 B |
BIN
images/demo.png
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 62 KiB |
@ -18,6 +18,7 @@ function initialiseBetterNavigator() {
|
|||||||
// Dom elements
|
// Dom elements
|
||||||
var BetterNavigator = document.getElementById("BetterNavigator");
|
var BetterNavigator = document.getElementById("BetterNavigator");
|
||||||
var BetterNavigatorStatus = document.getElementById("BetterNavigatorStatus");
|
var BetterNavigatorStatus = document.getElementById("BetterNavigatorStatus");
|
||||||
|
var BetterNavigatorStatusIcon = document.getElementById("BetterNavigatorStatusIcon");
|
||||||
var BetterNavigatorLogoutLink = document.getElementById("BetterNavigatorLogoutLink");
|
var BetterNavigatorLogoutLink = document.getElementById("BetterNavigatorLogoutLink");
|
||||||
var BetterNavigatorLogoutForm = document.getElementById("LogoutForm_BetterNavigatorLogoutForm");
|
var BetterNavigatorLogoutForm = document.getElementById("LogoutForm_BetterNavigatorLogoutForm");
|
||||||
|
|
||||||
@ -26,10 +27,22 @@ function initialiseBetterNavigator() {
|
|||||||
if (BetterNavigator.classList.contains('collapsed')) {
|
if (BetterNavigator.classList.contains('collapsed')) {
|
||||||
BetterNavigator.classList.add('open');
|
BetterNavigator.classList.add('open');
|
||||||
BetterNavigator.classList.remove('collapsed');
|
BetterNavigator.classList.remove('collapsed');
|
||||||
|
|
||||||
|
// update the button state
|
||||||
|
BetterNavigatorStatus.setAttribute('aria-expanded', 'true');
|
||||||
|
BetterNavigatorStatusIcon.classList.remove('bn-icon-cog');
|
||||||
|
BetterNavigatorStatusIcon.classList.add('bn-icon-close');
|
||||||
|
|
||||||
document.cookie = "BetterNavigator=open;path=/";
|
document.cookie = "BetterNavigator=open;path=/";
|
||||||
} else {
|
} else {
|
||||||
BetterNavigator.classList.add('collapsed');
|
BetterNavigator.classList.add('collapsed');
|
||||||
BetterNavigator.classList.remove('open');
|
BetterNavigator.classList.remove('open');
|
||||||
|
|
||||||
|
// update the button state
|
||||||
|
BetterNavigatorStatus.setAttribute('aria-expanded', 'false');
|
||||||
|
BetterNavigatorStatusIcon.classList.remove('bn-icon-close');
|
||||||
|
BetterNavigatorStatusIcon.classList.add('bn-icon-cog');
|
||||||
|
|
||||||
document.cookie = "BetterNavigator=collapsed;path=/";
|
document.cookie = "BetterNavigator=collapsed;path=/";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -38,6 +51,11 @@ function initialiseBetterNavigator() {
|
|||||||
if (getCookie('BetterNavigator') === 'open') {
|
if (getCookie('BetterNavigator') === 'open') {
|
||||||
BetterNavigator.classList.add('open');
|
BetterNavigator.classList.add('open');
|
||||||
BetterNavigator.classList.remove('collapsed');
|
BetterNavigator.classList.remove('collapsed');
|
||||||
|
|
||||||
|
// update the button state
|
||||||
|
BetterNavigatorStatus.setAttribute('aria-expanded', 'true');
|
||||||
|
BetterNavigatorStatusIcon.classList.remove('bn-icon-cog');
|
||||||
|
BetterNavigatorStatusIcon.classList.add('bn-icon-close');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (BetterNavigatorLogoutForm) {
|
if (BetterNavigatorLogoutForm) {
|
||||||
|
@ -4,6 +4,8 @@ de:
|
|||||||
VIEWING_DRAFT: 'Entwurf'
|
VIEWING_DRAFT: 'Entwurf'
|
||||||
VIEWING_ARCHIVED: 'Archiviert'
|
VIEWING_ARCHIVED: 'Archiviert'
|
||||||
|
|
||||||
|
ARIA_MENU_LABEL: 'Werkzeugmenü'
|
||||||
|
|
||||||
DEVELOPER_TOOLS_HEADING: 'Entwickler Tools'
|
DEVELOPER_TOOLS_HEADING: 'Entwickler Tools'
|
||||||
DEBUGGING_HEADING: 'Debugging'
|
DEBUGGING_HEADING: 'Debugging'
|
||||||
|
|
||||||
|
@ -4,6 +4,8 @@ en:
|
|||||||
VIEWING_DRAFT: 'Draft'
|
VIEWING_DRAFT: 'Draft'
|
||||||
VIEWING_ARCHIVED: 'Archived'
|
VIEWING_ARCHIVED: 'Archived'
|
||||||
|
|
||||||
|
ARIA_MENU_LABEL: 'Tool menu'
|
||||||
|
|
||||||
DEVELOPER_TOOLS_HEADING: 'Developer tools'
|
DEVELOPER_TOOLS_HEADING: 'Developer tools'
|
||||||
DEBUGGING_HEADING: 'Debugging'
|
DEBUGGING_HEADING: 'Debugging'
|
||||||
|
|
||||||
|
2580
package-lock.json
generated
Normal file
@ -0,0 +1,2580 @@
|
|||||||
|
{
|
||||||
|
"name": "silverstripe-betternavigator",
|
||||||
|
"lockfileVersion": 2,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"name": "silverstripe-betternavigator",
|
||||||
|
"devDependencies": {
|
||||||
|
"sass": "^1.64.1",
|
||||||
|
"svg-sprite": "^2.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@colors/colors": {
|
||||||
|
"version": "1.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
|
||||||
|
"integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.1.90"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@dabh/diagnostics": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz",
|
||||||
|
"integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"colorspace": "1.1.x",
|
||||||
|
"enabled": "2.0.x",
|
||||||
|
"kuler": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@resvg/resvg-js": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js/-/resvg-js-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-wTOf1zerZX8qYcMmLZw3czR4paI4hXqPjShNwJRh5DeHxvgffUS5KM7XwxtbIheUW6LVYT5fhT2AJiP6mU7U4A==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@resvg/resvg-js-android-arm-eabi": "2.4.1",
|
||||||
|
"@resvg/resvg-js-android-arm64": "2.4.1",
|
||||||
|
"@resvg/resvg-js-darwin-arm64": "2.4.1",
|
||||||
|
"@resvg/resvg-js-darwin-x64": "2.4.1",
|
||||||
|
"@resvg/resvg-js-linux-arm-gnueabihf": "2.4.1",
|
||||||
|
"@resvg/resvg-js-linux-arm64-gnu": "2.4.1",
|
||||||
|
"@resvg/resvg-js-linux-arm64-musl": "2.4.1",
|
||||||
|
"@resvg/resvg-js-linux-x64-gnu": "2.4.1",
|
||||||
|
"@resvg/resvg-js-linux-x64-musl": "2.4.1",
|
||||||
|
"@resvg/resvg-js-win32-arm64-msvc": "2.4.1",
|
||||||
|
"@resvg/resvg-js-win32-ia32-msvc": "2.4.1",
|
||||||
|
"@resvg/resvg-js-win32-x64-msvc": "2.4.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@resvg/resvg-js-android-arm-eabi": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm-eabi/-/resvg-js-android-arm-eabi-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-AA6f7hS0FAPpvQMhBCf6f1oD1LdlqNXKCxAAPpKh6tR11kqV0YIB9zOlIYgITM14mq2YooLFl6XIbbvmY+jwUw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"android"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@resvg/resvg-js-android-arm64": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm64/-/resvg-js-android-arm64-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-/QleoRdPfsEuH9jUjilYcDtKK/BkmWcK+1LXM8L2nsnf/CI8EnFyv7ZzCj4xAIvZGAy9dTYr/5NZBcTwxG2HQg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"android"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@resvg/resvg-js-darwin-arm64": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-arm64/-/resvg-js-darwin-arm64-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-U1oMNhea+kAXgiEXgzo7EbFGCD1Edq5aSlQoe6LMly6UjHzgx2W3N5kEXCwU/CgN5FiQhZr7PlSJSlcr7mdhfg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@resvg/resvg-js-darwin-x64": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-x64/-/resvg-js-darwin-x64-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-avyVh6DpebBfHHtTQTZYSr6NG1Ur6TEilk1+H0n7V+g4F7x7WPOo8zL00ZhQCeRQ5H4f8WXNWIEKL8fwqcOkYw==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@resvg/resvg-js-linux-arm-gnueabihf": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm-gnueabihf/-/resvg-js-linux-arm-gnueabihf-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-isY/mdKoBWH4VB5v621co+8l101jxxYjuTkwOLsbW+5RK9EbLciPlCB02M99ThAHzI2MYxIUjXNmNgOW8btXvw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@resvg/resvg-js-linux-arm64-gnu": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-gnu/-/resvg-js-linux-arm64-gnu-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-uY5voSCrFI8TH95vIYBm5blpkOtltLxLRODyhKJhGfskOI7XkRw5/t1u0sWAGYD8rRSNX+CA+np86otKjubrNg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@resvg/resvg-js-linux-arm64-musl": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-musl/-/resvg-js-linux-arm64-musl-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-6mT0+JBCsermKMdi/O2mMk3m7SqOjwi9TKAwSngRZ/nQoL3Z0Z5zV+572ztgbWr0GODB422uD8e9R9zzz38dRQ==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@resvg/resvg-js-linux-x64-gnu": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-gnu/-/resvg-js-linux-x64-gnu-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-60KnrscLj6VGhkYOJEmmzPlqqfcw1keDh6U+vMcNDjPhV3B5vRSkpP/D/a8sfokyeh4VEacPSYkWGezvzS2/mg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@resvg/resvg-js-linux-x64-musl": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-musl/-/resvg-js-linux-x64-musl-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-0AMyZSICC1D7ge115cOZQW8Pcad6PjWuZkBFF3FJuSxC6Dgok0MQnLTs2MfMdKBlAcwO9dXsf3bv9tJZj8pATA==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@resvg/resvg-js-win32-arm64-msvc": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-arm64-msvc/-/resvg-js-win32-arm64-msvc-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-76XDFOFSa3d0QotmcNyChh2xHwk+JTFiEQBVxMlHpHMeq7hNrQJ1IpE1zcHSQvrckvkdfLboKRrlGB86B10Qjw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@resvg/resvg-js-win32-ia32-msvc": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-ia32-msvc/-/resvg-js-win32-ia32-msvc-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-odyVFGrEWZIzzJ89KdaFtiYWaIJh9hJRW/frcEcG3agJ464VXkN/2oEVF5ulD+5mpGlug9qJg7htzHcKxDN8sg==",
|
||||||
|
"cpu": [
|
||||||
|
"ia32"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@resvg/resvg-js-win32-x64-msvc": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-x64-msvc/-/resvg-js-win32-x64-msvc-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-vY4kTLH2S3bP+puU5x7hlAxHv+ulFgcK6Zn3efKSr0M0KnZ9A3qeAjZteIpkowEFfUeMPNg2dvvoFRJA9zqxSw==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@trysound/sax": {
|
||||||
|
"version": "0.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
|
||||||
|
"integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.13.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/triple-beam": {
|
||||||
|
"version": "1.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.2.tgz",
|
||||||
|
"integrity": "sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/@xmldom/xmldom": {
|
||||||
|
"version": "0.8.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz",
|
||||||
|
"integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/anymatch": {
|
||||||
|
"version": "3.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
|
||||||
|
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"normalize-path": "^3.0.0",
|
||||||
|
"picomatch": "^2.0.4"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/argparse": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/async": {
|
||||||
|
"version": "3.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
|
||||||
|
"integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/balanced-match": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/binary-extensions": {
|
||||||
|
"version": "2.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
|
||||||
|
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/boolbase": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/brace-expansion": {
|
||||||
|
"version": "1.1.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||||
|
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"balanced-match": "^1.0.0",
|
||||||
|
"concat-map": "0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/braces": {
|
||||||
|
"version": "3.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
||||||
|
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"fill-range": "^7.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/chokidar": {
|
||||||
|
"version": "3.5.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
|
||||||
|
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
|
||||||
|
"dev": true,
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "individual",
|
||||||
|
"url": "https://paulmillr.com/funding/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": {
|
||||||
|
"anymatch": "~3.1.2",
|
||||||
|
"braces": "~3.0.2",
|
||||||
|
"glob-parent": "~5.1.2",
|
||||||
|
"is-binary-path": "~2.1.0",
|
||||||
|
"is-glob": "~4.0.1",
|
||||||
|
"normalize-path": "~3.0.0",
|
||||||
|
"readdirp": "~3.6.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 8.10.0"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"fsevents": "~2.3.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/cliui": {
|
||||||
|
"version": "8.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
|
||||||
|
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"string-width": "^4.2.0",
|
||||||
|
"strip-ansi": "^6.0.1",
|
||||||
|
"wrap-ansi": "^7.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/cliui/node_modules/ansi-regex": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/cliui/node_modules/strip-ansi": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-regex": "^5.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/clone": {
|
||||||
|
"version": "2.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
|
||||||
|
"integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/clone-buffer": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/clone-stats": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/cloneable-readable": {
|
||||||
|
"version": "1.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz",
|
||||||
|
"integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"inherits": "^2.0.1",
|
||||||
|
"process-nextick-args": "^2.0.0",
|
||||||
|
"readable-stream": "^2.3.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/cloneable-readable/node_modules/readable-stream": {
|
||||||
|
"version": "2.3.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
|
||||||
|
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
|
||||||
|
"dev": true,
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/cloneable-readable/node_modules/safe-buffer": {
|
||||||
|
"version": "5.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||||
|
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/cloneable-readable/node_modules/string_decoder": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||||
|
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"safe-buffer": "~5.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/color": {
|
||||||
|
"version": "3.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
|
||||||
|
"integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"color-convert": "^1.9.3",
|
||||||
|
"color-string": "^1.6.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/color-convert": {
|
||||||
|
"version": "1.9.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
||||||
|
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"color-name": "1.1.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/color-name": {
|
||||||
|
"version": "1.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||||
|
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/color-string": {
|
||||||
|
"version": "1.9.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
|
||||||
|
"integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"color-name": "^1.0.0",
|
||||||
|
"simple-swizzle": "^0.2.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/colorspace": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"color": "^3.1.3",
|
||||||
|
"text-hex": "1.0.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/commander": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/concat-map": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/core-util-is": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/css-select": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"boolbase": "^1.0.0",
|
||||||
|
"css-what": "^6.0.1",
|
||||||
|
"domhandler": "^4.3.1",
|
||||||
|
"domutils": "^2.8.0",
|
||||||
|
"nth-check": "^2.0.1"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/fb55"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/css-select/node_modules/dom-serializer": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
|
||||||
|
"integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"domelementtype": "^2.0.1",
|
||||||
|
"domhandler": "^4.2.0",
|
||||||
|
"entities": "^2.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/css-select/node_modules/domelementtype": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
|
||||||
|
"integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
|
||||||
|
"dev": true,
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/fb55"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"node_modules/css-select/node_modules/domhandler": {
|
||||||
|
"version": "4.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
|
||||||
|
"integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"domelementtype": "^2.2.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 4"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/fb55/domhandler?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/css-select/node_modules/domutils": {
|
||||||
|
"version": "2.8.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
|
||||||
|
"integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"dom-serializer": "^1.0.1",
|
||||||
|
"domelementtype": "^2.2.0",
|
||||||
|
"domhandler": "^4.2.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/fb55/domutils?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/css-select/node_modules/entities": {
|
||||||
|
"version": "2.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
|
||||||
|
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
|
||||||
|
"dev": true,
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/fb55/entities?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/css-selector-parser": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.4.1.tgz",
|
||||||
|
"integrity": "sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/css-tree": {
|
||||||
|
"version": "1.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
|
||||||
|
"integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"mdn-data": "2.0.14",
|
||||||
|
"source-map": "^0.6.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/css-tree/node_modules/source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/css-what": {
|
||||||
|
"version": "6.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
|
||||||
|
"integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 6"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/fb55"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/csso": {
|
||||||
|
"version": "4.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
|
||||||
|
"integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"css-tree": "^1.1.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/cssom": {
|
||||||
|
"version": "0.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz",
|
||||||
|
"integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/emoji-regex": {
|
||||||
|
"version": "8.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||||
|
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/enabled": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/escalade": {
|
||||||
|
"version": "3.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
|
||||||
|
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/fecha": {
|
||||||
|
"version": "4.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz",
|
||||||
|
"integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/fill-range": {
|
||||||
|
"version": "7.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||||
|
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"to-regex-range": "^5.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/fn.name": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/fs.realpath": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/fsevents": {
|
||||||
|
"version": "2.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
||||||
|
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
||||||
|
"dev": true,
|
||||||
|
"hasInstallScript": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/get-caller-file": {
|
||||||
|
"version": "2.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
|
||||||
|
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": "6.* || 8.* || >= 10.*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/glob": {
|
||||||
|
"version": "7.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||||
|
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"fs.realpath": "^1.0.0",
|
||||||
|
"inflight": "^1.0.4",
|
||||||
|
"inherits": "2",
|
||||||
|
"minimatch": "^3.1.1",
|
||||||
|
"once": "^1.3.0",
|
||||||
|
"path-is-absolute": "^1.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "*"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/glob-parent": {
|
||||||
|
"version": "5.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||||
|
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"is-glob": "^4.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/immutable": {
|
||||||
|
"version": "4.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.1.tgz",
|
||||||
|
"integrity": "sha512-lj9cnmB/kVS0QHsJnYKD1uo3o39nrbKxszjnqS9Fr6NB7bZzW45U6WSGBPKXDL/CvDKqDNPA4r3DoDQ8GTxo2A==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/inflight": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||||
|
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"once": "^1.3.0",
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/inherits": {
|
||||||
|
"version": "2.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||||
|
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/is-arrayish": {
|
||||||
|
"version": "0.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
|
||||||
|
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/is-binary-path": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"binary-extensions": "^2.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/is-extglob": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/is-fullwidth-code-point": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/is-glob": {
|
||||||
|
"version": "4.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
||||||
|
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"is-extglob": "^2.1.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/is-number": {
|
||||||
|
"version": "7.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
||||||
|
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.12.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/is-stream": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/isarray": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/js-yaml": {
|
||||||
|
"version": "4.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
||||||
|
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"argparse": "^2.0.1"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"js-yaml": "bin/js-yaml.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/kuler": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/lodash.escape": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz",
|
||||||
|
"integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/lodash.merge": {
|
||||||
|
"version": "4.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
||||||
|
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/lodash.trim": {
|
||||||
|
"version": "4.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.trim/-/lodash.trim-4.5.1.tgz",
|
||||||
|
"integrity": "sha512-nJAlRl/K+eiOehWKDzoBVrSMhK0K3A3YQsUNXHQa5yIrKBAhsZgSu3KoAFoFT+mEgiyBHddZ0pRk1ITpIp90Wg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/lodash.trimstart": {
|
||||||
|
"version": "4.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz",
|
||||||
|
"integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/logform": {
|
||||||
|
"version": "2.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/logform/-/logform-2.5.1.tgz",
|
||||||
|
"integrity": "sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@colors/colors": "1.5.0",
|
||||||
|
"@types/triple-beam": "^1.3.2",
|
||||||
|
"fecha": "^4.2.0",
|
||||||
|
"ms": "^2.1.1",
|
||||||
|
"safe-stable-stringify": "^2.3.1",
|
||||||
|
"triple-beam": "^1.3.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/logform/node_modules/ms": {
|
||||||
|
"version": "2.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||||
|
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/mdn-data": {
|
||||||
|
"version": "2.0.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
|
||||||
|
"integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/minimatch": {
|
||||||
|
"version": "3.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
||||||
|
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"brace-expansion": "^1.1.7"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/mustache": {
|
||||||
|
"version": "4.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz",
|
||||||
|
"integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==",
|
||||||
|
"dev": true,
|
||||||
|
"bin": {
|
||||||
|
"mustache": "bin/mustache"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/normalize-path": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/nth-check": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"boolbase": "^1.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/fb55/nth-check?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/once": {
|
||||||
|
"version": "1.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||||
|
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/one-time": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"fn.name": "1.x.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/path-is-absolute": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/picocolors": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/picomatch": {
|
||||||
|
"version": "2.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||||
|
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.6"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/jonschlinkert"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/prettysize": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/prettysize/-/prettysize-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-VVtxR7sOh0VsG8o06Ttq5TrI1aiZKmC+ClSn4eBPaNf4SHr5lzbYW+kYGX3HocBL/MfpVrRfFZ9V3vCbLaiplg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/process-nextick-args": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/readable-stream": {
|
||||||
|
"version": "3.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
|
||||||
|
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"inherits": "^2.0.3",
|
||||||
|
"string_decoder": "^1.1.1",
|
||||||
|
"util-deprecate": "^1.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/readdirp": {
|
||||||
|
"version": "3.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
||||||
|
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"picomatch": "^2.2.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/remove-trailing-separator": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/replace-ext": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/require-directory": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/safe-buffer": {
|
||||||
|
"version": "5.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||||
|
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
||||||
|
"dev": true,
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/feross"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "patreon",
|
||||||
|
"url": "https://www.patreon.com/feross"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "consulting",
|
||||||
|
"url": "https://feross.org/support"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"node_modules/safe-stable-stringify": {
|
||||||
|
"version": "2.4.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz",
|
||||||
|
"integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/sass": {
|
||||||
|
"version": "1.64.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/sass/-/sass-1.64.1.tgz",
|
||||||
|
"integrity": "sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"chokidar": ">=3.0.0 <4.0.0",
|
||||||
|
"immutable": "^4.0.0",
|
||||||
|
"source-map-js": ">=0.6.2 <2.0.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"sass": "sass.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/simple-swizzle": {
|
||||||
|
"version": "0.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
|
||||||
|
"integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"is-arrayish": "^0.3.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/source-map-js": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/stable": {
|
||||||
|
"version": "0.1.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
|
||||||
|
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
|
||||||
|
"deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/stack-trace": {
|
||||||
|
"version": "0.0.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
|
||||||
|
"integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/string_decoder": {
|
||||||
|
"version": "1.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
||||||
|
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"safe-buffer": "~5.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/string-width": {
|
||||||
|
"version": "4.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||||
|
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"emoji-regex": "^8.0.0",
|
||||||
|
"is-fullwidth-code-point": "^3.0.0",
|
||||||
|
"strip-ansi": "^6.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/string-width/node_modules/ansi-regex": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/string-width/node_modules/strip-ansi": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-regex": "^5.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/svg-sprite": {
|
||||||
|
"version": "2.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/svg-sprite/-/svg-sprite-2.0.2.tgz",
|
||||||
|
"integrity": "sha512-vLFP/t4YCu62mvOzUt6g9bqpKrPjYsLuzegw5WsIsv3DkulAI/fRC+k7Atk//rIkUDbvKo572nJ6o4YT+FbKig==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@resvg/resvg-js": "^2.1.0",
|
||||||
|
"@xmldom/xmldom": "^0.8.3",
|
||||||
|
"async": "^3.2.4",
|
||||||
|
"css-selector-parser": "^1.4.1",
|
||||||
|
"csso": "^4.2.0",
|
||||||
|
"cssom": "^0.5.0",
|
||||||
|
"glob": "^7.2.3",
|
||||||
|
"js-yaml": "^4.1.0",
|
||||||
|
"lodash.escape": "^4.0.1",
|
||||||
|
"lodash.merge": "^4.6.2",
|
||||||
|
"lodash.trim": "^4.5.1",
|
||||||
|
"lodash.trimstart": "^4.5.1",
|
||||||
|
"mustache": "^4.2.0",
|
||||||
|
"prettysize": "^2.0.0",
|
||||||
|
"svgo": "^2.8.0",
|
||||||
|
"vinyl": "^2.2.1",
|
||||||
|
"winston": "^3.8.2",
|
||||||
|
"xpath": "^0.0.32",
|
||||||
|
"yargs": "^17.5.1"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"svg-sprite": "bin/svg-sprite.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/svgo": {
|
||||||
|
"version": "2.8.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
|
||||||
|
"integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@trysound/sax": "0.2.0",
|
||||||
|
"commander": "^7.2.0",
|
||||||
|
"css-select": "^4.1.3",
|
||||||
|
"css-tree": "^1.1.3",
|
||||||
|
"csso": "^4.2.0",
|
||||||
|
"picocolors": "^1.0.0",
|
||||||
|
"stable": "^0.1.8"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"svgo": "bin/svgo"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.13.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/text-hex": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/to-regex-range": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"is-number": "^7.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/triple-beam": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz",
|
||||||
|
"integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 14.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/util-deprecate": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/vinyl": {
|
||||||
|
"version": "2.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz",
|
||||||
|
"integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==",
|
||||||
|
"dev": true,
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/winston": {
|
||||||
|
"version": "3.10.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/winston/-/winston-3.10.0.tgz",
|
||||||
|
"integrity": "sha512-nT6SIDaE9B7ZRO0u3UvdrimG0HkB7dSTAgInQnNR2SOPJ4bvq5q79+pXLftKmP52lJGW15+H5MCK0nM9D3KB/g==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@colors/colors": "1.5.0",
|
||||||
|
"@dabh/diagnostics": "^2.0.2",
|
||||||
|
"async": "^3.2.3",
|
||||||
|
"is-stream": "^2.0.0",
|
||||||
|
"logform": "^2.4.0",
|
||||||
|
"one-time": "^1.0.0",
|
||||||
|
"readable-stream": "^3.4.0",
|
||||||
|
"safe-stable-stringify": "^2.3.1",
|
||||||
|
"stack-trace": "0.0.x",
|
||||||
|
"triple-beam": "^1.3.0",
|
||||||
|
"winston-transport": "^4.5.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 12.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/winston-transport": {
|
||||||
|
"version": "4.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz",
|
||||||
|
"integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"logform": "^2.3.2",
|
||||||
|
"readable-stream": "^3.6.0",
|
||||||
|
"triple-beam": "^1.3.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 6.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/wrap-ansi": {
|
||||||
|
"version": "7.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||||
|
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-styles": "^4.0.0",
|
||||||
|
"string-width": "^4.1.0",
|
||||||
|
"strip-ansi": "^6.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/wrap-ansi/node_modules/ansi-regex": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/wrap-ansi/node_modules/ansi-styles": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"color-convert": "^2.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/wrap-ansi/node_modules/color-convert": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"color-name": "~1.1.4"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=7.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/wrap-ansi/node_modules/color-name": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/wrap-ansi/node_modules/strip-ansi": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-regex": "^5.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/wrappy": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/xpath": {
|
||||||
|
"version": "0.0.32",
|
||||||
|
"resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.32.tgz",
|
||||||
|
"integrity": "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.6.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/y18n": {
|
||||||
|
"version": "5.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
|
||||||
|
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/yargs": {
|
||||||
|
"version": "17.7.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
|
||||||
|
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"cliui": "^8.0.1",
|
||||||
|
"escalade": "^3.1.1",
|
||||||
|
"get-caller-file": "^2.0.5",
|
||||||
|
"require-directory": "^2.1.1",
|
||||||
|
"string-width": "^4.2.3",
|
||||||
|
"y18n": "^5.0.5",
|
||||||
|
"yargs-parser": "^21.1.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/yargs-parser": {
|
||||||
|
"version": "21.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
|
||||||
|
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@colors/colors": {
|
||||||
|
"version": "1.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
|
||||||
|
"integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"@dabh/diagnostics": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz",
|
||||||
|
"integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"colorspace": "1.1.x",
|
||||||
|
"enabled": "2.0.x",
|
||||||
|
"kuler": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@resvg/resvg-js": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js/-/resvg-js-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-wTOf1zerZX8qYcMmLZw3czR4paI4hXqPjShNwJRh5DeHxvgffUS5KM7XwxtbIheUW6LVYT5fhT2AJiP6mU7U4A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@resvg/resvg-js-android-arm-eabi": "2.4.1",
|
||||||
|
"@resvg/resvg-js-android-arm64": "2.4.1",
|
||||||
|
"@resvg/resvg-js-darwin-arm64": "2.4.1",
|
||||||
|
"@resvg/resvg-js-darwin-x64": "2.4.1",
|
||||||
|
"@resvg/resvg-js-linux-arm-gnueabihf": "2.4.1",
|
||||||
|
"@resvg/resvg-js-linux-arm64-gnu": "2.4.1",
|
||||||
|
"@resvg/resvg-js-linux-arm64-musl": "2.4.1",
|
||||||
|
"@resvg/resvg-js-linux-x64-gnu": "2.4.1",
|
||||||
|
"@resvg/resvg-js-linux-x64-musl": "2.4.1",
|
||||||
|
"@resvg/resvg-js-win32-arm64-msvc": "2.4.1",
|
||||||
|
"@resvg/resvg-js-win32-ia32-msvc": "2.4.1",
|
||||||
|
"@resvg/resvg-js-win32-x64-msvc": "2.4.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@resvg/resvg-js-android-arm-eabi": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm-eabi/-/resvg-js-android-arm-eabi-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-AA6f7hS0FAPpvQMhBCf6f1oD1LdlqNXKCxAAPpKh6tR11kqV0YIB9zOlIYgITM14mq2YooLFl6XIbbvmY+jwUw==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@resvg/resvg-js-android-arm64": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-android-arm64/-/resvg-js-android-arm64-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-/QleoRdPfsEuH9jUjilYcDtKK/BkmWcK+1LXM8L2nsnf/CI8EnFyv7ZzCj4xAIvZGAy9dTYr/5NZBcTwxG2HQg==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@resvg/resvg-js-darwin-arm64": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-arm64/-/resvg-js-darwin-arm64-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-U1oMNhea+kAXgiEXgzo7EbFGCD1Edq5aSlQoe6LMly6UjHzgx2W3N5kEXCwU/CgN5FiQhZr7PlSJSlcr7mdhfg==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@resvg/resvg-js-darwin-x64": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-darwin-x64/-/resvg-js-darwin-x64-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-avyVh6DpebBfHHtTQTZYSr6NG1Ur6TEilk1+H0n7V+g4F7x7WPOo8zL00ZhQCeRQ5H4f8WXNWIEKL8fwqcOkYw==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@resvg/resvg-js-linux-arm-gnueabihf": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm-gnueabihf/-/resvg-js-linux-arm-gnueabihf-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-isY/mdKoBWH4VB5v621co+8l101jxxYjuTkwOLsbW+5RK9EbLciPlCB02M99ThAHzI2MYxIUjXNmNgOW8btXvw==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@resvg/resvg-js-linux-arm64-gnu": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-gnu/-/resvg-js-linux-arm64-gnu-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-uY5voSCrFI8TH95vIYBm5blpkOtltLxLRODyhKJhGfskOI7XkRw5/t1u0sWAGYD8rRSNX+CA+np86otKjubrNg==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@resvg/resvg-js-linux-arm64-musl": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-musl/-/resvg-js-linux-arm64-musl-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-6mT0+JBCsermKMdi/O2mMk3m7SqOjwi9TKAwSngRZ/nQoL3Z0Z5zV+572ztgbWr0GODB422uD8e9R9zzz38dRQ==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@resvg/resvg-js-linux-x64-gnu": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-gnu/-/resvg-js-linux-x64-gnu-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-60KnrscLj6VGhkYOJEmmzPlqqfcw1keDh6U+vMcNDjPhV3B5vRSkpP/D/a8sfokyeh4VEacPSYkWGezvzS2/mg==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@resvg/resvg-js-linux-x64-musl": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-musl/-/resvg-js-linux-x64-musl-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-0AMyZSICC1D7ge115cOZQW8Pcad6PjWuZkBFF3FJuSxC6Dgok0MQnLTs2MfMdKBlAcwO9dXsf3bv9tJZj8pATA==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@resvg/resvg-js-win32-arm64-msvc": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-arm64-msvc/-/resvg-js-win32-arm64-msvc-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-76XDFOFSa3d0QotmcNyChh2xHwk+JTFiEQBVxMlHpHMeq7hNrQJ1IpE1zcHSQvrckvkdfLboKRrlGB86B10Qjw==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@resvg/resvg-js-win32-ia32-msvc": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-ia32-msvc/-/resvg-js-win32-ia32-msvc-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-odyVFGrEWZIzzJ89KdaFtiYWaIJh9hJRW/frcEcG3agJ464VXkN/2oEVF5ulD+5mpGlug9qJg7htzHcKxDN8sg==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@resvg/resvg-js-win32-x64-msvc": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@resvg/resvg-js-win32-x64-msvc/-/resvg-js-win32-x64-msvc-2.4.1.tgz",
|
||||||
|
"integrity": "sha512-vY4kTLH2S3bP+puU5x7hlAxHv+ulFgcK6Zn3efKSr0M0KnZ9A3qeAjZteIpkowEFfUeMPNg2dvvoFRJA9zqxSw==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@trysound/sax": {
|
||||||
|
"version": "0.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
|
||||||
|
"integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"@types/triple-beam": {
|
||||||
|
"version": "1.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.2.tgz",
|
||||||
|
"integrity": "sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"@xmldom/xmldom": {
|
||||||
|
"version": "0.8.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz",
|
||||||
|
"integrity": "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"anymatch": {
|
||||||
|
"version": "3.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
|
||||||
|
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"normalize-path": "^3.0.0",
|
||||||
|
"picomatch": "^2.0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"argparse": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"async": {
|
||||||
|
"version": "3.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
|
||||||
|
"integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"balanced-match": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"binary-extensions": {
|
||||||
|
"version": "2.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
|
||||||
|
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"boolbase": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"brace-expansion": {
|
||||||
|
"version": "1.1.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||||
|
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"balanced-match": "^1.0.0",
|
||||||
|
"concat-map": "0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"braces": {
|
||||||
|
"version": "3.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
||||||
|
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"fill-range": "^7.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chokidar": {
|
||||||
|
"version": "3.5.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
|
||||||
|
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"anymatch": "~3.1.2",
|
||||||
|
"braces": "~3.0.2",
|
||||||
|
"fsevents": "~2.3.2",
|
||||||
|
"glob-parent": "~5.1.2",
|
||||||
|
"is-binary-path": "~2.1.0",
|
||||||
|
"is-glob": "~4.0.1",
|
||||||
|
"normalize-path": "~3.0.0",
|
||||||
|
"readdirp": "~3.6.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cliui": {
|
||||||
|
"version": "8.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
|
||||||
|
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"string-width": "^4.2.0",
|
||||||
|
"strip-ansi": "^6.0.1",
|
||||||
|
"wrap-ansi": "^7.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-regex": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"strip-ansi": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-regex": "^5.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"clone": {
|
||||||
|
"version": "2.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
|
||||||
|
"integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"clone-buffer": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"clone-stats": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"cloneable-readable": {
|
||||||
|
"version": "1.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz",
|
||||||
|
"integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"inherits": "^2.0.1",
|
||||||
|
"process-nextick-args": "^2.0.0",
|
||||||
|
"readable-stream": "^2.3.5"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "2.3.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
|
||||||
|
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"safe-buffer": {
|
||||||
|
"version": "5.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||||
|
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"string_decoder": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||||
|
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"safe-buffer": "~5.1.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color": {
|
||||||
|
"version": "3.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
|
||||||
|
"integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"color-convert": "^1.9.3",
|
||||||
|
"color-string": "^1.6.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-convert": {
|
||||||
|
"version": "1.9.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
||||||
|
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"color-name": "1.1.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-name": {
|
||||||
|
"version": "1.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||||
|
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"color-string": {
|
||||||
|
"version": "1.9.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
|
||||||
|
"integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"color-name": "^1.0.0",
|
||||||
|
"simple-swizzle": "^0.2.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"colorspace": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"color": "^3.1.3",
|
||||||
|
"text-hex": "1.0.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"commander": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"concat-map": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"core-util-is": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"css-select": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"boolbase": "^1.0.0",
|
||||||
|
"css-what": "^6.0.1",
|
||||||
|
"domhandler": "^4.3.1",
|
||||||
|
"domutils": "^2.8.0",
|
||||||
|
"nth-check": "^2.0.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"dom-serializer": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
|
||||||
|
"integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"domelementtype": "^2.0.1",
|
||||||
|
"domhandler": "^4.2.0",
|
||||||
|
"entities": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"domelementtype": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
|
||||||
|
"integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"domhandler": {
|
||||||
|
"version": "4.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
|
||||||
|
"integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"domelementtype": "^2.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"domutils": {
|
||||||
|
"version": "2.8.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
|
||||||
|
"integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"dom-serializer": "^1.0.1",
|
||||||
|
"domelementtype": "^2.2.0",
|
||||||
|
"domhandler": "^4.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"entities": {
|
||||||
|
"version": "2.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
|
||||||
|
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"css-selector-parser": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.4.1.tgz",
|
||||||
|
"integrity": "sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"css-tree": {
|
||||||
|
"version": "1.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
|
||||||
|
"integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"mdn-data": "2.0.14",
|
||||||
|
"source-map": "^0.6.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"css-what": {
|
||||||
|
"version": "6.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
|
||||||
|
"integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"csso": {
|
||||||
|
"version": "4.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
|
||||||
|
"integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"css-tree": "^1.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cssom": {
|
||||||
|
"version": "0.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz",
|
||||||
|
"integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"emoji-regex": {
|
||||||
|
"version": "8.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||||
|
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"enabled": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"escalade": {
|
||||||
|
"version": "3.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
|
||||||
|
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"fecha": {
|
||||||
|
"version": "4.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz",
|
||||||
|
"integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"fill-range": {
|
||||||
|
"version": "7.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||||
|
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"to-regex-range": "^5.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"fn.name": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"fs.realpath": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"fsevents": {
|
||||||
|
"version": "2.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
||||||
|
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"get-caller-file": {
|
||||||
|
"version": "2.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
|
||||||
|
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"glob": {
|
||||||
|
"version": "7.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||||
|
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"fs.realpath": "^1.0.0",
|
||||||
|
"inflight": "^1.0.4",
|
||||||
|
"inherits": "2",
|
||||||
|
"minimatch": "^3.1.1",
|
||||||
|
"once": "^1.3.0",
|
||||||
|
"path-is-absolute": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"glob-parent": {
|
||||||
|
"version": "5.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||||
|
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"is-glob": "^4.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"immutable": {
|
||||||
|
"version": "4.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.1.tgz",
|
||||||
|
"integrity": "sha512-lj9cnmB/kVS0QHsJnYKD1uo3o39nrbKxszjnqS9Fr6NB7bZzW45U6WSGBPKXDL/CvDKqDNPA4r3DoDQ8GTxo2A==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"inflight": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||||
|
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"once": "^1.3.0",
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"inherits": {
|
||||||
|
"version": "2.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||||
|
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"is-arrayish": {
|
||||||
|
"version": "0.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
|
||||||
|
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"is-binary-path": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"binary-extensions": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"is-extglob": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"is-fullwidth-code-point": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"is-glob": {
|
||||||
|
"version": "4.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
||||||
|
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"is-extglob": "^2.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"is-number": {
|
||||||
|
"version": "7.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
||||||
|
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"is-stream": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"isarray": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"js-yaml": {
|
||||||
|
"version": "4.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
||||||
|
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"argparse": "^2.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"kuler": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"lodash.escape": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz",
|
||||||
|
"integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"lodash.merge": {
|
||||||
|
"version": "4.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
||||||
|
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"lodash.trim": {
|
||||||
|
"version": "4.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.trim/-/lodash.trim-4.5.1.tgz",
|
||||||
|
"integrity": "sha512-nJAlRl/K+eiOehWKDzoBVrSMhK0K3A3YQsUNXHQa5yIrKBAhsZgSu3KoAFoFT+mEgiyBHddZ0pRk1ITpIp90Wg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"lodash.trimstart": {
|
||||||
|
"version": "4.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz",
|
||||||
|
"integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"logform": {
|
||||||
|
"version": "2.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/logform/-/logform-2.5.1.tgz",
|
||||||
|
"integrity": "sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@colors/colors": "1.5.0",
|
||||||
|
"@types/triple-beam": "^1.3.2",
|
||||||
|
"fecha": "^4.2.0",
|
||||||
|
"ms": "^2.1.1",
|
||||||
|
"safe-stable-stringify": "^2.3.1",
|
||||||
|
"triple-beam": "^1.3.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ms": {
|
||||||
|
"version": "2.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||||
|
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mdn-data": {
|
||||||
|
"version": "2.0.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
|
||||||
|
"integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"minimatch": {
|
||||||
|
"version": "3.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
||||||
|
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"brace-expansion": "^1.1.7"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mustache": {
|
||||||
|
"version": "4.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz",
|
||||||
|
"integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"normalize-path": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"nth-check": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"boolbase": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"once": {
|
||||||
|
"version": "1.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||||
|
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"one-time": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"fn.name": "1.x.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"path-is-absolute": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"picocolors": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"picomatch": {
|
||||||
|
"version": "2.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||||
|
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"prettysize": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/prettysize/-/prettysize-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-VVtxR7sOh0VsG8o06Ttq5TrI1aiZKmC+ClSn4eBPaNf4SHr5lzbYW+kYGX3HocBL/MfpVrRfFZ9V3vCbLaiplg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"process-nextick-args": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "3.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
|
||||||
|
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"inherits": "^2.0.3",
|
||||||
|
"string_decoder": "^1.1.1",
|
||||||
|
"util-deprecate": "^1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"readdirp": {
|
||||||
|
"version": "3.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
||||||
|
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"picomatch": "^2.2.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"remove-trailing-separator": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"replace-ext": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"require-directory": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"safe-buffer": {
|
||||||
|
"version": "5.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||||
|
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"safe-stable-stringify": {
|
||||||
|
"version": "2.4.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz",
|
||||||
|
"integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"sass": {
|
||||||
|
"version": "1.64.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/sass/-/sass-1.64.1.tgz",
|
||||||
|
"integrity": "sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"chokidar": ">=3.0.0 <4.0.0",
|
||||||
|
"immutable": "^4.0.0",
|
||||||
|
"source-map-js": ">=0.6.2 <2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"simple-swizzle": {
|
||||||
|
"version": "0.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
|
||||||
|
"integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"is-arrayish": "^0.3.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"source-map-js": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"stable": {
|
||||||
|
"version": "0.1.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
|
||||||
|
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"stack-trace": {
|
||||||
|
"version": "0.0.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
|
||||||
|
"integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"string_decoder": {
|
||||||
|
"version": "1.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
||||||
|
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"safe-buffer": "~5.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"string-width": {
|
||||||
|
"version": "4.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||||
|
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"emoji-regex": "^8.0.0",
|
||||||
|
"is-fullwidth-code-point": "^3.0.0",
|
||||||
|
"strip-ansi": "^6.0.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-regex": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"strip-ansi": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-regex": "^5.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"svg-sprite": {
|
||||||
|
"version": "2.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/svg-sprite/-/svg-sprite-2.0.2.tgz",
|
||||||
|
"integrity": "sha512-vLFP/t4YCu62mvOzUt6g9bqpKrPjYsLuzegw5WsIsv3DkulAI/fRC+k7Atk//rIkUDbvKo572nJ6o4YT+FbKig==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@resvg/resvg-js": "^2.1.0",
|
||||||
|
"@xmldom/xmldom": "^0.8.3",
|
||||||
|
"async": "^3.2.4",
|
||||||
|
"css-selector-parser": "^1.4.1",
|
||||||
|
"csso": "^4.2.0",
|
||||||
|
"cssom": "^0.5.0",
|
||||||
|
"glob": "^7.2.3",
|
||||||
|
"js-yaml": "^4.1.0",
|
||||||
|
"lodash.escape": "^4.0.1",
|
||||||
|
"lodash.merge": "^4.6.2",
|
||||||
|
"lodash.trim": "^4.5.1",
|
||||||
|
"lodash.trimstart": "^4.5.1",
|
||||||
|
"mustache": "^4.2.0",
|
||||||
|
"prettysize": "^2.0.0",
|
||||||
|
"svgo": "^2.8.0",
|
||||||
|
"vinyl": "^2.2.1",
|
||||||
|
"winston": "^3.8.2",
|
||||||
|
"xpath": "^0.0.32",
|
||||||
|
"yargs": "^17.5.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"svgo": {
|
||||||
|
"version": "2.8.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
|
||||||
|
"integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@trysound/sax": "0.2.0",
|
||||||
|
"commander": "^7.2.0",
|
||||||
|
"css-select": "^4.1.3",
|
||||||
|
"css-tree": "^1.1.3",
|
||||||
|
"csso": "^4.2.0",
|
||||||
|
"picocolors": "^1.0.0",
|
||||||
|
"stable": "^0.1.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"text-hex": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"to-regex-range": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"is-number": "^7.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"triple-beam": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz",
|
||||||
|
"integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"util-deprecate": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"vinyl": {
|
||||||
|
"version": "2.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz",
|
||||||
|
"integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"winston": {
|
||||||
|
"version": "3.10.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/winston/-/winston-3.10.0.tgz",
|
||||||
|
"integrity": "sha512-nT6SIDaE9B7ZRO0u3UvdrimG0HkB7dSTAgInQnNR2SOPJ4bvq5q79+pXLftKmP52lJGW15+H5MCK0nM9D3KB/g==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@colors/colors": "1.5.0",
|
||||||
|
"@dabh/diagnostics": "^2.0.2",
|
||||||
|
"async": "^3.2.3",
|
||||||
|
"is-stream": "^2.0.0",
|
||||||
|
"logform": "^2.4.0",
|
||||||
|
"one-time": "^1.0.0",
|
||||||
|
"readable-stream": "^3.4.0",
|
||||||
|
"safe-stable-stringify": "^2.3.1",
|
||||||
|
"stack-trace": "0.0.x",
|
||||||
|
"triple-beam": "^1.3.0",
|
||||||
|
"winston-transport": "^4.5.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"winston-transport": {
|
||||||
|
"version": "4.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz",
|
||||||
|
"integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"logform": "^2.3.2",
|
||||||
|
"readable-stream": "^3.6.0",
|
||||||
|
"triple-beam": "^1.3.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wrap-ansi": {
|
||||||
|
"version": "7.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||||
|
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-styles": "^4.0.0",
|
||||||
|
"string-width": "^4.1.0",
|
||||||
|
"strip-ansi": "^6.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-regex": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"ansi-styles": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"color-convert": "^2.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-convert": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"color-name": "~1.1.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-name": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"strip-ansi": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-regex": "^5.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wrappy": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"xpath": {
|
||||||
|
"version": "0.0.32",
|
||||||
|
"resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.32.tgz",
|
||||||
|
"integrity": "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"y18n": {
|
||||||
|
"version": "5.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
|
||||||
|
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"yargs": {
|
||||||
|
"version": "17.7.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
|
||||||
|
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"cliui": "^8.0.1",
|
||||||
|
"escalade": "^3.1.1",
|
||||||
|
"get-caller-file": "^2.0.5",
|
||||||
|
"require-directory": "^2.1.1",
|
||||||
|
"string-width": "^4.2.3",
|
||||||
|
"y18n": "^5.0.5",
|
||||||
|
"yargs-parser": "^21.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"yargs-parser": {
|
||||||
|
"version": "21.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
|
||||||
|
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
27
package.json
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"name": "silverstripe-betternavigator",
|
||||||
|
"description": "Front-end utility menu for SilverStripe websites featuring administration and development tools",
|
||||||
|
"scripts": {
|
||||||
|
"build:svg": "svg-sprite --css --css-render-scss --css-render-scss-dest=../scss/_iconsprite --css-bust ./images/bn-icon/*.svg",
|
||||||
|
"build:scss": "sass --style compressed scss/betternavigator.scss css/betternavigator.css",
|
||||||
|
"build": "npm run build:svg && npm run build:scss",
|
||||||
|
"watch": "sass --watch scss/betternavigator.scss css/betternavigator.css"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/jonom/silverstripe-betternavigator.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"silverstripe",
|
||||||
|
"navigator"
|
||||||
|
],
|
||||||
|
"author": "https://github.com/jonom",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/jonom/silverstripe-betternavigator/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/jonom/silverstripe-betternavigator#readme",
|
||||||
|
"devDependencies": {
|
||||||
|
"sass": "^1.64.1",
|
||||||
|
"svg-sprite": "^2.0.2"
|
||||||
|
}
|
||||||
|
}
|
38
scss/_iconsprite.md
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
# SVG Sprites
|
||||||
|
|
||||||
|
An SVG sprite is used for icons, this is generated by the [svg-sprite](https://github.com/svg-sprite/svg-sprite) node module. This means icons can be easily pre-loaded when the navigator is collapsed.
|
||||||
|
|
||||||
|
## Using the icons
|
||||||
|
|
||||||
|
After compilation, a `_iconsprite.scss` file is created. This should be included in the main scss.
|
||||||
|
|
||||||
|
To include an icon as background image in an element, extend the icon and the dimensions
|
||||||
|
|
||||||
|
```scss
|
||||||
|
.bn-icon-close {
|
||||||
|
@extend .svg-images--bn-icon--close;
|
||||||
|
@extend .svg-images--bn-icon--close-dims;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Adding or removing icons
|
||||||
|
|
||||||
|
If you need to add or remove an icon, then add or remove it from the `./images/bn-icon/` directory and re-compile.
|
||||||
|
|
||||||
|
Only SVG is supported, and it is recommended to compress the SVG first using a tool such as [svgo](https://github.com/svg/svgo) or [svgomg](https://jakearchibald.github.io/svgomg/) first.
|
||||||
|
|
||||||
|
## Compiling the icon sprite
|
||||||
|
|
||||||
|
This can be done by running `npm run build:svg` from the root of the module.
|
||||||
|
|
||||||
|
All icons in the `./images/bn-icon/` directory are compiled into a single SVG and output to `./css/svg/`.
|
||||||
|
|
||||||
|
The `./scss/_iconsprite.scss` file is generated with the correct background positions based on the size of each icon.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
Icons are sourced from [IcoMoon](https://icomoon.io/) and are from the following packs:
|
||||||
|
* [IcoMoon - Free](https://icomoon.io/#icons) by [Keyamoon](http://keyamoon.com/) (GPL / CC BY 4.0)
|
||||||
|
* [Entypo+](http://www.entypo.com/) by [Daniel Bruce](http://danielbruce.se/) (CC BY-SA 4.0)
|
||||||
|
|
||||||
|
The icons have been compressed and resized.
|
114
scss/_iconsprite.scss
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
%svg-common {
|
||||||
|
background: url("svg/sprite.css-982681f2.svg") no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--close {
|
||||||
|
@extend %svg-common;
|
||||||
|
background-position: 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--close-dims {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--cog {
|
||||||
|
@extend %svg-common;
|
||||||
|
background-position: 33.333333333333336% 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--cog-dims {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--db {
|
||||||
|
@extend %svg-common;
|
||||||
|
background-position: 0 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--db-dims {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--devmode {
|
||||||
|
@extend %svg-common;
|
||||||
|
background-position: 33.333333333333336% 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--devmode-dims {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--edit {
|
||||||
|
@extend %svg-common;
|
||||||
|
background-position: 66.66666666666667% 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--edit-dims {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--flush {
|
||||||
|
@extend %svg-common;
|
||||||
|
background-position: 66.66666666666667% 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--flush-dims {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--info {
|
||||||
|
@extend %svg-common;
|
||||||
|
background-position: 0 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--info-dims {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--tick {
|
||||||
|
@extend %svg-common;
|
||||||
|
background-position: 33.333333333333336% 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--tick-dims {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--tools {
|
||||||
|
@extend %svg-common;
|
||||||
|
background-position: 66.66666666666667% 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--tools-dims {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--user {
|
||||||
|
@extend %svg-common;
|
||||||
|
background-position: 100% 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--user-dims {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--view {
|
||||||
|
@extend %svg-common;
|
||||||
|
background-position: 100% 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.svg-images--bn-icon--view-dims {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
|
@ -1,39 +1,60 @@
|
|||||||
@import "compass/css3";
|
/**
|
||||||
@import "compass/utilities/sprites";
|
* Better navigator styles
|
||||||
|
*/
|
||||||
|
|
||||||
//Icons
|
@import "_iconsprite";
|
||||||
$bn-icon-sprite-dimensions: true;
|
|
||||||
@import "bn-icon/*.png";
|
|
||||||
@include all-bn-icon-sprites;
|
|
||||||
span[class^='bn-icon'],span[class*=' bn-icon']{
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Container
|
// Variables
|
||||||
|
|
||||||
|
$black: #000;
|
||||||
|
$white: #fff;
|
||||||
|
|
||||||
|
$textColor: $white;
|
||||||
|
$contentColor: #595d61;
|
||||||
|
$contentBackground: #cfd8de;
|
||||||
|
$buttonColor: #313639;
|
||||||
|
$buttonColorDisabled: #51565a;
|
||||||
|
$buttonBackground: #eceff2;
|
||||||
|
$buttonBackgroundDisabled: #c6d3da;
|
||||||
|
$buttonBorder: #a3aaaf;
|
||||||
|
$liveColor: #06ad18;
|
||||||
|
$liveBgColor: #068913;
|
||||||
|
$stageColor: #e6674b;
|
||||||
|
$stageBgColor: #d73f1d;
|
||||||
|
$archiveColor: #6f6f6f;
|
||||||
|
$archiveBgColor: #6f6f6f;
|
||||||
|
|
||||||
|
// Container
|
||||||
|
|
||||||
#BetterNavigator {
|
#BetterNavigator {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
z-index: 99999;
|
z-index: 99999;
|
||||||
max-height: 100%;
|
max-height: 100%;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
text-align: left;
|
||||||
|
box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.25),
|
||||||
|
0px 0px 12px rgba(0, 0, 0, 0.15);
|
||||||
|
|
||||||
|
* {
|
||||||
|
// Reset all styles to avoid inheriting from
|
||||||
|
// the parent page theme
|
||||||
|
all: initial;
|
||||||
font-family: Helvetica, Arial, sans-serif;
|
font-family: Helvetica, Arial, sans-serif;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
line-height: 16px;
|
line-height: 1.2;
|
||||||
text-align: left;
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
form {
|
form {
|
||||||
display:none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Toggle states
|
// Toggle states
|
||||||
|
|
||||||
&.collapsed {
|
&.collapsed {
|
||||||
box-shadow: 0px 0px 3px rgba(0,0,0,0.5);
|
|
||||||
|
|
||||||
&.translucent {
|
&.translucent {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
transition: opacity 250ms;
|
transition: opacity 250ms;
|
||||||
@ -44,19 +65,16 @@ span[class^='bn-icon'],span[class*=' bn-icon']{
|
|||||||
}
|
}
|
||||||
|
|
||||||
#BetterNavigatorStatus {
|
#BetterNavigatorStatus {
|
||||||
border-width: 1px;
|
padding-right: 12px;
|
||||||
|
|
||||||
.bn-icon-close {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.bn-icon-cog {
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#BetterNavigatorContent {
|
#BetterNavigatorContent {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#BetterNavigatorStatusIcon {
|
||||||
|
order: -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.right-top {
|
&.right-top {
|
||||||
@ -64,8 +82,8 @@ span[class^='bn-icon'],span[class*=' bn-icon']{
|
|||||||
top: 0;
|
top: 0;
|
||||||
|
|
||||||
&.collapsed {
|
&.collapsed {
|
||||||
@include transform-origin(right, top);
|
transform-origin: right top;
|
||||||
@include transform(rotate(90deg) translate(100%, 0));
|
transform: rotate(90deg) translate(100%, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,8 +92,8 @@ span[class^='bn-icon'],span[class*=' bn-icon']{
|
|||||||
bottom: 0;
|
bottom: 0;
|
||||||
|
|
||||||
&.collapsed {
|
&.collapsed {
|
||||||
@include transform-origin(right, bottom);
|
transform-origin: right bottom;
|
||||||
@include transform(rotate(90deg) translate(0, 100%));
|
transform: rotate(90deg) translate(0, 100%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -84,8 +102,8 @@ span[class^='bn-icon'],span[class*=' bn-icon']{
|
|||||||
bottom: 0;
|
bottom: 0;
|
||||||
|
|
||||||
&.collapsed {
|
&.collapsed {
|
||||||
@include transform-origin(left, bottom);
|
transform-origin: left bottom;
|
||||||
@include transform(rotate(90deg) translate(-100%, 0));
|
transform: rotate(90deg) translate(-100%, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,45 +112,111 @@ span[class^='bn-icon'],span[class*=' bn-icon']{
|
|||||||
top: 0;
|
top: 0;
|
||||||
|
|
||||||
&.collapsed {
|
&.collapsed {
|
||||||
@include transform-origin(left, top);
|
transform-origin: left top;
|
||||||
@include transform(rotate(90deg) translate(0, -100%));
|
transform: rotate(90deg) translate(0, -100%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Icons
|
||||||
|
span[class^="bn-icon"],
|
||||||
|
span[class*=" bn-icon"] {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bn-icon-close {
|
||||||
|
@extend .svg-images--bn-icon--close;
|
||||||
|
@extend .svg-images--bn-icon--close-dims;
|
||||||
|
transform: scale(1.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bn-icon-cog {
|
||||||
|
@extend .svg-images--bn-icon--cog;
|
||||||
|
@extend .svg-images--bn-icon--cog-dims;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bn-icon-db {
|
||||||
|
@extend .svg-images--bn-icon--db;
|
||||||
|
@extend .svg-images--bn-icon--db-dims;
|
||||||
|
transform: scale(0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bn-icon-edit {
|
||||||
|
@extend .svg-images--bn-icon--edit;
|
||||||
|
@extend .svg-images--bn-icon--edit-dims;
|
||||||
|
transform: scale(0.9);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bn-icon-flush {
|
||||||
|
@extend .svg-images--bn-icon--flush;
|
||||||
|
@extend .svg-images--bn-icon--flush-dims;
|
||||||
|
transform: scale(0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bn-icon-info {
|
||||||
|
@extend .svg-images--bn-icon--info;
|
||||||
|
@extend .svg-images--bn-icon--info-dims;
|
||||||
|
transform: scale(0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bn-icon-tick {
|
||||||
|
@extend .svg-images--bn-icon--tick;
|
||||||
|
@extend .svg-images--bn-icon--tick-dims;
|
||||||
|
transform: scale(0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bn-icon-tools {
|
||||||
|
@extend .svg-images--bn-icon--tools;
|
||||||
|
@extend .svg-images--bn-icon--tools-dims;
|
||||||
|
transform: scale(0.9);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bn-icon-user {
|
||||||
|
@extend .svg-images--bn-icon--user;
|
||||||
|
@extend .svg-images--bn-icon--user-dims;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bn-icon-view {
|
||||||
|
@extend .svg-images--bn-icon--view;
|
||||||
|
@extend .svg-images--bn-icon--view-dims;
|
||||||
|
transform: scale(0.95);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Status
|
// Status
|
||||||
|
|
||||||
$liveColor: #39b54a;
|
|
||||||
$stageColor: #f26c4f;
|
|
||||||
$archiveColor: #6f6f6f;
|
|
||||||
|
|
||||||
#BetterNavigatorStatus {
|
#BetterNavigatorStatus {
|
||||||
color: #fff;
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
align-items: center;
|
||||||
|
appearance: none;
|
||||||
background: $archiveColor;
|
background: $archiveColor;
|
||||||
border: 1px solid shade($archiveColor, 10);
|
|
||||||
border-width: 0;
|
|
||||||
text-transform: uppercase;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
padding: 10px 15px 8px;
|
padding: 8px 10px 8px 14px;
|
||||||
|
margin: 0;
|
||||||
|
transition: 100ms background-color ease-in-out;
|
||||||
|
white-space: nowrap;
|
||||||
|
color: $textColor;
|
||||||
|
|
||||||
|
.status-text {
|
||||||
|
text-align: left;
|
||||||
|
color: $textColor;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-family: inherit;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
font-size: 14px;
|
||||||
.bn-icon-cog {
|
line-height: 1;
|
||||||
margin: -4px 8px -4px -4px;
|
letter-spacing: 0.4px;
|
||||||
display: none;
|
padding: 3px 3px 2px;
|
||||||
|
border-radius: 3px;
|
||||||
|
background: $archiveBgColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bn-icon-close {
|
&:hover,
|
||||||
float: right;
|
&:focus-visible {
|
||||||
margin: 1px 0 0 0;
|
background: mix($black, $archiveColor, 5%);
|
||||||
}
|
|
||||||
|
|
||||||
.bn-icon-cog,
|
|
||||||
.bn-icon-close {
|
|
||||||
opacity: .7;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background: shade($archiveColor, 5);
|
|
||||||
|
|
||||||
.bn-icon-cog,
|
.bn-icon-cog,
|
||||||
.bn-icon-close {
|
.bn-icon-close {
|
||||||
@ -140,80 +224,143 @@ $archiveColor: #6f6f6f;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&:focus-visible {
|
||||||
|
outline: 3px solid mix($black, $archiveColor, 10%);
|
||||||
|
outline-offset: 0;
|
||||||
|
}
|
||||||
|
|
||||||
&.Live {
|
&.Live {
|
||||||
background: $liveColor;
|
background: $liveColor;
|
||||||
border-color: shade($liveColor, 10);
|
|
||||||
|
.status-text {
|
||||||
|
background: $liveBgColor;
|
||||||
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: shade($liveColor, 5);
|
background: mix($black, $liveColor, 5%);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:focus-visible {
|
||||||
|
outline: 3px solid mix($black, $liveColor, 10%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.Draft {
|
&.Draft {
|
||||||
background: $stageColor;
|
background: $stageColor;
|
||||||
border-color: shade($stageColor, 10);
|
|
||||||
|
.status-text {
|
||||||
|
background: $stageBgColor;
|
||||||
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: shade($stageColor, 5);
|
background: mix($black, $stageColor, 5%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&:focus-visible {
|
||||||
|
outline: 3px solid mix($black, $stageColor, 10%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bn-icon-cog,
|
||||||
|
.bn-icon-close {
|
||||||
|
opacity: 0.7;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Content
|
#BetterNavigatorStatusIcon {
|
||||||
|
cursor: inherit;
|
||||||
|
transition: 100ms opacity ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Content
|
||||||
|
|
||||||
#BetterNavigatorContent {
|
#BetterNavigatorContent {
|
||||||
padding: 6px;
|
display: flex;
|
||||||
color: #71767a;
|
flex-direction: column;
|
||||||
background: #cfd8de;
|
padding: 8px;
|
||||||
border: 1px solid shade(#cfd8de, 10);
|
gap: 6px;
|
||||||
border-width: 0 0 1px 1px;
|
color: $contentColor;
|
||||||
|
background: $contentBackground;
|
||||||
|
min-width: 140px;
|
||||||
|
overflow: auto;
|
||||||
|
|
||||||
.bn-heading {
|
.bn-heading {
|
||||||
text-align: center;
|
display: block;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
margin: 8px 0 4px 0;
|
line-height: 1.2;
|
||||||
|
color: $contentColor;
|
||||||
|
margin: 5px 0 0 0;
|
||||||
|
padding: 0;
|
||||||
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
span[class^='bn-icon'],
|
span[class^="bn-icon"],
|
||||||
span[class*=' bn-icon'] {
|
span[class*=" bn-icon"] {
|
||||||
|
cursor: inherit;
|
||||||
margin: -2px 5px -3px -2px;
|
margin: -2px 5px -3px -2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
a,
|
a,
|
||||||
span.bn-disabled {
|
.bn-disabled {
|
||||||
display: block;
|
display: block;
|
||||||
background: #eceff2;
|
background: $buttonBackground;
|
||||||
color: #313639;
|
color: $buttonColor;
|
||||||
font-family: Helvetica, Arial, sans-serif;
|
font-family: Helvetica, Arial, sans-serif;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
line-height: 1.4;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border-bottom: 1px solid #a3aaaf;
|
border-bottom: 1px solid $buttonBorder;
|
||||||
margin: 0 0 4px 0;
|
margin: 0;
|
||||||
padding: 6px 10px 5px 10px;
|
padding: 6px 10px 5px 10px;
|
||||||
line-height: 16px;
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: 100ms background-color ease-in-out;
|
||||||
|
|
||||||
.light {
|
.light {
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
a:focus,
|
a:focus-visible,
|
||||||
a:hover,
|
a:hover {
|
||||||
a:active {
|
background: $white;
|
||||||
background: #fff;
|
color: $black;
|
||||||
color: #000;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
span.bn-disabled {
|
a:focus-visible {
|
||||||
background: #afbac0;
|
border-bottom: 1px solid transparent;
|
||||||
color: #51565a;
|
outline: 2px solid mix($black, $buttonBorder, 10%);
|
||||||
|
outline-offset: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:active {
|
||||||
|
background: mix($black, $buttonBackground, 10%);
|
||||||
|
border-color: mix($white, $buttonBorder, 10%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bn-disabled {
|
||||||
|
background: $buttonBackgroundDisabled;
|
||||||
|
color: $buttonColorDisabled;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bn-links {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 5px;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style-type: none;
|
||||||
|
|
||||||
|
> :last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Some help for debugging info
|
// Some help for debugging info
|
||||||
body > p.message {
|
body > p.message {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace JonoM\BetterNavigator\Extension;
|
namespace JonoM\BetterNavigator\Extension;
|
||||||
|
|
||||||
use SilverStripe\CMS\Controllers\SilverStripeNavigator;
|
use SilverStripe\Admin\Navigator\SilverStripeNavigator;
|
||||||
use SilverStripe\CMS\Model\SiteTree;
|
use SilverStripe\CMS\Model\SiteTree;
|
||||||
use SilverStripe\Control\Controller;
|
use SilverStripe\Control\Controller;
|
||||||
use SilverStripe\Control\Director;
|
use SilverStripe\Control\Director;
|
||||||
@ -17,15 +17,16 @@ use SilverStripe\Security\Security;
|
|||||||
use SilverStripe\Versioned\Versioned;
|
use SilverStripe\Versioned\Versioned;
|
||||||
use SilverStripe\View\ArrayData;
|
use SilverStripe\View\ArrayData;
|
||||||
use SilverStripe\ORM\FieldType\DBHTMLText;
|
use SilverStripe\ORM\FieldType\DBHTMLText;
|
||||||
use SilverStripe\View\Requirements;
|
|
||||||
|
|
||||||
class BetterNavigatorExtension extends DataExtension
|
class BetterNavigatorExtension extends DataExtension
|
||||||
{
|
{
|
||||||
|
private static $better_navigator_edit_permission = 'CMS_ACCESS_CMSMain';
|
||||||
|
private static $better_navigator_edit_permission_mode = 'any';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var bool|null
|
* Extensions are singleton, so any cached results need to use a unique key
|
||||||
*/
|
*/
|
||||||
private $shouldDisplay = null;
|
private $shouldDisplay = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $request
|
* @param $request
|
||||||
@ -53,7 +54,7 @@ class BetterNavigatorExtension extends DataExtension
|
|||||||
$html = preg_replace(
|
$html = preg_replace(
|
||||||
'/(<\/body[^>]*>)/i',
|
'/(<\/body[^>]*>)/i',
|
||||||
$navigatorHTML . '\\1',
|
$navigatorHTML . '\\1',
|
||||||
$html
|
$html ?? ''
|
||||||
);
|
);
|
||||||
if ($result instanceof DBHTMLText) {
|
if ($result instanceof DBHTMLText) {
|
||||||
$result->setValue($html);
|
$result->setValue($html);
|
||||||
@ -70,7 +71,7 @@ class BetterNavigatorExtension extends DataExtension
|
|||||||
*/
|
*/
|
||||||
public function showBetterNavigator()
|
public function showBetterNavigator()
|
||||||
{
|
{
|
||||||
return true;
|
return $this->isAPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -111,14 +112,24 @@ class BetterNavigatorExtension extends DataExtension
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Only show edit link if user has CMS access
|
||||||
|
$editLink = null;
|
||||||
|
if($isDev || Permission::check($this->owner->config()->better_navigator_edit_permission, $this->owner->config()->better_navigator_edit_permission_mode)) {
|
||||||
|
// Check for edit link override, e.g. for a DataObject
|
||||||
|
if(method_exists($this->owner, 'BetterNavigatorEditLink')) {
|
||||||
|
$editLink = $this->owner->BetterNavigatorEditLink();
|
||||||
|
} else {
|
||||||
// Only show edit link if user has permission to edit this page
|
// Only show edit link if user has permission to edit this page
|
||||||
$editLink = array_key_exists('CMSLink', $nav)
|
$editLink = array_key_exists('CMSLink', $nav)
|
||||||
&& ($isDev || $this->owner->dataRecord->canEdit() && Permission::check('CMS_ACCESS_CMSMain'))
|
&& ($isDev || $this->owner->dataRecord->canEdit())
|
||||||
? $nav['CMSLink']['Link'] : false;
|
? $nav['CMSLink']['Link'] : false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Is the logged in member nominated as a developer?
|
// Is the logged in member nominated as a developer?
|
||||||
$member = Member::currentUser();
|
$member = Security::getCurrentUser();
|
||||||
$devs = Config::inst()->get('BetterNavigator', 'developers');
|
$devs = Config::inst()->get('JonoM\BetterNavigator', 'developers');
|
||||||
$identifierField = Member::config()->unique_identifier_field;
|
$identifierField = Member::config()->unique_identifier_field;
|
||||||
$isDeveloper = $member && is_array($devs) ? in_array($member->{$identifierField}, $devs) : false;
|
$isDeveloper = $member && is_array($devs) ? in_array($member->{$identifierField}, $devs) : false;
|
||||||
|
|
||||||
@ -146,7 +157,7 @@ class BetterNavigatorExtension extends DataExtension
|
|||||||
// Merge with page data, send to template and render
|
// Merge with page data, send to template and render
|
||||||
$navigator = new ArrayData($bNData);
|
$navigator = new ArrayData($bNData);
|
||||||
|
|
||||||
return $this->owner->customise($navigator)->renderWith('BetterNavigator\\BetterNavigator');
|
return $this->owner->customise($navigator)->renderWith('JonoM\\BetterNavigator\\BetterNavigator');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -155,20 +166,27 @@ class BetterNavigatorExtension extends DataExtension
|
|||||||
*/
|
*/
|
||||||
private function shouldDisplay()
|
private function shouldDisplay()
|
||||||
{
|
{
|
||||||
if ($this->shouldDisplay !== null) {
|
$key = $this->owner->getUniqueKey();
|
||||||
return $this->shouldDisplay;
|
|
||||||
|
if (array_key_exists($key, $this->shouldDisplay)) {
|
||||||
|
return $this->shouldDisplay[$key];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure this is a page
|
// Make sure this is a page
|
||||||
if (!$this->isAPage() || !$this->owner->showBetterNavigator()) {
|
if (!$this->owner->showBetterNavigator()) {
|
||||||
return $this->shouldDisplay = false;
|
$this->shouldDisplay[$key] = false;
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Only show navigator to appropriate users
|
// Only show navigator to appropriate users
|
||||||
$isDev = Director::isDev();
|
$isDev = Director::isDev();
|
||||||
$canViewDraft = (Permission::check('VIEW_DRAFT_CONTENT') || Permission::check('CMS_ACCESS_CMSMain'));
|
$canViewDraft = (Permission::check('VIEW_DRAFT_CONTENT') || Permission::check('CMS_ACCESS_CMSMain'));
|
||||||
|
|
||||||
return $this->shouldDisplay = ($isDev || $canViewDraft);
|
$result = ($isDev || $canViewDraft);
|
||||||
|
$this->shouldDisplay[$key] = $result;
|
||||||
|
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -189,8 +207,8 @@ class BetterNavigatorExtension extends DataExtension
|
|||||||
private function BetterNavigatorCssClass() {
|
private function BetterNavigatorCssClass() {
|
||||||
$classes = '';
|
$classes = '';
|
||||||
|
|
||||||
$position = Config::inst()->get('BetterNavigator', 'position');
|
$position = Config::inst()->get('JonoM\BetterNavigator', 'position');
|
||||||
$translucent = Config::inst()->get('BetterNavigator', 'translucent');
|
$translucent = Config::inst()->get('JonoM\BetterNavigator', 'translucent');
|
||||||
|
|
||||||
if ($position === 'left-top' || $position === 'left-bottom' || $position === 'right-bottom') {
|
if ($position === 'left-top' || $position === 'left-bottom' || $position === 'right-bottom') {
|
||||||
$classes .= ' ' . $position;
|
$classes .= ' ' . $position;
|
||||||
|
@ -1,140 +0,0 @@
|
|||||||
<div id="BetterNavigator" class="collapsed $CssClass">
|
|
||||||
|
|
||||||
<div id="BetterNavigatorStatus" class="$Viewing">
|
|
||||||
<span class="bn-icon-cog"></span>
|
|
||||||
$ViewingTitle
|
|
||||||
<span class="bn-icon-close"></span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="BetterNavigatorContent">
|
|
||||||
|
|
||||||
<div class="bn-links">
|
|
||||||
|
|
||||||
<% if $ArchiveLink.Active %>
|
|
||||||
<% if $EditLink %><a href="$EditLink" target="_blank"><span class="bn-icon-edit"></span><%t JonoM\BetterNavigator.RESTORE_LABEL 'Restore' %></a><% end_if %>
|
|
||||||
<% else %>
|
|
||||||
<% if not $LiveLink.Active %>
|
|
||||||
<% if $LiveLink.Link %>
|
|
||||||
<a href="$LiveLink.Link"><span class="bn-icon-view"></span><%t JonoM\BetterNavigator.VIEW_LIVE_LABEL 'View live' %></a>
|
|
||||||
<% else %>
|
|
||||||
<span class="bn-disabled"><span class="bn-icon-view"></span><%t JonoM\BetterNavigator.NOT_YET_PUBLISHED_LABEL 'Not yet published' %></span>
|
|
||||||
<% end_if %>
|
|
||||||
<% end_if %>
|
|
||||||
<% if not $StageLink.Active %>
|
|
||||||
<% if $StageLink.Link %>
|
|
||||||
<a href="$StageLink.Link"><span class="bn-icon-view"></span><%t JonoM\BetterNavigator.VIEW_DRAFT_LABEL 'View draft' %></a>
|
|
||||||
<% else %>
|
|
||||||
<span class="bn-disabled"><span class="bn-icon-view"></span><%t JonoM\BetterNavigator.DELETED_FROM_DRAFT_SITE_LABEL 'Deleted from draft site' %></span>
|
|
||||||
<% end_if %>
|
|
||||||
<% end_if %>
|
|
||||||
<% if $EditLink %><a href="$EditLink" target="_blank"><span class="bn-icon-edit"></span><%t JonoM\BetterNavigator.EDIT_IN_CMS_LABEL 'Edit in CMS' %></a><% end_if %>
|
|
||||||
<% end_if %>
|
|
||||||
|
|
||||||
<% if $Member %>
|
|
||||||
$LogoutForm
|
|
||||||
<a href="$LogoutLink" id="BetterNavigatorLogoutLink"><span class="bn-icon-user"></span><%t JonoM\BetterNavigator.LOG_OUT_LABEL 'Log out' %><% if $Member.FirstName %><span class="light"> ($Member.FirstName)</span><% end_if %></a>
|
|
||||||
<% else %>
|
|
||||||
<a href="$LoginLink"><span class="bn-icon-user"></span><%t JonoM\BetterNavigator.LOG_IN_LABEL 'Log in' %></a>
|
|
||||||
<% end_if %>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<% include BetterNavigator\BetterNavigatorExtraContent %>
|
|
||||||
|
|
||||||
<% if $Mode == 'dev' || $IsDeveloper %>
|
|
||||||
|
|
||||||
<div class="bn-heading"><%t JonoM\BetterNavigator.DEVELOPER_TOOLS_HEADING 'Developer tools' %></div>
|
|
||||||
|
|
||||||
<div class="bn-links">
|
|
||||||
|
|
||||||
<% if $Mode='dev' %>
|
|
||||||
<span class="bn-disabled" title="<%t JonoM\BetterNavigator.END_DEV_MODE_TITLE 'Log out to end Dev Mode' %>">
|
|
||||||
<span class="bn-icon-tick"></span>
|
|
||||||
<%t JonoM\BetterNavigator.DEV_MOVE_ON_LABEL 'Dev mode on' %>
|
|
||||||
</span>
|
|
||||||
<% else %>
|
|
||||||
<a href="{$AbsoluteLink}?isDev=1"><span class="bn-icon-devmode"></span><%t JonoM\BetterNavigator.DEV_MODE_LABEL 'Dev mode' %></a>
|
|
||||||
<% end_if %>
|
|
||||||
|
|
||||||
<a href="{$AbsoluteLink}?flush=1"
|
|
||||||
title="<%t JonoM\BetterNavigator.FLUSH_CACHE_TITLE 'Flush templates and manifest, and regenerate images for this page (behaviour varies by Framework version)' %>"
|
|
||||||
>
|
|
||||||
<span class="bn-icon-flush"></span>
|
|
||||||
<%t JonoM\BetterNavigator.FLUSH_CACHE_LABEL 'Flush caches' %>
|
|
||||||
</a>
|
|
||||||
<a href="{$AbsoluteBaseURL}dev/build/?flush=1"
|
|
||||||
target="_blank"
|
|
||||||
title="<%t JonoM\BetterNavigator.BUILD_DATABASE_TITLE 'Build database and flush caches (excludes template caches pre SS-3.1.7)' %>"
|
|
||||||
>
|
|
||||||
<span class="bn-icon-db"></span>
|
|
||||||
<%t JonoM\BetterNavigator.BUILD_DATABASE_LABEL 'Build database' %>
|
|
||||||
</a>
|
|
||||||
<a href="{$AbsoluteBaseURL}dev/" target="_blank"><span class="bn-icon-tools"></span><%t JonoM\BetterNavigator.DEV_MENU_LABEL 'Dev menu' %></a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<% include BetterNavigator\BetterNavigatorExtraDevTools %>
|
|
||||||
|
|
||||||
<% end_if %>
|
|
||||||
|
|
||||||
<% if $Mode == 'dev' %>
|
|
||||||
|
|
||||||
<div class="bn-heading"><%t JonoM\BetterNavigator.DEBUGGING_HEADING 'Debugging' %></div>
|
|
||||||
|
|
||||||
<div class="bn-links">
|
|
||||||
|
|
||||||
<a href="{$AbsoluteLink}?showtemplate=1"
|
|
||||||
title="<%t JonoM\BetterNavigator.SHOW_TEMPLATE_TITLE 'Show the compiled version of all the templates used, including line numbers. Good when you have a syntax error in a template. Cannot be used on a Live site without isDev' %>"
|
|
||||||
>
|
|
||||||
<span class="bn-icon-info"></span>
|
|
||||||
<%t JonoM\BetterNavigator.SHOW_TEMPLATE_LABEL 'Show template' %>
|
|
||||||
</a>
|
|
||||||
<a href="{$AbsoluteLink}?execmetric=1"
|
|
||||||
title="<%t JonoM\BetterNavigator.EXEC_METRIC_TITLE 'Display the execution time and peak memory usage for the request' %>"
|
|
||||||
>
|
|
||||||
<span class="bn-icon-info"></span>
|
|
||||||
<%t JonoM\BetterNavigator.SHOW_METRICS_LABEL 'Show metrics' %>
|
|
||||||
</a>
|
|
||||||
<a href="{$AbsoluteLink}?debug=1"
|
|
||||||
title="<%t JonoM\BetterNavigator.DEBUG_PAGE_TITLE 'Show a collection of debugging information about the director / controller operation' %>"
|
|
||||||
>
|
|
||||||
<span class="bn-icon-info"></span>
|
|
||||||
<%t JonoM\BetterNavigator.DEBUG_PAGE_LABEL 'Debug page' %>
|
|
||||||
</a>
|
|
||||||
<a href="{$AbsoluteLink}?debug_request=1"
|
|
||||||
title="<%t JonoM\BetterNavigator.DEBUG_REQUEST_TITLE 'Show all steps of the request from initial HTTPRequest to Controller to Template Rendering' %>"
|
|
||||||
>
|
|
||||||
<span class="bn-icon-info"></span>
|
|
||||||
<%t JonoM\BetterNavigator.DEBUG_REQUEST_LABEL 'Debug request' %>
|
|
||||||
</a>
|
|
||||||
<a href="{$AbsoluteLink}?debugfailover=1"
|
|
||||||
title="<%t JonoM\BetterNavigator.DEBUG_FAILOVER_TITLE 'Shows failover methods from classes extended' %>"
|
|
||||||
>
|
|
||||||
<span class="bn-icon-info"></span>
|
|
||||||
<%t JonoM\BetterNavigator.DEBUG_FAILOVER_LABEL 'Debug failover' %>
|
|
||||||
</a>
|
|
||||||
<a href="{$AbsoluteLink}?showqueries=1"
|
|
||||||
title="<%t JonoM\BetterNavigator.SHOW_QUERIES_TITLE 'List all SQL queries executed' %>"
|
|
||||||
>
|
|
||||||
<span class="bn-icon-info"></span>
|
|
||||||
<%t JonoM\BetterNavigator.SHOW_QUERIES_LABEL 'Show queries' %>
|
|
||||||
</a>
|
|
||||||
<a href="{$AbsoluteLink}?previewwrite=1"
|
|
||||||
title="<%t JonoM\BetterNavigator.PREVIEW_WRITE_TITLE "List all insert / update SQL queries, and don't execute them. Useful for previewing writes to the database" %>"
|
|
||||||
>
|
|
||||||
<span class="bn-icon-info"></span>
|
|
||||||
<%t JonoM\BetterNavigator.PREVIEW_WRITE_LABEL 'Preview write' %>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<% include BetterNavigator\BetterNavigatorExtraDebugging %>
|
|
||||||
|
|
||||||
<% end_if %>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script type="application/javascript" src="$ScriptUrl"></script>
|
|
||||||
<link rel="stylesheet" href="$CssUrl" />
|
|
137
templates/JonoM/BetterNavigator/BetterNavigator.ss
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
<section id="BetterNavigator" class="collapsed $CssClass layoutV2" aria-label="Better navigator - $ViewingTitle page">
|
||||||
|
|
||||||
|
<button id="BetterNavigatorStatus" class="$Viewing" aria-expanded="false" aria-controls="BetterNavigatorContent" aria-label="<%t JonoM\BetterNavigator.ARIA_MENU_LABEL 'Tool menu' %>">
|
||||||
|
<span class="status-text" aria-hidden="true">$ViewingTitle</span>
|
||||||
|
<span id="BetterNavigatorStatusIcon" class="bn-icon-cog"></span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<div id="BetterNavigatorContent">
|
||||||
|
|
||||||
|
<div class="bn-links">
|
||||||
|
|
||||||
|
<% if $ArchiveLink.Active %>
|
||||||
|
<% if $EditLink %><a href="$EditLink" target="_blank"><span class="bn-icon-edit"></span><%t JonoM\BetterNavigator.RESTORE_LABEL 'Restore' %></a><% end_if %>
|
||||||
|
<% else %>
|
||||||
|
<% if not $LiveLink.Active %>
|
||||||
|
<% if $LiveLink.Link %>
|
||||||
|
<a href="$LiveLink.Link"><span class="bn-icon-view"></span><%t JonoM\BetterNavigator.VIEW_LIVE_LABEL 'View live' %></a>
|
||||||
|
<% else %>
|
||||||
|
<a href="$LiveLink.Link" aria-disabled="true" class="bn-disabled"><span class="bn-icon-view"></span><%t JonoM\BetterNavigator.NOT_YET_PUBLISHED_LABEL 'Not yet published' %></a>
|
||||||
|
<% end_if %>
|
||||||
|
<% end_if %>
|
||||||
|
<% if not $StageLink.Active %>
|
||||||
|
<% if $StageLink.Link %>
|
||||||
|
<a href="$StageLink.Link"><span class="bn-icon-view"></span><%t JonoM\BetterNavigator.VIEW_DRAFT_LABEL 'View draft' %></a>
|
||||||
|
<% else %>
|
||||||
|
<a href="$StageLink.Link" aria-disabled="true" class="bn-disabled"><span class="bn-icon-view"></span><%t JonoM\BetterNavigator.DELETED_FROM_DRAFT_SITE_LABEL 'Deleted from draft site' %></a>
|
||||||
|
<% end_if %>
|
||||||
|
<% end_if %>
|
||||||
|
<% if $EditLink %><a href="$EditLink" target="_blank"><span class="bn-icon-edit"></span><%t JonoM\BetterNavigator.EDIT_IN_CMS_LABEL 'Edit in CMS' %></a><% end_if %>
|
||||||
|
<% end_if %>
|
||||||
|
|
||||||
|
<% if $Member %>
|
||||||
|
$LogoutForm
|
||||||
|
<a href="$LogoutLink" id="BetterNavigatorLogoutLink"><span class="bn-icon-user"></span><%t JonoM\BetterNavigator.LOG_OUT_LABEL 'Log out' %><% if $Member.FirstName %><span class="light"> ($Member.FirstName)</span><% end_if %></a>
|
||||||
|
<% else %>
|
||||||
|
<a href="$LoginLink"><span class="bn-icon-user"></span><%t JonoM\BetterNavigator.LOG_IN_LABEL 'Log in' %></a>
|
||||||
|
<% end_if %>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% include JonoM\BetterNavigator\BetterNavigatorExtraContent %>
|
||||||
|
|
||||||
|
<% if $Mode == 'dev' || $IsDeveloper %>
|
||||||
|
|
||||||
|
<h2 class="bn-heading"><%t JonoM\BetterNavigator.DEVELOPER_TOOLS_HEADING 'Developer tools' %></h2>
|
||||||
|
|
||||||
|
<ul class="bn-links">
|
||||||
|
|
||||||
|
<% if $Mode='dev' %>
|
||||||
|
<li><span class="bn-disabled" title="<%t JonoM\BetterNavigator.END_DEV_MODE_TITLE 'Log out to end Dev Mode' %>">
|
||||||
|
<span class="bn-icon-tick"></span><%t JonoM\BetterNavigator.DEV_MOVE_ON_LABEL 'Dev mode on' %>
|
||||||
|
</span></li>
|
||||||
|
<% else %>
|
||||||
|
<li><a href="{$AbsoluteLink}?isDev=1"><span class="bn-icon-devmode"></span><%t JonoM\BetterNavigator.DEV_MODE_LABEL 'Dev mode' %></a></li>
|
||||||
|
<% end_if %>
|
||||||
|
|
||||||
|
<li><a href="{$AbsoluteLink}?flush=1"
|
||||||
|
title="<%t JonoM\BetterNavigator.FLUSH_CACHE_TITLE 'Flush templates and manifest, and regenerate images for this page (behaviour varies by Framework version)' %>"
|
||||||
|
>
|
||||||
|
<span class="bn-icon-flush"></span><%t JonoM\BetterNavigator.FLUSH_CACHE_LABEL 'Flush caches' %>
|
||||||
|
</a></li>
|
||||||
|
|
||||||
|
<li><a href="/dev/build/?flush=1"
|
||||||
|
target="_blank"
|
||||||
|
title="<%t JonoM\BetterNavigator.BUILD_DATABASE_TITLE 'Build database and flush caches (excludes template caches pre SS-3.1.7)' %>"
|
||||||
|
>
|
||||||
|
<span class="bn-icon-db"></span><%t JonoM\BetterNavigator.BUILD_DATABASE_LABEL 'Build database' %>
|
||||||
|
</a></li>
|
||||||
|
|
||||||
|
<li><a href="/dev/" target="_blank"><span class="bn-icon-tools"></span><%t JonoM\BetterNavigator.DEV_MENU_LABEL 'Dev menu' %></a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<% include JonoM\BetterNavigator\BetterNavigatorExtraDevTools %>
|
||||||
|
|
||||||
|
<% end_if %>
|
||||||
|
|
||||||
|
<% if $Mode == 'dev' %>
|
||||||
|
|
||||||
|
<h2 class="bn-heading"><%t JonoM\BetterNavigator.DEBUGGING_HEADING 'Debugging' %></h2>
|
||||||
|
|
||||||
|
<ul class="bn-links">
|
||||||
|
|
||||||
|
<li><a href="{$AbsoluteLink}?showtemplate=1"
|
||||||
|
title="<%t JonoM\BetterNavigator.SHOW_TEMPLATE_TITLE 'Show the compiled version of all the templates used, including line numbers. Good when you have a syntax error in a template. Cannot be used on a Live site without isDev' %>"
|
||||||
|
>
|
||||||
|
<span class="bn-icon-info"></span><%t JonoM\BetterNavigator.SHOW_TEMPLATE_LABEL 'Show template' %>
|
||||||
|
</a></li>
|
||||||
|
|
||||||
|
<li><a href="{$AbsoluteLink}?execmetric=1"
|
||||||
|
title="<%t JonoM\BetterNavigator.EXEC_METRIC_TITLE 'Display the execution time and peak memory usage for the request' %>"
|
||||||
|
>
|
||||||
|
<span class="bn-icon-info"></span><%t JonoM\BetterNavigator.SHOW_METRICS_LABEL 'Show metrics' %>
|
||||||
|
</a></li>
|
||||||
|
|
||||||
|
<li><a href="{$AbsoluteLink}?debug=1"
|
||||||
|
title="<%t JonoM\BetterNavigator.DEBUG_PAGE_TITLE 'Show a collection of debugging information about the director / controller operation' %>"
|
||||||
|
>
|
||||||
|
<span class="bn-icon-info"></span><%t JonoM\BetterNavigator.DEBUG_PAGE_LABEL 'Debug page' %>
|
||||||
|
</a></li>
|
||||||
|
|
||||||
|
<li><a href="{$AbsoluteLink}?debug_request=1"
|
||||||
|
title="<%t JonoM\BetterNavigator.DEBUG_REQUEST_TITLE 'Show all steps of the request from initial HTTPRequest to Controller to Template Rendering' %>"
|
||||||
|
>
|
||||||
|
<span class="bn-icon-info"></span><%t JonoM\BetterNavigator.DEBUG_REQUEST_LABEL 'Debug request' %>
|
||||||
|
</a></li>
|
||||||
|
|
||||||
|
<li><a href="{$AbsoluteLink}?debugfailover=1"
|
||||||
|
title="<%t JonoM\BetterNavigator.DEBUG_FAILOVER_TITLE 'Shows failover methods from classes extended' %>"
|
||||||
|
>
|
||||||
|
<span class="bn-icon-info"></span><%t JonoM\BetterNavigator.DEBUG_FAILOVER_LABEL 'Debug failover' %>
|
||||||
|
</a></li>
|
||||||
|
|
||||||
|
<li><a href="{$AbsoluteLink}?showqueries=1"
|
||||||
|
title="<%t JonoM\BetterNavigator.SHOW_QUERIES_TITLE 'List all SQL queries executed' %>"
|
||||||
|
>
|
||||||
|
<span class="bn-icon-info"></span><%t JonoM\BetterNavigator.SHOW_QUERIES_LABEL 'Show queries' %>
|
||||||
|
</a></li>
|
||||||
|
|
||||||
|
<li><a href="{$AbsoluteLink}?previewwrite=1"
|
||||||
|
title="<%t JonoM\BetterNavigator.PREVIEW_WRITE_TITLE "List all insert / update SQL queries, and don't execute them. Useful for previewing writes to the database" %>"
|
||||||
|
>
|
||||||
|
<span class="bn-icon-info"></span><%t JonoM\BetterNavigator.PREVIEW_WRITE_LABEL 'Preview write' %>
|
||||||
|
</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<% include JonoM\BetterNavigator\BetterNavigatorExtraDebugging %>
|
||||||
|
|
||||||
|
<% end_if %>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<script src="$ScriptUrl" async></script>
|
||||||
|
<link rel="stylesheet" href="$CssUrl">
|