diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 1f29891dfddc9..2429a0153f009 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -41,7 +41,7 @@ repos:
- id: trailing-whitespace
args: ["--markdown-linebreak-ext=md"]
- repo: https://github.com/psf/black
- rev: 19.10b0
+ rev: 22.3.0
hooks:
- id: black
language_version: python3
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 34657f0ba60b0..9aa311f32a667 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -17,6 +17,16 @@ specific language governing permissions and limitations
under the License.
-->
## Change Log
+
+### 1.4.2 (Sat Mar 19 00:08:06 2022 +0200)
+**Features**
+- [#19248](https://github.com/apache/superset/pull/19248) feat: add support for comments in adhoc clauses (@villebro)
+- [#18214](https://github.com/apache/superset/pull/18214) feat(docker-compose): add TAG option (@villebro)
+
+**Fixes**
+- [#17641](https://github.com/apache/superset/pull/17641) fix(sqla): make text clause escaping optional (@villebro)
+- [#18566](https://github.com/apache/superset/pull/18566) fix(plugin-chart-echarts): area chart opacity bug (@villebro)
+
### 1.4.1
**Database Migrations**
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 994fec44b4a89..e49cf0a32cc06 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -106,7 +106,7 @@ This statement thanks the following, on which it draws for content and inspirati
# Slack Community Guidelines
-If you decide to join the [Community Slack](https://join.slack.com/t/apache-superset/shared_invite/zt-uxbh5g36-AISUtHbzOXcu0BIj7kgUaw), please adhere to the following rules:
+If you decide to join the [Community Slack](https://join.slack.com/t/apache-superset/shared_invite/zt-16jvzmoi8-sI7jKWp~xc2zYRe~NqiY9Q), please adhere to the following rules:
**1. Treat everyone in the community with respect.**
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 84a948511ab15..865d4b62d6b44 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -412,7 +412,7 @@ You also need to install MySQL or [MariaDB](https://mariadb.com/downloads).
Ensure that you are using Python version 3.7 or 3.8, then proceed with:
-````bash
+```bash
# Create a virtual environment and activate it (recommended)
python3 -m venv venv # setup a python3 virtualenv
source venv/bin/activate
@@ -457,7 +457,7 @@ $ make superset
# Setup pre-commit only
$ make pre-commit
-````
+```
**Note: the FLASK_APP env var should not need to be set, as it's currently controlled
via `.flaskenv`, however if needed, it should be set to `superset.app:create_app()`**
diff --git a/README.md b/README.md
index 40ef7bb77bc2e..9d95180f26370 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,7 @@ under the License.
[![PyPI version](https://badge.fury.io/py/apache-superset.svg)](https://badge.fury.io/py/apache-superset)
[![Coverage Status](https://codecov.io/github/apache/superset/coverage.svg?branch=master)](https://codecov.io/github/apache/superset)
[![PyPI](https://img.shields.io/pypi/pyversions/apache-superset.svg?maxAge=2592000)](https://pypi.python.org/pypi/apache-superset)
-[![Get on Slack](https://img.shields.io/badge/slack-join-orange.svg)](https://join.slack.com/t/apache-superset/shared_invite/zt-uxbh5g36-AISUtHbzOXcu0BIj7kgUaw)
+[![Get on Slack](https://img.shields.io/badge/slack-join-orange.svg)](https://join.slack.com/t/apache-superset/shared_invite/zt-16jvzmoi8-sI7jKWp~xc2zYRe~NqiY9Q)
[![Documentation](https://img.shields.io/badge/docs-apache.org-blue.svg)](https://superset.apache.org)
str:
return f"### {self._version} ({self._logs[0].time})"
def _parse_change_log(
- self, changelog: Dict[str, str], pr_info: Dict[str, str], github_login: str,
+ self,
+ changelog: Dict[str, str],
+ pr_info: Dict[str, str],
+ github_login: str,
) -> None:
formatted_pr = (
f"- [#{pr_info.get('id')}]"
@@ -355,7 +358,8 @@ def compare(base_parameters: BaseParameters) -> None:
@cli.command("changelog")
@click.option(
- "--csv", help="The csv filename to export the changelog to",
+ "--csv",
+ help="The csv filename to export the changelog to",
)
@click.option(
"--access_token",
diff --git a/RELEASING/send_email.py b/RELEASING/send_email.py
index ddf823f1c92b5..a4b4a449665f9 100755
--- a/RELEASING/send_email.py
+++ b/RELEASING/send_email.py
@@ -106,7 +106,12 @@ def inter_send_email(
class BaseParameters(object):
def __init__(
- self, email: str, username: str, password: str, version: str, version_rc: str,
+ self,
+ email: str,
+ username: str,
+ password: str,
+ version: str,
+ version_rc: str,
) -> None:
self.email = email
self.username = username
diff --git a/UPDATING.md b/UPDATING.md
index cfee3dcfd436f..a911b4b541291 100644
--- a/UPDATING.md
+++ b/UPDATING.md
@@ -29,6 +29,9 @@ assists people when migrating to a new version.
### Breaking Changes
+- [19168](https://github.com/apache/superset/pull/19168): Celery upgrade to 5.X has breaking changes on it's command line invocation.
+ Please follow: https://docs.celeryq.dev/en/stable/whatsnew-5.2.html#step-1-adjust-your-command-line-invocation
+ Consider migrating you celery config if you haven't already: https://docs.celeryq.dev/en/stable/userguide/configuration.html#conf-old-settings-map
- [19049](https://github.com/apache/superset/pull/19049): APP_ICON_WIDTH has been removed from the config. Superset should now be able to handle different logo sizes without having to explicitly set an APP_ICON_WIDTH. This might affect the size of existing custom logos as the UI will now resize them according to the specified space of maximum 148px and not according to the value of APP_ICON_WIDTH.
- [19274](https://github.com/apache/superset/pull/19274): The `PUBLIC_ROLE_LIKE_GAMMA` config key has been removed, set `PUBLIC_ROLE_LIKE` = "Gamma" to have the same functionality.
- [19273](https://github.com/apache/superset/pull/19273): The `SUPERSET_CELERY_WORKERS` and `SUPERSET_WORKERS` config keys has been removed. Configure celery directly using `CELERY_CONFIG` on Superset
@@ -59,7 +62,6 @@ flag for the legacy datasource editor (DISABLE_LEGACY_DATASOURCE_EDITOR) in conf
### Deprecations
-- [19078](https://github.com/apache/superset/pull/19078): Creation of old shorturl links has been deprecated in favor of a new permalink feature that solves the long url problem (old shorturls will still work, though!). By default, new permalinks use UUID4 as the key. However, to use serial ids similar to the old shorturls, add the following to your `superset_config.py`: `PERMALINK_KEY_TYPE = "id"`.
- [18960](https://github.com/apache/superset/pull/18960): Persisting URL params in chart metadata is no longer supported. To set a default value for URL params in Jinja code, use the optional second argument: `url_param("my-param", "my-default-value")`.
### Other
diff --git a/docker/pythonpath_dev/superset_config.py b/docker/pythonpath_dev/superset_config.py
index 6c58bec79c17e..794239d23f13b 100644
--- a/docker/pythonpath_dev/superset_config.py
+++ b/docker/pythonpath_dev/superset_config.py
@@ -72,7 +72,7 @@ def get_env_variable(var_name: str, default: Optional[str] = None) -> str:
class CeleryConfig(object):
BROKER_URL = f"redis://{REDIS_HOST}:{REDIS_PORT}/{REDIS_CELERY_DB}"
- CELERY_IMPORTS = ("superset.sql_lab", "superset.tasks")
+ CELERY_IMPORTS = ("superset.sql_lab",)
CELERY_RESULT_BACKEND = f"redis://{REDIS_HOST}:{REDIS_PORT}/{REDIS_RESULTS_DB}"
CELERYD_LOG_LEVEL = "DEBUG"
CELERYD_PREFETCH_MULTIPLIER = 1
diff --git a/docs/README.md b/docs/README.md
index f918240c452fe..f4a122ba2f5b1 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -24,7 +24,7 @@ This website is built using [Docusaurus 2](https://docusaurus.io/), a modern sta
### Installation
```
-$ yarn
+$ yarn install
```
### Local Development
diff --git a/docs/docs/api.mdx b/docs/docs/api.mdx
index a80161cdaf809..762b0c180476d 100644
--- a/docs/docs/api.mdx
+++ b/docs/docs/api.mdx
@@ -4,12 +4,12 @@ hide_title: true
sidebar_position: 9
---
-import { Buffer } from "buffer";
+import { Buffer } from 'buffer';
global.Buffer = Buffer;
-import SwaggerUI from "swagger-ui-react";
-import openapi from "/resources/openapi.json";
-import "swagger-ui-react/swagger-ui.css";
-// import { Alert } from "antd";
+import SwaggerUI from 'swagger-ui-react';
+import openapi from '/resources/openapi.json';
+import 'swagger-ui-react/swagger-ui.css';
+import { Alert } from 'antd';
## API
@@ -18,28 +18,16 @@ Superset's public **REST API** follows the
documented here. The docs bellow are generated using
[Swagger React UI](https://www.npmjs.com/package/swagger-ui-react).
-
-
-
-
-
- NOTE!
- You can find an interactive version of this documentation on your local Superset
- instance at /swagger/v1 (if enabled)
-
+ }
+/>
diff --git a/docs/docs/contributing/contributing-page.mdx b/docs/docs/contributing/contributing-page.mdx
index 42e44d3df06f6..f4f3cd6400fb6 100644
--- a/docs/docs/contributing/contributing-page.mdx
+++ b/docs/docs/contributing/contributing-page.mdx
@@ -8,11 +8,11 @@ version: 1
## Contributing to Superset
Superset is an [Apache Software foundation](https://www.apache.org/theapacheway/index.html) project.
-The core contributors (or committers) to Superset communicate primarily in the following channels (all of
-which you can join):
+The core contributors (or committers) to Superset communicate primarily in the following channels (
+which can be joined by anyone):
- [Mailing list](https://lists.apache.org/list.html?dev@superset.apache.org)
-- [Apache Superset Slack community](https://join.slack.com/t/apache-superset/shared_invite/zt-uxbh5g36-AISUtHbzOXcu0BIj7kgUaw)
+- [Apache Superset Slack community](https://join.slack.com/t/apache-superset/shared_invite/zt-16jvzmoi8-sI7jKWp~xc2zYRe~NqiY9Q)
- [Github issues and PR's](https://github.com/apache/superset/issues)
More references:
diff --git a/docs/docs/contributing/hooks-and-linting.mdx b/docs/docs/contributing/hooks-and-linting.mdx
index dc8cfef0dcebd..8539ecb6b2600 100644
--- a/docs/docs/contributing/hooks-and-linting.mdx
+++ b/docs/docs/contributing/hooks-and-linting.mdx
@@ -39,7 +39,7 @@ We use [Pylint](https://pylint.org/) for linting which can be invoked via:
tox -e pylint
```
-In terms of best practices please advoid blanket disablement of Pylint messages globally (via `.pylintrc`) or top-level within the file header, albeit there being a few exceptions. Disablement should occur inline as it prevents masking issues and provides context as to why said message is disabled.
+In terms of best practices please avoid blanket disablement of Pylint messages globally (via `.pylintrc`) or top-level within the file header, albeit there being a few exceptions. Disablement should occur inline as it prevents masking issues and provides context as to why said message is disabled.
Additionally, the Python code is auto-formatted using [Black](https://github.com/python/black) which
is configured as a pre-commit hook. There are also numerous [editor integrations](https://black.readthedocs.io/en/stable/integrations/editors.html)
diff --git a/docs/docs/installation/alerts-reports.mdx b/docs/docs/installation/alerts-reports.mdx
index 3ddb35caa1747..8ab37cc90529a 100644
--- a/docs/docs/installation/alerts-reports.mdx
+++ b/docs/docs/installation/alerts-reports.mdx
@@ -89,12 +89,12 @@ REDIS_HOST = "redis-superset"
REDIS_PORT = "6379"
class CeleryConfig:
- BROKER_URL = 'redis://%s:%s/0' % (REDIS_HOST, REDIS_PORT)
- CELERY_IMPORTS = ('superset.sql_lab', "superset.tasks", "superset.tasks.thumbnails", )
- CELERY_RESULT_BACKEND = 'redis://%s:%s/0' % (REDIS_HOST, REDIS_PORT)
- CELERYD_PREFETCH_MULTIPLIER = 10
- CELERY_ACKS_LATE = True
- CELERY_ANNOTATIONS = {
+ broker_url = 'redis://%s:%s/0' % (REDIS_HOST, REDIS_PORT)
+ imports = ('superset.sql_lab', "superset.tasks", "superset.tasks.thumbnails", )
+ result_backend = 'redis://%s:%s/0' % (REDIS_HOST, REDIS_PORT)
+ worker_prefetch_multiplier = 10
+ task_acks_late = True
+ task_annotations = {
'sql_lab.get_sql_results': {
'rate_limit': '100/s',
},
@@ -105,7 +105,7 @@ class CeleryConfig:
'ignore_result': True,
},
}
- CELERYBEAT_SCHEDULE = {
+ beat_schedule = {
'reports.scheduler': {
'task': 'reports.scheduler',
'schedule': crontab(minute='*', hour='*'),
diff --git a/docs/docs/installation/async-queries-celery.mdx b/docs/docs/installation/async-queries-celery.mdx
index 7c19a9405cf09..b742d8c6b52c2 100644
--- a/docs/docs/installation/async-queries-celery.mdx
+++ b/docs/docs/installation/async-queries-celery.mdx
@@ -23,16 +23,16 @@ and web server processes should have the same configuration.
```python
class CeleryConfig(object):
- BROKER_URL = 'redis://localhost:6379/0'
- CELERY_IMPORTS = (
+ broker_url = 'redis://localhost:6379/0'
+ imports = (
'superset.sql_lab',
'superset.tasks',
)
- CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
- CELERYD_LOG_LEVEL = 'DEBUG'
- CELERYD_PREFETCH_MULTIPLIER = 10
- CELERY_ACKS_LATE = True
- CELERY_ANNOTATIONS = {
+ result_backend = 'redis://localhost:6379/0'
+ worker_log_level = 'DEBUG'
+ worker_prefetch_multiplier = 10
+ task_acks_late = True
+ task_annotations = {
'sql_lab.get_sql_results': {
'rate_limit': '100/s',
},
@@ -43,7 +43,7 @@ class CeleryConfig(object):
'ignore_result': True,
},
}
- CELERYBEAT_SCHEDULE = {
+ beat_schedule = {
'email_reports.schedule_hourly': {
'task': 'email_reports.schedule_hourly',
'schedule': crontab(minute=1, hour='*'),
diff --git a/docs/docs/installation/cache.mdx b/docs/docs/installation/cache.mdx
index 2cf56c1812937..df2fc1471d29d 100644
--- a/docs/docs/installation/cache.mdx
+++ b/docs/docs/installation/cache.mdx
@@ -85,11 +85,11 @@ from s3cache.s3cache import S3Cache
...
class CeleryConfig(object):
- BROKER_URL = "redis://localhost:6379/0"
- CELERY_IMPORTS = ("superset.sql_lab", "superset.tasks", "superset.tasks.thumbnails")
- CELERY_RESULT_BACKEND = "redis://localhost:6379/0"
- CELERYD_PREFETCH_MULTIPLIER = 10
- CELERY_ACKS_LATE = True
+ broker_url = "redis://localhost:6379/0"
+ imports = ("superset.sql_lab", "superset.tasks", "superset.tasks.thumbnails")
+ result_backend = "redis://localhost:6379/0"
+ worker_prefetch_multiplier = 10
+ task_acks_late = True
CELERY_CONFIG = CeleryConfig
diff --git a/docs/docs/installation/configuring-superset.mdx b/docs/docs/installation/configuring-superset.mdx
index 4c504e8c8c7b2..86bddda180f30 100644
--- a/docs/docs/installation/configuring-superset.mdx
+++ b/docs/docs/installation/configuring-superset.mdx
@@ -10,7 +10,7 @@ version: 1
### Configuration
To configure your application, you need to create a file `superset_config.py` and add it to your
-`PYTHONPATH`. If your applcation was installed using docker-compose an alternative configuration is required. See [https://github.com/apache/superset/tree/master/docker#readme](https://github.com/apache/superset/tree/master/docker#readme) for details.
+`PYTHONPATH`. If your application was installed using docker-compose an alternative configuration is required. See [https://github.com/apache/superset/tree/master/docker#readme](https://github.com/apache/superset/tree/master/docker#readme) for details.
Here are some of the parameters you can set in that file:
```
@@ -251,10 +251,10 @@ A current list of feature flags can be found in [RESOURCES/FEATURE_FLAGS.md](htt
If you want to rotate the SECRET_KEY(change the existing secret key), follow the below steps.
-# Add the new SECRET_KEY and PREVIOUS_SECRET_KEY
+Add the new SECRET_KEY and PREVIOUS_SECRET_KEY to `superset_config.py`:
```python
PREVIOUS_SECRET_KEY = 'CURRENT_SECRET_KEY' # The default SECRET_KEY for deployment is '21thisismyscretkey12eyyh'
SECRET_KEY = 'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'
```
-# Then run `superset re-encrypt-secrets`
+Then run `superset re-encrypt-secrets`
diff --git a/docs/docs/installation/running-on-kubernetes.mdx b/docs/docs/installation/running-on-kubernetes.mdx
index d87359f146089..b009c722e622f 100644
--- a/docs/docs/installation/running-on-kubernetes.mdx
+++ b/docs/docs/installation/running-on-kubernetes.mdx
@@ -344,12 +344,10 @@ configOverrides:
from celery.schedules import crontab
class CeleryConfig(object):
- BROKER_URL = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
- CELERY_IMPORTS = ('superset.sql_lab', )
- CELERY_RESULT_BACKEND = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
- CELERY_ANNOTATIONS = {'tasks.add': {'rate_limit': '10/s'}}
- CELERY_IMPORTS = ('superset.sql_lab', "superset.tasks", "superset.tasks.thumbnails", )
- CELERY_ANNOTATIONS = {
+ broker_url = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
+ imports = ('superset.sql_lab', "superset.tasks", "superset.tasks.thumbnails", )
+ result_backend = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
+ task_annotations = {
'sql_lab.get_sql_results': {
'rate_limit': '100/s',
},
@@ -360,7 +358,7 @@ configOverrides:
'ignore_result': True,
},
}
- CELERYBEAT_SCHEDULE = {
+ beat_schedule = {
'reports.scheduler': {
'task': 'reports.scheduler',
'schedule': crontab(minute='*', hour='*'),
diff --git a/docs/docs/installation/sql-templating.mdx b/docs/docs/installation/sql-templating.mdx
index 8bb419ca127d8..40f0744fba6d0 100644
--- a/docs/docs/installation/sql-templating.mdx
+++ b/docs/docs/installation/sql-templating.mdx
@@ -120,7 +120,7 @@ In this section, we'll walkthrough the pre-defined Jinja macros in Superset.
The `{{ current_username() }}` macro returns the username of the currently logged in user.
If you have caching enabled in your Superset configuration, then by default the the `username` value will be used
-by Superset when calculating the cache key. A cache key is a unique identifer that determines if there's a
+by Superset when calculating the cache key. A cache key is a unique identifier that determines if there's a
cache hit in the future and Superset can retrieve cached data.
You can disable the inclusion of the `username` value in the calculation of the
@@ -134,8 +134,8 @@ cache key by adding the following parameter to your Jinja code:
The `{{ current_user_id() }}` macro returns the user_id of the currently logged in user.
-If you have caching enabled in your Superset configuration, then by defaul the the `user_id` value will be used
-by Superset when calculating the cache key. A cache key is a unique identifer that determines if there's a
+If you have caching enabled in your Superset configuration, then by default the the `user_id` value will be used
+by Superset when calculating the cache key. A cache key is a unique identifier that determines if there's a
cache hit in the future and Superset can retrieve cached data.
You can disable the inclusion of the `user_id` value in the calculation of the
diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js
index 30780530397f2..5e9fb3cef556b 100644
--- a/docs/docusaurus.config.js
+++ b/docs/docusaurus.config.js
@@ -204,7 +204,7 @@ const config = {
},
{
label: 'Slack',
- href: 'https://join.slack.com/t/apache-superset/shared_invite/zt-uxbh5g36-AISUtHbzOXcu0BIj7kgUaw',
+ href: 'https://join.slack.com/t/apache-superset/shared_invite/zt-16jvzmoi8-sI7jKWp~xc2zYRe~NqiY9Q',
},
{
label: 'Mailing List',
diff --git a/docs/package-lock.json b/docs/package-lock.json
deleted file mode 100644
index 1936871d1af01..0000000000000
--- a/docs/package-lock.json
+++ /dev/null
@@ -1,13541 +0,0 @@
-{
- "name": "docs-v-2",
- "version": "0.0.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@algolia/autocomplete-core": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.5.2.tgz",
- "integrity": "sha512-DY0bhyczFSS1b/CqJlTE/nQRtnTAHl6IemIkBy0nEWnhDzRDdtdx4p5Uuk3vwAFxwEEgi1WqKwgSSMx6DpNL4A==",
- "requires": {
- "@algolia/autocomplete-shared": "1.5.2"
- }
- },
- "@algolia/autocomplete-preset-algolia": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.5.2.tgz",
- "integrity": "sha512-3MRYnYQFJyovANzSX2CToS6/5cfVjbLLqFsZTKcvF3abhQzxbqwwaMBlJtt620uBUOeMzhdfasKhCc40+RHiZw==",
- "requires": {
- "@algolia/autocomplete-shared": "1.5.2"
- }
- },
- "@algolia/autocomplete-shared": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.5.2.tgz",
- "integrity": "sha512-ylQAYv5H0YKMfHgVWX0j0NmL8XBcAeeeVQUmppnnMtzDbDnca6CzhKj3Q8eF9cHCgcdTDdb5K+3aKyGWA0obug=="
- },
- "@algolia/cache-browser-local-storage": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.12.2.tgz",
- "integrity": "sha512-z8LjFsQc0B6h6LEE3pkUGM4ErVktn6bkFbhnYbTccjmFVQ+wXFJd/D63e0WtaC+hwRB1xq8uKhkz9oojEKEsGA==",
- "requires": {
- "@algolia/cache-common": "4.12.2"
- }
- },
- "@algolia/cache-common": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.12.2.tgz",
- "integrity": "sha512-r//r7MF0Na0HxD2BHnjWsDKuI72Z5UEf/Rb/8MC08XKBsjCwBihGxWxycjRcNGjNEIxJBsvRMIEOipcd9qD54g=="
- },
- "@algolia/cache-in-memory": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.12.2.tgz",
- "integrity": "sha512-opWpbBUloP1fcTG3wBDnAfcoyNXW5GFDgGtLXrSANdfnelPKkr3O8j01ZTkRlPIuBDR0izGZG8MVWMDlTf71Bw==",
- "requires": {
- "@algolia/cache-common": "4.12.2"
- }
- },
- "@algolia/client-account": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.12.2.tgz",
- "integrity": "sha512-HZqEyeVVjzOlfoSUyc+7+ueEJmRgqSuC+hqQOGECYa5JVno4d8eRVuDAMOb87I2LOdg/WoFMcAtaaRq2gpfV/w==",
- "requires": {
- "@algolia/client-common": "4.12.2",
- "@algolia/client-search": "4.12.2",
- "@algolia/transporter": "4.12.2"
- }
- },
- "@algolia/client-analytics": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.12.2.tgz",
- "integrity": "sha512-7ktimzesu+vk3l+eG9w/nQh6/9AoIieCKmoiRIguKh6okGsaSBrcTHvUwIQEIiliqPuAFBk2M8eXYFqOZzwCZw==",
- "requires": {
- "@algolia/client-common": "4.12.2",
- "@algolia/client-search": "4.12.2",
- "@algolia/requester-common": "4.12.2",
- "@algolia/transporter": "4.12.2"
- }
- },
- "@algolia/client-common": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.12.2.tgz",
- "integrity": "sha512-+dTicT1lklwOpeoiDspUoRSQYHhrr2IzllrX89/WuTPEBm2eww1xurqrSTQYC0MuVeX1s9/i4k34Q0ZnspypWg==",
- "requires": {
- "@algolia/requester-common": "4.12.2",
- "@algolia/transporter": "4.12.2"
- }
- },
- "@algolia/client-personalization": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.12.2.tgz",
- "integrity": "sha512-JBW3vYFGIm5sAAy3cLUdmUCpmSAdreo5S1fERg7xgF6KyxGrwyy5BViTNWrOKG+av2yusk1wKydOYJ1Fbpbaxw==",
- "requires": {
- "@algolia/client-common": "4.12.2",
- "@algolia/requester-common": "4.12.2",
- "@algolia/transporter": "4.12.2"
- }
- },
- "@algolia/client-search": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.12.2.tgz",
- "integrity": "sha512-JIqi14TgfEqAooNbSPBC1ZCk3Pnviqlaz9KofAqWBxSRTpPUFnU/XQCU5ihR0PC68SFVDnU/Y9cak/XotXPUeg==",
- "requires": {
- "@algolia/client-common": "4.12.2",
- "@algolia/requester-common": "4.12.2",
- "@algolia/transporter": "4.12.2"
- }
- },
- "@algolia/events": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz",
- "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ=="
- },
- "@algolia/logger-common": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.12.2.tgz",
- "integrity": "sha512-iOiJAymLjq137G7+8EQuUEkrgta0cZGMg6scp8s4hJ+X6k+6By4nyptdkCWYwKLsW/Xy927QcIhGlkWV78vQIQ=="
- },
- "@algolia/logger-console": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.12.2.tgz",
- "integrity": "sha512-veuQZyTSqHoHJtr9mLMnYeal9Mee6hCie4eqY+645VbeOrgT9p/kCMbKg5GLJGoLPlXGu7C0XpHyUj5k7/NQyw==",
- "requires": {
- "@algolia/logger-common": "4.12.2"
- }
- },
- "@algolia/requester-browser-xhr": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.12.2.tgz",
- "integrity": "sha512-FpFdHNd81tS3zj6Glqd+lt+RV0ljPExKtx+QB+gani6HWZ9YlSCM+Zl82T4ibxN+hmkrMeAyT+TMzS0jiGhGyQ==",
- "requires": {
- "@algolia/requester-common": "4.12.2"
- }
- },
- "@algolia/requester-common": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.12.2.tgz",
- "integrity": "sha512-4szj/lvDQf/u8EyyRBBRZD1ZkKDyLBbckLj7meQDlnbfwnW1UpLwpB2l3XJ9wDmDSftGxUCeTl5oMFe4z9OEvQ=="
- },
- "@algolia/requester-node-http": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.12.2.tgz",
- "integrity": "sha512-UXfJNZt2KMwjBjiOa3cJ/PyoXWZa/F1vy6rdyG4xQeZDcLbqKP3O2b+bOJcGPmFbmdwBhtAyMVLt+hvAvAVfOw==",
- "requires": {
- "@algolia/requester-common": "4.12.2"
- }
- },
- "@algolia/transporter": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.12.2.tgz",
- "integrity": "sha512-PUq79if4CukXsm27ymTQ3eD3juSvMcyJmt6mxCkSFE0zQRL4ert61HBlNH6S9y/quUVe3g7oggfHq3d5pdpqZA==",
- "requires": {
- "@algolia/cache-common": "4.12.2",
- "@algolia/logger-common": "4.12.2",
- "@algolia/requester-common": "4.12.2"
- }
- },
- "@ampproject/remapping": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz",
- "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==",
- "requires": {
- "@jridgewell/trace-mapping": "^0.3.0"
- }
- },
- "@ant-design/colors": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-6.0.0.tgz",
- "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==",
- "requires": {
- "@ctrl/tinycolor": "^3.4.0"
- }
- },
- "@ant-design/icons": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-4.7.0.tgz",
- "integrity": "sha512-aoB4Z7JA431rt6d4u+8xcNPPCrdufSRMUOpxa1ab6mz1JCQZOEVolj2WVs/tDFmN62zzK30mNelEsprLYsSF3g==",
- "requires": {
- "@ant-design/colors": "^6.0.0",
- "@ant-design/icons-svg": "^4.2.1",
- "@babel/runtime": "^7.11.2",
- "classnames": "^2.2.6",
- "rc-util": "^5.9.4"
- }
- },
- "@ant-design/icons-svg": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz",
- "integrity": "sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw=="
- },
- "@ant-design/react-slick": {
- "version": "0.28.4",
- "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-0.28.4.tgz",
- "integrity": "sha512-j9eAHTn7GxbXUFNknJoHS2ceAsqrQi2j8XykjZE1IXCD8kJF+t28EvhBLniDpbOsBk/3kjalnhriTfZcjBHNqg==",
- "requires": {
- "@babel/runtime": "^7.10.4",
- "classnames": "^2.2.5",
- "json2mq": "^0.2.0",
- "lodash": "^4.17.21",
- "resize-observer-polyfill": "^1.5.0"
- }
- },
- "@babel/code-frame": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
- "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
- "requires": {
- "@babel/highlight": "^7.16.7"
- }
- },
- "@babel/compat-data": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz",
- "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q=="
- },
- "@babel/core": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz",
- "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==",
- "requires": {
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.16.7",
- "@babel/helper-compilation-targets": "^7.16.7",
- "@babel/helper-module-transforms": "^7.16.7",
- "@babel/helpers": "^7.16.7",
- "@babel/parser": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.16.7",
- "@babel/types": "^7.16.7",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "@babel/generator": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz",
- "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==",
- "requires": {
- "@babel/types": "^7.16.8",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
- }
- },
- "@babel/helper-annotate-as-pure": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
- "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz",
- "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==",
- "requires": {
- "@babel/helper-explode-assignable-expression": "^7.16.7",
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-compilation-targets": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz",
- "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==",
- "requires": {
- "@babel/compat-data": "^7.16.4",
- "@babel/helper-validator-option": "^7.16.7",
- "browserslist": "^4.17.5",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "@babel/helper-create-class-features-plugin": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz",
- "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-member-expression-to-functions": "^7.16.7",
- "@babel/helper-optimise-call-expression": "^7.16.7",
- "@babel/helper-replace-supers": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7"
- }
- },
- "@babel/helper-create-regexp-features-plugin": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz",
- "integrity": "sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "regexpu-core": "^4.7.1"
- }
- },
- "@babel/helper-define-polyfill-provider": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz",
- "integrity": "sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==",
- "requires": {
- "@babel/helper-compilation-targets": "^7.13.0",
- "@babel/helper-module-imports": "^7.12.13",
- "@babel/helper-plugin-utils": "^7.13.0",
- "@babel/traverse": "^7.13.0",
- "debug": "^4.1.1",
- "lodash.debounce": "^4.0.8",
- "resolve": "^1.14.2",
- "semver": "^6.1.2"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "@babel/helper-environment-visitor": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
- "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-explode-assignable-expression": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz",
- "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==",
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-function-name": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz",
- "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==",
- "requires": {
- "@babel/helper-get-function-arity": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-get-function-arity": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz",
- "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==",
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-hoist-variables": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
- "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-member-expression-to-functions": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz",
- "integrity": "sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==",
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-module-imports": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz",
- "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==",
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-module-transforms": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz",
- "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==",
- "requires": {
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-simple-access": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/helper-validator-identifier": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.16.7",
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-optimise-call-expression": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz",
- "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==",
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-plugin-utils": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz",
- "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA=="
- },
- "@babel/helper-remap-async-to-generator": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz",
- "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-wrap-function": "^7.16.8",
- "@babel/types": "^7.16.8"
- }
- },
- "@babel/helper-replace-supers": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz",
- "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==",
- "requires": {
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-member-expression-to-functions": "^7.16.7",
- "@babel/helper-optimise-call-expression": "^7.16.7",
- "@babel/traverse": "^7.16.7",
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-simple-access": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz",
- "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==",
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz",
- "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==",
- "requires": {
- "@babel/types": "^7.16.0"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
- "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-validator-identifier": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
- "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw=="
- },
- "@babel/helper-validator-option": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz",
- "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ=="
- },
- "@babel/helper-wrap-function": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz",
- "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==",
- "requires": {
- "@babel/helper-function-name": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.16.8",
- "@babel/types": "^7.16.8"
- }
- },
- "@babel/helpers": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz",
- "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==",
- "requires": {
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.16.7",
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/highlight": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz",
- "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==",
- "requires": {
- "@babel/helper-validator-identifier": "^7.16.7",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- }
- }
- },
- "@babel/parser": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz",
- "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw=="
- },
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz",
- "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz",
- "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
- "@babel/plugin-proposal-optional-chaining": "^7.16.7"
- }
- },
- "@babel/plugin-proposal-async-generator-functions": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz",
- "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-remap-async-to-generator": "^7.16.8",
- "@babel/plugin-syntax-async-generators": "^7.8.4"
- }
- },
- "@babel/plugin-proposal-class-properties": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz",
- "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==",
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-proposal-class-static-block": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz",
- "integrity": "sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==",
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-class-static-block": "^7.14.5"
- }
- },
- "@babel/plugin-proposal-dynamic-import": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz",
- "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-export-namespace-from": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz",
- "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-json-strings": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz",
- "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-json-strings": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-logical-assignment-operators": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz",
- "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
- }
- },
- "@babel/plugin-proposal-nullish-coalescing-operator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz",
- "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-numeric-separator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz",
- "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
- }
- },
- "@babel/plugin-proposal-object-rest-spread": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz",
- "integrity": "sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==",
- "requires": {
- "@babel/compat-data": "^7.16.4",
- "@babel/helper-compilation-targets": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.16.7"
- }
- },
- "@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz",
- "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-optional-chaining": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz",
- "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-private-methods": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz",
- "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==",
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-proposal-private-property-in-object": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz",
- "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-create-class-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
- }
- },
- "@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz",
- "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==",
- "requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
- "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.12.13"
- }
- },
- "@babel/plugin-syntax-class-static-block": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
- "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-syntax-dynamic-import": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
- "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-export-namespace-from": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
- "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.3"
- }
- },
- "@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-jsx": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz",
- "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@babel/plugin-syntax-private-property-in-object": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
- "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
- "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-syntax-typescript": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz",
- "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-arrow-functions": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz",
- "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-async-to-generator": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz",
- "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==",
- "requires": {
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-remap-async-to-generator": "^7.16.8"
- }
- },
- "@babel/plugin-transform-block-scoped-functions": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz",
- "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-block-scoping": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz",
- "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-classes": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz",
- "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-optimise-call-expression": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-replace-supers": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "globals": "^11.1.0"
- }
- },
- "@babel/plugin-transform-computed-properties": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz",
- "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-destructuring": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz",
- "integrity": "sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-dotall-regex": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz",
- "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==",
- "requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-duplicate-keys": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz",
- "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-exponentiation-operator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz",
- "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==",
- "requires": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-for-of": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz",
- "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-function-name": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz",
- "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==",
- "requires": {
- "@babel/helper-compilation-targets": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-literals": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz",
- "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-member-expression-literals": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz",
- "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-modules-amd": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz",
- "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==",
- "requires": {
- "@babel/helper-module-transforms": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "babel-plugin-dynamic-import-node": "^2.3.3"
- },
- "dependencies": {
- "babel-plugin-dynamic-import-node": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
- "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
- "requires": {
- "object.assign": "^4.1.0"
- }
- }
- }
- },
- "@babel/plugin-transform-modules-commonjs": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz",
- "integrity": "sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==",
- "requires": {
- "@babel/helper-module-transforms": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-simple-access": "^7.16.7",
- "babel-plugin-dynamic-import-node": "^2.3.3"
- },
- "dependencies": {
- "babel-plugin-dynamic-import-node": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
- "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
- "requires": {
- "object.assign": "^4.1.0"
- }
- }
- }
- },
- "@babel/plugin-transform-modules-systemjs": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz",
- "integrity": "sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==",
- "requires": {
- "@babel/helper-hoist-variables": "^7.16.7",
- "@babel/helper-module-transforms": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-validator-identifier": "^7.16.7",
- "babel-plugin-dynamic-import-node": "^2.3.3"
- },
- "dependencies": {
- "babel-plugin-dynamic-import-node": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
- "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
- "requires": {
- "object.assign": "^4.1.0"
- }
- }
- }
- },
- "@babel/plugin-transform-modules-umd": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz",
- "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==",
- "requires": {
- "@babel/helper-module-transforms": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz",
- "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==",
- "requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.16.7"
- }
- },
- "@babel/plugin-transform-new-target": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz",
- "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-object-super": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz",
- "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-replace-supers": "^7.16.7"
- }
- },
- "@babel/plugin-transform-parameters": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz",
- "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-property-literals": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz",
- "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-react-constant-elements": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.16.7.tgz",
- "integrity": "sha512-lF+cfsyTgwWkcw715J88JhMYJ5GpysYNLhLP1PkvkhTRN7B3e74R/1KsDxFxhRpSn0UUD3IWM4GvdBR2PEbbQQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-react-display-name": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz",
- "integrity": "sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-react-jsx": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz",
- "integrity": "sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-jsx": "^7.16.7",
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/plugin-transform-react-jsx-development": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz",
- "integrity": "sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==",
- "requires": {
- "@babel/plugin-transform-react-jsx": "^7.16.7"
- }
- },
- "@babel/plugin-transform-react-pure-annotations": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz",
- "integrity": "sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-regenerator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz",
- "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==",
- "requires": {
- "regenerator-transform": "^0.14.2"
- }
- },
- "@babel/plugin-transform-reserved-words": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz",
- "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-runtime": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.8.tgz",
- "integrity": "sha512-6Kg2XHPFnIarNweZxmzbgYnnWsXxkx9WQUVk2sksBRL80lBC1RAQV3wQagWxdCHiYHqPN+oenwNIuttlYgIbQQ==",
- "requires": {
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "babel-plugin-polyfill-corejs2": "^0.3.0",
- "babel-plugin-polyfill-corejs3": "^0.5.0",
- "babel-plugin-polyfill-regenerator": "^0.3.0",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "@babel/plugin-transform-shorthand-properties": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz",
- "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-spread": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz",
- "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0"
- }
- },
- "@babel/plugin-transform-sticky-regex": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz",
- "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-template-literals": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz",
- "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-typeof-symbol": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz",
- "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-typescript": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz",
- "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==",
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-typescript": "^7.16.7"
- }
- },
- "@babel/plugin-transform-unicode-escapes": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz",
- "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-unicode-regex": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz",
- "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==",
- "requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/preset-env": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.8.tgz",
- "integrity": "sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg==",
- "requires": {
- "@babel/compat-data": "^7.16.8",
- "@babel/helper-compilation-targets": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-validator-option": "^7.16.7",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7",
- "@babel/plugin-proposal-async-generator-functions": "^7.16.8",
- "@babel/plugin-proposal-class-properties": "^7.16.7",
- "@babel/plugin-proposal-class-static-block": "^7.16.7",
- "@babel/plugin-proposal-dynamic-import": "^7.16.7",
- "@babel/plugin-proposal-export-namespace-from": "^7.16.7",
- "@babel/plugin-proposal-json-strings": "^7.16.7",
- "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7",
- "@babel/plugin-proposal-numeric-separator": "^7.16.7",
- "@babel/plugin-proposal-object-rest-spread": "^7.16.7",
- "@babel/plugin-proposal-optional-catch-binding": "^7.16.7",
- "@babel/plugin-proposal-optional-chaining": "^7.16.7",
- "@babel/plugin-proposal-private-methods": "^7.16.7",
- "@babel/plugin-proposal-private-property-in-object": "^7.16.7",
- "@babel/plugin-proposal-unicode-property-regex": "^7.16.7",
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-class-properties": "^7.12.13",
- "@babel/plugin-syntax-class-static-block": "^7.14.5",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
- "@babel/plugin-syntax-top-level-await": "^7.14.5",
- "@babel/plugin-transform-arrow-functions": "^7.16.7",
- "@babel/plugin-transform-async-to-generator": "^7.16.8",
- "@babel/plugin-transform-block-scoped-functions": "^7.16.7",
- "@babel/plugin-transform-block-scoping": "^7.16.7",
- "@babel/plugin-transform-classes": "^7.16.7",
- "@babel/plugin-transform-computed-properties": "^7.16.7",
- "@babel/plugin-transform-destructuring": "^7.16.7",
- "@babel/plugin-transform-dotall-regex": "^7.16.7",
- "@babel/plugin-transform-duplicate-keys": "^7.16.7",
- "@babel/plugin-transform-exponentiation-operator": "^7.16.7",
- "@babel/plugin-transform-for-of": "^7.16.7",
- "@babel/plugin-transform-function-name": "^7.16.7",
- "@babel/plugin-transform-literals": "^7.16.7",
- "@babel/plugin-transform-member-expression-literals": "^7.16.7",
- "@babel/plugin-transform-modules-amd": "^7.16.7",
- "@babel/plugin-transform-modules-commonjs": "^7.16.8",
- "@babel/plugin-transform-modules-systemjs": "^7.16.7",
- "@babel/plugin-transform-modules-umd": "^7.16.7",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8",
- "@babel/plugin-transform-new-target": "^7.16.7",
- "@babel/plugin-transform-object-super": "^7.16.7",
- "@babel/plugin-transform-parameters": "^7.16.7",
- "@babel/plugin-transform-property-literals": "^7.16.7",
- "@babel/plugin-transform-regenerator": "^7.16.7",
- "@babel/plugin-transform-reserved-words": "^7.16.7",
- "@babel/plugin-transform-shorthand-properties": "^7.16.7",
- "@babel/plugin-transform-spread": "^7.16.7",
- "@babel/plugin-transform-sticky-regex": "^7.16.7",
- "@babel/plugin-transform-template-literals": "^7.16.7",
- "@babel/plugin-transform-typeof-symbol": "^7.16.7",
- "@babel/plugin-transform-unicode-escapes": "^7.16.7",
- "@babel/plugin-transform-unicode-regex": "^7.16.7",
- "@babel/preset-modules": "^0.1.5",
- "@babel/types": "^7.16.8",
- "babel-plugin-polyfill-corejs2": "^0.3.0",
- "babel-plugin-polyfill-corejs3": "^0.5.0",
- "babel-plugin-polyfill-regenerator": "^0.3.0",
- "core-js-compat": "^3.20.2",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "@babel/preset-modules": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
- "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
- "@babel/plugin-transform-dotall-regex": "^7.4.4",
- "@babel/types": "^7.4.4",
- "esutils": "^2.0.2"
- }
- },
- "@babel/preset-react": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.7.tgz",
- "integrity": "sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-validator-option": "^7.16.7",
- "@babel/plugin-transform-react-display-name": "^7.16.7",
- "@babel/plugin-transform-react-jsx": "^7.16.7",
- "@babel/plugin-transform-react-jsx-development": "^7.16.7",
- "@babel/plugin-transform-react-pure-annotations": "^7.16.7"
- }
- },
- "@babel/preset-typescript": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz",
- "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-validator-option": "^7.16.7",
- "@babel/plugin-transform-typescript": "^7.16.7"
- }
- },
- "@babel/runtime": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz",
- "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==",
- "requires": {
- "regenerator-runtime": "^0.13.4"
- }
- },
- "@babel/runtime-corejs3": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.8.tgz",
- "integrity": "sha512-3fKhuICS1lMz0plI5ktOE/yEtBRMVxplzRkdn6mJQ197XiY0JnrzYV0+Mxozq3JZ8SBV9Ecurmw1XsGbwOf+Sg==",
- "requires": {
- "core-js-pure": "^3.20.2",
- "regenerator-runtime": "^0.13.4"
- }
- },
- "@babel/template": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
- "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
- "requires": {
- "@babel/code-frame": "^7.16.7",
- "@babel/parser": "^7.16.7",
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/traverse": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz",
- "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==",
- "requires": {
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.16.8",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-hoist-variables": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.16.8",
- "@babel/types": "^7.16.8",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- }
- },
- "@babel/types": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz",
- "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==",
- "requires": {
- "@babel/helper-validator-identifier": "^7.16.7",
- "to-fast-properties": "^2.0.0"
- }
- },
- "@braintree/sanitize-url": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-5.0.2.tgz",
- "integrity": "sha512-NBEJlHWrhQucLhZGHtSxM2loSaNUMajC7KOYJLyfcdW/6goVoff2HoYI3bz8YCDN0wKGbxtUL0gx2dvHpvnWlw=="
- },
- "@ctrl/tinycolor": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz",
- "integrity": "sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ=="
- },
- "@docsearch/css": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.0.0.tgz",
- "integrity": "sha512-1kkV7tkAsiuEd0shunYRByKJe3xQDG2q7wYg24SOw1nV9/2lwEd4WrUYRJC/ukGTl2/kHeFxsaUvtiOy0y6fFA=="
- },
- "@docsearch/react": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.0.0.tgz",
- "integrity": "sha512-yhMacqS6TVQYoBh/o603zszIb5Bl8MIXuOc6Vy617I74pirisDzzcNh0NEaYQt50fVVR3khUbeEhUEWEWipESg==",
- "requires": {
- "@algolia/autocomplete-core": "1.5.2",
- "@algolia/autocomplete-preset-algolia": "1.5.2",
- "@docsearch/css": "3.0.0",
- "algoliasearch": "^4.0.0"
- }
- },
- "@docusaurus/core": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.0.0-beta.17.tgz",
- "integrity": "sha512-iNdW7CsmHNOgc4PxD9BFxa+MD8+i7ln7erOBkF3FSMMPnsKUeVqsR3rr31aLmLZRlTXMITSPLxlXwtBZa3KPCw==",
- "requires": {
- "@babel/core": "^7.17.5",
- "@babel/generator": "^7.17.3",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-transform-runtime": "^7.17.0",
- "@babel/preset-env": "^7.16.11",
- "@babel/preset-react": "^7.16.7",
- "@babel/preset-typescript": "^7.16.7",
- "@babel/runtime": "^7.17.2",
- "@babel/runtime-corejs3": "^7.17.2",
- "@babel/traverse": "^7.17.3",
- "@docusaurus/cssnano-preset": "2.0.0-beta.17",
- "@docusaurus/logger": "2.0.0-beta.17",
- "@docusaurus/mdx-loader": "2.0.0-beta.17",
- "@docusaurus/react-loadable": "5.5.2",
- "@docusaurus/utils": "2.0.0-beta.17",
- "@docusaurus/utils-common": "2.0.0-beta.17",
- "@docusaurus/utils-validation": "2.0.0-beta.17",
- "@slorber/static-site-generator-webpack-plugin": "^4.0.1",
- "@svgr/webpack": "^6.2.1",
- "autoprefixer": "^10.4.2",
- "babel-loader": "^8.2.3",
- "babel-plugin-dynamic-import-node": "2.3.0",
- "boxen": "^6.2.1",
- "chokidar": "^3.5.3",
- "clean-css": "^5.2.4",
- "cli-table3": "^0.6.1",
- "combine-promises": "^1.1.0",
- "commander": "^5.1.0",
- "copy-webpack-plugin": "^10.2.4",
- "core-js": "^3.21.1",
- "css-loader": "^6.6.0",
- "css-minimizer-webpack-plugin": "^3.4.1",
- "cssnano": "^5.0.17",
- "del": "^6.0.0",
- "detect-port": "^1.3.0",
- "escape-html": "^1.0.3",
- "eta": "^1.12.3",
- "file-loader": "^6.2.0",
- "fs-extra": "^10.0.1",
- "html-minifier-terser": "^6.1.0",
- "html-tags": "^3.1.0",
- "html-webpack-plugin": "^5.5.0",
- "import-fresh": "^3.3.0",
- "is-root": "^2.1.0",
- "leven": "^3.1.0",
- "lodash": "^4.17.21",
- "mini-css-extract-plugin": "^2.5.3",
- "nprogress": "^0.2.0",
- "postcss": "^8.4.7",
- "postcss-loader": "^6.2.1",
- "prompts": "^2.4.2",
- "react-dev-utils": "^12.0.0",
- "react-helmet-async": "^1.2.3",
- "react-loadable": "npm:@docusaurus/react-loadable@5.5.2",
- "react-loadable-ssr-addon-v5-slorber": "^1.0.1",
- "react-router": "^5.2.0",
- "react-router-config": "^5.1.1",
- "react-router-dom": "^5.2.0",
- "remark-admonitions": "^1.2.1",
- "rtl-detect": "^1.0.4",
- "semver": "^7.3.4",
- "serve-handler": "^6.1.3",
- "shelljs": "^0.8.5",
- "terser-webpack-plugin": "^5.3.1",
- "tslib": "^2.3.1",
- "update-notifier": "^5.1.0",
- "url-loader": "^4.1.1",
- "wait-on": "^6.0.1",
- "webpack": "^5.69.1",
- "webpack-bundle-analyzer": "^4.5.0",
- "webpack-dev-server": "^4.7.4",
- "webpack-merge": "^5.8.0",
- "webpackbar": "^5.0.2"
- },
- "dependencies": {
- "@babel/core": {
- "version": "7.17.5",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz",
- "integrity": "sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==",
- "requires": {
- "@ampproject/remapping": "^2.1.0",
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.3",
- "@babel/helper-compilation-targets": "^7.16.7",
- "@babel/helper-module-transforms": "^7.16.7",
- "@babel/helpers": "^7.17.2",
- "@babel/parser": "^7.17.3",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.3",
- "@babel/types": "^7.17.0",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "@babel/generator": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz",
- "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==",
- "requires": {
- "@babel/types": "^7.17.0",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
- }
- },
- "@babel/helper-create-class-features-plugin": {
- "version": "7.17.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz",
- "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-member-expression-to-functions": "^7.16.7",
- "@babel/helper-optimise-call-expression": "^7.16.7",
- "@babel/helper-replace-supers": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7"
- }
- },
- "@babel/helpers": {
- "version": "7.17.2",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz",
- "integrity": "sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==",
- "requires": {
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.0",
- "@babel/types": "^7.17.0"
- }
- },
- "@babel/parser": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz",
- "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA=="
- },
- "@babel/plugin-proposal-private-methods": {
- "version": "7.16.11",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz",
- "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==",
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.10",
- "@babel/helper-plugin-utils": "^7.16.7"
- }
- },
- "@babel/plugin-transform-runtime": {
- "version": "7.17.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz",
- "integrity": "sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==",
- "requires": {
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "babel-plugin-polyfill-corejs2": "^0.3.0",
- "babel-plugin-polyfill-corejs3": "^0.5.0",
- "babel-plugin-polyfill-regenerator": "^0.3.0",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "@babel/preset-env": {
- "version": "7.16.11",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz",
- "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==",
- "requires": {
- "@babel/compat-data": "^7.16.8",
- "@babel/helper-compilation-targets": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-validator-option": "^7.16.7",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7",
- "@babel/plugin-proposal-async-generator-functions": "^7.16.8",
- "@babel/plugin-proposal-class-properties": "^7.16.7",
- "@babel/plugin-proposal-class-static-block": "^7.16.7",
- "@babel/plugin-proposal-dynamic-import": "^7.16.7",
- "@babel/plugin-proposal-export-namespace-from": "^7.16.7",
- "@babel/plugin-proposal-json-strings": "^7.16.7",
- "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7",
- "@babel/plugin-proposal-numeric-separator": "^7.16.7",
- "@babel/plugin-proposal-object-rest-spread": "^7.16.7",
- "@babel/plugin-proposal-optional-catch-binding": "^7.16.7",
- "@babel/plugin-proposal-optional-chaining": "^7.16.7",
- "@babel/plugin-proposal-private-methods": "^7.16.11",
- "@babel/plugin-proposal-private-property-in-object": "^7.16.7",
- "@babel/plugin-proposal-unicode-property-regex": "^7.16.7",
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-class-properties": "^7.12.13",
- "@babel/plugin-syntax-class-static-block": "^7.14.5",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
- "@babel/plugin-syntax-top-level-await": "^7.14.5",
- "@babel/plugin-transform-arrow-functions": "^7.16.7",
- "@babel/plugin-transform-async-to-generator": "^7.16.8",
- "@babel/plugin-transform-block-scoped-functions": "^7.16.7",
- "@babel/plugin-transform-block-scoping": "^7.16.7",
- "@babel/plugin-transform-classes": "^7.16.7",
- "@babel/plugin-transform-computed-properties": "^7.16.7",
- "@babel/plugin-transform-destructuring": "^7.16.7",
- "@babel/plugin-transform-dotall-regex": "^7.16.7",
- "@babel/plugin-transform-duplicate-keys": "^7.16.7",
- "@babel/plugin-transform-exponentiation-operator": "^7.16.7",
- "@babel/plugin-transform-for-of": "^7.16.7",
- "@babel/plugin-transform-function-name": "^7.16.7",
- "@babel/plugin-transform-literals": "^7.16.7",
- "@babel/plugin-transform-member-expression-literals": "^7.16.7",
- "@babel/plugin-transform-modules-amd": "^7.16.7",
- "@babel/plugin-transform-modules-commonjs": "^7.16.8",
- "@babel/plugin-transform-modules-systemjs": "^7.16.7",
- "@babel/plugin-transform-modules-umd": "^7.16.7",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8",
- "@babel/plugin-transform-new-target": "^7.16.7",
- "@babel/plugin-transform-object-super": "^7.16.7",
- "@babel/plugin-transform-parameters": "^7.16.7",
- "@babel/plugin-transform-property-literals": "^7.16.7",
- "@babel/plugin-transform-regenerator": "^7.16.7",
- "@babel/plugin-transform-reserved-words": "^7.16.7",
- "@babel/plugin-transform-shorthand-properties": "^7.16.7",
- "@babel/plugin-transform-spread": "^7.16.7",
- "@babel/plugin-transform-sticky-regex": "^7.16.7",
- "@babel/plugin-transform-template-literals": "^7.16.7",
- "@babel/plugin-transform-typeof-symbol": "^7.16.7",
- "@babel/plugin-transform-unicode-escapes": "^7.16.7",
- "@babel/plugin-transform-unicode-regex": "^7.16.7",
- "@babel/preset-modules": "^0.1.5",
- "@babel/types": "^7.16.8",
- "babel-plugin-polyfill-corejs2": "^0.3.0",
- "babel-plugin-polyfill-corejs3": "^0.5.0",
- "babel-plugin-polyfill-regenerator": "^0.3.0",
- "core-js-compat": "^3.20.2",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "@babel/runtime": {
- "version": "7.17.2",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz",
- "integrity": "sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==",
- "requires": {
- "regenerator-runtime": "^0.13.4"
- }
- },
- "@babel/runtime-corejs3": {
- "version": "7.17.2",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.17.2.tgz",
- "integrity": "sha512-NcKtr2epxfIrNM4VOmPKO46TvDMCBhgi2CrSHaEarrz+Plk2K5r9QemmOFTGpZaoKnWoGH5MO+CzeRsih/Fcgg==",
- "requires": {
- "core-js-pure": "^3.20.2",
- "regenerator-runtime": "^0.13.4"
- }
- },
- "@babel/traverse": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz",
- "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==",
- "requires": {
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.3",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-hoist-variables": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.17.3",
- "@babel/types": "^7.17.0",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- }
- },
- "@babel/types": {
- "version": "7.17.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz",
- "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==",
- "requires": {
- "@babel/helper-validator-identifier": "^7.16.7",
- "to-fast-properties": "^2.0.0"
- }
- },
- "@docusaurus/logger": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.0.0-beta.17.tgz",
- "integrity": "sha512-F9JDl06/VLg+ylsvnq9NpILSUeWtl0j4H2LtlLzX5gufEL4dGiCMlnUzYdHl7FSHSzYJ0A/R7vu0SYofsexC4w==",
- "requires": {
- "chalk": "^4.1.2",
- "tslib": "^2.3.1"
- }
- },
- "@svgr/babel-plugin-add-jsx-attribute": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.0.0.tgz",
- "integrity": "sha512-MdPdhdWLtQsjd29Wa4pABdhWbaRMACdM1h31BY+c6FghTZqNGT7pEYdBoaGeKtdTOBC/XNFQaKVj+r/Ei2ryWA=="
- },
- "@svgr/babel-plugin-remove-jsx-attribute": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.0.0.tgz",
- "integrity": "sha512-aVdtfx9jlaaxc3unA6l+M9YRnKIZjOhQPthLKqmTXC8UVkBLDRGwPKo+r8n3VZN8B34+yVajzPTZ+ptTSuZZCw=="
- },
- "@svgr/babel-plugin-remove-jsx-empty-expression": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.0.0.tgz",
- "integrity": "sha512-Ccj42ApsePD451AZJJf1QzTD1B/BOU392URJTeXFxSK709i0KUsGtbwyiqsKu7vsYxpTM0IA5clAKDyf9RCZyA=="
- },
- "@svgr/babel-plugin-replace-jsx-attribute-value": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.0.0.tgz",
- "integrity": "sha512-88V26WGyt1Sfd1emBYmBJRWMmgarrExpKNVmI9vVozha4kqs6FzQJ/Kp5+EYli1apgX44518/0+t9+NU36lThQ=="
- },
- "@svgr/babel-plugin-svg-dynamic-title": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.0.0.tgz",
- "integrity": "sha512-F7YXNLfGze+xv0KMQxrl2vkNbI9kzT9oDK55/kUuymh1ACyXkMV+VZWX1zEhSTfEKh7VkHVZGmVtHg8eTZ6PRg=="
- },
- "@svgr/babel-plugin-svg-em-dimensions": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.0.0.tgz",
- "integrity": "sha512-+rghFXxdIqJNLQK08kwPBD3Z22/0b2tEZ9lKiL/yTfuyj1wW8HUXu4bo/XkogATIYuXSghVQOOCwURXzHGKyZA=="
- },
- "@svgr/babel-plugin-transform-react-native-svg": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.0.0.tgz",
- "integrity": "sha512-VaphyHZ+xIKv5v0K0HCzyfAaLhPGJXSk2HkpYfXIOKb7DjLBv0soHDxNv6X0vr2titsxE7klb++u7iOf7TSrFQ=="
- },
- "@svgr/babel-plugin-transform-svg-component": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.2.0.tgz",
- "integrity": "sha512-bhYIpsORb++wpsp91fymbFkf09Z/YEKR0DnFjxvN+8JHeCUD2unnh18jIMKnDJTWtvpTaGYPXELVe4OOzFI0xg=="
- },
- "@svgr/babel-preset": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.2.0.tgz",
- "integrity": "sha512-4WQNY0J71JIaL03DRn0vLiz87JXx0b9dYm2aA8XHlQJQoixMl4r/soYHm8dsaJZ3jWtkCiOYy48dp9izvXhDkQ==",
- "requires": {
- "@svgr/babel-plugin-add-jsx-attribute": "^6.0.0",
- "@svgr/babel-plugin-remove-jsx-attribute": "^6.0.0",
- "@svgr/babel-plugin-remove-jsx-empty-expression": "^6.0.0",
- "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.0.0",
- "@svgr/babel-plugin-svg-dynamic-title": "^6.0.0",
- "@svgr/babel-plugin-svg-em-dimensions": "^6.0.0",
- "@svgr/babel-plugin-transform-react-native-svg": "^6.0.0",
- "@svgr/babel-plugin-transform-svg-component": "^6.2.0"
- }
- },
- "@svgr/core": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.2.1.tgz",
- "integrity": "sha512-NWufjGI2WUyrg46mKuySfviEJ6IxHUOm/8a3Ph38VCWSp+83HBraCQrpEM3F3dB6LBs5x8OElS8h3C0oOJaJAA==",
- "requires": {
- "@svgr/plugin-jsx": "^6.2.1",
- "camelcase": "^6.2.0",
- "cosmiconfig": "^7.0.1"
- }
- },
- "@svgr/hast-util-to-babel-ast": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.2.1.tgz",
- "integrity": "sha512-pt7MMkQFDlWJVy9ULJ1h+hZBDGFfSCwlBNW1HkLnVi7jUhyEXUaGYWi1x6bM2IXuAR9l265khBT4Av4lPmaNLQ==",
- "requires": {
- "@babel/types": "^7.15.6",
- "entities": "^3.0.1"
- }
- },
- "@svgr/plugin-jsx": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.2.1.tgz",
- "integrity": "sha512-u+MpjTsLaKo6r3pHeeSVsh9hmGRag2L7VzApWIaS8imNguqoUwDq/u6U/NDmYs/KAsrmtBjOEaAAPbwNGXXp1g==",
- "requires": {
- "@babel/core": "^7.15.5",
- "@svgr/babel-preset": "^6.2.0",
- "@svgr/hast-util-to-babel-ast": "^6.2.1",
- "svg-parser": "^2.0.2"
- }
- },
- "@svgr/plugin-svgo": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.2.0.tgz",
- "integrity": "sha512-oDdMQONKOJEbuKwuy4Np6VdV6qoaLLvoY86hjvQEgU82Vx1MSWRyYms6Sl0f+NtqxLI/rDVufATbP/ev996k3Q==",
- "requires": {
- "cosmiconfig": "^7.0.1",
- "deepmerge": "^4.2.2",
- "svgo": "^2.5.0"
- }
- },
- "@svgr/webpack": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.2.1.tgz",
- "integrity": "sha512-h09ngMNd13hnePwgXa+Y5CgOjzlCvfWLHg+MBnydEedAnuLRzUHUJmGS3o2OsrhxTOOqEsPOFt5v/f6C5Qulcw==",
- "requires": {
- "@babel/core": "^7.15.5",
- "@babel/plugin-transform-react-constant-elements": "^7.14.5",
- "@babel/preset-env": "^7.15.6",
- "@babel/preset-react": "^7.14.5",
- "@babel/preset-typescript": "^7.15.0",
- "@svgr/core": "^6.2.1",
- "@svgr/plugin-jsx": "^6.2.1",
- "@svgr/plugin-svgo": "^6.2.0"
- }
- },
- "@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
- },
- "ajv": {
- "version": "8.10.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz",
- "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-keywords": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
- "requires": {
- "fast-deep-equal": "^3.1.3"
- }
- },
- "ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA=="
- },
- "ansi-styles": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz",
- "integrity": "sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ=="
- },
- "axios": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz",
- "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==",
- "requires": {
- "follow-redirects": "^1.14.7"
- }
- },
- "boxen": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz",
- "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==",
- "requires": {
- "ansi-align": "^3.0.1",
- "camelcase": "^6.2.0",
- "chalk": "^4.1.2",
- "cli-boxes": "^3.0.0",
- "string-width": "^5.0.1",
- "type-fest": "^2.5.0",
- "widest-line": "^4.0.1",
- "wrap-ansi": "^8.0.1"
- }
- },
- "chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "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"
- }
- },
- "clean-css": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.4.tgz",
- "integrity": "sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==",
- "requires": {
- "source-map": "~0.6.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- }
- }
- },
- "cli-boxes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz",
- "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g=="
- },
- "core-js": {
- "version": "3.21.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz",
- "integrity": "sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig=="
- },
- "css-minimizer-webpack-plugin": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz",
- "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==",
- "requires": {
- "cssnano": "^5.0.6",
- "jest-worker": "^27.0.2",
- "postcss": "^8.3.5",
- "schema-utils": "^4.0.0",
- "serialize-javascript": "^6.0.0",
- "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=="
- }
- }
- },
- "cssnano": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.0.tgz",
- "integrity": "sha512-wWxave1wMlThGg4ueK98jFKaNqXnQd1nVZpSkQ9XvR+YymlzP1ofWqES1JkHtI250LksP9z5JH+oDcrKDJezAg==",
- "requires": {
- "cssnano-preset-default": "^5.2.0",
- "lilconfig": "^2.0.3",
- "yaml": "^1.10.2"
- }
- },
- "cssnano-preset-default": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.0.tgz",
- "integrity": "sha512-3N5Vcptj2pqVKpHVqH6ezOJvqikR2PdLTbTrsrhF61FbLRQuujAqZ2sKN5rvcMsb7hFjrNnjZT8CGEkxoN/Pwg==",
- "requires": {
- "css-declaration-sorter": "^6.0.3",
- "cssnano-utils": "^3.1.0",
- "postcss-calc": "^8.2.3",
- "postcss-colormin": "^5.3.0",
- "postcss-convert-values": "^5.1.0",
- "postcss-discard-comments": "^5.1.0",
- "postcss-discard-duplicates": "^5.1.0",
- "postcss-discard-empty": "^5.1.0",
- "postcss-discard-overridden": "^5.1.0",
- "postcss-merge-longhand": "^5.1.0",
- "postcss-merge-rules": "^5.1.0",
- "postcss-minify-font-values": "^5.1.0",
- "postcss-minify-gradients": "^5.1.0",
- "postcss-minify-params": "^5.1.0",
- "postcss-minify-selectors": "^5.2.0",
- "postcss-normalize-charset": "^5.1.0",
- "postcss-normalize-display-values": "^5.1.0",
- "postcss-normalize-positions": "^5.1.0",
- "postcss-normalize-repeat-style": "^5.1.0",
- "postcss-normalize-string": "^5.1.0",
- "postcss-normalize-timing-functions": "^5.1.0",
- "postcss-normalize-unicode": "^5.1.0",
- "postcss-normalize-url": "^5.1.0",
- "postcss-normalize-whitespace": "^5.1.0",
- "postcss-ordered-values": "^5.1.0",
- "postcss-reduce-initial": "^5.1.0",
- "postcss-reduce-transforms": "^5.1.0",
- "postcss-svgo": "^5.1.0",
- "postcss-unique-selectors": "^5.1.0"
- }
- },
- "cssnano-utils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz",
- "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA=="
- },
- "emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
- },
- "enhanced-resolve": {
- "version": "5.9.2",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz",
- "integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==",
- "requires": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- }
- },
- "entities": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
- "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q=="
- },
- "fs-extra": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
- "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
- "joi": {
- "version": "17.6.0",
- "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz",
- "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==",
- "requires": {
- "@hapi/hoek": "^9.0.0",
- "@hapi/topo": "^5.0.0",
- "@sideway/address": "^4.1.3",
- "@sideway/formula": "^3.0.0",
- "@sideway/pinpoint": "^2.0.0"
- }
- },
- "json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
- },
- "mini-css-extract-plugin": {
- "version": "2.5.3",
- "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.3.tgz",
- "integrity": "sha512-YseMB8cs8U/KCaAGQoqYmfUuhhGW0a9p9XvWXrxVOkE3/IiISTLw4ALNt7JR5B2eYauFM+PQGSbXMDmVbR7Tfw==",
- "requires": {
- "schema-utils": "^4.0.0"
- }
- },
- "postcss": {
- "version": "8.4.7",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.7.tgz",
- "integrity": "sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A==",
- "requires": {
- "nanoid": "^3.3.1",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- }
- },
- "postcss-calc": {
- "version": "8.2.4",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz",
- "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==",
- "requires": {
- "postcss-selector-parser": "^6.0.9",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-colormin": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz",
- "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==",
- "requires": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0",
- "colord": "^2.9.1",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-convert-values": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz",
- "integrity": "sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-discard-comments": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.0.tgz",
- "integrity": "sha512-L0IKF4jAshRyn03SkEO6ar/Ipz2oLywVbg2THf2EqqdNkBwmVMxuTR/RoAltOw4piiaLt3gCAdrbAqmTBInmhg=="
- },
- "postcss-discard-duplicates": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz",
- "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw=="
- },
- "postcss-discard-empty": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.0.tgz",
- "integrity": "sha512-782T/buGgb3HOuHOJAHpdyKzAAKsv/BxWqsutnZ+QsiHEcDkY7v+6WWdturuBiSal6XMOO1p1aJvwXdqLD5vhA=="
- },
- "postcss-discard-overridden": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz",
- "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw=="
- },
- "postcss-merge-longhand": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.0.tgz",
- "integrity": "sha512-Gr46srN2tsLD8fudKYoHO56RG0BLQ2nsBRnSZGY04eNBPwTeWa9KeHrbL3tOLAHyB2aliikycPH2TMJG1U+W6g==",
- "requires": {
- "postcss-value-parser": "^4.2.0",
- "stylehacks": "^5.1.0"
- }
- },
- "postcss-merge-rules": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.0.tgz",
- "integrity": "sha512-NecukEJovQ0mG7h7xV8wbYAkXGTO3MPKnXvuiXzOKcxoOodfTTKYjeo8TMhAswlSkjcPIBlnKbSFcTuVSDaPyQ==",
- "requires": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0",
- "cssnano-utils": "^3.1.0",
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "postcss-minify-font-values": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz",
- "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-minify-gradients": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.0.tgz",
- "integrity": "sha512-J/TMLklkONn3LuL8wCwfwU8zKC1hpS6VcxFkNUNjmVt53uKqrrykR3ov11mdUYyqVMEx67slMce0tE14cE4DTg==",
- "requires": {
- "colord": "^2.9.1",
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-minify-params": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.0.tgz",
- "integrity": "sha512-q67dcts4Hct6x8+JmhBgctHkbvUsqGIg2IItenjE63iZXMbhjr7AlVZkNnKtIGt/1Wsv7p/7YzeSII6Q+KPXRg==",
- "requires": {
- "browserslist": "^4.16.6",
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-minify-selectors": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz",
- "integrity": "sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==",
- "requires": {
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "postcss-normalize-charset": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz",
- "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg=="
- },
- "postcss-normalize-display-values": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz",
- "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-positions": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz",
- "integrity": "sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-repeat-style": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz",
- "integrity": "sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-string": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz",
- "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-timing-functions": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz",
- "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-unicode": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz",
- "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==",
- "requires": {
- "browserslist": "^4.16.6",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-url": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz",
- "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==",
- "requires": {
- "normalize-url": "^6.0.1",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-whitespace": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.0.tgz",
- "integrity": "sha512-7O1FanKaJkpWFyCghFzIkLhehujV/frGkdofGLwhg5upbLyGsSfiTcZAdSzoPsSUgyPCkBkNMeWR8yVgPdQybg==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-ordered-values": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.0.tgz",
- "integrity": "sha512-wU4Z4D4uOIH+BUKkYid36gGDJNQtkVJT7Twv8qH6UyfttbbJWyw4/xIPuVEkkCtQLAJ0EdsNSh8dlvqkXb49TA==",
- "requires": {
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-reduce-initial": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz",
- "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==",
- "requires": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0"
- }
- },
- "postcss-reduce-transforms": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz",
- "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-selector-parser": {
- "version": "6.0.9",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz",
- "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==",
- "requires": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- }
- },
- "postcss-svgo": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz",
- "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==",
- "requires": {
- "postcss-value-parser": "^4.2.0",
- "svgo": "^2.7.0"
- }
- },
- "postcss-unique-selectors": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.0.tgz",
- "integrity": "sha512-LmUhgGobtpeVJJHuogzjLRwJlN7VH+BL5c9GKMVJSS/ejoyePZkXvNsYUtk//F6vKOGK86gfRS0xH7fXQSDtvA==",
- "requires": {
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
- },
- "react-loadable": {
- "version": "npm:@docusaurus/react-loadable@5.5.2",
- "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz",
- "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==",
- "requires": {
- "@types/react": "*",
- "prop-types": "^15.6.2"
- }
- },
- "rxjs": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.4.tgz",
- "integrity": "sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ==",
- "requires": {
- "tslib": "^2.1.0"
- }
- },
- "schema-utils": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
- "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
- "requires": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.8.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.0.0"
- }
- },
- "selfsigned": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz",
- "integrity": "sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==",
- "requires": {
- "node-forge": "^1.2.0"
- }
- },
- "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=="
- },
- "string-width": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
- "requires": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
- }
- },
- "strip-ansi": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz",
- "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==",
- "requires": {
- "ansi-regex": "^6.0.1"
- }
- },
- "stylehacks": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz",
- "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==",
- "requires": {
- "browserslist": "^4.16.6",
- "postcss-selector-parser": "^6.0.4"
- }
- },
- "terser-webpack-plugin": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz",
- "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==",
- "requires": {
- "jest-worker": "^27.4.5",
- "schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.0",
- "source-map": "^0.6.1",
- "terser": "^5.7.2"
- },
- "dependencies": {
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-keywords": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
- },
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- }
- }
- },
- "type-fest": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.12.0.tgz",
- "integrity": "sha512-Qe5GRT+n/4GoqCNGGVp5Snapg1Omq3V7irBJB3EaKsp7HWDo5Gv2d/67gfNyV+d5EXD+x/RF5l1h4yJ7qNkcGA=="
- },
- "wait-on": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz",
- "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==",
- "requires": {
- "axios": "^0.25.0",
- "joi": "^17.6.0",
- "lodash": "^4.17.21",
- "minimist": "^1.2.5",
- "rxjs": "^7.5.4"
- }
- },
- "webpack": {
- "version": "5.70.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz",
- "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==",
- "requires": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.9.2",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
- "webpack-sources": "^3.2.3"
- },
- "dependencies": {
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-keywords": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
- },
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- }
- }
- },
- "webpack-dev-middleware": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz",
- "integrity": "sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==",
- "requires": {
- "colorette": "^2.0.10",
- "memfs": "^3.4.1",
- "mime-types": "^2.1.31",
- "range-parser": "^1.2.1",
- "schema-utils": "^4.0.0"
- }
- },
- "webpack-dev-server": {
- "version": "4.7.4",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz",
- "integrity": "sha512-nfdsb02Zi2qzkNmgtZjkrMOcXnYZ6FLKcQwpxT7MvmHKc+oTtDsBju8j+NMyAygZ9GW1jMEUpy3itHtqgEhe1A==",
- "requires": {
- "@types/bonjour": "^3.5.9",
- "@types/connect-history-api-fallback": "^1.3.5",
- "@types/express": "^4.17.13",
- "@types/serve-index": "^1.9.1",
- "@types/sockjs": "^0.3.33",
- "@types/ws": "^8.2.2",
- "ansi-html-community": "^0.0.8",
- "bonjour": "^3.5.0",
- "chokidar": "^3.5.3",
- "colorette": "^2.0.10",
- "compression": "^1.7.4",
- "connect-history-api-fallback": "^1.6.0",
- "default-gateway": "^6.0.3",
- "del": "^6.0.0",
- "express": "^4.17.1",
- "graceful-fs": "^4.2.6",
- "html-entities": "^2.3.2",
- "http-proxy-middleware": "^2.0.0",
- "ipaddr.js": "^2.0.1",
- "open": "^8.0.9",
- "p-retry": "^4.5.0",
- "portfinder": "^1.0.28",
- "schema-utils": "^4.0.0",
- "selfsigned": "^2.0.0",
- "serve-index": "^1.9.1",
- "sockjs": "^0.3.21",
- "spdy": "^4.0.2",
- "strip-ansi": "^7.0.0",
- "webpack-dev-middleware": "^5.3.1",
- "ws": "^8.4.2"
- }
- },
- "webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
- },
- "widest-line": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz",
- "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==",
- "requires": {
- "string-width": "^5.0.1"
- }
- },
- "wrap-ansi": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.0.1.tgz",
- "integrity": "sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==",
- "requires": {
- "ansi-styles": "^6.1.0",
- "string-width": "^5.0.1",
- "strip-ansi": "^7.0.1"
- }
- },
- "ws": {
- "version": "8.5.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
- "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg=="
- }
- }
- },
- "@docusaurus/cssnano-preset": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-beta.17.tgz",
- "integrity": "sha512-DoBwtLjJ9IY9/lNMHIEdo90L4NDayvU28nLgtjR2Sc6aBIMEB/3a5Ndjehnp+jZAkwcDdNASA86EkZVUyz1O1A==",
- "requires": {
- "cssnano-preset-advanced": "^5.1.12",
- "postcss": "^8.4.7",
- "postcss-sort-media-queries": "^4.2.1"
- },
- "dependencies": {
- "cssnano-preset-advanced": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.2.0.tgz",
- "integrity": "sha512-E7jJoKc2GjZsRLm8wQd2wZa+1a6tslA1elimwpcJTnH6dBQBkjQ8tAwNWUeyT72owYcCNGWTnar60bTnrnEWzw==",
- "requires": {
- "autoprefixer": "^10.3.7",
- "cssnano-preset-default": "^5.2.0",
- "postcss-discard-unused": "^5.1.0",
- "postcss-merge-idents": "^5.1.0",
- "postcss-reduce-idents": "^5.1.0",
- "postcss-zindex": "^5.1.0"
- }
- },
- "cssnano-preset-default": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.0.tgz",
- "integrity": "sha512-3N5Vcptj2pqVKpHVqH6ezOJvqikR2PdLTbTrsrhF61FbLRQuujAqZ2sKN5rvcMsb7hFjrNnjZT8CGEkxoN/Pwg==",
- "requires": {
- "css-declaration-sorter": "^6.0.3",
- "cssnano-utils": "^3.1.0",
- "postcss-calc": "^8.2.3",
- "postcss-colormin": "^5.3.0",
- "postcss-convert-values": "^5.1.0",
- "postcss-discard-comments": "^5.1.0",
- "postcss-discard-duplicates": "^5.1.0",
- "postcss-discard-empty": "^5.1.0",
- "postcss-discard-overridden": "^5.1.0",
- "postcss-merge-longhand": "^5.1.0",
- "postcss-merge-rules": "^5.1.0",
- "postcss-minify-font-values": "^5.1.0",
- "postcss-minify-gradients": "^5.1.0",
- "postcss-minify-params": "^5.1.0",
- "postcss-minify-selectors": "^5.2.0",
- "postcss-normalize-charset": "^5.1.0",
- "postcss-normalize-display-values": "^5.1.0",
- "postcss-normalize-positions": "^5.1.0",
- "postcss-normalize-repeat-style": "^5.1.0",
- "postcss-normalize-string": "^5.1.0",
- "postcss-normalize-timing-functions": "^5.1.0",
- "postcss-normalize-unicode": "^5.1.0",
- "postcss-normalize-url": "^5.1.0",
- "postcss-normalize-whitespace": "^5.1.0",
- "postcss-ordered-values": "^5.1.0",
- "postcss-reduce-initial": "^5.1.0",
- "postcss-reduce-transforms": "^5.1.0",
- "postcss-svgo": "^5.1.0",
- "postcss-unique-selectors": "^5.1.0"
- }
- },
- "cssnano-utils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz",
- "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA=="
- },
- "postcss": {
- "version": "8.4.7",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.7.tgz",
- "integrity": "sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A==",
- "requires": {
- "nanoid": "^3.3.1",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- }
- },
- "postcss-calc": {
- "version": "8.2.4",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz",
- "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==",
- "requires": {
- "postcss-selector-parser": "^6.0.9",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-colormin": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz",
- "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==",
- "requires": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0",
- "colord": "^2.9.1",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-convert-values": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz",
- "integrity": "sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-discard-comments": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.0.tgz",
- "integrity": "sha512-L0IKF4jAshRyn03SkEO6ar/Ipz2oLywVbg2THf2EqqdNkBwmVMxuTR/RoAltOw4piiaLt3gCAdrbAqmTBInmhg=="
- },
- "postcss-discard-duplicates": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz",
- "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw=="
- },
- "postcss-discard-empty": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.0.tgz",
- "integrity": "sha512-782T/buGgb3HOuHOJAHpdyKzAAKsv/BxWqsutnZ+QsiHEcDkY7v+6WWdturuBiSal6XMOO1p1aJvwXdqLD5vhA=="
- },
- "postcss-discard-overridden": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz",
- "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw=="
- },
- "postcss-discard-unused": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz",
- "integrity": "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==",
- "requires": {
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "postcss-merge-idents": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.0.tgz",
- "integrity": "sha512-l+awq6+uUiCILsHahWK5KE25495I4oCKlUrIA+EdBvklnVdWlBEsbkzq5+ouPKb8OAe4WwRBgFvaSq7f77FY+w==",
- "requires": {
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-merge-longhand": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.0.tgz",
- "integrity": "sha512-Gr46srN2tsLD8fudKYoHO56RG0BLQ2nsBRnSZGY04eNBPwTeWa9KeHrbL3tOLAHyB2aliikycPH2TMJG1U+W6g==",
- "requires": {
- "postcss-value-parser": "^4.2.0",
- "stylehacks": "^5.1.0"
- }
- },
- "postcss-merge-rules": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.0.tgz",
- "integrity": "sha512-NecukEJovQ0mG7h7xV8wbYAkXGTO3MPKnXvuiXzOKcxoOodfTTKYjeo8TMhAswlSkjcPIBlnKbSFcTuVSDaPyQ==",
- "requires": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0",
- "cssnano-utils": "^3.1.0",
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "postcss-minify-font-values": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz",
- "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-minify-gradients": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.0.tgz",
- "integrity": "sha512-J/TMLklkONn3LuL8wCwfwU8zKC1hpS6VcxFkNUNjmVt53uKqrrykR3ov11mdUYyqVMEx67slMce0tE14cE4DTg==",
- "requires": {
- "colord": "^2.9.1",
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-minify-params": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.0.tgz",
- "integrity": "sha512-q67dcts4Hct6x8+JmhBgctHkbvUsqGIg2IItenjE63iZXMbhjr7AlVZkNnKtIGt/1Wsv7p/7YzeSII6Q+KPXRg==",
- "requires": {
- "browserslist": "^4.16.6",
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-minify-selectors": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz",
- "integrity": "sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==",
- "requires": {
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "postcss-normalize-charset": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz",
- "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg=="
- },
- "postcss-normalize-display-values": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz",
- "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-positions": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz",
- "integrity": "sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-repeat-style": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz",
- "integrity": "sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-string": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz",
- "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-timing-functions": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz",
- "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-unicode": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz",
- "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==",
- "requires": {
- "browserslist": "^4.16.6",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-url": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz",
- "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==",
- "requires": {
- "normalize-url": "^6.0.1",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-whitespace": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.0.tgz",
- "integrity": "sha512-7O1FanKaJkpWFyCghFzIkLhehujV/frGkdofGLwhg5upbLyGsSfiTcZAdSzoPsSUgyPCkBkNMeWR8yVgPdQybg==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-ordered-values": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.0.tgz",
- "integrity": "sha512-wU4Z4D4uOIH+BUKkYid36gGDJNQtkVJT7Twv8qH6UyfttbbJWyw4/xIPuVEkkCtQLAJ0EdsNSh8dlvqkXb49TA==",
- "requires": {
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-reduce-idents": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.1.0.tgz",
- "integrity": "sha512-2xDoPTzv98D/HFDrGTgVEBlcuS47wvua2oc4g2WoZdYPwzPWMWb2TCRruCyN7vbl+HAtVLGvEOMZIZb3wYgv7w==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-reduce-initial": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz",
- "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==",
- "requires": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0"
- }
- },
- "postcss-reduce-transforms": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz",
- "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-selector-parser": {
- "version": "6.0.9",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz",
- "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==",
- "requires": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- }
- },
- "postcss-svgo": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz",
- "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==",
- "requires": {
- "postcss-value-parser": "^4.2.0",
- "svgo": "^2.7.0"
- }
- },
- "postcss-unique-selectors": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.0.tgz",
- "integrity": "sha512-LmUhgGobtpeVJJHuogzjLRwJlN7VH+BL5c9GKMVJSS/ejoyePZkXvNsYUtk//F6vKOGK86gfRS0xH7fXQSDtvA==",
- "requires": {
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "postcss-zindex": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz",
- "integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A=="
- },
- "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=="
- },
- "stylehacks": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz",
- "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==",
- "requires": {
- "browserslist": "^4.16.6",
- "postcss-selector-parser": "^6.0.4"
- }
- }
- }
- },
- "@docusaurus/logger": {
- "version": "2.0.0-beta.15",
- "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.0.0-beta.15.tgz",
- "integrity": "sha512-5bDSHCyLfMtz6QnFfICdL5mgxbGfC7DW1V+/Q17nRdpZSPZgsNKK/Esp0zdDi1oxAyEpXMXx64nLaHL7joJxIg==",
- "requires": {
- "chalk": "^4.1.2",
- "tslib": "^2.3.1"
- }
- },
- "@docusaurus/mdx-loader": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-beta.17.tgz",
- "integrity": "sha512-AhJ3GWRmjQYCyINHE595pff5tn3Rt83oGpdev5UT9uvG9lPYPC8nEmh1LI6c0ogfw7YkNznzxWSW4hyyVbYQ3A==",
- "requires": {
- "@babel/parser": "^7.17.3",
- "@babel/traverse": "^7.17.3",
- "@docusaurus/logger": "2.0.0-beta.17",
- "@docusaurus/utils": "2.0.0-beta.17",
- "@mdx-js/mdx": "^1.6.22",
- "escape-html": "^1.0.3",
- "file-loader": "^6.2.0",
- "fs-extra": "^10.0.1",
- "image-size": "^1.0.1",
- "mdast-util-to-string": "^2.0.0",
- "remark-emoji": "^2.1.0",
- "stringify-object": "^3.3.0",
- "tslib": "^2.3.1",
- "unist-util-visit": "^2.0.2",
- "url-loader": "^4.1.1",
- "webpack": "^5.69.1"
- },
- "dependencies": {
- "@babel/generator": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz",
- "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==",
- "requires": {
- "@babel/types": "^7.17.0",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
- }
- },
- "@babel/parser": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz",
- "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA=="
- },
- "@babel/traverse": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz",
- "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==",
- "requires": {
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.3",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-hoist-variables": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.17.3",
- "@babel/types": "^7.17.0",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- }
- },
- "@babel/types": {
- "version": "7.17.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz",
- "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==",
- "requires": {
- "@babel/helper-validator-identifier": "^7.16.7",
- "to-fast-properties": "^2.0.0"
- }
- },
- "@docusaurus/logger": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.0.0-beta.17.tgz",
- "integrity": "sha512-F9JDl06/VLg+ylsvnq9NpILSUeWtl0j4H2LtlLzX5gufEL4dGiCMlnUzYdHl7FSHSzYJ0A/R7vu0SYofsexC4w==",
- "requires": {
- "chalk": "^4.1.2",
- "tslib": "^2.3.1"
- }
- },
- "@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
- },
- "enhanced-resolve": {
- "version": "5.9.2",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz",
- "integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==",
- "requires": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- }
- },
- "fs-extra": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
- "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
- "webpack": {
- "version": "5.70.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz",
- "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==",
- "requires": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.9.2",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
- "webpack-sources": "^3.2.3"
- }
- },
- "webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
- }
- }
- },
- "@docusaurus/module-type-aliases": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.0.0-beta.17.tgz",
- "integrity": "sha512-Tu+8geC/wyygBudbSwvWIHEvt5RwyA7dEoE1JmPbgQtmqUxOZ9bgnfemwXpJW5mKuDiJASbN4of1DhbLqf4sPg==",
- "dev": true,
- "requires": {
- "@docusaurus/types": "2.0.0-beta.17",
- "@types/react": "*",
- "@types/react-router-config": "*",
- "@types/react-router-dom": "*",
- "react-helmet-async": "*"
- }
- },
- "@docusaurus/plugin-client-redirects": {
- "version": "2.0.0-beta.15",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-2.0.0-beta.15.tgz",
- "integrity": "sha512-FcH1y+a+Bmc5x50kZn5RvLr2a6iPiGnRK4iUP7G1eNozJC+8+93OwyZYSCdEOf2LyoVOtEq06xlfORFP2mfQDQ==",
- "requires": {
- "@docusaurus/core": "2.0.0-beta.15",
- "@docusaurus/logger": "2.0.0-beta.15",
- "@docusaurus/utils": "2.0.0-beta.15",
- "@docusaurus/utils-common": "2.0.0-beta.15",
- "@docusaurus/utils-validation": "2.0.0-beta.15",
- "eta": "^1.12.3",
- "fs-extra": "^10.0.0",
- "lodash": "^4.17.20",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@docusaurus/core": {
- "version": "2.0.0-beta.15",
- "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.0.0-beta.15.tgz",
- "integrity": "sha512-zXhhD0fApMSvq/9Pkm9DQxa//hGOXVCq9yMHiXOkI5D1tLec7PxtnaC5cLfGHljkN9cKIfRDYUVcG1gHymVfpA==",
- "requires": {
- "@babel/core": "^7.16.0",
- "@babel/generator": "^7.16.0",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-transform-runtime": "^7.16.0",
- "@babel/preset-env": "^7.16.4",
- "@babel/preset-react": "^7.16.0",
- "@babel/preset-typescript": "^7.16.0",
- "@babel/runtime": "^7.16.3",
- "@babel/runtime-corejs3": "^7.16.3",
- "@babel/traverse": "^7.16.3",
- "@docusaurus/cssnano-preset": "2.0.0-beta.15",
- "@docusaurus/logger": "2.0.0-beta.15",
- "@docusaurus/mdx-loader": "2.0.0-beta.15",
- "@docusaurus/react-loadable": "5.5.2",
- "@docusaurus/utils": "2.0.0-beta.15",
- "@docusaurus/utils-common": "2.0.0-beta.15",
- "@docusaurus/utils-validation": "2.0.0-beta.15",
- "@slorber/static-site-generator-webpack-plugin": "^4.0.0",
- "@svgr/webpack": "^6.0.0",
- "autoprefixer": "^10.3.5",
- "babel-loader": "^8.2.2",
- "babel-plugin-dynamic-import-node": "2.3.0",
- "boxen": "^5.0.1",
- "chokidar": "^3.5.2",
- "clean-css": "^5.1.5",
- "commander": "^5.1.0",
- "copy-webpack-plugin": "^10.2.0",
- "core-js": "^3.18.0",
- "css-loader": "^6.5.1",
- "css-minimizer-webpack-plugin": "^3.3.1",
- "cssnano": "^5.0.8",
- "del": "^6.0.0",
- "detect-port": "^1.3.0",
- "escape-html": "^1.0.3",
- "eta": "^1.12.3",
- "file-loader": "^6.2.0",
- "fs-extra": "^10.0.0",
- "html-minifier-terser": "^6.0.2",
- "html-tags": "^3.1.0",
- "html-webpack-plugin": "^5.4.0",
- "import-fresh": "^3.3.0",
- "is-root": "^2.1.0",
- "leven": "^3.1.0",
- "lodash": "^4.17.20",
- "mini-css-extract-plugin": "^1.6.0",
- "nprogress": "^0.2.0",
- "postcss": "^8.3.7",
- "postcss-loader": "^6.1.1",
- "prompts": "^2.4.1",
- "react-dev-utils": "^12.0.0",
- "react-helmet": "^6.1.0",
- "react-loadable": "npm:@docusaurus/react-loadable@5.5.2",
- "react-loadable-ssr-addon-v5-slorber": "^1.0.1",
- "react-router": "^5.2.0",
- "react-router-config": "^5.1.1",
- "react-router-dom": "^5.2.0",
- "remark-admonitions": "^1.2.1",
- "rtl-detect": "^1.0.4",
- "semver": "^7.3.4",
- "serve-handler": "^6.1.3",
- "shelljs": "^0.8.4",
- "strip-ansi": "^6.0.0",
- "terser-webpack-plugin": "^5.2.4",
- "tslib": "^2.3.1",
- "update-notifier": "^5.1.0",
- "url-loader": "^4.1.1",
- "wait-on": "^6.0.0",
- "webpack": "^5.61.0",
- "webpack-bundle-analyzer": "^4.4.2",
- "webpack-dev-server": "^4.7.1",
- "webpack-merge": "^5.8.0",
- "webpackbar": "^5.0.2"
- },
- "dependencies": {
- "react-loadable": {
- "version": "npm:@docusaurus/react-loadable@5.5.2",
- "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz",
- "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==",
- "requires": {
- "@types/react": "*",
- "prop-types": "^15.6.2"
- }
- }
- }
- },
- "@docusaurus/cssnano-preset": {
- "version": "2.0.0-beta.15",
- "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-beta.15.tgz",
- "integrity": "sha512-55aYURbB5dqrx64lStNcZxDx5R6bKkAawlCB7mDKx3r+Qnp3ofGW7UExLQSCbTu3axT1vJCF5D7H6ljTRYJLtA==",
- "requires": {
- "cssnano-preset-advanced": "^5.1.4",
- "postcss": "^8.3.7",
- "postcss-sort-media-queries": "^4.1.0"
- }
- },
- "@docusaurus/mdx-loader": {
- "version": "2.0.0-beta.15",
- "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-beta.15.tgz",
- "integrity": "sha512-MVpytjDDao7hmPF1QSs9B5zoTgevZjiqjnX3FM1yjqdCv+chyUo0gnmYHjeG/4Gqu7jucp+dDdp6yQpzs4g09A==",
- "requires": {
- "@babel/parser": "^7.16.4",
- "@babel/traverse": "^7.16.3",
- "@docusaurus/logger": "2.0.0-beta.15",
- "@docusaurus/utils": "2.0.0-beta.15",
- "@mdx-js/mdx": "^1.6.21",
- "escape-html": "^1.0.3",
- "file-loader": "^6.2.0",
- "fs-extra": "^10.0.0",
- "image-size": "^1.0.1",
- "mdast-util-to-string": "^2.0.0",
- "remark-emoji": "^2.1.0",
- "stringify-object": "^3.3.0",
- "tslib": "^2.3.1",
- "unist-util-visit": "^2.0.2",
- "url-loader": "^4.1.1",
- "webpack": "^5.61.0"
- }
- },
- "@docusaurus/utils": {
- "version": "2.0.0-beta.15",
- "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.0.0-beta.15.tgz",
- "integrity": "sha512-xkoPmFxCBkDqbZR4U3SE752OcXtWTGgZnc/pZWxItzb1IYRGNZHrzdIr7CnI7rppriuZzsyivDGiC4Ud9MWhkA==",
- "requires": {
- "@docusaurus/logger": "2.0.0-beta.15",
- "@mdx-js/runtime": "^1.6.22",
- "@svgr/webpack": "^6.0.0",
- "file-loader": "^6.2.0",
- "fs-extra": "^10.0.0",
- "github-slugger": "^1.4.0",
- "globby": "^11.0.4",
- "gray-matter": "^4.0.3",
- "js-yaml": "^4.0.0",
- "lodash": "^4.17.20",
- "micromatch": "^4.0.4",
- "remark-mdx-remove-exports": "^1.6.22",
- "remark-mdx-remove-imports": "^1.6.22",
- "resolve-pathname": "^3.0.0",
- "tslib": "^2.3.1",
- "url-loader": "^4.1.1"
- }
- },
- "@docusaurus/utils-common": {
- "version": "2.0.0-beta.15",
- "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.0.0-beta.15.tgz",
- "integrity": "sha512-kIGlSIvbE/oniUpUjI8GOkSpH8o4NXbYqAh9dqPn+TJ0KbEFY3fc80gzZQU+9SunCwJMJbIxIGevX9Ry+nackw==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@docusaurus/utils-validation": {
- "version": "2.0.0-beta.15",
- "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.0.0-beta.15.tgz",
- "integrity": "sha512-1oOVBCkRrsTXSYrBTsMdnj3a/R56zrx11rjF4xo0+dmm8C01Xw4msFtc3uA7VLX0HQvgHsk8xPzU5GERNdsNpg==",
- "requires": {
- "@docusaurus/logger": "2.0.0-beta.15",
- "@docusaurus/utils": "2.0.0-beta.15",
- "joi": "^17.4.2",
- "tslib": "^2.3.1"
- }
- },
- "@svgr/babel-plugin-add-jsx-attribute": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.0.0.tgz",
- "integrity": "sha512-MdPdhdWLtQsjd29Wa4pABdhWbaRMACdM1h31BY+c6FghTZqNGT7pEYdBoaGeKtdTOBC/XNFQaKVj+r/Ei2ryWA=="
- },
- "@svgr/babel-plugin-remove-jsx-attribute": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.0.0.tgz",
- "integrity": "sha512-aVdtfx9jlaaxc3unA6l+M9YRnKIZjOhQPthLKqmTXC8UVkBLDRGwPKo+r8n3VZN8B34+yVajzPTZ+ptTSuZZCw=="
- },
- "@svgr/babel-plugin-remove-jsx-empty-expression": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.0.0.tgz",
- "integrity": "sha512-Ccj42ApsePD451AZJJf1QzTD1B/BOU392URJTeXFxSK709i0KUsGtbwyiqsKu7vsYxpTM0IA5clAKDyf9RCZyA=="
- },
- "@svgr/babel-plugin-replace-jsx-attribute-value": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.0.0.tgz",
- "integrity": "sha512-88V26WGyt1Sfd1emBYmBJRWMmgarrExpKNVmI9vVozha4kqs6FzQJ/Kp5+EYli1apgX44518/0+t9+NU36lThQ=="
- },
- "@svgr/babel-plugin-svg-dynamic-title": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.0.0.tgz",
- "integrity": "sha512-F7YXNLfGze+xv0KMQxrl2vkNbI9kzT9oDK55/kUuymh1ACyXkMV+VZWX1zEhSTfEKh7VkHVZGmVtHg8eTZ6PRg=="
- },
- "@svgr/babel-plugin-svg-em-dimensions": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.0.0.tgz",
- "integrity": "sha512-+rghFXxdIqJNLQK08kwPBD3Z22/0b2tEZ9lKiL/yTfuyj1wW8HUXu4bo/XkogATIYuXSghVQOOCwURXzHGKyZA=="
- },
- "@svgr/babel-plugin-transform-react-native-svg": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.0.0.tgz",
- "integrity": "sha512-VaphyHZ+xIKv5v0K0HCzyfAaLhPGJXSk2HkpYfXIOKb7DjLBv0soHDxNv6X0vr2titsxE7klb++u7iOf7TSrFQ=="
- },
- "@svgr/babel-plugin-transform-svg-component": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.2.0.tgz",
- "integrity": "sha512-bhYIpsORb++wpsp91fymbFkf09Z/YEKR0DnFjxvN+8JHeCUD2unnh18jIMKnDJTWtvpTaGYPXELVe4OOzFI0xg=="
- },
- "@svgr/babel-preset": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.2.0.tgz",
- "integrity": "sha512-4WQNY0J71JIaL03DRn0vLiz87JXx0b9dYm2aA8XHlQJQoixMl4r/soYHm8dsaJZ3jWtkCiOYy48dp9izvXhDkQ==",
- "requires": {
- "@svgr/babel-plugin-add-jsx-attribute": "^6.0.0",
- "@svgr/babel-plugin-remove-jsx-attribute": "^6.0.0",
- "@svgr/babel-plugin-remove-jsx-empty-expression": "^6.0.0",
- "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.0.0",
- "@svgr/babel-plugin-svg-dynamic-title": "^6.0.0",
- "@svgr/babel-plugin-svg-em-dimensions": "^6.0.0",
- "@svgr/babel-plugin-transform-react-native-svg": "^6.0.0",
- "@svgr/babel-plugin-transform-svg-component": "^6.2.0"
- }
- },
- "@svgr/core": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.2.1.tgz",
- "integrity": "sha512-NWufjGI2WUyrg46mKuySfviEJ6IxHUOm/8a3Ph38VCWSp+83HBraCQrpEM3F3dB6LBs5x8OElS8h3C0oOJaJAA==",
- "requires": {
- "@svgr/plugin-jsx": "^6.2.1",
- "camelcase": "^6.2.0",
- "cosmiconfig": "^7.0.1"
- }
- },
- "@svgr/hast-util-to-babel-ast": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.2.1.tgz",
- "integrity": "sha512-pt7MMkQFDlWJVy9ULJ1h+hZBDGFfSCwlBNW1HkLnVi7jUhyEXUaGYWi1x6bM2IXuAR9l265khBT4Av4lPmaNLQ==",
- "requires": {
- "@babel/types": "^7.15.6",
- "entities": "^3.0.1"
- }
- },
- "@svgr/plugin-jsx": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.2.1.tgz",
- "integrity": "sha512-u+MpjTsLaKo6r3pHeeSVsh9hmGRag2L7VzApWIaS8imNguqoUwDq/u6U/NDmYs/KAsrmtBjOEaAAPbwNGXXp1g==",
- "requires": {
- "@babel/core": "^7.15.5",
- "@svgr/babel-preset": "^6.2.0",
- "@svgr/hast-util-to-babel-ast": "^6.2.1",
- "svg-parser": "^2.0.2"
- }
- },
- "@svgr/plugin-svgo": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.2.0.tgz",
- "integrity": "sha512-oDdMQONKOJEbuKwuy4Np6VdV6qoaLLvoY86hjvQEgU82Vx1MSWRyYms6Sl0f+NtqxLI/rDVufATbP/ev996k3Q==",
- "requires": {
- "cosmiconfig": "^7.0.1",
- "deepmerge": "^4.2.2",
- "svgo": "^2.5.0"
- }
- },
- "@svgr/webpack": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.2.1.tgz",
- "integrity": "sha512-h09ngMNd13hnePwgXa+Y5CgOjzlCvfWLHg+MBnydEedAnuLRzUHUJmGS3o2OsrhxTOOqEsPOFt5v/f6C5Qulcw==",
- "requires": {
- "@babel/core": "^7.15.5",
- "@babel/plugin-transform-react-constant-elements": "^7.14.5",
- "@babel/preset-env": "^7.15.6",
- "@babel/preset-react": "^7.14.5",
- "@babel/preset-typescript": "^7.15.0",
- "@svgr/core": "^6.2.1",
- "@svgr/plugin-jsx": "^6.2.1",
- "@svgr/plugin-svgo": "^6.2.0"
- }
- },
- "ajv": {
- "version": "8.10.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz",
- "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-keywords": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
- "requires": {
- "fast-deep-equal": "^3.1.3"
- }
- },
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
- },
- "array-union": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz",
- "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw=="
- },
- "copy-webpack-plugin": {
- "version": "10.2.4",
- "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz",
- "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==",
- "requires": {
- "fast-glob": "^3.2.7",
- "glob-parent": "^6.0.1",
- "globby": "^12.0.2",
- "normalize-path": "^3.0.0",
- "schema-utils": "^4.0.0",
- "serialize-javascript": "^6.0.0"
- },
- "dependencies": {
- "globby": {
- "version": "12.2.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz",
- "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==",
- "requires": {
- "array-union": "^3.0.1",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.7",
- "ignore": "^5.1.9",
- "merge2": "^1.4.1",
- "slash": "^4.0.0"
- }
- }
- }
- },
- "css-loader": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.6.0.tgz",
- "integrity": "sha512-FK7H2lisOixPT406s5gZM1S3l8GrfhEBT3ZiL2UX1Ng1XWs0y2GPllz/OTyvbaHe12VgQrIXIzuEGVlbUhodqg==",
- "requires": {
- "icss-utils": "^5.1.0",
- "postcss": "^8.4.5",
- "postcss-modules-extract-imports": "^3.0.0",
- "postcss-modules-local-by-default": "^4.0.0",
- "postcss-modules-scope": "^3.0.0",
- "postcss-modules-values": "^4.0.0",
- "postcss-value-parser": "^4.2.0",
- "semver": "^7.3.5"
- }
- },
- "entities": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
- "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q=="
- },
- "escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
- },
- "filesize": {
- "version": "8.0.7",
- "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz",
- "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ=="
- },
- "find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "requires": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "requires": {
- "is-glob": "^4.0.3"
- }
- },
- "gzip-size": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz",
- "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==",
- "requires": {
- "duplexer": "^0.1.2"
- }
- },
- "js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
- },
- "loader-utils": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz",
- "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ=="
- },
- "locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "requires": {
- "p-locate": "^5.0.0"
- }
- },
- "open": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
- "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
- "requires": {
- "define-lazy-prop": "^2.0.0",
- "is-docker": "^2.1.1",
- "is-wsl": "^2.2.0"
- }
- },
- "p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "requires": {
- "yocto-queue": "^0.1.0"
- }
- },
- "p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "requires": {
- "p-limit": "^3.0.2"
- }
- },
- "react-dev-utils": {
- "version": "12.0.0",
- "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.0.tgz",
- "integrity": "sha512-xBQkitdxozPxt1YZ9O1097EJiVpwHr9FoAuEVURCKV0Av8NBERovJauzP7bo1ThvuhZ4shsQ1AJiu4vQpoT1AQ==",
- "requires": {
- "@babel/code-frame": "^7.16.0",
- "address": "^1.1.2",
- "browserslist": "^4.18.1",
- "chalk": "^4.1.2",
- "cross-spawn": "^7.0.3",
- "detect-port-alt": "^1.1.6",
- "escape-string-regexp": "^4.0.0",
- "filesize": "^8.0.6",
- "find-up": "^5.0.0",
- "fork-ts-checker-webpack-plugin": "^6.5.0",
- "global-modules": "^2.0.0",
- "globby": "^11.0.4",
- "gzip-size": "^6.0.0",
- "immer": "^9.0.7",
- "is-root": "^2.1.0",
- "loader-utils": "^3.2.0",
- "open": "^8.4.0",
- "pkg-up": "^3.1.0",
- "prompts": "^2.4.2",
- "react-error-overlay": "^6.0.10",
- "recursive-readdir": "^2.2.2",
- "shell-quote": "^1.7.3",
- "strip-ansi": "^6.0.1",
- "text-table": "^0.2.0"
- }
- },
- "schema-utils": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
- "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
- "requires": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.8.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.0.0"
- }
- },
- "slash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
- "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew=="
- }
- }
- },
- "@docusaurus/plugin-content-blog": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-beta.17.tgz",
- "integrity": "sha512-gcX4UR+WKT4bhF8FICBQHy+ESS9iRMeaglSboTZbA/YHGax/3EuZtcPU3dU4E/HFJeZ866wgUdbLKpIpsZOidg==",
- "requires": {
- "@docusaurus/core": "2.0.0-beta.17",
- "@docusaurus/logger": "2.0.0-beta.17",
- "@docusaurus/mdx-loader": "2.0.0-beta.17",
- "@docusaurus/utils": "2.0.0-beta.17",
- "@docusaurus/utils-common": "2.0.0-beta.17",
- "@docusaurus/utils-validation": "2.0.0-beta.17",
- "cheerio": "^1.0.0-rc.10",
- "feed": "^4.2.2",
- "fs-extra": "^10.0.1",
- "lodash": "^4.17.21",
- "reading-time": "^1.5.0",
- "remark-admonitions": "^1.2.1",
- "tslib": "^2.3.1",
- "utility-types": "^3.10.0",
- "webpack": "^5.69.1"
- },
- "dependencies": {
- "@docusaurus/logger": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.0.0-beta.17.tgz",
- "integrity": "sha512-F9JDl06/VLg+ylsvnq9NpILSUeWtl0j4H2LtlLzX5gufEL4dGiCMlnUzYdHl7FSHSzYJ0A/R7vu0SYofsexC4w==",
- "requires": {
- "chalk": "^4.1.2",
- "tslib": "^2.3.1"
- }
- },
- "@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
- },
- "cheerio": {
- "version": "1.0.0-rc.10",
- "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz",
- "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==",
- "requires": {
- "cheerio-select": "^1.5.0",
- "dom-serializer": "^1.3.2",
- "domhandler": "^4.2.0",
- "htmlparser2": "^6.1.0",
- "parse5": "^6.0.1",
- "parse5-htmlparser2-tree-adapter": "^6.0.1",
- "tslib": "^2.2.0"
- }
- },
- "enhanced-resolve": {
- "version": "5.9.2",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz",
- "integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==",
- "requires": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- }
- },
- "fs-extra": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
- "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
- "htmlparser2": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
- "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
- "requires": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.0.0",
- "domutils": "^2.5.2",
- "entities": "^2.0.0"
- }
- },
- "webpack": {
- "version": "5.70.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz",
- "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==",
- "requires": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.9.2",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
- "webpack-sources": "^3.2.3"
- }
- },
- "webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
- }
- }
- },
- "@docusaurus/plugin-content-docs": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-beta.17.tgz",
- "integrity": "sha512-YYrBpuRfTfE6NtENrpSHTJ7K7PZifn6j6hcuvdC0QKE+WD8pS+O2/Ws30yoyvHwLnAnfhvaderh1v9Kaa0/ANg==",
- "requires": {
- "@docusaurus/core": "2.0.0-beta.17",
- "@docusaurus/logger": "2.0.0-beta.17",
- "@docusaurus/mdx-loader": "2.0.0-beta.17",
- "@docusaurus/utils": "2.0.0-beta.17",
- "@docusaurus/utils-validation": "2.0.0-beta.17",
- "combine-promises": "^1.1.0",
- "fs-extra": "^10.0.1",
- "import-fresh": "^3.3.0",
- "js-yaml": "^4.1.0",
- "lodash": "^4.17.21",
- "remark-admonitions": "^1.2.1",
- "tslib": "^2.3.1",
- "utility-types": "^3.10.0",
- "webpack": "^5.69.1"
- },
- "dependencies": {
- "@docusaurus/logger": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.0.0-beta.17.tgz",
- "integrity": "sha512-F9JDl06/VLg+ylsvnq9NpILSUeWtl0j4H2LtlLzX5gufEL4dGiCMlnUzYdHl7FSHSzYJ0A/R7vu0SYofsexC4w==",
- "requires": {
- "chalk": "^4.1.2",
- "tslib": "^2.3.1"
- }
- },
- "@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
- },
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
- },
- "enhanced-resolve": {
- "version": "5.9.2",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz",
- "integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==",
- "requires": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- }
- },
- "fs-extra": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
- "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
- "js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "webpack": {
- "version": "5.70.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz",
- "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==",
- "requires": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.9.2",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
- "webpack-sources": "^3.2.3"
- }
- },
- "webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
- }
- }
- },
- "@docusaurus/plugin-content-pages": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-beta.17.tgz",
- "integrity": "sha512-d5x0mXTMJ44ojRQccmLyshYoamFOep2AnBe69osCDnwWMbD3Or3pnc2KMK9N7mVpQFnNFKbHNCLrX3Rv0uwEHA==",
- "requires": {
- "@docusaurus/core": "2.0.0-beta.17",
- "@docusaurus/mdx-loader": "2.0.0-beta.17",
- "@docusaurus/utils": "2.0.0-beta.17",
- "@docusaurus/utils-validation": "2.0.0-beta.17",
- "fs-extra": "^10.0.1",
- "remark-admonitions": "^1.2.1",
- "tslib": "^2.3.1",
- "webpack": "^5.69.1"
- },
- "dependencies": {
- "@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
- },
- "enhanced-resolve": {
- "version": "5.9.2",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz",
- "integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==",
- "requires": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- }
- },
- "fs-extra": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
- "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
- "webpack": {
- "version": "5.70.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz",
- "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==",
- "requires": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.9.2",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
- "webpack-sources": "^3.2.3"
- }
- },
- "webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
- }
- }
- },
- "@docusaurus/plugin-debug": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-beta.17.tgz",
- "integrity": "sha512-p26fjYFRSC0esEmKo/kRrLVwXoFnzPCFDumwrImhPyqfVxbj+IKFaiXkayb2qHnyEGE/1KSDIgRF4CHt/pyhiw==",
- "requires": {
- "@docusaurus/core": "2.0.0-beta.17",
- "@docusaurus/utils": "2.0.0-beta.17",
- "fs-extra": "^10.0.1",
- "react-json-view": "^1.21.3",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "fs-extra": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
- "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- }
- }
- },
- "@docusaurus/plugin-google-analytics": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-beta.17.tgz",
- "integrity": "sha512-jvgYIhggYD1W2jymqQVAAyjPJUV1xMCn70bAzaCMxriureMWzhQ/kQMVQpop0ijTMvifOxaV9yTcL1VRXev++A==",
- "requires": {
- "@docusaurus/core": "2.0.0-beta.17",
- "@docusaurus/utils-validation": "2.0.0-beta.17",
- "tslib": "^2.3.1"
- }
- },
- "@docusaurus/plugin-google-gtag": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-beta.17.tgz",
- "integrity": "sha512-1pnWHtIk1Jfeqwvr8PlcPE5SODWT1gW4TI+ptmJbJ296FjjyvL/pG0AcGEJmYLY/OQc3oz0VQ0W2ognw9jmFIw==",
- "requires": {
- "@docusaurus/core": "2.0.0-beta.17",
- "@docusaurus/utils-validation": "2.0.0-beta.17",
- "tslib": "^2.3.1"
- }
- },
- "@docusaurus/plugin-sitemap": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-beta.17.tgz",
- "integrity": "sha512-19/PaGCsap6cjUPZPGs87yV9e1hAIyd0CTSeVV6Caega8nmOKk20FTrQGFJjZPeX8jvD9QIXcdg6BJnPxcKkaQ==",
- "requires": {
- "@docusaurus/core": "2.0.0-beta.17",
- "@docusaurus/utils": "2.0.0-beta.17",
- "@docusaurus/utils-common": "2.0.0-beta.17",
- "@docusaurus/utils-validation": "2.0.0-beta.17",
- "fs-extra": "^10.0.1",
- "sitemap": "^7.1.1",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "fs-extra": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
- "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- }
- }
- },
- "@docusaurus/preset-classic": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.0.0-beta.17.tgz",
- "integrity": "sha512-7YUxPEgM09aZWr25/hpDEp1gPl+1KsCPV1ZTRW43sbQ9TinPm+9AKR3rHVDa8ea8MdiS7BpqCVyK+H/eiyQrUw==",
- "requires": {
- "@docusaurus/core": "2.0.0-beta.17",
- "@docusaurus/plugin-content-blog": "2.0.0-beta.17",
- "@docusaurus/plugin-content-docs": "2.0.0-beta.17",
- "@docusaurus/plugin-content-pages": "2.0.0-beta.17",
- "@docusaurus/plugin-debug": "2.0.0-beta.17",
- "@docusaurus/plugin-google-analytics": "2.0.0-beta.17",
- "@docusaurus/plugin-google-gtag": "2.0.0-beta.17",
- "@docusaurus/plugin-sitemap": "2.0.0-beta.17",
- "@docusaurus/theme-classic": "2.0.0-beta.17",
- "@docusaurus/theme-common": "2.0.0-beta.17",
- "@docusaurus/theme-search-algolia": "2.0.0-beta.17"
- }
- },
- "@docusaurus/react-loadable": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz",
- "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==",
- "requires": {
- "@types/react": "*",
- "prop-types": "^15.6.2"
- }
- },
- "@docusaurus/theme-classic": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.0.0-beta.17.tgz",
- "integrity": "sha512-xfZ9kpgqo0lP9YO4rJj79wtiQJXU6ARo5wYy10IIwiWN+lg00scJHhkmNV431b05xIUjUr0cKeH9nqZmEsQRKg==",
- "requires": {
- "@docusaurus/core": "2.0.0-beta.17",
- "@docusaurus/plugin-content-blog": "2.0.0-beta.17",
- "@docusaurus/plugin-content-docs": "2.0.0-beta.17",
- "@docusaurus/plugin-content-pages": "2.0.0-beta.17",
- "@docusaurus/theme-common": "2.0.0-beta.17",
- "@docusaurus/theme-translations": "2.0.0-beta.17",
- "@docusaurus/utils": "2.0.0-beta.17",
- "@docusaurus/utils-common": "2.0.0-beta.17",
- "@docusaurus/utils-validation": "2.0.0-beta.17",
- "@mdx-js/react": "^1.6.22",
- "clsx": "^1.1.1",
- "copy-text-to-clipboard": "^3.0.1",
- "infima": "0.2.0-alpha.37",
- "lodash": "^4.17.21",
- "postcss": "^8.4.7",
- "prism-react-renderer": "^1.2.1",
- "prismjs": "^1.27.0",
- "react-router-dom": "^5.2.0",
- "rtlcss": "^3.3.0"
- },
- "dependencies": {
- "postcss": {
- "version": "8.4.7",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.7.tgz",
- "integrity": "sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A==",
- "requires": {
- "nanoid": "^3.3.1",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- }
- },
- "prismjs": {
- "version": "1.27.0",
- "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz",
- "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA=="
- },
- "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=="
- }
- }
- },
- "@docusaurus/theme-common": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.0.0-beta.17.tgz",
- "integrity": "sha512-LJBDhx+Qexn1JHBqZbE4k+7lBaV1LgpE33enXf43ShB7ebhC91d5HLHhBwgt0pih4+elZU4rG+BG/roAmsNM0g==",
- "requires": {
- "@docusaurus/module-type-aliases": "2.0.0-beta.17",
- "@docusaurus/plugin-content-blog": "2.0.0-beta.17",
- "@docusaurus/plugin-content-docs": "2.0.0-beta.17",
- "@docusaurus/plugin-content-pages": "2.0.0-beta.17",
- "clsx": "^1.1.1",
- "parse-numeric-range": "^1.3.0",
- "prism-react-renderer": "^1.3.1",
- "tslib": "^2.3.1",
- "utility-types": "^3.10.0"
- },
- "dependencies": {
- "@docusaurus/module-type-aliases": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.0.0-beta.17.tgz",
- "integrity": "sha512-Tu+8geC/wyygBudbSwvWIHEvt5RwyA7dEoE1JmPbgQtmqUxOZ9bgnfemwXpJW5mKuDiJASbN4of1DhbLqf4sPg==",
- "requires": {
- "@docusaurus/types": "2.0.0-beta.17",
- "@types/react": "*",
- "@types/react-router-config": "*",
- "@types/react-router-dom": "*",
- "react-helmet-async": "*"
- }
- },
- "prism-react-renderer": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.1.tgz",
- "integrity": "sha512-xUeDMEz074d0zc5y6rxiMp/dlC7C+5IDDlaEUlcBOFE2wddz7hz5PNupb087mPwTt7T9BrFmewObfCBuf/LKwQ=="
- }
- }
- },
- "@docusaurus/theme-search-algolia": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-beta.17.tgz",
- "integrity": "sha512-W12XKM7QC5Jmrec359bJ7aDp5U8DNkCxjVKsMNIs8rDunBoI/N+R35ERJ0N7Bg9ONAWO6o7VkUERQsfGqdvr9w==",
- "requires": {
- "@docsearch/react": "^3.0.0",
- "@docusaurus/core": "2.0.0-beta.17",
- "@docusaurus/logger": "2.0.0-beta.17",
- "@docusaurus/theme-common": "2.0.0-beta.17",
- "@docusaurus/theme-translations": "2.0.0-beta.17",
- "@docusaurus/utils": "2.0.0-beta.17",
- "@docusaurus/utils-validation": "2.0.0-beta.17",
- "algoliasearch": "^4.12.1",
- "algoliasearch-helper": "^3.7.0",
- "clsx": "^1.1.1",
- "eta": "^1.12.3",
- "fs-extra": "^10.0.1",
- "lodash": "^4.17.21",
- "tslib": "^2.3.1",
- "utility-types": "^3.10.0"
- },
- "dependencies": {
- "@docusaurus/logger": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.0.0-beta.17.tgz",
- "integrity": "sha512-F9JDl06/VLg+ylsvnq9NpILSUeWtl0j4H2LtlLzX5gufEL4dGiCMlnUzYdHl7FSHSzYJ0A/R7vu0SYofsexC4w==",
- "requires": {
- "chalk": "^4.1.2",
- "tslib": "^2.3.1"
- }
- },
- "fs-extra": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
- "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- }
- }
- },
- "@docusaurus/theme-translations": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.0.0-beta.17.tgz",
- "integrity": "sha512-oxCX6khjZH3lgdRCL0DH06KkUM/kDr9+lzB35+vY8rpFeQruVgRdi8ekPqG3+Wr0U/N+LMhcYE5BmCb6D0Fv2A==",
- "requires": {
- "fs-extra": "^10.0.1",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "fs-extra": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
- "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- }
- }
- },
- "@docusaurus/types": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.0.0-beta.17.tgz",
- "integrity": "sha512-4o7TXu5sKlQpybfFFtsGUElBXwSpiXKsQyyWaRKj7DRBkvMtkDX6ITZNnZO9+EHfLbP/cfrokB8C/oO7mCQ5BQ==",
- "requires": {
- "commander": "^5.1.0",
- "joi": "^17.6.0",
- "querystring": "0.2.1",
- "utility-types": "^3.10.0",
- "webpack": "^5.69.1",
- "webpack-merge": "^5.8.0"
- },
- "dependencies": {
- "@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
- },
- "enhanced-resolve": {
- "version": "5.9.2",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz",
- "integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==",
- "requires": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- }
- },
- "joi": {
- "version": "17.6.0",
- "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz",
- "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==",
- "requires": {
- "@hapi/hoek": "^9.0.0",
- "@hapi/topo": "^5.0.0",
- "@sideway/address": "^4.1.3",
- "@sideway/formula": "^3.0.0",
- "@sideway/pinpoint": "^2.0.0"
- }
- },
- "querystring": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz",
- "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg=="
- },
- "webpack": {
- "version": "5.70.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz",
- "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==",
- "requires": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.9.2",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
- "webpack-sources": "^3.2.3"
- }
- },
- "webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
- }
- }
- },
- "@docusaurus/utils": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.0.0-beta.17.tgz",
- "integrity": "sha512-yRKGdzSc5v6M/6GyQ4omkrAHCleevwKYiIrufCJgRbOtkhYE574d8mIjjirOuA/emcyLxjh+TLtqAA5TwhIryA==",
- "requires": {
- "@docusaurus/logger": "2.0.0-beta.17",
- "@svgr/webpack": "^6.0.0",
- "file-loader": "^6.2.0",
- "fs-extra": "^10.0.1",
- "github-slugger": "^1.4.0",
- "globby": "^11.0.4",
- "gray-matter": "^4.0.3",
- "js-yaml": "^4.1.0",
- "lodash": "^4.17.21",
- "micromatch": "^4.0.4",
- "resolve-pathname": "^3.0.0",
- "shelljs": "^0.8.5",
- "tslib": "^2.3.1",
- "url-loader": "^4.1.1",
- "webpack": "^5.69.1"
- },
- "dependencies": {
- "@docusaurus/logger": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.0.0-beta.17.tgz",
- "integrity": "sha512-F9JDl06/VLg+ylsvnq9NpILSUeWtl0j4H2LtlLzX5gufEL4dGiCMlnUzYdHl7FSHSzYJ0A/R7vu0SYofsexC4w==",
- "requires": {
- "chalk": "^4.1.2",
- "tslib": "^2.3.1"
- }
- },
- "@svgr/babel-plugin-add-jsx-attribute": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.0.0.tgz",
- "integrity": "sha512-MdPdhdWLtQsjd29Wa4pABdhWbaRMACdM1h31BY+c6FghTZqNGT7pEYdBoaGeKtdTOBC/XNFQaKVj+r/Ei2ryWA=="
- },
- "@svgr/babel-plugin-remove-jsx-attribute": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.0.0.tgz",
- "integrity": "sha512-aVdtfx9jlaaxc3unA6l+M9YRnKIZjOhQPthLKqmTXC8UVkBLDRGwPKo+r8n3VZN8B34+yVajzPTZ+ptTSuZZCw=="
- },
- "@svgr/babel-plugin-remove-jsx-empty-expression": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.0.0.tgz",
- "integrity": "sha512-Ccj42ApsePD451AZJJf1QzTD1B/BOU392URJTeXFxSK709i0KUsGtbwyiqsKu7vsYxpTM0IA5clAKDyf9RCZyA=="
- },
- "@svgr/babel-plugin-replace-jsx-attribute-value": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.0.0.tgz",
- "integrity": "sha512-88V26WGyt1Sfd1emBYmBJRWMmgarrExpKNVmI9vVozha4kqs6FzQJ/Kp5+EYli1apgX44518/0+t9+NU36lThQ=="
- },
- "@svgr/babel-plugin-svg-dynamic-title": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.0.0.tgz",
- "integrity": "sha512-F7YXNLfGze+xv0KMQxrl2vkNbI9kzT9oDK55/kUuymh1ACyXkMV+VZWX1zEhSTfEKh7VkHVZGmVtHg8eTZ6PRg=="
- },
- "@svgr/babel-plugin-svg-em-dimensions": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.0.0.tgz",
- "integrity": "sha512-+rghFXxdIqJNLQK08kwPBD3Z22/0b2tEZ9lKiL/yTfuyj1wW8HUXu4bo/XkogATIYuXSghVQOOCwURXzHGKyZA=="
- },
- "@svgr/babel-plugin-transform-react-native-svg": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.0.0.tgz",
- "integrity": "sha512-VaphyHZ+xIKv5v0K0HCzyfAaLhPGJXSk2HkpYfXIOKb7DjLBv0soHDxNv6X0vr2titsxE7klb++u7iOf7TSrFQ=="
- },
- "@svgr/babel-plugin-transform-svg-component": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.2.0.tgz",
- "integrity": "sha512-bhYIpsORb++wpsp91fymbFkf09Z/YEKR0DnFjxvN+8JHeCUD2unnh18jIMKnDJTWtvpTaGYPXELVe4OOzFI0xg=="
- },
- "@svgr/babel-preset": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.2.0.tgz",
- "integrity": "sha512-4WQNY0J71JIaL03DRn0vLiz87JXx0b9dYm2aA8XHlQJQoixMl4r/soYHm8dsaJZ3jWtkCiOYy48dp9izvXhDkQ==",
- "requires": {
- "@svgr/babel-plugin-add-jsx-attribute": "^6.0.0",
- "@svgr/babel-plugin-remove-jsx-attribute": "^6.0.0",
- "@svgr/babel-plugin-remove-jsx-empty-expression": "^6.0.0",
- "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.0.0",
- "@svgr/babel-plugin-svg-dynamic-title": "^6.0.0",
- "@svgr/babel-plugin-svg-em-dimensions": "^6.0.0",
- "@svgr/babel-plugin-transform-react-native-svg": "^6.0.0",
- "@svgr/babel-plugin-transform-svg-component": "^6.2.0"
- }
- },
- "@svgr/core": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.2.1.tgz",
- "integrity": "sha512-NWufjGI2WUyrg46mKuySfviEJ6IxHUOm/8a3Ph38VCWSp+83HBraCQrpEM3F3dB6LBs5x8OElS8h3C0oOJaJAA==",
- "requires": {
- "@svgr/plugin-jsx": "^6.2.1",
- "camelcase": "^6.2.0",
- "cosmiconfig": "^7.0.1"
- }
- },
- "@svgr/hast-util-to-babel-ast": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.2.1.tgz",
- "integrity": "sha512-pt7MMkQFDlWJVy9ULJ1h+hZBDGFfSCwlBNW1HkLnVi7jUhyEXUaGYWi1x6bM2IXuAR9l265khBT4Av4lPmaNLQ==",
- "requires": {
- "@babel/types": "^7.15.6",
- "entities": "^3.0.1"
- }
- },
- "@svgr/plugin-jsx": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.2.1.tgz",
- "integrity": "sha512-u+MpjTsLaKo6r3pHeeSVsh9hmGRag2L7VzApWIaS8imNguqoUwDq/u6U/NDmYs/KAsrmtBjOEaAAPbwNGXXp1g==",
- "requires": {
- "@babel/core": "^7.15.5",
- "@svgr/babel-preset": "^6.2.0",
- "@svgr/hast-util-to-babel-ast": "^6.2.1",
- "svg-parser": "^2.0.2"
- }
- },
- "@svgr/plugin-svgo": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.2.0.tgz",
- "integrity": "sha512-oDdMQONKOJEbuKwuy4Np6VdV6qoaLLvoY86hjvQEgU82Vx1MSWRyYms6Sl0f+NtqxLI/rDVufATbP/ev996k3Q==",
- "requires": {
- "cosmiconfig": "^7.0.1",
- "deepmerge": "^4.2.2",
- "svgo": "^2.5.0"
- }
- },
- "@svgr/webpack": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.2.1.tgz",
- "integrity": "sha512-h09ngMNd13hnePwgXa+Y5CgOjzlCvfWLHg+MBnydEedAnuLRzUHUJmGS3o2OsrhxTOOqEsPOFt5v/f6C5Qulcw==",
- "requires": {
- "@babel/core": "^7.15.5",
- "@babel/plugin-transform-react-constant-elements": "^7.14.5",
- "@babel/preset-env": "^7.15.6",
- "@babel/preset-react": "^7.14.5",
- "@babel/preset-typescript": "^7.15.0",
- "@svgr/core": "^6.2.1",
- "@svgr/plugin-jsx": "^6.2.1",
- "@svgr/plugin-svgo": "^6.2.0"
- }
- },
- "@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
- },
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
- },
- "enhanced-resolve": {
- "version": "5.9.2",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz",
- "integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==",
- "requires": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- }
- },
- "entities": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
- "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q=="
- },
- "fs-extra": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
- "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
- "js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "webpack": {
- "version": "5.70.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz",
- "integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==",
- "requires": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.9.2",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
- "webpack-sources": "^3.2.3"
- }
- },
- "webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
- }
- }
- },
- "@docusaurus/utils-common": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.0.0-beta.17.tgz",
- "integrity": "sha512-90WCVdj6zYzs7neEIS594qfLO78cUL6EVK1CsRHJgVkkGjcYlCQ1NwkyO7bOb+nIAwdJrPJRc2FBSpuEGxPD3w==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@docusaurus/utils-validation": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.0.0-beta.17.tgz",
- "integrity": "sha512-5UjayUP16fDjgd52eSEhL7SlN9x60pIhyS+K7kt7RmpSLy42+4/bSr2pns2VlATmuaoNOO6iIFdB2jgSYJ6SGA==",
- "requires": {
- "@docusaurus/logger": "2.0.0-beta.17",
- "@docusaurus/utils": "2.0.0-beta.17",
- "joi": "^17.6.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@docusaurus/logger": {
- "version": "2.0.0-beta.17",
- "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.0.0-beta.17.tgz",
- "integrity": "sha512-F9JDl06/VLg+ylsvnq9NpILSUeWtl0j4H2LtlLzX5gufEL4dGiCMlnUzYdHl7FSHSzYJ0A/R7vu0SYofsexC4w==",
- "requires": {
- "chalk": "^4.1.2",
- "tslib": "^2.3.1"
- }
- },
- "joi": {
- "version": "17.6.0",
- "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz",
- "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==",
- "requires": {
- "@hapi/hoek": "^9.0.0",
- "@hapi/topo": "^5.0.0",
- "@sideway/address": "^4.1.3",
- "@sideway/formula": "^3.0.0",
- "@sideway/pinpoint": "^2.0.0"
- }
- }
- }
- },
- "@emotion/cache": {
- "version": "10.0.29",
- "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz",
- "integrity": "sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==",
- "requires": {
- "@emotion/sheet": "0.9.4",
- "@emotion/stylis": "0.8.5",
- "@emotion/utils": "0.11.3",
- "@emotion/weak-memoize": "0.2.5"
- }
- },
- "@emotion/core": {
- "version": "10.3.1",
- "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.3.1.tgz",
- "integrity": "sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww==",
- "requires": {
- "@babel/runtime": "^7.5.5",
- "@emotion/cache": "^10.0.27",
- "@emotion/css": "^10.0.27",
- "@emotion/serialize": "^0.11.15",
- "@emotion/sheet": "0.9.4",
- "@emotion/utils": "0.11.3"
- }
- },
- "@emotion/css": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz",
- "integrity": "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==",
- "requires": {
- "@emotion/serialize": "^0.11.15",
- "@emotion/utils": "0.11.3",
- "babel-plugin-emotion": "^10.0.27"
- }
- },
- "@emotion/hash": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
- "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow=="
- },
- "@emotion/is-prop-valid": {
- "version": "0.8.8",
- "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz",
- "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==",
- "requires": {
- "@emotion/memoize": "0.7.4"
- }
- },
- "@emotion/memoize": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
- "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="
- },
- "@emotion/serialize": {
- "version": "0.11.16",
- "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz",
- "integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==",
- "requires": {
- "@emotion/hash": "0.8.0",
- "@emotion/memoize": "0.7.4",
- "@emotion/unitless": "0.7.5",
- "@emotion/utils": "0.11.3",
- "csstype": "^2.5.7"
- },
- "dependencies": {
- "csstype": {
- "version": "2.6.19",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.19.tgz",
- "integrity": "sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ=="
- }
- }
- },
- "@emotion/sheet": {
- "version": "0.9.4",
- "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz",
- "integrity": "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA=="
- },
- "@emotion/styled": {
- "version": "10.3.0",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
- "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
- "requires": {
- "@emotion/styled-base": "^10.3.0",
- "babel-plugin-emotion": "^10.0.27"
- }
- },
- "@emotion/styled-base": {
- "version": "10.3.0",
- "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
- "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
- "requires": {
- "@babel/runtime": "^7.5.5",
- "@emotion/is-prop-valid": "0.8.8",
- "@emotion/serialize": "^0.11.15",
- "@emotion/utils": "0.11.3"
- }
- },
- "@emotion/stylis": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz",
- "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ=="
- },
- "@emotion/unitless": {
- "version": "0.7.5",
- "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
- "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
- },
- "@emotion/utils": {
- "version": "0.11.3",
- "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz",
- "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw=="
- },
- "@emotion/weak-memoize": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz",
- "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA=="
- },
- "@hapi/hoek": {
- "version": "9.2.1",
- "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz",
- "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw=="
- },
- "@hapi/topo": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
- "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
- "requires": {
- "@hapi/hoek": "^9.0.0"
- }
- },
- "@jridgewell/resolve-uri": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz",
- "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew=="
- },
- "@jridgewell/sourcemap-codec": {
- "version": "1.4.11",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz",
- "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg=="
- },
- "@jridgewell/trace-mapping": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz",
- "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==",
- "requires": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
- "@mdx-js/mdx": {
- "version": "1.6.22",
- "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz",
- "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==",
- "requires": {
- "@babel/core": "7.12.9",
- "@babel/plugin-syntax-jsx": "7.12.1",
- "@babel/plugin-syntax-object-rest-spread": "7.8.3",
- "@mdx-js/util": "1.6.22",
- "babel-plugin-apply-mdx-type-prop": "1.6.22",
- "babel-plugin-extract-import-names": "1.6.22",
- "camelcase-css": "2.0.1",
- "detab": "2.0.4",
- "hast-util-raw": "6.0.1",
- "lodash.uniq": "4.5.0",
- "mdast-util-to-hast": "10.0.1",
- "remark-footnotes": "2.0.0",
- "remark-mdx": "1.6.22",
- "remark-parse": "8.0.3",
- "remark-squeeze-paragraphs": "4.0.0",
- "style-to-object": "0.3.0",
- "unified": "9.2.0",
- "unist-builder": "2.0.3",
- "unist-util-visit": "2.0.3"
- },
- "dependencies": {
- "@babel/core": {
- "version": "7.12.9",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz",
- "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==",
- "requires": {
- "@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.12.5",
- "@babel/helper-module-transforms": "^7.12.1",
- "@babel/helpers": "^7.12.5",
- "@babel/parser": "^7.12.7",
- "@babel/template": "^7.12.7",
- "@babel/traverse": "^7.12.9",
- "@babel/types": "^7.12.7",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.1",
- "json5": "^2.1.2",
- "lodash": "^4.17.19",
- "resolve": "^1.3.2",
- "semver": "^5.4.1",
- "source-map": "^0.5.0"
- }
- },
- "@babel/plugin-syntax-jsx": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz",
- "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "@mdx-js/react": {
- "version": "1.6.22",
- "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz",
- "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg=="
- },
- "@mdx-js/runtime": {
- "version": "1.6.22",
- "resolved": "https://registry.npmjs.org/@mdx-js/runtime/-/runtime-1.6.22.tgz",
- "integrity": "sha512-p17spaO2+55VLCuxXA3LVHC4phRx60NR2XMdZ+qgVU1lKvEX4y88dmFNOzGDCPLJ03IZyKrJ/rPWWRiBrd9JrQ==",
- "requires": {
- "@mdx-js/mdx": "1.6.22",
- "@mdx-js/react": "1.6.22",
- "buble-jsx-only": "^0.19.8"
- }
- },
- "@mdx-js/util": {
- "version": "1.6.22",
- "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz",
- "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA=="
- },
- "@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "requires": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- }
- },
- "@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="
- },
- "@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "requires": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- }
- },
- "@polka/url": {
- "version": "1.0.0-next.21",
- "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
- "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g=="
- },
- "@saucelabs/theme-github-codeblock": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@saucelabs/theme-github-codeblock/-/theme-github-codeblock-0.1.1.tgz",
- "integrity": "sha512-iHzODYjcUAYI4eJzLrNCw/Iq9SWxCKB/cMgEKHjRmNMb2NKch1dsI2ZSCg8lNedIPmOaRfqHT29hLyMoc/5Wpg=="
- },
- "@sideway/address": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.3.tgz",
- "integrity": "sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ==",
- "requires": {
- "@hapi/hoek": "^9.0.0"
- }
- },
- "@sideway/formula": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz",
- "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg=="
- },
- "@sideway/pinpoint": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
- "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ=="
- },
- "@sindresorhus/is": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
- "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ=="
- },
- "@slorber/static-site-generator-webpack-plugin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.1.tgz",
- "integrity": "sha512-PSv4RIVO1Y3kvHxjvqeVisk3E9XFoO04uwYBDWe217MFqKspplYswTuKLiJu0aLORQWzuQjfVsSlLPojwfYsLw==",
- "requires": {
- "bluebird": "^3.7.1",
- "cheerio": "^0.22.0",
- "eval": "^0.1.4",
- "url": "^0.11.0",
- "webpack-sources": "^1.4.3"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- },
- "webpack-sources": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
- "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
- "requires": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
- }
- }
- }
- },
- "@styled-system/background": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@styled-system/background/-/background-5.1.2.tgz",
- "integrity": "sha512-jtwH2C/U6ssuGSvwTN3ri/IyjdHb8W9X/g8Y0JLcrH02G+BW3OS8kZdHphF1/YyRklnrKrBT2ngwGUK6aqqV3A==",
- "requires": {
- "@styled-system/core": "^5.1.2"
- }
- },
- "@styled-system/border": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/@styled-system/border/-/border-5.1.5.tgz",
- "integrity": "sha512-JvddhNrnhGigtzWRCVuAHepniyVi6hBlimxWDVAdcTuk7aRn9BYJUwfHslURtwYFsF5FoEs8Zmr1oZq2M1AP0A==",
- "requires": {
- "@styled-system/core": "^5.1.2"
- }
- },
- "@styled-system/color": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@styled-system/color/-/color-5.1.2.tgz",
- "integrity": "sha512-1kCkeKDZkt4GYkuFNKc7vJQMcOmTl3bJY3YBUs7fCNM6mMYJeT1pViQ2LwBSBJytj3AB0o4IdLBoepgSgGl5MA==",
- "requires": {
- "@styled-system/core": "^5.1.2"
- }
- },
- "@styled-system/core": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@styled-system/core/-/core-5.1.2.tgz",
- "integrity": "sha512-XclBDdNIy7OPOsN4HBsawG2eiWfCcuFt6gxKn1x4QfMIgeO6TOlA2pZZ5GWZtIhCUqEPTgIBta6JXsGyCkLBYw==",
- "requires": {
- "object-assign": "^4.1.1"
- }
- },
- "@styled-system/css": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/@styled-system/css/-/css-5.1.5.tgz",
- "integrity": "sha512-XkORZdS5kypzcBotAMPBoeckDs9aSZVkvrAlq5K3xP8IMAUek+x2O4NtwoSgkYkWWzVBu6DGdFZLR790QWGG+A=="
- },
- "@styled-system/flexbox": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@styled-system/flexbox/-/flexbox-5.1.2.tgz",
- "integrity": "sha512-6hHV52+eUk654Y1J2v77B8iLeBNtc+SA3R4necsu2VVinSD7+XY5PCCEzBFaWs42dtOEDIa2lMrgL0YBC01mDQ==",
- "requires": {
- "@styled-system/core": "^5.1.2"
- }
- },
- "@styled-system/grid": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@styled-system/grid/-/grid-5.1.2.tgz",
- "integrity": "sha512-K3YiV1KyHHzgdNuNlaw8oW2ktMuGga99o1e/NAfTEi5Zsa7JXxzwEnVSDSBdJC+z6R8WYTCYRQC6bkVFcvdTeg==",
- "requires": {
- "@styled-system/core": "^5.1.2"
- }
- },
- "@styled-system/layout": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@styled-system/layout/-/layout-5.1.2.tgz",
- "integrity": "sha512-wUhkMBqSeacPFhoE9S6UF3fsMEKFv91gF4AdDWp0Aym1yeMPpqz9l9qS/6vjSsDPF7zOb5cOKC3tcKKOMuDCPw==",
- "requires": {
- "@styled-system/core": "^5.1.2"
- }
- },
- "@styled-system/position": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@styled-system/position/-/position-5.1.2.tgz",
- "integrity": "sha512-60IZfMXEOOZe3l1mCu6sj/2NAyUmES2kR9Kzp7s2D3P4qKsZWxD1Se1+wJvevb+1TP+ZMkGPEYYXRyU8M1aF5A==",
- "requires": {
- "@styled-system/core": "^5.1.2"
- }
- },
- "@styled-system/shadow": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@styled-system/shadow/-/shadow-5.1.2.tgz",
- "integrity": "sha512-wqniqYb7XuZM7K7C0d1Euxc4eGtqEe/lvM0WjuAFsQVImiq6KGT7s7is+0bNI8O4Dwg27jyu4Lfqo/oIQXNzAg==",
- "requires": {
- "@styled-system/core": "^5.1.2"
- }
- },
- "@styled-system/should-forward-prop": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/@styled-system/should-forward-prop/-/should-forward-prop-5.1.5.tgz",
- "integrity": "sha512-+rPRomgCGYnUIaFabDoOgpSDc4UUJ1KsmlnzcEp0tu5lFrBQKgZclSo18Z1URhaZm7a6agGtS5Xif7tuC2s52Q==",
- "requires": {
- "@emotion/is-prop-valid": "^0.8.1",
- "@emotion/memoize": "^0.7.1",
- "styled-system": "^5.1.5"
- }
- },
- "@styled-system/space": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@styled-system/space/-/space-5.1.2.tgz",
- "integrity": "sha512-+zzYpR8uvfhcAbaPXhH8QgDAV//flxqxSjHiS9cDFQQUSznXMQmxJegbhcdEF7/eNnJgHeIXv1jmny78kipgBA==",
- "requires": {
- "@styled-system/core": "^5.1.2"
- }
- },
- "@styled-system/typography": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@styled-system/typography/-/typography-5.1.2.tgz",
- "integrity": "sha512-BxbVUnN8N7hJ4aaPOd7wEsudeT7CxarR+2hns8XCX1zp0DFfbWw4xYa/olA0oQaqx7F1hzDg+eRaGzAJbF+jOg==",
- "requires": {
- "@styled-system/core": "^5.1.2"
- }
- },
- "@styled-system/variant": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/@styled-system/variant/-/variant-5.1.5.tgz",
- "integrity": "sha512-Yn8hXAFoWIro8+Q5J8YJd/mP85Teiut3fsGVR9CAxwgNfIAiqlYxsk5iHU7VHJks/0KjL4ATSjmbtCDC/4l1qw==",
- "requires": {
- "@styled-system/core": "^5.1.2",
- "@styled-system/css": "^5.1.5"
- }
- },
- "@superset-ui/style": {
- "version": "0.14.23",
- "resolved": "https://registry.npmjs.org/@superset-ui/style/-/style-0.14.23.tgz",
- "integrity": "sha512-/ac0au8jKyvqo5GO/buKy+WYZ2Q3u0z3stcUDW+RmZ//DB47FAqkXSoKhkTIsKsZU0sERMww03Fj2FP+d6BBUw==",
- "requires": {
- "@emotion/core": "^10.0.28",
- "@emotion/styled": "^10.0.27",
- "emotion-theming": "^10.0.27"
- }
- },
- "@svgr/babel-plugin-add-jsx-attribute": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz",
- "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg=="
- },
- "@svgr/babel-plugin-remove-jsx-attribute": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz",
- "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg=="
- },
- "@svgr/babel-plugin-remove-jsx-empty-expression": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz",
- "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA=="
- },
- "@svgr/babel-plugin-replace-jsx-attribute-value": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz",
- "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ=="
- },
- "@svgr/babel-plugin-svg-dynamic-title": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz",
- "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg=="
- },
- "@svgr/babel-plugin-svg-em-dimensions": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz",
- "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw=="
- },
- "@svgr/babel-plugin-transform-react-native-svg": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz",
- "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q=="
- },
- "@svgr/babel-plugin-transform-svg-component": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz",
- "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ=="
- },
- "@svgr/babel-preset": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz",
- "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==",
- "requires": {
- "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0",
- "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0",
- "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1",
- "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1",
- "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0",
- "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0",
- "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0",
- "@svgr/babel-plugin-transform-svg-component": "^5.5.0"
- }
- },
- "@svgr/core": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz",
- "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==",
- "requires": {
- "@svgr/plugin-jsx": "^5.5.0",
- "camelcase": "^6.2.0",
- "cosmiconfig": "^7.0.0"
- }
- },
- "@svgr/hast-util-to-babel-ast": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz",
- "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==",
- "requires": {
- "@babel/types": "^7.12.6"
- }
- },
- "@svgr/plugin-jsx": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz",
- "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==",
- "requires": {
- "@babel/core": "^7.12.3",
- "@svgr/babel-preset": "^5.5.0",
- "@svgr/hast-util-to-babel-ast": "^5.5.0",
- "svg-parser": "^2.0.2"
- }
- },
- "@svgr/plugin-svgo": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz",
- "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==",
- "requires": {
- "cosmiconfig": "^7.0.0",
- "deepmerge": "^4.2.2",
- "svgo": "^1.2.2"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "css-select": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
- "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==",
- "requires": {
- "boolbase": "^1.0.0",
- "css-what": "^3.2.1",
- "domutils": "^1.7.0",
- "nth-check": "^1.0.2"
- }
- },
- "css-tree": {
- "version": "1.0.0-alpha.37",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
- "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==",
- "requires": {
- "mdn-data": "2.0.4",
- "source-map": "^0.6.1"
- }
- },
- "css-what": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz",
- "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ=="
- },
- "dom-serializer": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
- "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
- "requires": {
- "domelementtype": "^2.0.1",
- "entities": "^2.0.0"
- },
- "dependencies": {
- "domelementtype": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
- "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A=="
- }
- }
- },
- "domelementtype": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
- "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
- },
- "domutils": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
- "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
- "requires": {
- "dom-serializer": "0",
- "domelementtype": "1"
- }
- },
- "mdn-data": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
- "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA=="
- },
- "nth-check": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
- "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
- "requires": {
- "boolbase": "~1.0.0"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- },
- "svgo": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
- "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==",
- "requires": {
- "chalk": "^2.4.1",
- "coa": "^2.0.2",
- "css-select": "^2.0.0",
- "css-select-base-adapter": "^0.1.1",
- "css-tree": "1.0.0-alpha.37",
- "csso": "^4.0.2",
- "js-yaml": "^3.13.1",
- "mkdirp": "~0.5.1",
- "object.values": "^1.1.0",
- "sax": "~1.2.4",
- "stable": "^0.1.8",
- "unquote": "~1.1.1",
- "util.promisify": "~1.0.0"
- }
- }
- }
- },
- "@svgr/webpack": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz",
- "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==",
- "requires": {
- "@babel/core": "^7.12.3",
- "@babel/plugin-transform-react-constant-elements": "^7.12.1",
- "@babel/preset-env": "^7.12.1",
- "@babel/preset-react": "^7.12.5",
- "@svgr/core": "^5.5.0",
- "@svgr/plugin-jsx": "^5.5.0",
- "@svgr/plugin-svgo": "^5.5.0",
- "loader-utils": "^2.0.0"
- }
- },
- "@szmarczak/http-timer": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
- "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
- "requires": {
- "defer-to-connect": "^1.0.1"
- }
- },
- "@theme-ui/color-modes": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@theme-ui/color-modes/-/color-modes-0.3.5.tgz",
- "integrity": "sha512-3n5ExAnp1gAuVVFdGF2rRLyrVsa7qtmUXx+gj1wPJsADq23EE4ctkppC+aIfPFxT196WhR8fjErrVuO7Rh+wAg==",
- "requires": {
- "@emotion/core": "^10.0.0",
- "@theme-ui/core": "0.3.5",
- "@theme-ui/css": "0.3.5",
- "deepmerge": "^4.2.2"
- }
- },
- "@theme-ui/components": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@theme-ui/components/-/components-0.3.5.tgz",
- "integrity": "sha512-RdWwnN43H1Tq80lGCu6icNuYCWoHHNtwH+LJGaGfiPkv/uMXWrwzKPLMiAuYM5b3ofKtmdaAcxZLjqAld97jkw==",
- "requires": {
- "@emotion/core": "^10.0.0",
- "@emotion/styled": "^10.0.0",
- "@styled-system/color": "^5.1.2",
- "@styled-system/should-forward-prop": "^5.1.2",
- "@styled-system/space": "^5.1.2",
- "@theme-ui/css": "0.3.5"
- }
- },
- "@theme-ui/core": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@theme-ui/core/-/core-0.3.5.tgz",
- "integrity": "sha512-80gbG4BW0ZQgZ8TWSG7vY72uXDxmkI/GttjpJee7AJlWVrPh7RCD2E3cuFPjqXzt7o4BJ9lZSHmTXcLzixNtRw==",
- "requires": {
- "@emotion/core": "^10.0.0",
- "@theme-ui/css": "0.3.5",
- "deepmerge": "^4.2.2"
- }
- },
- "@theme-ui/css": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@theme-ui/css/-/css-0.3.5.tgz",
- "integrity": "sha512-XqsyXmifbnHOui1flSq4V7Lb3U+06Dbn2Q/leyr/cRd6Xgc0naiztdmD0MbXNvxgU51a2Ur9hyP4PnO5wE0yRg=="
- },
- "@theme-ui/mdx": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@theme-ui/mdx/-/mdx-0.3.5.tgz",
- "integrity": "sha512-KMf5kkEcItQ3qIj7dston/kBOZc82ST2R0pUcyk/u8ZclX4ingRtZkMxm2zpmxybzdSUY3DIKf2MTK9CxUSpOQ==",
- "requires": {
- "@emotion/core": "^10.0.0",
- "@emotion/styled": "^10.0.0",
- "@mdx-js/react": "^1.0.0"
- }
- },
- "@theme-ui/theme-provider": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@theme-ui/theme-provider/-/theme-provider-0.3.5.tgz",
- "integrity": "sha512-C1kVsGyrh/pqO/j4+KSF5IvVW1DOnZoQmpaJ9EjyU4bqY0PCTZfuNdNPfydKaDWiYxrKGXKBeX0xjvLLU6R0zQ==",
- "requires": {
- "@emotion/core": "^10.0.0",
- "@theme-ui/color-modes": "0.3.5",
- "@theme-ui/core": "0.3.5",
- "@theme-ui/mdx": "0.3.5"
- }
- },
- "@trysound/sax": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
- "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA=="
- },
- "@tsconfig/docusaurus": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@tsconfig/docusaurus/-/docusaurus-1.0.4.tgz",
- "integrity": "sha512-I6sziQAzLrrqj9r6S26c7aOAjfGVXIE7gWdNONPwnpDcHiMRMQut1s1YCi/APem3dOy23tAb2rvHfNtGCaWuUQ==",
- "dev": true
- },
- "@types/body-parser": {
- "version": "1.19.2",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
- "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
- "requires": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "@types/bonjour": {
- "version": "3.5.10",
- "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz",
- "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/connect": {
- "version": "3.4.35",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
- "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/connect-history-api-fallback": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz",
- "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==",
- "requires": {
- "@types/express-serve-static-core": "*",
- "@types/node": "*"
- }
- },
- "@types/eslint": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.2.tgz",
- "integrity": "sha512-nQxgB8/Sg+QKhnV8e0WzPpxjIGT3tuJDDzybkDi8ItE/IgTlHo07U0shaIjzhcvQxlq9SDRE42lsJ23uvEgJ2A==",
- "requires": {
- "@types/estree": "*",
- "@types/json-schema": "*"
- }
- },
- "@types/eslint-scope": {
- "version": "3.7.3",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz",
- "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==",
- "requires": {
- "@types/eslint": "*",
- "@types/estree": "*"
- }
- },
- "@types/estree": {
- "version": "0.0.50",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz",
- "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw=="
- },
- "@types/express": {
- "version": "4.17.13",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz",
- "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==",
- "requires": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.18",
- "@types/qs": "*",
- "@types/serve-static": "*"
- }
- },
- "@types/express-serve-static-core": {
- "version": "4.17.27",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.27.tgz",
- "integrity": "sha512-e/sVallzUTPdyOTiqi8O8pMdBBphscvI6E4JYaKlja4Lm+zh7UFSSdW5VMkRbhDtmrONqOUHOXRguPsDckzxNA==",
- "requires": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*"
- }
- },
- "@types/hast": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz",
- "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==",
- "requires": {
- "@types/unist": "*"
- }
- },
- "@types/history": {
- "version": "4.7.10",
- "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.10.tgz",
- "integrity": "sha512-kq1vceWANyZLEt/+hbTWSAjLNhhXYgUw6Ywi0KQ9C7pZJP4Qrr0xjSKb3t59e5GwWtk1L6zt5KTxjH4oPk2l/w=="
- },
- "@types/hoist-non-react-statics": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
- "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
- "requires": {
- "@types/react": "*",
- "hoist-non-react-statics": "^3.3.0"
- }
- },
- "@types/html-minifier-terser": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz",
- "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg=="
- },
- "@types/http-proxy": {
- "version": "1.17.8",
- "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz",
- "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/json-schema": {
- "version": "7.0.9",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
- "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ=="
- },
- "@types/mdast": {
- "version": "3.0.10",
- "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz",
- "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==",
- "requires": {
- "@types/unist": "*"
- }
- },
- "@types/mime": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
- "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
- },
- "@types/node": {
- "version": "17.0.8",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.8.tgz",
- "integrity": "sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg=="
- },
- "@types/parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA=="
- },
- "@types/parse5": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz",
- "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw=="
- },
- "@types/prop-types": {
- "version": "15.7.4",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz",
- "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ=="
- },
- "@types/q": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz",
- "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ=="
- },
- "@types/qs": {
- "version": "6.9.7",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
- "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw=="
- },
- "@types/range-parser": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
- "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw=="
- },
- "@types/react": {
- "version": "17.0.38",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.38.tgz",
- "integrity": "sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==",
- "requires": {
- "@types/prop-types": "*",
- "@types/scheduler": "*",
- "csstype": "^3.0.2"
- }
- },
- "@types/react-redux": {
- "version": "7.1.21",
- "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.21.tgz",
- "integrity": "sha512-bLdglUiBSQNzWVVbmNPKGYYjrzp3/YDPwfOH3nLEz99I4awLlaRAPWjo6bZ2POpxztFWtDDXIPxBLVykXqBt+w==",
- "requires": {
- "@types/hoist-non-react-statics": "^3.3.0",
- "@types/react": "*",
- "hoist-non-react-statics": "^3.3.0",
- "redux": "^4.0.0"
- }
- },
- "@types/react-router": {
- "version": "5.1.17",
- "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.17.tgz",
- "integrity": "sha512-RNSXOyb3VyRs/EOGmjBhhGKTbnN6fHWvy5FNLzWfOWOGjgVUKqJZXfpKzLmgoU8h6Hj8mpALj/mbXQASOb92wQ==",
- "requires": {
- "@types/history": "*",
- "@types/react": "*"
- }
- },
- "@types/react-router-config": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.4.tgz",
- "integrity": "sha512-wJIRO2JcR/prphs4h7Fadx48vlqC3qMyTImqOLHkpwWCYBq9SnC+UAOBVZM4pCrzdIvUoXQy3b18+J6LXEKVpw==",
- "requires": {
- "@types/history": "*",
- "@types/react": "*",
- "@types/react-router": "*"
- }
- },
- "@types/react-router-dom": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.2.tgz",
- "integrity": "sha512-ELEYRUie2czuJzaZ5+ziIp9Hhw+juEw8b7C11YNA4QdLCVbQ3qLi2l4aq8XnlqM7V31LZX8dxUuFUCrzHm6sqQ==",
- "requires": {
- "@types/history": "*",
- "@types/react": "*",
- "@types/react-router": "*"
- }
- },
- "@types/retry": {
- "version": "0.12.1",
- "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz",
- "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g=="
- },
- "@types/sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/scheduler": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
- "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
- },
- "@types/serve-index": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz",
- "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==",
- "requires": {
- "@types/express": "*"
- }
- },
- "@types/serve-static": {
- "version": "1.13.10",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz",
- "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==",
- "requires": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "@types/sockjs": {
- "version": "0.3.33",
- "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz",
- "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/unist": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz",
- "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ=="
- },
- "@types/ws": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz",
- "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@webassemblyjs/ast": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
- "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
- "requires": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
- }
- },
- "@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
- "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ=="
- },
- "@webassemblyjs/helper-api-error": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
- "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg=="
- },
- "@webassemblyjs/helper-buffer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
- "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA=="
- },
- "@webassemblyjs/helper-numbers": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
- "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
- "requires": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
- "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q=="
- },
- "@webassemblyjs/helper-wasm-section": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
- "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1"
- }
- },
- "@webassemblyjs/ieee754": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
- "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
- "requires": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "@webassemblyjs/leb128": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
- "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
- "requires": {
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/utf8": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
- "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ=="
- },
- "@webassemblyjs/wasm-edit": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
- "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/helper-wasm-section": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-opt": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "@webassemblyjs/wast-printer": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-gen": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
- "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-opt": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
- "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
- "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "@webassemblyjs/wast-printer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
- "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="
- },
- "@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
- },
- "accepts": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
- "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
- "requires": {
- "mime-types": "~2.1.24",
- "negotiator": "0.6.2"
- }
- },
- "acorn": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
- "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ=="
- },
- "acorn-dynamic-import": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz",
- "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw=="
- },
- "acorn-import-assertions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
- "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw=="
- },
- "acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="
- },
- "acorn-walk": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
- "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA=="
- },
- "address": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz",
- "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA=="
- },
- "aggregate-error": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
- "requires": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- }
- },
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-formats": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
- "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
- "requires": {
- "ajv": "^8.0.0"
- },
- "dependencies": {
- "ajv": {
- "version": "8.8.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz",
- "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
- }
- }
- },
- "ajv-keywords": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="
- },
- "algoliasearch": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.12.2.tgz",
- "integrity": "sha512-bn1P9+V415zeDQJtXn+1SwuwedEAv9/LJAxt8XwR6ygH/sMwaHSm2hpkz8wIbCBt/tKQ43TL672Kyxzv5PwGgQ==",
- "requires": {
- "@algolia/cache-browser-local-storage": "4.12.2",
- "@algolia/cache-common": "4.12.2",
- "@algolia/cache-in-memory": "4.12.2",
- "@algolia/client-account": "4.12.2",
- "@algolia/client-analytics": "4.12.2",
- "@algolia/client-common": "4.12.2",
- "@algolia/client-personalization": "4.12.2",
- "@algolia/client-search": "4.12.2",
- "@algolia/logger-common": "4.12.2",
- "@algolia/logger-console": "4.12.2",
- "@algolia/requester-browser-xhr": "4.12.2",
- "@algolia/requester-common": "4.12.2",
- "@algolia/requester-node-http": "4.12.2",
- "@algolia/transporter": "4.12.2"
- }
- },
- "algoliasearch-helper": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.7.0.tgz",
- "integrity": "sha512-XJ3QfERBLfeVCyTVx80gon7r3/rgm/CE8Ha1H7cbablRe/X7SfYQ14g/eO+MhjVKIQp+gy9oC6G5ilmLwS1k6w==",
- "requires": {
- "@algolia/events": "^4.0.1"
- }
- },
- "alphanum-sort": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
- "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM="
- },
- "ansi-align": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
- "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
- "requires": {
- "string-width": "^4.1.0"
- }
- },
- "ansi-html-community": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
- "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw=="
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "antd": {
- "version": "4.18.7",
- "resolved": "https://registry.npmjs.org/antd/-/antd-4.18.7.tgz",
- "integrity": "sha512-OJsrZOPy4+fEbIVoUFLXQ9quLthkOjQD+AGwIey3nC5+4hebloImbGqqwQ1/ypSFDxou8NtyZ2HCTfPP5WaO4g==",
- "requires": {
- "@ant-design/colors": "^6.0.0",
- "@ant-design/icons": "^4.7.0",
- "@ant-design/react-slick": "~0.28.1",
- "@babel/runtime": "^7.12.5",
- "@ctrl/tinycolor": "^3.4.0",
- "classnames": "^2.2.6",
- "copy-to-clipboard": "^3.2.0",
- "lodash": "^4.17.21",
- "memoize-one": "^6.0.0",
- "moment": "^2.25.3",
- "rc-cascader": "~3.2.1",
- "rc-checkbox": "~2.3.0",
- "rc-collapse": "~3.1.0",
- "rc-dialog": "~8.6.0",
- "rc-drawer": "~4.4.2",
- "rc-dropdown": "~3.2.5",
- "rc-field-form": "~1.22.0-2",
- "rc-image": "~5.2.5",
- "rc-input-number": "~7.3.0",
- "rc-mentions": "~1.6.1",
- "rc-menu": "~9.2.1",
- "rc-motion": "^2.4.4",
- "rc-notification": "~4.5.7",
- "rc-pagination": "~3.1.9",
- "rc-picker": "~2.5.17",
- "rc-progress": "~3.2.1",
- "rc-rate": "~2.9.0",
- "rc-resize-observer": "^1.2.0",
- "rc-select": "~14.0.0-alpha.15",
- "rc-slider": "~9.7.4",
- "rc-steps": "~4.1.0",
- "rc-switch": "~3.2.0",
- "rc-table": "~7.22.2",
- "rc-tabs": "~11.10.0",
- "rc-textarea": "~0.3.0",
- "rc-tooltip": "~5.1.1",
- "rc-tree": "~5.4.3",
- "rc-tree-select": "~5.1.1",
- "rc-trigger": "^5.2.10",
- "rc-upload": "~4.3.0",
- "rc-util": "^5.14.0",
- "scroll-into-view-if-needed": "^2.2.25"
- }
- },
- "anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "arg": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz",
- "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA=="
- },
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "requires": {
- "sprintf-js": "~1.0.2"
- }
- },
- "array-flatten": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
- "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ=="
- },
- "array-tree-filter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
- "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw=="
- },
- "array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
- },
- "asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
- },
- "async": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
- "requires": {
- "lodash": "^4.17.14"
- }
- },
- "async-validator": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.0.7.tgz",
- "integrity": "sha512-Pj2IR7u8hmUEDOwB++su6baaRi+QvsgajuFB9j95foM1N2gy5HM4z60hfusIO0fBPG5uLAEl6yCJr1jNSVugEQ=="
- },
- "at-least-node": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="
- },
- "autolinker": {
- "version": "3.14.3",
- "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-3.14.3.tgz",
- "integrity": "sha512-t81i2bCpS+s+5FIhatoww9DmpjhbdiimuU9ATEuLxtZMQ7jLv9fyFn7SWNG8IkEfD4AmYyirL1ss9k1aqVWRvg==",
- "requires": {
- "tslib": "^1.9.3"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- }
- }
- },
- "autoprefixer": {
- "version": "10.4.2",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz",
- "integrity": "sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==",
- "requires": {
- "browserslist": "^4.19.1",
- "caniuse-lite": "^1.0.30001297",
- "fraction.js": "^4.1.2",
- "normalize-range": "^0.1.2",
- "picocolors": "^1.0.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "axios": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
- "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
- "requires": {
- "follow-redirects": "^1.14.0"
- }
- },
- "babel-loader": {
- "version": "8.2.3",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz",
- "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==",
- "requires": {
- "find-cache-dir": "^3.3.1",
- "loader-utils": "^1.4.0",
- "make-dir": "^3.1.0",
- "schema-utils": "^2.6.5"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- }
- },
- "schema-utils": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
- "requires": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
- "ajv-keywords": "^3.5.2"
- }
- }
- }
- },
- "babel-plugin-apply-mdx-type-prop": {
- "version": "1.6.22",
- "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz",
- "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==",
- "requires": {
- "@babel/helper-plugin-utils": "7.10.4",
- "@mdx-js/util": "1.6.22"
- },
- "dependencies": {
- "@babel/helper-plugin-utils": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
- "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg=="
- }
- }
- },
- "babel-plugin-dynamic-import-node": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz",
- "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==",
- "requires": {
- "object.assign": "^4.1.0"
- }
- },
- "babel-plugin-emotion": {
- "version": "10.2.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz",
- "integrity": "sha512-SMSkGoqTbTyUTDeuVuPIWifPdUGkTk1Kf9BWRiXIOIcuyMfsdp2EjeiiFvOzX8NOBvEh/ypKYvUh2rkgAJMCLA==",
- "requires": {
- "@babel/helper-module-imports": "^7.0.0",
- "@emotion/hash": "0.8.0",
- "@emotion/memoize": "0.7.4",
- "@emotion/serialize": "^0.11.16",
- "babel-plugin-macros": "^2.0.0",
- "babel-plugin-syntax-jsx": "^6.18.0",
- "convert-source-map": "^1.5.0",
- "escape-string-regexp": "^1.0.5",
- "find-root": "^1.1.0",
- "source-map": "^0.5.7"
- }
- },
- "babel-plugin-extract-import-names": {
- "version": "1.6.22",
- "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz",
- "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==",
- "requires": {
- "@babel/helper-plugin-utils": "7.10.4"
- },
- "dependencies": {
- "@babel/helper-plugin-utils": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
- "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg=="
- }
- }
- },
- "babel-plugin-macros": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz",
- "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "cosmiconfig": "^6.0.0",
- "resolve": "^1.12.0"
- },
- "dependencies": {
- "cosmiconfig": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
- "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
- "requires": {
- "@types/parse-json": "^4.0.0",
- "import-fresh": "^3.1.0",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0",
- "yaml": "^1.7.2"
- }
- }
- }
- },
- "babel-plugin-polyfill-corejs2": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz",
- "integrity": "sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==",
- "requires": {
- "@babel/compat-data": "^7.13.11",
- "@babel/helper-define-polyfill-provider": "^0.3.0",
- "semver": "^6.1.1"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "babel-plugin-polyfill-corejs3": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.0.tgz",
- "integrity": "sha512-Hcrgnmkf+4JTj73GbK3bBhlVPiLL47owUAnoJIf69Hakl3q+KfodbDXiZWGMM7iqCZTxCG3Z2VRfPNYES4rXqQ==",
- "requires": {
- "@babel/helper-define-polyfill-provider": "^0.3.0",
- "core-js-compat": "^3.20.0"
- }
- },
- "babel-plugin-polyfill-regenerator": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz",
- "integrity": "sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==",
- "requires": {
- "@babel/helper-define-polyfill-provider": "^0.3.0"
- }
- },
- "babel-plugin-syntax-jsx": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
- "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY="
- },
- "bail": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
- "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ=="
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
- },
- "base16": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz",
- "integrity": "sha1-4pf2DX7BAUp6lxo568ipjAtoHnA="
- },
- "base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
- },
- "batch": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
- "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY="
- },
- "big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
- },
- "binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
- },
- "bluebird": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
- },
- "body-parser": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz",
- "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==",
- "requires": {
- "bytes": "3.1.1",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "http-errors": "1.8.1",
- "iconv-lite": "0.4.24",
- "on-finished": "~2.3.0",
- "qs": "6.9.6",
- "raw-body": "2.4.2",
- "type-is": "~1.6.18"
- },
- "dependencies": {
- "bytes": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz",
- "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg=="
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "bonjour": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
- "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
- "requires": {
- "array-flatten": "^2.1.0",
- "deep-equal": "^1.0.1",
- "dns-equal": "^1.0.0",
- "dns-txt": "^2.0.2",
- "multicast-dns": "^6.0.1",
- "multicast-dns-service-types": "^1.1.0"
- }
- },
- "boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
- },
- "boxen": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
- "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==",
- "requires": {
- "ansi-align": "^3.0.0",
- "camelcase": "^6.2.0",
- "chalk": "^4.1.0",
- "cli-boxes": "^2.2.1",
- "string-width": "^4.2.2",
- "type-fest": "^0.20.2",
- "widest-line": "^3.1.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "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==",
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "browserslist": {
- "version": "4.19.1",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz",
- "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==",
- "requires": {
- "caniuse-lite": "^1.0.30001286",
- "electron-to-chromium": "^1.4.17",
- "escalade": "^3.1.1",
- "node-releases": "^2.0.1",
- "picocolors": "^1.0.0"
- }
- },
- "btoa": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz",
- "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g=="
- },
- "buble-jsx-only": {
- "version": "0.19.8",
- "resolved": "https://registry.npmjs.org/buble-jsx-only/-/buble-jsx-only-0.19.8.tgz",
- "integrity": "sha512-7AW19pf7PrKFnGTEDzs6u9+JZqQwM1VnLS19OlqYDhXomtFFknnoQJAPHeg84RMFWAvOhYrG7harizJNwUKJsA==",
- "requires": {
- "acorn": "^6.1.1",
- "acorn-dynamic-import": "^4.0.0",
- "acorn-jsx": "^5.0.1",
- "chalk": "^2.4.2",
- "magic-string": "^0.25.3",
- "minimist": "^1.2.0",
- "regexpu-core": "^4.5.4"
- },
- "dependencies": {
- "acorn": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
- "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ=="
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- }
- }
- },
- "buffer": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
- "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.2.1"
- }
- },
- "buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
- },
- "buffer-indexof": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
- "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g=="
- },
- "bytes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
- },
- "cacheable-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
- "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
- "requires": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^3.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^4.1.0",
- "responselike": "^1.0.2"
- },
- "dependencies": {
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
- },
- "normalize-url": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
- "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA=="
- }
- }
- },
- "call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- }
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
- },
- "camel-case": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
- "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
- "requires": {
- "pascal-case": "^3.1.2",
- "tslib": "^2.0.3"
- }
- },
- "camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="
- },
- "camelcase-css": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
- "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="
- },
- "caniuse-api": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
- "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
- "requires": {
- "browserslist": "^4.0.0",
- "caniuse-lite": "^1.0.0",
- "lodash.memoize": "^4.1.2",
- "lodash.uniq": "^4.5.0"
- }
- },
- "caniuse-lite": {
- "version": "1.0.30001298",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001298.tgz",
- "integrity": "sha512-AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ=="
- },
- "ccount": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz",
- "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg=="
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "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==",
- "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=="
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "character-entities": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
- "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw=="
- },
- "character-entities-legacy": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
- "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA=="
- },
- "character-reference-invalid": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
- "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg=="
- },
- "cheerio": {
- "version": "0.22.0",
- "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz",
- "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=",
- "requires": {
- "css-select": "~1.2.0",
- "dom-serializer": "~0.1.0",
- "entities": "~1.1.1",
- "htmlparser2": "^3.9.1",
- "lodash.assignin": "^4.0.9",
- "lodash.bind": "^4.1.4",
- "lodash.defaults": "^4.0.1",
- "lodash.filter": "^4.4.0",
- "lodash.flatten": "^4.2.0",
- "lodash.foreach": "^4.3.0",
- "lodash.map": "^4.4.0",
- "lodash.merge": "^4.4.0",
- "lodash.pick": "^4.2.1",
- "lodash.reduce": "^4.4.0",
- "lodash.reject": "^4.4.0",
- "lodash.some": "^4.4.0"
- },
- "dependencies": {
- "css-select": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
- "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
- "requires": {
- "boolbase": "~1.0.0",
- "css-what": "2.1",
- "domutils": "1.5.1",
- "nth-check": "~1.0.1"
- }
- },
- "css-what": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
- "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg=="
- },
- "dom-serializer": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
- "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==",
- "requires": {
- "domelementtype": "^1.3.0",
- "entities": "^1.1.1"
- }
- },
- "domelementtype": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
- "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
- },
- "domutils": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
- "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
- "requires": {
- "dom-serializer": "0",
- "domelementtype": "1"
- }
- },
- "entities": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
- "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
- },
- "nth-check": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
- "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
- "requires": {
- "boolbase": "~1.0.0"
- }
- }
- }
- },
- "cheerio-select": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz",
- "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==",
- "requires": {
- "css-select": "^4.1.3",
- "css-what": "^5.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0",
- "domutils": "^2.7.0"
- }
- },
- "chokidar": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
- "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
- "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"
- }
- },
- "chrome-trace-event": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
- "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg=="
- },
- "classnames": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz",
- "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA=="
- },
- "clean-css": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.2.tgz",
- "integrity": "sha512-/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w==",
- "requires": {
- "source-map": "~0.6.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- }
- }
- },
- "clean-stack": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A=="
- },
- "cli-boxes": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz",
- "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw=="
- },
- "cli-table3": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz",
- "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==",
- "requires": {
- "colors": "1.4.0",
- "string-width": "^4.2.0"
- }
- },
- "clone-deep": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
- "requires": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.0"
- }
- },
- "clone-response": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
- "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
- "clsx": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz",
- "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA=="
- },
- "coa": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
- "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
- "requires": {
- "@types/q": "^1.5.1",
- "chalk": "^2.4.1",
- "q": "^1.1.2"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- }
- }
- },
- "collapse-white-space": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz",
- "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ=="
- },
- "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==",
- "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
- },
- "colord": {
- "version": "2.9.2",
- "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
- "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ=="
- },
- "colorette": {
- "version": "2.0.16",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz",
- "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g=="
- },
- "colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
- "optional": true
- },
- "combine-promises": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.1.0.tgz",
- "integrity": "sha512-ZI9jvcLDxqwaXEixOhArm3r7ReIivsXkpbyEWyeOhzz1QS0iSgBPnWvEqvIQtYyamGCYA88gFhmUrs9hrrQ0pg=="
- },
- "comma-separated-tokens": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz",
- "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw=="
- },
- "commander": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
- "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg=="
- },
- "commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
- },
- "compressible": {
- "version": "2.0.18",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
- "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
- "requires": {
- "mime-db": ">= 1.43.0 < 2"
- }
- },
- "compression": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
- "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
- "requires": {
- "accepts": "~1.3.5",
- "bytes": "3.0.0",
- "compressible": "~2.0.16",
- "debug": "2.6.9",
- "on-headers": "~1.0.2",
- "safe-buffer": "5.1.2",
- "vary": "~1.1.2"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "compute-scroll-into-view": {
- "version": "1.0.17",
- "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz",
- "integrity": "sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg=="
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
- },
- "configstore": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
- "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
- "requires": {
- "dot-prop": "^5.2.0",
- "graceful-fs": "^4.1.2",
- "make-dir": "^3.0.0",
- "unique-string": "^2.0.0",
- "write-file-atomic": "^3.0.0",
- "xdg-basedir": "^4.0.0"
- }
- },
- "connect-history-api-fallback": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
- "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg=="
- },
- "consola": {
- "version": "2.15.3",
- "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
- "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw=="
- },
- "content-disposition": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
- "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
- },
- "content-type": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
- },
- "convert-source-map": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
- "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
- "requires": {
- "safe-buffer": "~5.1.1"
- }
- },
- "cookie": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
- "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
- },
- "cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
- },
- "copy-text-to-clipboard": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz",
- "integrity": "sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q=="
- },
- "copy-to-clipboard": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
- "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
- "requires": {
- "toggle-selection": "^1.0.6"
- }
- },
- "copy-webpack-plugin": {
- "version": "10.2.4",
- "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz",
- "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==",
- "requires": {
- "fast-glob": "^3.2.7",
- "glob-parent": "^6.0.1",
- "globby": "^12.0.2",
- "normalize-path": "^3.0.0",
- "schema-utils": "^4.0.0",
- "serialize-javascript": "^6.0.0"
- },
- "dependencies": {
- "ajv": {
- "version": "8.10.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz",
- "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-keywords": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
- "requires": {
- "fast-deep-equal": "^3.1.3"
- }
- },
- "array-union": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz",
- "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw=="
- },
- "glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "requires": {
- "is-glob": "^4.0.3"
- }
- },
- "globby": {
- "version": "12.2.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz",
- "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==",
- "requires": {
- "array-union": "^3.0.1",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.7",
- "ignore": "^5.1.9",
- "merge2": "^1.4.1",
- "slash": "^4.0.0"
- }
- },
- "json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
- },
- "schema-utils": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
- "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
- "requires": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.8.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.0.0"
- }
- },
- "slash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
- "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew=="
- }
- }
- },
- "core-js": {
- "version": "3.20.2",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.2.tgz",
- "integrity": "sha512-nuqhq11DcOAbFBV4zCbKeGbKQsUDRqTX0oqx7AttUBuqe3h20ixsE039QHelbL6P4h+9kytVqyEtyZ6gsiwEYw=="
- },
- "core-js-compat": {
- "version": "3.20.2",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.2.tgz",
- "integrity": "sha512-qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg==",
- "requires": {
- "browserslist": "^4.19.1",
- "semver": "7.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
- "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A=="
- }
- }
- },
- "core-js-pure": {
- "version": "3.20.2",
- "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.20.2.tgz",
- "integrity": "sha512-CmWHvSKn2vNL6p6StNp1EmMIfVY/pqn3JLAjfZQ8WZGPOlGoO92EkX9/Mk81i6GxvoPXjUqEQnpM3rJ5QxxIOg=="
- },
- "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=="
- },
- "cosmiconfig": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
- "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
- "requires": {
- "@types/parse-json": "^4.0.0",
- "import-fresh": "^3.2.1",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0",
- "yaml": "^1.10.0"
- }
- },
- "cross-fetch": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz",
- "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==",
- "requires": {
- "node-fetch": "2.6.1"
- }
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "crypto-random-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
- "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA=="
- },
- "css-declaration-sorter": {
- "version": "6.1.4",
- "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz",
- "integrity": "sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==",
- "requires": {
- "timsort": "^0.3.0"
- }
- },
- "css-loader": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.6.0.tgz",
- "integrity": "sha512-FK7H2lisOixPT406s5gZM1S3l8GrfhEBT3ZiL2UX1Ng1XWs0y2GPllz/OTyvbaHe12VgQrIXIzuEGVlbUhodqg==",
- "requires": {
- "icss-utils": "^5.1.0",
- "postcss": "^8.4.5",
- "postcss-modules-extract-imports": "^3.0.0",
- "postcss-modules-local-by-default": "^4.0.0",
- "postcss-modules-scope": "^3.0.0",
- "postcss-modules-values": "^4.0.0",
- "postcss-value-parser": "^4.2.0",
- "semver": "^7.3.5"
- }
- },
- "css-minimizer-webpack-plugin": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.3.1.tgz",
- "integrity": "sha512-SHA7Hu/EiF0dOwdmV2+agvqYpG+ljlUa7Dvn1AVOmSH3N8KOERoaM9lGpstz9nGsoTjANGyUXdrxl/EwdMScRg==",
- "requires": {
- "cssnano": "^5.0.6",
- "jest-worker": "^27.0.2",
- "postcss": "^8.3.5",
- "schema-utils": "^4.0.0",
- "serialize-javascript": "^6.0.0",
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "ajv": {
- "version": "8.8.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz",
- "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-keywords": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
- "requires": {
- "fast-deep-equal": "^3.1.3"
- }
- },
- "json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
- },
- "schema-utils": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
- "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
- "requires": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.8.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.0.0"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- }
- }
- },
- "css-select": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz",
- "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==",
- "requires": {
- "boolbase": "^1.0.0",
- "css-what": "^5.1.0",
- "domhandler": "^4.3.0",
- "domutils": "^2.8.0",
- "nth-check": "^2.0.1"
- }
- },
- "css-select-base-adapter": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
- "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w=="
- },
- "css-tree": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
- "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
- "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=="
- }
- }
- },
- "css-what": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz",
- "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw=="
- },
- "css.escape": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
- "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s="
- },
- "cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
- },
- "cssnano": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.15.tgz",
- "integrity": "sha512-ppZsS7oPpi2sfiyV5+i+NbB/3GtQ+ab2Vs1azrZaXWujUSN4o+WdTxlCZIMcT9yLW3VO/5yX3vpyDaQ1nIn8CQ==",
- "requires": {
- "cssnano-preset-default": "^5.1.10",
- "lilconfig": "^2.0.3",
- "yaml": "^1.10.2"
- }
- },
- "cssnano-preset-advanced": {
- "version": "5.1.10",
- "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.1.10.tgz",
- "integrity": "sha512-6Rc7jbnIBpEUyuTLDBLuvsZE64NY9NRNe4HjOVb0zT0ixiGatKAmUNtTIwLP2F/vE5VJsdlVcixX9y2kb7O+zQ==",
- "requires": {
- "autoprefixer": "^10.3.7",
- "cssnano-preset-default": "^5.1.10",
- "postcss-discard-unused": "^5.0.1",
- "postcss-merge-idents": "^5.0.2",
- "postcss-reduce-idents": "^5.0.1",
- "postcss-zindex": "^5.0.1"
- }
- },
- "cssnano-preset-default": {
- "version": "5.1.10",
- "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.10.tgz",
- "integrity": "sha512-BcpSzUVygHMOnp9uG5rfPzTOCb0GAHQkqtUQx8j1oMNF9A1Q8hziOOhiM4bdICpmrBIU85BE64RD5XGYsVQZNA==",
- "requires": {
- "css-declaration-sorter": "^6.0.3",
- "cssnano-utils": "^3.0.0",
- "postcss-calc": "^8.2.0",
- "postcss-colormin": "^5.2.3",
- "postcss-convert-values": "^5.0.2",
- "postcss-discard-comments": "^5.0.1",
- "postcss-discard-duplicates": "^5.0.1",
- "postcss-discard-empty": "^5.0.1",
- "postcss-discard-overridden": "^5.0.2",
- "postcss-merge-longhand": "^5.0.4",
- "postcss-merge-rules": "^5.0.4",
- "postcss-minify-font-values": "^5.0.2",
- "postcss-minify-gradients": "^5.0.4",
- "postcss-minify-params": "^5.0.3",
- "postcss-minify-selectors": "^5.1.1",
- "postcss-normalize-charset": "^5.0.1",
- "postcss-normalize-display-values": "^5.0.2",
- "postcss-normalize-positions": "^5.0.2",
- "postcss-normalize-repeat-style": "^5.0.2",
- "postcss-normalize-string": "^5.0.2",
- "postcss-normalize-timing-functions": "^5.0.2",
- "postcss-normalize-unicode": "^5.0.2",
- "postcss-normalize-url": "^5.0.4",
- "postcss-normalize-whitespace": "^5.0.2",
- "postcss-ordered-values": "^5.0.3",
- "postcss-reduce-initial": "^5.0.2",
- "postcss-reduce-transforms": "^5.0.2",
- "postcss-svgo": "^5.0.3",
- "postcss-unique-selectors": "^5.0.2"
- }
- },
- "cssnano-utils": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.0.tgz",
- "integrity": "sha512-Pzs7/BZ6OgT+tXXuF12DKR8SmSbzUeVYCtMBbS8lI0uAm3mrYmkyqCXXPsQESI6kmLfEVBppbdVY/el3hg3nAA=="
- },
- "csso": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
- "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
- "requires": {
- "css-tree": "^1.1.2"
- }
- },
- "csstype": {
- "version": "3.0.10",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz",
- "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA=="
- },
- "d": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
- "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
- "requires": {
- "es5-ext": "^0.10.50",
- "type": "^1.0.1"
- }
- },
- "date-fns": {
- "version": "2.28.0",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz",
- "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw=="
- },
- "dayjs": {
- "version": "1.10.7",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz",
- "integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig=="
- },
- "debug": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
- "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
- "requires": {
- "ms": "2.1.2"
- }
- },
- "decompress-response": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
- "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
- "deep-equal": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
- "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
- "requires": {
- "is-arguments": "^1.0.4",
- "is-date-object": "^1.0.1",
- "is-regex": "^1.0.4",
- "object-is": "^1.0.1",
- "object-keys": "^1.1.1",
- "regexp.prototype.flags": "^1.2.0"
- }
- },
- "deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
- },
- "deepmerge": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
- "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg=="
- },
- "default-gateway": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
- "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==",
- "requires": {
- "execa": "^5.0.0"
- }
- },
- "defer-to-connect": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
- "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ=="
- },
- "define-lazy-prop": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
- "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og=="
- },
- "define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
- "requires": {
- "object-keys": "^1.0.12"
- }
- },
- "del": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz",
- "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==",
- "requires": {
- "globby": "^11.0.1",
- "graceful-fs": "^4.2.4",
- "is-glob": "^4.0.1",
- "is-path-cwd": "^2.2.0",
- "is-path-inside": "^3.0.2",
- "p-map": "^4.0.0",
- "rimraf": "^3.0.2",
- "slash": "^3.0.0"
- }
- },
- "depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
- },
- "destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
- },
- "detab": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz",
- "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==",
- "requires": {
- "repeat-string": "^1.5.4"
- }
- },
- "detect-node": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
- "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="
- },
- "detect-port": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz",
- "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==",
- "requires": {
- "address": "^1.0.1",
- "debug": "^2.6.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "detect-port-alt": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz",
- "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==",
- "requires": {
- "address": "^1.0.1",
- "debug": "^2.6.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "requires": {
- "path-type": "^4.0.0"
- }
- },
- "dns-equal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
- "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0="
- },
- "dns-packet": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz",
- "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==",
- "requires": {
- "ip": "^1.1.0",
- "safe-buffer": "^5.0.1"
- }
- },
- "dns-txt": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
- "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
- "requires": {
- "buffer-indexof": "^1.0.0"
- }
- },
- "dom-align": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.2.tgz",
- "integrity": "sha512-pHuazgqrsTFrGU2WLDdXxCFabkdQDx72ddkraZNih1KsMcN5qsRSTR9O4VJRlwTPCPb5COYg3LOfiMHHcPInHg=="
- },
- "dom-converter": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
- "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
- "requires": {
- "utila": "~0.4"
- }
- },
- "dom-serializer": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
- "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
- "requires": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.2.0",
- "entities": "^2.0.0"
- }
- },
- "domelementtype": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
- "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A=="
- },
- "domhandler": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
- "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
- "requires": {
- "domelementtype": "^2.2.0"
- }
- },
- "dompurify": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.3.tgz",
- "integrity": "sha512-dqnqRkPMAjOZE0FogZ+ceJNM2dZ3V/yNOuFB7+39qpO93hHhfRpHw3heYQC7DPK9FqbQTfBKUJhiSfz4MvXYwg=="
- },
- "domutils": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
- "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
- "requires": {
- "dom-serializer": "^1.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0"
- }
- },
- "dot-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
- "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
- "requires": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "dot-prop": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
- "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
- "requires": {
- "is-obj": "^2.0.0"
- }
- },
- "duplexer": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
- "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="
- },
- "duplexer3": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
- "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
- },
- "eastasianwidth": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
- },
- "ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
- },
- "electron-to-chromium": {
- "version": "1.4.39",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.39.tgz",
- "integrity": "sha512-bFH3gdRq/l7WlzSleiO6dwpZH3RhiJ8vlMq0tOJMfT+5nb+x397eJn2RHF6Ho/9GCKv+BkimNlUMHl9+Yh+Qcg=="
- },
- "emitter-component": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.1.1.tgz",
- "integrity": "sha1-Bl4tvtaVm/RwZ57avq95gdEAOrY="
- },
- "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=="
- },
- "emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q=="
- },
- "emoticon": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz",
- "integrity": "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg=="
- },
- "emotion-theming": {
- "version": "10.3.0",
- "resolved": "https://registry.npmjs.org/emotion-theming/-/emotion-theming-10.3.0.tgz",
- "integrity": "sha512-mXiD2Oj7N9b6+h/dC6oLf9hwxbtKHQjoIqtodEyL8CpkN4F3V4IK/BT4D0C7zSs4BBFOu4UlPJbvvBLa88SGEA==",
- "requires": {
- "@babel/runtime": "^7.5.5",
- "@emotion/weak-memoize": "0.2.5",
- "hoist-non-react-statics": "^3.3.0"
- }
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
- },
- "end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "requires": {
- "once": "^1.4.0"
- }
- },
- "enhanced-resolve": {
- "version": "5.8.3",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz",
- "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==",
- "requires": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- }
- },
- "entities": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
- },
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "es-abstract": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz",
- "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==",
- "requires": {
- "call-bind": "^1.0.2",
- "es-to-primitive": "^1.2.1",
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.1.1",
- "get-symbol-description": "^1.0.0",
- "has": "^1.0.3",
- "has-symbols": "^1.0.2",
- "internal-slot": "^1.0.3",
- "is-callable": "^1.2.4",
- "is-negative-zero": "^2.0.1",
- "is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.1",
- "is-string": "^1.0.7",
- "is-weakref": "^1.0.1",
- "object-inspect": "^1.11.0",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.2",
- "string.prototype.trimend": "^1.0.4",
- "string.prototype.trimstart": "^1.0.4",
- "unbox-primitive": "^1.0.1"
- }
- },
- "es-module-lexer": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
- "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ=="
- },
- "es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "requires": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- }
- },
- "es5-ext": {
- "version": "0.10.53",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
- "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
- "requires": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.3",
- "next-tick": "~1.0.0"
- },
- "dependencies": {
- "next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
- }
- }
- },
- "es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
- }
- },
- "es6-symbol": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
- "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
- "requires": {
- "d": "^1.0.1",
- "ext": "^1.1.2"
- }
- },
- "es6-weak-map": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
- "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.46",
- "es6-iterator": "^2.0.3",
- "es6-symbol": "^3.1.1"
- }
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
- },
- "escape-goat": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
- "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q=="
- },
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
- },
- "eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- }
- },
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
- },
- "esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "requires": {
- "estraverse": "^5.2.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
- }
- }
- },
- "estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
- },
- "eta": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/eta/-/eta-1.12.3.tgz",
- "integrity": "sha512-qHixwbDLtekO/d51Yr4glcaUJCIjGVJyTzuqV4GPlgZo1YpgOKG+avQynErZIYrfM6JIJdtiG2Kox8tbb+DoGg=="
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
- },
- "eval": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.6.tgz",
- "integrity": "sha512-o0XUw+5OGkXw4pJZzQoXUk+H87DHuC+7ZE//oSrRGtatTmr12oTnLfg6QOq9DyTt0c/p4TwzgmkKrBzWTSizyQ==",
- "requires": {
- "require-like": ">= 0.1.1"
- }
- },
- "event-emitter": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14"
- }
- },
- "eventemitter3": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
- "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
- },
- "events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="
- },
- "execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
- "requires": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- },
- "dependencies": {
- "get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="
- }
- }
- },
- "express": {
- "version": "4.17.2",
- "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz",
- "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==",
- "requires": {
- "accepts": "~1.3.7",
- "array-flatten": "1.1.1",
- "body-parser": "1.19.1",
- "content-disposition": "0.5.4",
- "content-type": "~1.0.4",
- "cookie": "0.4.1",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "~1.1.2",
- "fresh": "0.5.2",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.7",
- "qs": "6.9.6",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "0.17.2",
- "serve-static": "1.14.2",
- "setprototypeof": "1.2.0",
- "statuses": "~1.5.0",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "dependencies": {
- "array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
- },
- "content-disposition": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
- "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
- "requires": {
- "safe-buffer": "5.2.1"
- }
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
- },
- "range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
- },
- "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=="
- }
- }
- },
- "ext": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz",
- "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==",
- "requires": {
- "type": "^2.5.0"
- },
- "dependencies": {
- "type": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz",
- "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw=="
- }
- }
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
- },
- "fast-glob": {
- "version": "3.2.10",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.10.tgz",
- "integrity": "sha512-s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A==",
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- }
- },
- "fast-json-patch": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.0.tgz",
- "integrity": "sha512-IhpytlsVTRndz0hU5t0/MGzS/etxLlfrpG5V5M9mVbuj9TrJLWaMfsox9REM5rkuGX0T+5qjpe8XA1o0gZ42nA=="
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
- },
- "fast-url-parser": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz",
- "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=",
- "requires": {
- "punycode": "^1.3.2"
- },
- "dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
- }
- }
- },
- "fastq": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "fault": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz",
- "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==",
- "requires": {
- "format": "^0.2.0"
- }
- },
- "faye-websocket": {
- "version": "0.11.4",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
- "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
- "requires": {
- "websocket-driver": ">=0.5.1"
- }
- },
- "fbemitter": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz",
- "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==",
- "requires": {
- "fbjs": "^3.0.0"
- }
- },
- "fbjs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.4.tgz",
- "integrity": "sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ==",
- "requires": {
- "cross-fetch": "^3.1.5",
- "fbjs-css-vars": "^1.0.0",
- "loose-envify": "^1.0.0",
- "object-assign": "^4.1.0",
- "promise": "^7.1.1",
- "setimmediate": "^1.0.5",
- "ua-parser-js": "^0.7.30"
- },
- "dependencies": {
- "cross-fetch": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz",
- "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==",
- "requires": {
- "node-fetch": "2.6.7"
- }
- },
- "node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "requires": {
- "whatwg-url": "^5.0.0"
- }
- }
- }
- },
- "fbjs-css-vars": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz",
- "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ=="
- },
- "feed": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz",
- "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==",
- "requires": {
- "xml-js": "^1.6.11"
- }
- },
- "file-loader": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
- "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
- "requires": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
- }
- },
- "filesize": {
- "version": "8.0.7",
- "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz",
- "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ=="
- },
- "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==",
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "finalhandler": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
- "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "statuses": "~1.5.0",
- "unpipe": "~1.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "find-cache-dir": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- }
- },
- "find-root": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
- "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "flux": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.3.tgz",
- "integrity": "sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw==",
- "requires": {
- "fbemitter": "^3.0.0",
- "fbjs": "^3.0.1"
- }
- },
- "follow-redirects": {
- "version": "1.14.8",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz",
- "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA=="
- },
- "fork-ts-checker-webpack-plugin": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.0.tgz",
- "integrity": "sha512-cS178Y+xxtIjEUorcHddKS7yCMlrDPV31mt47blKKRfMd70Kxu5xruAFE2o9sDY6wVC5deuob/u/alD04YYHnw==",
- "requires": {
- "@babel/code-frame": "^7.8.3",
- "@types/json-schema": "^7.0.5",
- "chalk": "^4.1.0",
- "chokidar": "^3.4.2",
- "cosmiconfig": "^6.0.0",
- "deepmerge": "^4.2.2",
- "fs-extra": "^9.0.0",
- "glob": "^7.1.6",
- "memfs": "^3.1.2",
- "minimatch": "^3.0.4",
- "schema-utils": "2.7.0",
- "semver": "^7.3.2",
- "tapable": "^1.0.0"
- },
- "dependencies": {
- "cosmiconfig": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
- "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
- "requires": {
- "@types/parse-json": "^4.0.0",
- "import-fresh": "^3.1.0",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0",
- "yaml": "^1.7.2"
- }
- },
- "fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "requires": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
- "schema-utils": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
- "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
- "requires": {
- "@types/json-schema": "^7.0.4",
- "ajv": "^6.12.2",
- "ajv-keywords": "^3.4.1"
- }
- },
- "tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA=="
- }
- }
- },
- "form-data-encoder": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz",
- "integrity": "sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg=="
- },
- "format": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz",
- "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs="
- },
- "formdata-node": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.3.2.tgz",
- "integrity": "sha512-k7lYJyzDOSL6h917favP8j1L0/wNyylzU+x+1w4p5haGVHNlP58dbpdJhiCUsDbWsa9HwEtLp89obQgXl2e0qg==",
- "requires": {
- "node-domexception": "1.0.0",
- "web-streams-polyfill": "4.0.0-beta.1"
- }
- },
- "forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
- },
- "fraction.js": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz",
- "integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA=="
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
- },
- "fs-extra": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
- "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
- "fs-monkey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz",
- "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q=="
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
- },
- "fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "optional": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- },
- "gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="
- },
- "get-intrinsic": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1"
- }
- },
- "get-own-enumerable-property-symbols": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
- "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g=="
- },
- "get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
- "requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
- }
- },
- "github-buttons": {
- "version": "2.21.1",
- "resolved": "https://registry.npmjs.org/github-buttons/-/github-buttons-2.21.1.tgz",
- "integrity": "sha512-n9bCQ8sj+5oX1YH5NeyWGbAclRDtHEhMBzqw2ctsWpdEHOwVgfruRu0VIVy01Ah10dd/iFajMHYU71L7IBWBOw=="
- },
- "github-slugger": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.4.0.tgz",
- "integrity": "sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ=="
- },
- "glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "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==",
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "glob-to-regexp": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
- },
- "global-dirs": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz",
- "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==",
- "requires": {
- "ini": "2.0.0"
- },
- "dependencies": {
- "ini": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
- "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA=="
- }
- }
- },
- "global-modules": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
- "requires": {
- "global-prefix": "^3.0.0"
- }
- },
- "global-prefix": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
- "requires": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- },
- "dependencies": {
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
- },
- "globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- }
- },
- "got": {
- "version": "9.6.0",
- "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
- "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
- "requires": {
- "@sindresorhus/is": "^0.14.0",
- "@szmarczak/http-timer": "^1.1.2",
- "cacheable-request": "^6.0.0",
- "decompress-response": "^3.3.0",
- "duplexer3": "^0.1.4",
- "get-stream": "^4.1.0",
- "lowercase-keys": "^1.0.1",
- "mimic-response": "^1.0.1",
- "p-cancelable": "^1.0.0",
- "to-readable-stream": "^1.0.0",
- "url-parse-lax": "^3.0.0"
- }
- },
- "graceful-fs": {
- "version": "4.2.9",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
- "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ=="
- },
- "gray-matter": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz",
- "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==",
- "requires": {
- "js-yaml": "^3.13.1",
- "kind-of": "^6.0.2",
- "section-matter": "^1.0.0",
- "strip-bom-string": "^1.0.0"
- }
- },
- "gzip-size": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz",
- "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==",
- "requires": {
- "duplexer": "^0.1.2"
- }
- },
- "handle-thing": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
- "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg=="
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-bigints": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz",
- "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA=="
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
- },
- "has-symbols": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
- "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw=="
- },
- "has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "requires": {
- "has-symbols": "^1.0.2"
- }
- },
- "has-yarn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
- "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw=="
- },
- "hast-to-hyperscript": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz",
- "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==",
- "requires": {
- "@types/unist": "^2.0.3",
- "comma-separated-tokens": "^1.0.0",
- "property-information": "^5.3.0",
- "space-separated-tokens": "^1.0.0",
- "style-to-object": "^0.3.0",
- "unist-util-is": "^4.0.0",
- "web-namespaces": "^1.0.0"
- }
- },
- "hast-util-from-parse5": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz",
- "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==",
- "requires": {
- "@types/parse5": "^5.0.0",
- "hastscript": "^6.0.0",
- "property-information": "^5.0.0",
- "vfile": "^4.0.0",
- "vfile-location": "^3.2.0",
- "web-namespaces": "^1.0.0"
- }
- },
- "hast-util-parse-selector": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz",
- "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ=="
- },
- "hast-util-raw": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz",
- "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==",
- "requires": {
- "@types/hast": "^2.0.0",
- "hast-util-from-parse5": "^6.0.0",
- "hast-util-to-parse5": "^6.0.0",
- "html-void-elements": "^1.0.0",
- "parse5": "^6.0.0",
- "unist-util-position": "^3.0.0",
- "vfile": "^4.0.0",
- "web-namespaces": "^1.0.0",
- "xtend": "^4.0.0",
- "zwitch": "^1.0.0"
- }
- },
- "hast-util-to-parse5": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz",
- "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==",
- "requires": {
- "hast-to-hyperscript": "^9.0.0",
- "property-information": "^5.0.0",
- "web-namespaces": "^1.0.0",
- "xtend": "^4.0.0",
- "zwitch": "^1.0.0"
- }
- },
- "hastscript": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz",
- "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==",
- "requires": {
- "@types/hast": "^2.0.0",
- "comma-separated-tokens": "^1.0.0",
- "hast-util-parse-selector": "^2.0.0",
- "property-information": "^5.0.0",
- "space-separated-tokens": "^1.0.0"
- }
- },
- "he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
- },
- "highlight.js": {
- "version": "10.7.3",
- "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
- "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A=="
- },
- "history": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz",
- "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==",
- "requires": {
- "@babel/runtime": "^7.1.2",
- "loose-envify": "^1.2.0",
- "resolve-pathname": "^3.0.0",
- "tiny-invariant": "^1.0.2",
- "tiny-warning": "^1.0.0",
- "value-equal": "^1.0.1"
- }
- },
- "hoist-non-react-statics": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
- "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
- "requires": {
- "react-is": "^16.7.0"
- }
- },
- "hpack.js": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
- "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
- "requires": {
- "inherits": "^2.0.1",
- "obuf": "^1.0.0",
- "readable-stream": "^2.0.1",
- "wbuf": "^1.1.0"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- },
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "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"
- }
- },
- "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==",
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "html-entities": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz",
- "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ=="
- },
- "html-minifier-terser": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz",
- "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==",
- "requires": {
- "camel-case": "^4.1.2",
- "clean-css": "^5.2.2",
- "commander": "^8.3.0",
- "he": "^1.2.0",
- "param-case": "^3.0.4",
- "relateurl": "^0.2.7",
- "terser": "^5.10.0"
- },
- "dependencies": {
- "commander": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
- "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww=="
- }
- }
- },
- "html-tags": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
- "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg=="
- },
- "html-void-elements": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz",
- "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w=="
- },
- "html-webpack-plugin": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz",
- "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==",
- "requires": {
- "@types/html-minifier-terser": "^6.0.0",
- "html-minifier-terser": "^6.0.2",
- "lodash": "^4.17.21",
- "pretty-error": "^4.0.0",
- "tapable": "^2.0.0"
- }
- },
- "htmlparser2": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
- "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
- "requires": {
- "domelementtype": "^1.3.1",
- "domhandler": "^2.3.0",
- "domutils": "^1.5.1",
- "entities": "^1.1.1",
- "inherits": "^2.0.1",
- "readable-stream": "^3.1.1"
- },
- "dependencies": {
- "dom-serializer": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
- "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
- "requires": {
- "domelementtype": "^2.0.1",
- "entities": "^2.0.0"
- },
- "dependencies": {
- "domelementtype": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
- "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A=="
- },
- "entities": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
- }
- }
- },
- "domelementtype": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
- "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
- },
- "domhandler": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
- "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
- "requires": {
- "domelementtype": "1"
- }
- },
- "domutils": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
- "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
- "requires": {
- "dom-serializer": "0",
- "domelementtype": "1"
- }
- },
- "entities": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
- "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
- }
- }
- },
- "http-cache-semantics": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
- },
- "http-deceiver": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
- "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc="
- },
- "http-errors": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
- "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.1"
- }
- },
- "http-parser-js": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz",
- "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA=="
- },
- "http-proxy": {
- "version": "1.18.1",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
- "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
- "requires": {
- "eventemitter3": "^4.0.0",
- "follow-redirects": "^1.0.0",
- "requires-port": "^1.0.0"
- }
- },
- "http-proxy-middleware": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz",
- "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==",
- "requires": {
- "@types/http-proxy": "^1.17.5",
- "http-proxy": "^1.18.1",
- "is-glob": "^4.0.1",
- "is-plain-obj": "^3.0.0",
- "micromatch": "^4.0.2"
- },
- "dependencies": {
- "is-plain-obj": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
- "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA=="
- }
- }
- },
- "human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="
- },
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "icss-utils": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
- "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA=="
- },
- "ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
- },
- "ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ=="
- },
- "image-size": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.1.tgz",
- "integrity": "sha512-VAwkvNSNGClRw9mDHhc5Efax8PLlsOGcUTh0T/LIriC8vPA3U5PdqXWqkz406MoYHMKW8Uf9gWr05T/rYB44kQ==",
- "requires": {
- "queue": "6.0.2"
- }
- },
- "immer": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.7.tgz",
- "integrity": "sha512-KGllzpbamZDvOIxnmJ0jI840g7Oikx58lBPWV0hUh7dtAyZpFqqrBZdKka5GlTwMTZ1Tjc/bKKW4VSFAt6BqMA=="
- },
- "immutable": {
- "version": "3.8.2",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz",
- "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM="
- },
- "import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "import-lazy": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
- "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM="
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
- },
- "indent-string": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg=="
- },
- "infima": {
- "version": "0.2.0-alpha.37",
- "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.37.tgz",
- "integrity": "sha512-4GX7Baw+/lwS4PPW/UJNY89tWSvYG1DL6baKVdpK6mC593iRgMssxNtORMTFArLPJ/A/lzsGhRmx+z6MaMxj0Q=="
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "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=="
- },
- "ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
- },
- "inline-style-parser": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
- "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
- },
- "internal-slot": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
- "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
- "requires": {
- "get-intrinsic": "^1.1.0",
- "has": "^1.0.3",
- "side-channel": "^1.0.4"
- }
- },
- "interpret": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA=="
- },
- "invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
- "requires": {
- "loose-envify": "^1.0.0"
- }
- },
- "ip": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
- "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
- },
- "ipaddr.js": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
- "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng=="
- },
- "is-alphabetical": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
- "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg=="
- },
- "is-alphanumerical": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
- "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
- "requires": {
- "is-alphabetical": "^1.0.0",
- "is-decimal": "^1.0.0"
- }
- },
- "is-arguments": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
- "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
- },
- "is-bigint": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
- "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
- "requires": {
- "has-bigints": "^1.0.1"
- }
- },
- "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==",
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-boolean-object": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
- "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-buffer": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
- "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="
- },
- "is-callable": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
- "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w=="
- },
- "is-ci": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
- "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
- "requires": {
- "ci-info": "^2.0.0"
- },
- "dependencies": {
- "ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="
- }
- }
- },
- "is-core-module": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
- "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==",
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-decimal": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
- "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw=="
- },
- "is-docker": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
- "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="
- },
- "is-dom": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-dom/-/is-dom-1.1.0.tgz",
- "integrity": "sha512-u82f6mvhYxRPKpw8V1N0W8ce1xXwOrQtgGcxl6UCL5zBmZu3is/18K0rR7uFCnMDuAsS/3W54mGL4vsaFUQlEQ==",
- "requires": {
- "is-object": "^1.0.1",
- "is-window": "^1.0.2"
- }
- },
- "is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
- },
- "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=="
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-hexadecimal": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
- "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw=="
- },
- "is-installed-globally": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
- "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
- "requires": {
- "global-dirs": "^3.0.0",
- "is-path-inside": "^3.0.2"
- }
- },
- "is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA=="
- },
- "is-npm": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz",
- "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA=="
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
- },
- "is-number-object": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz",
- "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==",
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
- },
- "is-object": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz",
- "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA=="
- },
- "is-path-cwd": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
- "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ=="
- },
- "is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ=="
- },
- "is-plain-obj": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
- "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA=="
- },
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "requires": {
- "isobject": "^3.0.1"
- }
- },
- "is-promise": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
- "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="
- },
- "is-regex": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-regexp": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
- "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk="
- },
- "is-root": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz",
- "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg=="
- },
- "is-shared-array-buffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz",
- "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA=="
- },
- "is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
- },
- "is-string": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
- "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-symbol": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
- "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
- "requires": {
- "has-symbols": "^1.0.2"
- }
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
- },
- "is-weakref": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
- "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
- "requires": {
- "call-bind": "^1.0.2"
- }
- },
- "is-whitespace-character": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz",
- "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w=="
- },
- "is-window": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-window/-/is-window-1.0.2.tgz",
- "integrity": "sha1-LIlspT25feRdPDMTOmXYyfVjSA0="
- },
- "is-word-character": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz",
- "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA=="
- },
- "is-wsl": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
- "requires": {
- "is-docker": "^2.0.0"
- }
- },
- "is-yarn-global": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
- "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw=="
- },
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "jest-worker": {
- "version": "27.4.6",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz",
- "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==",
- "requires": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "dependencies": {
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
- },
- "supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "joi": {
- "version": "17.5.0",
- "resolved": "https://registry.npmjs.org/joi/-/joi-17.5.0.tgz",
- "integrity": "sha512-R7hR50COp7StzLnDi4ywOXHrBrgNXuUUfJWIR5lPY5Bm/pOD3jZaTwpluUXVLRWcoWZxkrHBBJ5hLxgnlehbdw==",
- "requires": {
- "@hapi/hoek": "^9.0.0",
- "@hapi/topo": "^5.0.0",
- "@sideway/address": "^4.1.3",
- "@sideway/formula": "^3.0.0",
- "@sideway/pinpoint": "^2.0.0"
- }
- },
- "js-file-download": {
- "version": "0.4.12",
- "resolved": "https://registry.npmjs.org/js-file-download/-/js-file-download-0.4.12.tgz",
- "integrity": "sha512-rML+NkoD08p5Dllpjo0ffy4jRHeY6Zsapvr/W86N7E0yuzAO6qa5X9+xog6zQNlH102J7IXljNY2FtS6Lj3ucg=="
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
- },
- "js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- },
- "jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
- },
- "json-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
- "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg="
- },
- "json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
- },
- "json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
- },
- "json2mq": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz",
- "integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=",
- "requires": {
- "string-convert": "^0.2.0"
- }
- },
- "json5": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
- "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "requires": {
- "graceful-fs": "^4.1.6",
- "universalify": "^2.0.0"
- }
- },
- "keyv": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
- "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
- "requires": {
- "json-buffer": "3.0.0"
- }
- },
- "kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
- },
- "kleur": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
- "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="
- },
- "klona": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz",
- "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ=="
- },
- "latest-version": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
- "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
- "requires": {
- "package-json": "^6.3.0"
- }
- },
- "leven": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
- "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A=="
- },
- "lilconfig": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz",
- "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA=="
- },
- "lines-and-columns": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
- },
- "loader-runner": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz",
- "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw=="
- },
- "loader-utils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
- "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- },
- "lodash.assignin": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz",
- "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI="
- },
- "lodash.bind": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz",
- "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU="
- },
- "lodash.curry": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz",
- "integrity": "sha1-JI42By7ekGUB11lmIAqG2riyMXA="
- },
- "lodash.debounce": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168="
- },
- "lodash.defaults": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
- "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw="
- },
- "lodash.filter": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz",
- "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4="
- },
- "lodash.flatten": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
- "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8="
- },
- "lodash.flow": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz",
- "integrity": "sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o="
- },
- "lodash.foreach": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz",
- "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM="
- },
- "lodash.map": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz",
- "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM="
- },
- "lodash.memoize": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
- "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
- },
- "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=="
- },
- "lodash.pick": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
- "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM="
- },
- "lodash.reduce": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz",
- "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs="
- },
- "lodash.reject": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz",
- "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU="
- },
- "lodash.some": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz",
- "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0="
- },
- "lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
- },
- "loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "requires": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- }
- },
- "lower-case": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
- "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
- "requires": {
- "tslib": "^2.0.3"
- }
- },
- "lowercase-keys": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
- },
- "lowlight": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz",
- "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==",
- "requires": {
- "fault": "^1.0.0",
- "highlight.js": "~10.7.0"
- }
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "lru-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
- "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=",
- "requires": {
- "es5-ext": "~0.10.2"
- }
- },
- "magic-string": {
- "version": "0.25.7",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
- "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
- "requires": {
- "sourcemap-codec": "^1.4.4"
- }
- },
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "requires": {
- "semver": "^6.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "markdown-escapes": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz",
- "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg=="
- },
- "mdast-squeeze-paragraphs": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz",
- "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==",
- "requires": {
- "unist-util-remove": "^2.0.0"
- }
- },
- "mdast-util-definitions": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz",
- "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==",
- "requires": {
- "unist-util-visit": "^2.0.0"
- }
- },
- "mdast-util-to-hast": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz",
- "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==",
- "requires": {
- "@types/mdast": "^3.0.0",
- "@types/unist": "^2.0.0",
- "mdast-util-definitions": "^4.0.0",
- "mdurl": "^1.0.0",
- "unist-builder": "^2.0.0",
- "unist-util-generated": "^1.0.0",
- "unist-util-position": "^3.0.0",
- "unist-util-visit": "^2.0.0"
- }
- },
- "mdast-util-to-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz",
- "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w=="
- },
- "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=="
- },
- "mdurl": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
- "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
- },
- "media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
- },
- "memfs": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz",
- "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==",
- "requires": {
- "fs-monkey": "1.0.3"
- }
- },
- "memoize-one": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
- "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
- },
- "memoizee": {
- "version": "0.4.15",
- "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz",
- "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==",
- "requires": {
- "d": "^1.0.1",
- "es5-ext": "^0.10.53",
- "es6-weak-map": "^2.0.3",
- "event-emitter": "^0.3.5",
- "is-promise": "^2.2.2",
- "lru-queue": "^0.1.0",
- "next-tick": "^1.1.0",
- "timers-ext": "^0.1.7"
- }
- },
- "merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
- },
- "merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
- },
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
- },
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
- },
- "micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- }
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
- },
- "mime-db": {
- "version": "1.51.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
- "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g=="
- },
- "mime-types": {
- "version": "2.1.34",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz",
- "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==",
- "requires": {
- "mime-db": "1.51.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
- },
- "mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
- },
- "mini-create-react-context": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz",
- "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==",
- "requires": {
- "@babel/runtime": "^7.12.1",
- "tiny-warning": "^1.0.3"
- }
- },
- "mini-css-extract-plugin": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz",
- "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==",
- "requires": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0",
- "webpack-sources": "^1.1.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- },
- "webpack-sources": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
- "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
- "requires": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
- }
- }
- }
- },
- "minimalistic-assert": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
- },
- "mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "moment": {
- "version": "2.29.1",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
- "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
- },
- "mrmime": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.0.tgz",
- "integrity": "sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ=="
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "multicast-dns": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
- "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
- "requires": {
- "dns-packet": "^1.3.1",
- "thunky": "^1.0.2"
- }
- },
- "multicast-dns-service-types": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
- "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE="
- },
- "nanoid": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz",
- "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw=="
- },
- "negotiator": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
- "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
- },
- "neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
- },
- "next-tick": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
- "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
- },
- "no-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
- "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
- "requires": {
- "lower-case": "^2.0.2",
- "tslib": "^2.0.3"
- }
- },
- "node-domexception": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
- "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="
- },
- "node-emoji": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz",
- "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
- "requires": {
- "lodash": "^4.17.21"
- }
- },
- "node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
- },
- "node-forge": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.0.tgz",
- "integrity": "sha512-M4AsdaP0bGNaSPtatd/+f76asocI0cFaURRdeQVZvrJBrYp2Qohv5hDbGHykuNqCb1BYjWHjdS6HlN50qbztwA=="
- },
- "node-releases": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
- "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA=="
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
- },
- "normalize-range": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
- },
- "normalize-url": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
- "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A=="
- },
- "npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "requires": {
- "path-key": "^3.0.0"
- }
- },
- "nprogress": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz",
- "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E="
- },
- "nth-check": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz",
- "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==",
- "requires": {
- "boolbase": "^1.0.0"
- }
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
- },
- "object-inspect": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
- "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g=="
- },
- "object-is": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
- "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
- }
- },
- "object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
- },
- "object.assign": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
- "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
- "requires": {
- "call-bind": "^1.0.0",
- "define-properties": "^1.1.3",
- "has-symbols": "^1.0.1",
- "object-keys": "^1.1.1"
- }
- },
- "object.getownpropertydescriptors": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz",
- "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.1"
- }
- },
- "object.values": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz",
- "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.1"
- }
- },
- "obuf": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
- "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg=="
- },
- "on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
- "requires": {
- "ee-first": "1.1.1"
- }
- },
- "on-headers": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
- "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
- "open": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
- "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
- "requires": {
- "define-lazy-prop": "^2.0.0",
- "is-docker": "^2.1.1",
- "is-wsl": "^2.2.0"
- }
- },
- "opener": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
- "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A=="
- },
- "p-cancelable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
- "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw=="
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "p-map": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
- "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
- "requires": {
- "aggregate-error": "^3.0.0"
- }
- },
- "p-retry": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz",
- "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==",
- "requires": {
- "@types/retry": "^0.12.0",
- "retry": "^0.13.1"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
- },
- "package-json": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
- "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
- "requires": {
- "got": "^9.6.0",
- "registry-auth-token": "^4.0.0",
- "registry-url": "^5.0.0",
- "semver": "^6.2.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "param-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
- "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
- "requires": {
- "dot-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "parse-entities": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
- "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
- "requires": {
- "character-entities": "^1.0.0",
- "character-entities-legacy": "^1.0.0",
- "character-reference-invalid": "^1.0.0",
- "is-alphanumerical": "^1.0.0",
- "is-decimal": "^1.0.0",
- "is-hexadecimal": "^1.0.0"
- }
- },
- "parse-json": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
- "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
- }
- },
- "parse-numeric-range": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz",
- "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ=="
- },
- "parse5": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
- "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
- },
- "parse5-htmlparser2-tree-adapter": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
- "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
- "requires": {
- "parse5": "^6.0.1"
- }
- },
- "parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
- },
- "pascal-case": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
- "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
- "requires": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
- },
- "path-is-inside": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM="
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
- },
- "path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
- },
- "path-to-regexp": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
- "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
- "requires": {
- "isarray": "0.0.1"
- }
- },
- "path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
- },
- "picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
- },
- "picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
- },
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "requires": {
- "find-up": "^4.0.0"
- }
- },
- "pkg-up": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
- "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
- "requires": {
- "find-up": "^3.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
- }
- }
- },
- "portfinder": {
- "version": "1.0.28",
- "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
- "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
- "requires": {
- "async": "^2.6.2",
- "debug": "^3.1.1",
- "mkdirp": "^0.5.5"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
- "postcss": {
- "version": "8.4.5",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
- "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
- "requires": {
- "nanoid": "^3.1.30",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.1"
- }
- },
- "postcss-calc": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.0.tgz",
- "integrity": "sha512-PueXCv288diX7OXyJicGNA6Q3+L4xYb2cALTAeFj9X6PXnj+s4pUf1vkZnwn+rldfu2taCA9ondjF93lhRTPFA==",
- "requires": {
- "postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.0.2"
- }
- },
- "postcss-colormin": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.3.tgz",
- "integrity": "sha512-dra4xoAjub2wha6RUXAgadHEn2lGxbj8drhFcIGLOMn914Eu7DkPUurugDXgstwttCYkJtZ/+PkWRWdp3UHRIA==",
- "requires": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0",
- "colord": "^2.9.1",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-convert-values": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz",
- "integrity": "sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg==",
- "requires": {
- "postcss-value-parser": "^4.1.0"
- }
- },
- "postcss-discard-comments": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz",
- "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg=="
- },
- "postcss-discard-duplicates": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz",
- "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA=="
- },
- "postcss-discard-empty": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz",
- "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw=="
- },
- "postcss-discard-overridden": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.2.tgz",
- "integrity": "sha512-+56BLP6NSSUuWUXjRgAQuho1p5xs/hU5Sw7+xt9S3JSg+7R6+WMGnJW7Hre/6tTuZ2xiXMB42ObkiZJ2hy/Pew=="
- },
- "postcss-discard-unused": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.0.1.tgz",
- "integrity": "sha512-tD6xR/xyZTwfhKYRw0ylfCY8wbfhrjpKAMnDKRTLMy2fNW5hl0hoV6ap5vo2JdCkuHkP3CHw72beO4Y8pzFdww==",
- "requires": {
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "postcss-loader": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz",
- "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==",
- "requires": {
- "cosmiconfig": "^7.0.0",
- "klona": "^2.0.5",
- "semver": "^7.3.5"
- }
- },
- "postcss-merge-idents": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.0.2.tgz",
- "integrity": "sha512-V8IlmvQez+/mB06touksO3lUKtzL3ZKfBxfXFK2q136TOyOLXBuoI8kQwZsIOFWUfA8gk/XpFtmMsqURqYPk6Q==",
- "requires": {
- "cssnano-utils": "^3.0.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-merge-longhand": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.4.tgz",
- "integrity": "sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw==",
- "requires": {
- "postcss-value-parser": "^4.1.0",
- "stylehacks": "^5.0.1"
- }
- },
- "postcss-merge-rules": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.4.tgz",
- "integrity": "sha512-yOj7bW3NxlQxaERBB0lEY1sH5y+RzevjbdH4DBJurjKERNpknRByFNdNe+V72i5pIZL12woM9uGdS5xbSB+kDQ==",
- "requires": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0",
- "cssnano-utils": "^3.0.0",
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "postcss-minify-font-values": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.2.tgz",
- "integrity": "sha512-R6MJZryq28Cw0AmnyhXrM7naqJZZLoa1paBltIzh2wM7yb4D45TLur+eubTQ4jCmZU9SGeZdWsc5KcSoqTMeTg==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-minify-gradients": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.4.tgz",
- "integrity": "sha512-RVwZA7NC4R4J76u8X0Q0j+J7ItKUWAeBUJ8oEEZWmtv3Xoh19uNJaJwzNpsydQjk6PkuhRrK+YwwMf+c+68EYg==",
- "requires": {
- "colord": "^2.9.1",
- "cssnano-utils": "^3.0.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-minify-params": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.3.tgz",
- "integrity": "sha512-NY92FUikE+wralaiVexFd5gwb7oJTIDhgTNeIw89i1Ymsgt4RWiPXfz3bg7hDy4NL6gepcThJwOYNtZO/eNi7Q==",
- "requires": {
- "alphanum-sort": "^1.0.2",
- "browserslist": "^4.16.6",
- "cssnano-utils": "^3.0.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-minify-selectors": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.1.tgz",
- "integrity": "sha512-TOzqOPXt91O2luJInaVPiivh90a2SIK5Nf1Ea7yEIM/5w+XA5BGrZGUSW8aEx9pJ/oNj7ZJBhjvigSiBV+bC1Q==",
- "requires": {
- "alphanum-sort": "^1.0.2",
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "postcss-modules-extract-imports": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
- "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw=="
- },
- "postcss-modules-local-by-default": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
- "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
- "requires": {
- "icss-utils": "^5.0.0",
- "postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.1.0"
- }
- },
- "postcss-modules-scope": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
- "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
- "requires": {
- "postcss-selector-parser": "^6.0.4"
- }
- },
- "postcss-modules-values": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
- "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
- "requires": {
- "icss-utils": "^5.0.0"
- }
- },
- "postcss-normalize-charset": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz",
- "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg=="
- },
- "postcss-normalize-display-values": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.2.tgz",
- "integrity": "sha512-RxXoJPUR0shSjkMMzgEZDjGPrgXUVYyWA/YwQRicb48H15OClPuaDR7tYokLAlGZ2tCSENEN5WxjgxSD5m4cUw==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-positions": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.2.tgz",
- "integrity": "sha512-tqghWFVDp2btqFg1gYob1etPNxXLNh3uVeWgZE2AQGh6b2F8AK2Gj36v5Vhyh+APwIzNjmt6jwZ9pTBP+/OM8g==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-repeat-style": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.2.tgz",
- "integrity": "sha512-/rIZn8X9bBzC7KvY4iKUhXUGW3MmbXwfPF23jC9wT9xTi7kAvgj8sEgwxjixBmoL6MVa4WOgxNz2hAR6wTK8tw==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-string": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.2.tgz",
- "integrity": "sha512-zaI1yzwL+a/FkIzUWMQoH25YwCYxi917J4pYm1nRXtdgiCdnlTkx5eRzqWEC64HtRa06WCJ9TIutpb6GmW4gFw==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-timing-functions": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.2.tgz",
- "integrity": "sha512-Ao0PP6MoYsRU1LxeVUW740ioknvdIUmfr6uAA3xWlQJ9s69/Tupy8qwhuKG3xWfl+KvLMAP9p2WXF9cwuk/7Bg==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-unicode": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.2.tgz",
- "integrity": "sha512-3y/V+vjZ19HNcTizeqwrbZSUsE69ZMRHfiiyLAJb7C7hJtYmM4Gsbajy7gKagu97E8q5rlS9k8FhojA8cpGhWw==",
- "requires": {
- "browserslist": "^4.16.6",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-url": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.4.tgz",
- "integrity": "sha512-cNj3RzK2pgQQyNp7dzq0dqpUpQ/wYtdDZM3DepPmFjCmYIfceuD9VIAcOdvrNetjIU65g1B4uwdP/Krf6AFdXg==",
- "requires": {
- "normalize-url": "^6.0.1",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-normalize-whitespace": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.2.tgz",
- "integrity": "sha512-CXBx+9fVlzSgbk0IXA/dcZn9lXixnQRndnsPC5ht3HxlQ1bVh77KQDL1GffJx1LTzzfae8ftMulsjYmO2yegxA==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-ordered-values": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.3.tgz",
- "integrity": "sha512-T9pDS+P9bWeFvqivXd5ACzQmrCmHjv3ZP+djn8E1UZY7iK79pFSm7i3WbKw2VSmFmdbMm8sQ12OPcNpzBo3Z2w==",
- "requires": {
- "cssnano-utils": "^3.0.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-reduce-idents": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.0.1.tgz",
- "integrity": "sha512-6Rw8iIVFbqtaZExgWK1rpVgP7DPFRPh0DDFZxJ/ADNqPiH10sPCoq5tgo6kLiTyfh9sxjKYjXdc8udLEcPOezg==",
- "requires": {
- "postcss-value-parser": "^4.1.0"
- }
- },
- "postcss-reduce-initial": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz",
- "integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==",
- "requires": {
- "browserslist": "^4.16.6",
- "caniuse-api": "^3.0.0"
- }
- },
- "postcss-reduce-transforms": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.2.tgz",
- "integrity": "sha512-25HeDeFsgiPSUx69jJXZn8I06tMxLQJJNF5h7i9gsUg8iP4KOOJ8EX8fj3seeoLt3SLU2YDD6UPnDYVGUO7DEA==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-selector-parser": {
- "version": "6.0.8",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz",
- "integrity": "sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ==",
- "requires": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- }
- },
- "postcss-sort-media-queries": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.2.1.tgz",
- "integrity": "sha512-9VYekQalFZ3sdgcTjXMa0dDjsfBVHXlraYJEMiOJ/2iMmI2JGCMavP16z3kWOaRu8NSaJCTgVpB/IVpH5yT9YQ==",
- "requires": {
- "sort-css-media-queries": "2.0.4"
- }
- },
- "postcss-svgo": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz",
- "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==",
- "requires": {
- "postcss-value-parser": "^4.1.0",
- "svgo": "^2.7.0"
- }
- },
- "postcss-unique-selectors": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz",
- "integrity": "sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA==",
- "requires": {
- "alphanum-sort": "^1.0.2",
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
- },
- "postcss-zindex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.0.1.tgz",
- "integrity": "sha512-nwgtJJys+XmmSGoYCcgkf/VczP8Mp/0OfSv3v0+fw0uABY4yxw+eFs0Xp9nAZHIKnS5j+e9ywQ+RD+ONyvl5pA=="
- },
- "prepend-http": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
- "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc="
- },
- "pretty-error": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz",
- "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==",
- "requires": {
- "lodash": "^4.17.20",
- "renderkid": "^3.0.0"
- }
- },
- "pretty-time": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz",
- "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA=="
- },
- "prism-react-renderer": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.2.1.tgz",
- "integrity": "sha512-w23ch4f75V1Tnz8DajsYKvY5lF7H1+WvzvLUcF0paFxkTHSp42RS0H5CttdN2Q8RR3DRGZ9v5xD/h3n8C8kGmg=="
- },
- "prismjs": {
- "version": "1.26.0",
- "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.26.0.tgz",
- "integrity": "sha512-HUoH9C5Z3jKkl3UunCyiD5jwk0+Hz0fIgQ2nbwU2Oo/ceuTAQAg+pPVnfdt2TJWRVLcxKh9iuoYDUSc8clb5UQ=="
- },
- "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=="
- },
- "promise": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
- "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
- "requires": {
- "asap": "~2.0.3"
- }
- },
- "prompts": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
- "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
- "requires": {
- "kleur": "^3.0.3",
- "sisteransi": "^1.0.5"
- }
- },
- "prop-types": {
- "version": "15.8.1",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
- "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
- "requires": {
- "loose-envify": "^1.4.0",
- "object-assign": "^4.1.1",
- "react-is": "^16.13.1"
- }
- },
- "property-information": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz",
- "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==",
- "requires": {
- "xtend": "^4.0.0"
- }
- },
- "proxy-addr": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
- "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
- "requires": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- },
- "dependencies": {
- "ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
- }
- }
- },
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
- },
- "pupa": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
- "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==",
- "requires": {
- "escape-goat": "^2.0.0"
- }
- },
- "pure-color": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz",
- "integrity": "sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4="
- },
- "q": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
- "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
- },
- "qs": {
- "version": "6.9.6",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
- "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ=="
- },
- "querystring": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
- "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
- },
- "querystringify": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
- "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="
- },
- "queue": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz",
- "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==",
- "requires": {
- "inherits": "~2.0.3"
- }
- },
- "queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
- },
- "randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "requires": {
- "safe-buffer": "^5.1.0"
- }
- },
- "range-parser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
- "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
- },
- "raw-body": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz",
- "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==",
- "requires": {
- "bytes": "3.1.1",
- "http-errors": "1.8.1",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
- "dependencies": {
- "bytes": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz",
- "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg=="
- }
- }
- },
- "rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- }
- },
- "rc-align": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.11.tgz",
- "integrity": "sha512-n9mQfIYQbbNTbefyQnRHZPWuTEwG1rY4a9yKlIWHSTbgwI+XUMGRYd0uJ5pE2UbrNX0WvnMBA1zJ3Lrecpra/A==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "dom-align": "^1.7.0",
- "lodash": "^4.17.21",
- "rc-util": "^5.3.0",
- "resize-observer-polyfill": "^1.5.1"
- }
- },
- "rc-cascader": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.2.6.tgz",
- "integrity": "sha512-3CmlJP7jPVlP5jT+O3PrP8E9yxees48Na7Hiir84ktcw11pUUU5YawAhuRoSc09SGVvRcP70a9gCu94Hqp3ZwA==",
- "requires": {
- "@babel/runtime": "^7.12.5",
- "array-tree-filter": "^2.1.0",
- "classnames": "^2.3.1",
- "rc-select": "~14.0.0-alpha.23",
- "rc-tree": "~5.4.3",
- "rc-util": "^5.6.1"
- }
- },
- "rc-checkbox": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.3.2.tgz",
- "integrity": "sha512-afVi1FYiGv1U0JlpNH/UaEXdh6WUJjcWokj/nUN2TgG80bfG+MDdbfHKlLcNNba94mbjy2/SXJ1HDgrOkXGAjg==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.1"
- }
- },
- "rc-collapse": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.1.2.tgz",
- "integrity": "sha512-HujcKq7mghk/gVKeI6EjzTbb8e19XUZpakrYazu1MblEZ3Hu3WBMSN4A3QmvbF6n1g7x6lUlZvsHZ5shABWYOQ==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "rc-motion": "^2.3.4",
- "rc-util": "^5.2.1",
- "shallowequal": "^1.1.0"
- }
- },
- "rc-dialog": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-8.6.0.tgz",
- "integrity": "sha512-GSbkfqjqxpZC5/zc+8H332+q5l/DKUhpQr0vdX2uDsxo5K0PhvaMEVjyoJUTkZ3+JstEADQji1PVLVb/2bJeOQ==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.6",
- "rc-motion": "^2.3.0",
- "rc-util": "^5.6.1"
- }
- },
- "rc-drawer": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-4.4.3.tgz",
- "integrity": "sha512-FYztwRs3uXnFOIf1hLvFxIQP9MiZJA+0w+Os8dfDh/90X7z/HqP/Yg+noLCIeHEbKln1Tqelv8ymCAN24zPcfQ==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.6",
- "rc-util": "^5.7.0"
- }
- },
- "rc-dropdown": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-3.2.5.tgz",
- "integrity": "sha512-dVO2eulOSbEf+F4OyhCY5iGiMVhUYY/qeXxL7Ex2jDBt/xc89jU07mNoowV6aWxwVOc70pxEINff0oM2ogjluA==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.6",
- "rc-trigger": "^5.0.4"
- }
- },
- "rc-field-form": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.22.1.tgz",
- "integrity": "sha512-LweU7nBeqmC5r3HDUjRprcOXXobHXp/TGIxD7ppBq5FX6Iptt3ibdpRVg4RSyNulBNGHOuknHlRcguuIpvVMVg==",
- "requires": {
- "@babel/runtime": "^7.8.4",
- "async-validator": "^4.0.2",
- "rc-util": "^5.8.0"
- }
- },
- "rc-image": {
- "version": "5.2.5",
- "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-5.2.5.tgz",
- "integrity": "sha512-qUfZjYIODxO0c8a8P5GeuclYXZjzW4hV/5hyo27XqSFo1DmTCs2HkVeQObkcIk5kNsJtgsj1KoPThVsSc/PXOw==",
- "requires": {
- "@babel/runtime": "^7.11.2",
- "classnames": "^2.2.6",
- "rc-dialog": "~8.6.0",
- "rc-util": "^5.0.6"
- }
- },
- "rc-input-number": {
- "version": "7.3.4",
- "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.3.4.tgz",
- "integrity": "sha512-W9uqSzuvJUnz8H8vsVY4kx+yK51SsAxNTwr8SNH4G3XqQNocLVmKIibKFRjocnYX1RDHMND9FFbgj2h7E7nvGA==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.5",
- "rc-util": "^5.9.8"
- }
- },
- "rc-mentions": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.6.1.tgz",
- "integrity": "sha512-LDzGI8jJVGnkhpTZxZuYBhMz3avcZZqPGejikchh97xPni/g4ht714Flh7DVvuzHQ+BoKHhIjobHnw1rcP8erg==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.6",
- "rc-menu": "^9.0.0",
- "rc-textarea": "^0.3.0",
- "rc-trigger": "^5.0.4",
- "rc-util": "^5.0.1"
- }
- },
- "rc-menu": {
- "version": "9.2.1",
- "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.2.1.tgz",
- "integrity": "sha512-UbEtn3rflJ8zS+etYGTVQuzy7Fm+yWXR5c0Rl6ecNTS/dPknRyWAyhJcbeR0Hu1+RdQT+0VCqrUPrgKnm4iY+w==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "rc-motion": "^2.4.3",
- "rc-overflow": "^1.2.0",
- "rc-trigger": "^5.1.2",
- "rc-util": "^5.12.0",
- "shallowequal": "^1.1.0"
- }
- },
- "rc-motion": {
- "version": "2.4.5",
- "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.4.5.tgz",
- "integrity": "sha512-f3uJHR4gcpeZS/s8/nYFSOrXt2Wu/h9GrEcbJmC0qmKrVNgwL1pTgrT5kW7lgG6PFeoL4yHDmpQoEKkrPtKIzQ==",
- "requires": {
- "@babel/runtime": "^7.11.1",
- "classnames": "^2.2.1",
- "rc-util": "^5.18.1"
- }
- },
- "rc-notification": {
- "version": "4.5.7",
- "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-4.5.7.tgz",
- "integrity": "sha512-zhTGUjBIItbx96SiRu3KVURcLOydLUHZCPpYEn1zvh+re//Tnq/wSxN4FKgp38n4HOgHSVxcLEeSxBMTeBBDdw==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "rc-motion": "^2.2.0",
- "rc-util": "^5.0.1"
- }
- },
- "rc-overflow": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.2.3.tgz",
- "integrity": "sha512-Bz6dXTn/ww8nmu70tUQfRV0wT3BkfXY6j1lB1O38OVkDPz4xwfAcGK+LJ2zewUR5cTXkJ8hAN7YULohG8z4M7Q==",
- "requires": {
- "@babel/runtime": "^7.11.1",
- "classnames": "^2.2.1",
- "rc-resize-observer": "^1.0.0",
- "rc-util": "^5.15.0"
- }
- },
- "rc-pagination": {
- "version": "3.1.15",
- "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.1.15.tgz",
- "integrity": "sha512-4L3fot8g4E+PjWEgoVGX0noFCg+8ZFZmeLH4vsnZpB3O2T2zThtakjNxG+YvSaYtyMVT4B+GLayjKrKbXQpdAg==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.1"
- }
- },
- "rc-picker": {
- "version": "2.5.19",
- "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.5.19.tgz",
- "integrity": "sha512-u6myoCu/qiQ0vLbNzSzNrzTQhs7mldArCpPHrEI6OUiifs+IPXmbesqSm0zilJjfzrZJLgYeyyOMSznSlh0GKA==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.1",
- "date-fns": "2.x",
- "dayjs": "1.x",
- "moment": "^2.24.0",
- "rc-trigger": "^5.0.4",
- "rc-util": "^5.4.0",
- "shallowequal": "^1.1.0"
- }
- },
- "rc-progress": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.2.4.tgz",
- "integrity": "sha512-M9WWutRaoVkPUPIrTpRIDpX0SPSrVHzxHdCRCbeoBFrd9UFWTYNWRlHsruJM5FH1AZI+BwB4wOJUNNylg/uFSw==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.6",
- "rc-util": "^5.16.1"
- }
- },
- "rc-rate": {
- "version": "2.9.1",
- "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.9.1.tgz",
- "integrity": "sha512-MmIU7FT8W4LYRRHJD1sgG366qKtSaKb67D0/vVvJYR0lrCuRrCiVQ5qhfT5ghVO4wuVIORGpZs7ZKaYu+KMUzA==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.5",
- "rc-util": "^5.0.1"
- }
- },
- "rc-resize-observer": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.2.0.tgz",
- "integrity": "sha512-6W+UzT3PyDM0wVCEHfoW3qTHPTvbdSgiA43buiy8PzmeMnfgnDeb9NjdimMXMl3/TcrvvWl5RRVdp+NqcR47pQ==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.1",
- "rc-util": "^5.15.0",
- "resize-observer-polyfill": "^1.5.1"
- }
- },
- "rc-select": {
- "version": "14.0.0-alpha.26",
- "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.0.0-alpha.26.tgz",
- "integrity": "sha512-5+vpP+qkYg9TiQb06BIVMTdnKwjXW/4ud8NWaCtnLGsyeqN6Hg7HGTUwlTTOyNOU5zMjbKHrAIvMk8NipGKqtA==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "rc-motion": "^2.0.1",
- "rc-overflow": "^1.0.0",
- "rc-trigger": "^5.0.4",
- "rc-util": "^5.16.1",
- "rc-virtual-list": "^3.2.0"
- }
- },
- "rc-slider": {
- "version": "9.7.5",
- "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-9.7.5.tgz",
- "integrity": "sha512-LV/MWcXFjco1epPbdw1JlLXlTgmWpB9/Y/P2yinf8Pg3wElHxA9uajN21lJiWtZjf5SCUekfSP6QMJfDo4t1hg==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.5",
- "rc-tooltip": "^5.0.1",
- "rc-util": "^5.16.1",
- "shallowequal": "^1.1.0"
- }
- },
- "rc-steps": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-4.1.4.tgz",
- "integrity": "sha512-qoCqKZWSpkh/b03ASGx1WhpKnuZcRWmvuW+ZUu4mvMdfvFzVxblTwUM+9aBd0mlEUFmt6GW8FXhMpHkK3Uzp3w==",
- "requires": {
- "@babel/runtime": "^7.10.2",
- "classnames": "^2.2.3",
- "rc-util": "^5.0.1"
- }
- },
- "rc-switch": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-3.2.2.tgz",
- "integrity": "sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.1",
- "rc-util": "^5.0.1"
- }
- },
- "rc-table": {
- "version": "7.22.2",
- "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.22.2.tgz",
- "integrity": "sha512-Ng2gNkGi6ybl6dzneRn2H4Gp8XhIbRa5rXQ7ZhZcgWVmfVMok70UHGPXcf68tXW6O0/qckTf/eOVsoviSvK4sw==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.5",
- "rc-resize-observer": "^1.1.0",
- "rc-util": "^5.14.0",
- "shallowequal": "^1.1.0"
- }
- },
- "rc-tabs": {
- "version": "11.10.5",
- "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-11.10.5.tgz",
- "integrity": "sha512-DDuUdV6b9zGRYLtjI5hyejWLKoz1QiLWNgMeBzc3aMeQylZFhTYnFGdDc6HRqj5IYearNTsFPVSA+6VIT8g5cg==",
- "requires": {
- "@babel/runtime": "^7.11.2",
- "classnames": "2.x",
- "rc-dropdown": "^3.2.0",
- "rc-menu": "^9.0.0",
- "rc-resize-observer": "^1.0.0",
- "rc-util": "^5.5.0"
- }
- },
- "rc-textarea": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.3.7.tgz",
- "integrity": "sha512-yCdZ6binKmAQB13hc/oehh0E/QRwoPP1pjF21aHBxlgXO3RzPF6dUu4LG2R4FZ1zx/fQd2L1faktulrXOM/2rw==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.1",
- "rc-resize-observer": "^1.0.0",
- "rc-util": "^5.7.0",
- "shallowequal": "^1.1.0"
- }
- },
- "rc-tooltip": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.1.1.tgz",
- "integrity": "sha512-alt8eGMJulio6+4/uDm7nvV+rJq9bsfxFDCI0ljPdbuoygUscbsMYb6EQgwib/uqsXQUvzk+S7A59uYHmEgmDA==",
- "requires": {
- "@babel/runtime": "^7.11.2",
- "rc-trigger": "^5.0.0"
- }
- },
- "rc-tree": {
- "version": "5.4.3",
- "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.4.3.tgz",
- "integrity": "sha512-WAHV8FkBerulj9J/+61+Qn0TD/Zo37PrDG8/45WomzGTYavxFMur9YguKjQj/J+NxjVJzrJL3lvdSZsumfdbiA==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "rc-motion": "^2.0.1",
- "rc-util": "^5.16.1",
- "rc-virtual-list": "^3.4.1"
- }
- },
- "rc-tree-select": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.1.3.tgz",
- "integrity": "sha512-nfOhsUM3SiEo/Kt+LhinC3LI3VJGCU4+TCRBAmdt0frV3Ix9GAoC3aIaHIUs2tkDf3X0qOmf6qYcyUn/RaIuoQ==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "rc-select": "~14.0.0-alpha.8",
- "rc-tree": "~5.4.3",
- "rc-util": "^5.16.1"
- }
- },
- "rc-trigger": {
- "version": "5.2.10",
- "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.2.10.tgz",
- "integrity": "sha512-FkUf4H9BOFDaIwu42fvRycXMAvkttph9AlbCZXssZDVzz2L+QZ0ERvfB/4nX3ZFPh1Zd+uVGr1DEDeXxq4J1TA==",
- "requires": {
- "@babel/runtime": "^7.11.2",
- "classnames": "^2.2.6",
- "rc-align": "^4.0.0",
- "rc-motion": "^2.0.0",
- "rc-util": "^5.5.0"
- }
- },
- "rc-upload": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.3.tgz",
- "integrity": "sha512-YoJ0phCRenMj1nzwalXzciKZ9/FAaCrFu84dS5pphwucTC8GUWClcDID/WWNGsLFcM97NqIboDqrV82rVRhW/w==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.5",
- "rc-util": "^5.2.0"
- }
- },
- "rc-util": {
- "version": "5.18.1",
- "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.18.1.tgz",
- "integrity": "sha512-24xaSrMZUEKh1+suDOtJWfPe9E6YrwryViZcoPO0miJTKzP4qhUlV5AAlKQ82AJilz/AOHfi3l6HoX8qa1ye8w==",
- "requires": {
- "@babel/runtime": "^7.12.5",
- "react-is": "^16.12.0",
- "shallowequal": "^1.1.0"
- }
- },
- "rc-virtual-list": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.4.2.tgz",
- "integrity": "sha512-OyVrrPvvFcHvV0ssz5EDZ+7Rf5qLat/+mmujjchNw5FfbJWNDwkpQ99EcVE6+FtNRmX9wFa1LGNpZLUTvp/4GQ==",
- "requires": {
- "classnames": "^2.2.6",
- "rc-resize-observer": "^1.0.0",
- "rc-util": "^5.0.7"
- }
- },
- "react": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
- "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
- "requires": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1"
- }
- },
- "react-base16-styling": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz",
- "integrity": "sha1-7yFW1mz0E5aVyKFniGy2nqZgeSw=",
- "requires": {
- "base16": "^1.0.0",
- "lodash.curry": "^4.0.1",
- "lodash.flow": "^3.3.0",
- "pure-color": "^1.2.0"
- }
- },
- "react-copy-to-clipboard": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.4.tgz",
- "integrity": "sha512-IeVAiNVKjSPeGax/Gmkqfa/+PuMTBhutEvFUaMQLwE2tS0EXrAdgOpWDX26bWTXF3HrioorR7lr08NqeYUWQCQ==",
- "requires": {
- "copy-to-clipboard": "^3",
- "prop-types": "^15.5.8"
- }
- },
- "react-debounce-input": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/react-debounce-input/-/react-debounce-input-3.2.4.tgz",
- "integrity": "sha512-fX70bNj0fLEYO2Zcvuh7eh9wOUQ29GIx6r8IxIJlc0i0mpUH++9ax0BhfAYfzndADli3RAMROrZQ014J01owrg==",
- "requires": {
- "lodash.debounce": "^4",
- "prop-types": "^15.7.2"
- }
- },
- "react-dev-utils": {
- "version": "12.0.0",
- "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.0.tgz",
- "integrity": "sha512-xBQkitdxozPxt1YZ9O1097EJiVpwHr9FoAuEVURCKV0Av8NBERovJauzP7bo1ThvuhZ4shsQ1AJiu4vQpoT1AQ==",
- "requires": {
- "@babel/code-frame": "^7.16.0",
- "address": "^1.1.2",
- "browserslist": "^4.18.1",
- "chalk": "^4.1.2",
- "cross-spawn": "^7.0.3",
- "detect-port-alt": "^1.1.6",
- "escape-string-regexp": "^4.0.0",
- "filesize": "^8.0.6",
- "find-up": "^5.0.0",
- "fork-ts-checker-webpack-plugin": "^6.5.0",
- "global-modules": "^2.0.0",
- "globby": "^11.0.4",
- "gzip-size": "^6.0.0",
- "immer": "^9.0.7",
- "is-root": "^2.1.0",
- "loader-utils": "^3.2.0",
- "open": "^8.4.0",
- "pkg-up": "^3.1.0",
- "prompts": "^2.4.2",
- "react-error-overlay": "^6.0.10",
- "recursive-readdir": "^2.2.2",
- "shell-quote": "^1.7.3",
- "strip-ansi": "^6.0.1",
- "text-table": "^0.2.0"
- },
- "dependencies": {
- "escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
- },
- "find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "requires": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "loader-utils": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz",
- "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ=="
- },
- "locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "requires": {
- "p-locate": "^5.0.0"
- }
- },
- "p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "requires": {
- "yocto-queue": "^0.1.0"
- }
- },
- "p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "requires": {
- "p-limit": "^3.0.2"
- }
- }
- }
- },
- "react-dom": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
- "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
- "requires": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1",
- "scheduler": "^0.20.2"
- }
- },
- "react-error-overlay": {
- "version": "6.0.10",
- "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.10.tgz",
- "integrity": "sha512-mKR90fX7Pm5seCOfz8q9F+66VCc1PGsWSBxKbITjfKVQHMNF2zudxHnMdJiB1fRCb+XsbQV9sO9DCkgsMQgBIA=="
- },
- "react-fast-compare": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz",
- "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA=="
- },
- "react-github-btn": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/react-github-btn/-/react-github-btn-1.2.1.tgz",
- "integrity": "sha512-/gXD01mHAOhW0xYuNJFDn08OGjaMXOjcg6GCKVPdHvQcWzswH4aT85DLDAAJ6Zhw/71veSIH4Kx1BTBfy69SsA==",
- "requires": {
- "github-buttons": "^2.8.0"
- }
- },
- "react-helmet": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz",
- "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==",
- "requires": {
- "object-assign": "^4.1.1",
- "prop-types": "^15.7.2",
- "react-fast-compare": "^3.1.1",
- "react-side-effect": "^2.1.0"
- }
- },
- "react-helmet-async": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz",
- "integrity": "sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==",
- "requires": {
- "@babel/runtime": "^7.12.5",
- "invariant": "^2.2.4",
- "prop-types": "^15.7.2",
- "react-fast-compare": "^3.2.0",
- "shallowequal": "^1.1.0"
- }
- },
- "react-immutable-proptypes": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/react-immutable-proptypes/-/react-immutable-proptypes-2.2.0.tgz",
- "integrity": "sha512-Vf4gBsePlwdGvSZoLSBfd4HAP93HDauMY4fDjXhreg/vg6F3Fj/MXDNyTbltPC/xZKmZc+cjLu3598DdYK6sgQ==",
- "requires": {
- "invariant": "^2.2.2"
- }
- },
- "react-immutable-pure-component": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/react-immutable-pure-component/-/react-immutable-pure-component-2.2.2.tgz",
- "integrity": "sha512-vkgoMJUDqHZfXXnjVlG3keCxSO/U6WeDQ5/Sl0GK2cH8TOxEzQ5jXqDXHEL/jqk6fsNxV05oH5kD7VNMUE2k+A=="
- },
- "react-inspector": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-5.1.1.tgz",
- "integrity": "sha512-GURDaYzoLbW8pMGXwYPDBIv6nqei4kK7LPRZ9q9HCZF54wqXz/dnylBp/kfE9XmekBhHvLDdcYeyIwSrvtOiWg==",
- "requires": {
- "@babel/runtime": "^7.0.0",
- "is-dom": "^1.0.0",
- "prop-types": "^15.0.0"
- }
- },
- "react-is": {
- "version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
- },
- "react-json-view": {
- "version": "1.21.3",
- "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz",
- "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==",
- "requires": {
- "flux": "^4.0.1",
- "react-base16-styling": "^0.6.0",
- "react-lifecycles-compat": "^3.0.4",
- "react-textarea-autosize": "^8.3.2"
- }
- },
- "react-lifecycles-compat": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
- "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
- },
- "react-loadable-ssr-addon-v5-slorber": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz",
- "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==",
- "requires": {
- "@babel/runtime": "^7.10.3"
- }
- },
- "react-redux": {
- "version": "7.2.6",
- "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.6.tgz",
- "integrity": "sha512-10RPdsz0UUrRL1NZE0ejTkucnclYSgXp5q+tB5SWx2qeG2ZJQJyymgAhwKy73yiL/13btfB6fPr+rgbMAaZIAQ==",
- "requires": {
- "@babel/runtime": "^7.15.4",
- "@types/react-redux": "^7.1.20",
- "hoist-non-react-statics": "^3.3.2",
- "loose-envify": "^1.4.0",
- "prop-types": "^15.7.2",
- "react-is": "^17.0.2"
- },
- "dependencies": {
- "react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
- }
- }
- },
- "react-router": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.1.tgz",
- "integrity": "sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==",
- "requires": {
- "@babel/runtime": "^7.12.13",
- "history": "^4.9.0",
- "hoist-non-react-statics": "^3.1.0",
- "loose-envify": "^1.3.1",
- "mini-create-react-context": "^0.4.0",
- "path-to-regexp": "^1.7.0",
- "prop-types": "^15.6.2",
- "react-is": "^16.6.0",
- "tiny-invariant": "^1.0.2",
- "tiny-warning": "^1.0.0"
- }
- },
- "react-router-config": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz",
- "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==",
- "requires": {
- "@babel/runtime": "^7.1.2"
- }
- },
- "react-router-dom": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz",
- "integrity": "sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==",
- "requires": {
- "@babel/runtime": "^7.12.13",
- "history": "^4.9.0",
- "loose-envify": "^1.3.1",
- "prop-types": "^15.6.2",
- "react-router": "5.2.1",
- "tiny-invariant": "^1.0.2",
- "tiny-warning": "^1.0.0"
- }
- },
- "react-side-effect": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.1.tgz",
- "integrity": "sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ=="
- },
- "react-syntax-highlighter": {
- "version": "15.4.5",
- "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.4.5.tgz",
- "integrity": "sha512-RC90KQTxZ/b7+9iE6s9nmiFLFjWswUcfULi4GwVzdFVKVMQySkJWBuOmJFfjwjMVCo0IUUuJrWebNKyviKpwLQ==",
- "requires": {
- "@babel/runtime": "^7.3.1",
- "highlight.js": "^10.4.1",
- "lowlight": "^1.17.0",
- "prismjs": "^1.25.0",
- "refractor": "^3.2.0"
- }
- },
- "react-textarea-autosize": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.3.tgz",
- "integrity": "sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ==",
- "requires": {
- "@babel/runtime": "^7.10.2",
- "use-composed-ref": "^1.0.0",
- "use-latest": "^1.0.0"
- }
- },
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "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==",
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "reading-time": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz",
- "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg=="
- },
- "rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
- "requires": {
- "resolve": "^1.1.6"
- }
- },
- "recursive-readdir": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
- "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
- "requires": {
- "minimatch": "3.0.4"
- }
- },
- "redux": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.2.tgz",
- "integrity": "sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw==",
- "requires": {
- "@babel/runtime": "^7.9.2"
- }
- },
- "redux-immutable": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/redux-immutable/-/redux-immutable-4.0.0.tgz",
- "integrity": "sha1-Ohoy32Y2ZGK2NpHw4dw15HK7yfM="
- },
- "refractor": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.5.0.tgz",
- "integrity": "sha512-QwPJd3ferTZ4cSPPjdP5bsYHMytwWYnAN5EEnLtGvkqp/FCCnGsBgxrm9EuIDnjUC3Uc/kETtvVi7fSIVC74Dg==",
- "requires": {
- "hastscript": "^6.0.0",
- "parse-entities": "^2.0.0",
- "prismjs": "~1.25.0"
- },
- "dependencies": {
- "prismjs": {
- "version": "1.25.0",
- "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.25.0.tgz",
- "integrity": "sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg=="
- }
- }
- },
- "regenerate": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
- "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A=="
- },
- "regenerate-unicode-properties": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz",
- "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==",
- "requires": {
- "regenerate": "^1.4.2"
- }
- },
- "regenerator-runtime": {
- "version": "0.13.9",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
- "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
- },
- "regenerator-transform": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz",
- "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==",
- "requires": {
- "@babel/runtime": "^7.8.4"
- }
- },
- "regexp.prototype.flags": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz",
- "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
- }
- },
- "regexpu-core": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz",
- "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==",
- "requires": {
- "regenerate": "^1.4.2",
- "regenerate-unicode-properties": "^9.0.0",
- "regjsgen": "^0.5.2",
- "regjsparser": "^0.7.0",
- "unicode-match-property-ecmascript": "^2.0.0",
- "unicode-match-property-value-ecmascript": "^2.0.0"
- }
- },
- "registry-auth-token": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz",
- "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==",
- "requires": {
- "rc": "^1.2.8"
- }
- },
- "registry-url": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
- "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
- "requires": {
- "rc": "^1.2.8"
- }
- },
- "regjsgen": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz",
- "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A=="
- },
- "regjsparser": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz",
- "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==",
- "requires": {
- "jsesc": "~0.5.0"
- },
- "dependencies": {
- "jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
- }
- }
- },
- "rehype-parse": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-6.0.2.tgz",
- "integrity": "sha512-0S3CpvpTAgGmnz8kiCyFLGuW5yA4OQhyNTm/nwPopZ7+PI11WnGl1TTWTGv/2hPEe/g2jRLlhVVSsoDH8waRug==",
- "requires": {
- "hast-util-from-parse5": "^5.0.0",
- "parse5": "^5.0.0",
- "xtend": "^4.0.0"
- },
- "dependencies": {
- "hast-util-from-parse5": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-5.0.3.tgz",
- "integrity": "sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA==",
- "requires": {
- "ccount": "^1.0.3",
- "hastscript": "^5.0.0",
- "property-information": "^5.0.0",
- "web-namespaces": "^1.1.2",
- "xtend": "^4.0.1"
- }
- },
- "hastscript": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.2.tgz",
- "integrity": "sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==",
- "requires": {
- "comma-separated-tokens": "^1.0.0",
- "hast-util-parse-selector": "^2.0.0",
- "property-information": "^5.0.0",
- "space-separated-tokens": "^1.0.0"
- }
- },
- "parse5": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
- "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug=="
- }
- }
- },
- "relateurl": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
- "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk="
- },
- "remark-admonitions": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/remark-admonitions/-/remark-admonitions-1.2.1.tgz",
- "integrity": "sha512-Ji6p68VDvD+H1oS95Fdx9Ar5WA2wcDA4kwrrhVU7fGctC6+d3uiMICu7w7/2Xld+lnU7/gi+432+rRbup5S8ow==",
- "requires": {
- "rehype-parse": "^6.0.2",
- "unified": "^8.4.2",
- "unist-util-visit": "^2.0.1"
- },
- "dependencies": {
- "unified": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz",
- "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==",
- "requires": {
- "bail": "^1.0.0",
- "extend": "^3.0.0",
- "is-plain-obj": "^2.0.0",
- "trough": "^1.0.0",
- "vfile": "^4.0.0"
- }
- }
- }
- },
- "remark-emoji": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz",
- "integrity": "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==",
- "requires": {
- "emoticon": "^3.2.0",
- "node-emoji": "^1.10.0",
- "unist-util-visit": "^2.0.3"
- }
- },
- "remark-footnotes": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz",
- "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ=="
- },
- "remark-mdx": {
- "version": "1.6.22",
- "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz",
- "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==",
- "requires": {
- "@babel/core": "7.12.9",
- "@babel/helper-plugin-utils": "7.10.4",
- "@babel/plugin-proposal-object-rest-spread": "7.12.1",
- "@babel/plugin-syntax-jsx": "7.12.1",
- "@mdx-js/util": "1.6.22",
- "is-alphabetical": "1.0.4",
- "remark-parse": "8.0.3",
- "unified": "9.2.0"
- },
- "dependencies": {
- "@babel/core": {
- "version": "7.12.9",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz",
- "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==",
- "requires": {
- "@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.12.5",
- "@babel/helper-module-transforms": "^7.12.1",
- "@babel/helpers": "^7.12.5",
- "@babel/parser": "^7.12.7",
- "@babel/template": "^7.12.7",
- "@babel/traverse": "^7.12.9",
- "@babel/types": "^7.12.7",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.1",
- "json5": "^2.1.2",
- "lodash": "^4.17.19",
- "resolve": "^1.3.2",
- "semver": "^5.4.1",
- "source-map": "^0.5.0"
- }
- },
- "@babel/helper-plugin-utils": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
- "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg=="
- },
- "@babel/plugin-proposal-object-rest-spread": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz",
- "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
- "@babel/plugin-transform-parameters": "^7.12.1"
- }
- },
- "@babel/plugin-syntax-jsx": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz",
- "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "remark-mdx-remove-exports": {
- "version": "1.6.22",
- "resolved": "https://registry.npmjs.org/remark-mdx-remove-exports/-/remark-mdx-remove-exports-1.6.22.tgz",
- "integrity": "sha512-7g2uiTmTGfz5QyVb+toeX25frbk1Y6yd03RXGPtqx0+DVh86Gb7MkNYbk7H2X27zdZ3CQv1W/JqlFO0Oo8IxVA==",
- "requires": {
- "unist-util-remove": "2.0.0"
- },
- "dependencies": {
- "unist-util-remove": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.0.0.tgz",
- "integrity": "sha512-HwwWyNHKkeg/eXRnE11IpzY8JT55JNM1YCwwU9YNCnfzk6s8GhPXrVBBZWiwLeATJbI7euvoGSzcy9M29UeW3g==",
- "requires": {
- "unist-util-is": "^4.0.0"
- }
- }
- }
- },
- "remark-mdx-remove-imports": {
- "version": "1.6.22",
- "resolved": "https://registry.npmjs.org/remark-mdx-remove-imports/-/remark-mdx-remove-imports-1.6.22.tgz",
- "integrity": "sha512-lmjAXD8Ltw0TsvBzb45S+Dxx7LTJAtDaMneMAv8LAUIPEyYoKkmGbmVsiF0/pY6mhM1Q16swCmu1TN+ie/vn/A==",
- "requires": {
- "unist-util-remove": "2.0.0"
- },
- "dependencies": {
- "unist-util-remove": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.0.0.tgz",
- "integrity": "sha512-HwwWyNHKkeg/eXRnE11IpzY8JT55JNM1YCwwU9YNCnfzk6s8GhPXrVBBZWiwLeATJbI7euvoGSzcy9M29UeW3g==",
- "requires": {
- "unist-util-is": "^4.0.0"
- }
- }
- }
- },
- "remark-parse": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz",
- "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==",
- "requires": {
- "ccount": "^1.0.0",
- "collapse-white-space": "^1.0.2",
- "is-alphabetical": "^1.0.0",
- "is-decimal": "^1.0.0",
- "is-whitespace-character": "^1.0.0",
- "is-word-character": "^1.0.0",
- "markdown-escapes": "^1.0.0",
- "parse-entities": "^2.0.0",
- "repeat-string": "^1.5.4",
- "state-toggle": "^1.0.0",
- "trim": "0.0.1",
- "trim-trailing-lines": "^1.0.0",
- "unherit": "^1.0.4",
- "unist-util-remove-position": "^2.0.0",
- "vfile-location": "^3.0.0",
- "xtend": "^4.0.1"
- }
- },
- "remark-squeeze-paragraphs": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz",
- "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==",
- "requires": {
- "mdast-squeeze-paragraphs": "^4.0.0"
- }
- },
- "remarkable": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-2.0.1.tgz",
- "integrity": "sha512-YJyMcOH5lrR+kZdmB0aJJ4+93bEojRZ1HGDn9Eagu6ibg7aVZhc3OWbbShRid+Q5eAfsEqWxpe+g5W5nYNfNiA==",
- "requires": {
- "argparse": "^1.0.10",
- "autolinker": "^3.11.0"
- }
- },
- "renderkid": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz",
- "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==",
- "requires": {
- "css-select": "^4.1.3",
- "dom-converter": "^0.2.0",
- "htmlparser2": "^6.1.0",
- "lodash": "^4.17.21",
- "strip-ansi": "^6.0.1"
- },
- "dependencies": {
- "htmlparser2": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
- "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
- "requires": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.0.0",
- "domutils": "^2.5.2",
- "entities": "^2.0.0"
- }
- }
- }
- },
- "repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
- },
- "require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
- },
- "require-like": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz",
- "integrity": "sha1-rW8wwTvs15cBDEaK+ndcDAprR/o="
- },
- "requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
- },
- "reselect": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.5.tgz",
- "integrity": "sha512-uVdlz8J7OO+ASpBYoz1Zypgx0KasCY20H+N8JD13oUMtPvSHQuscrHop4KbXrbsBcdB9Ds7lVK7eRkBIfO43vQ=="
- },
- "resize-observer-polyfill": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
- "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
- },
- "resolve": {
- "version": "1.21.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz",
- "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==",
- "requires": {
- "is-core-module": "^2.8.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- }
- },
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
- },
- "resolve-pathname": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz",
- "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng=="
- },
- "responselike": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
- "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
- "requires": {
- "lowercase-keys": "^1.0.0"
- }
- },
- "retry": {
- "version": "0.13.1",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
- "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg=="
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "rtl-detect": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.4.tgz",
- "integrity": "sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ=="
- },
- "rtlcss": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz",
- "integrity": "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==",
- "requires": {
- "find-up": "^5.0.0",
- "picocolors": "^1.0.0",
- "postcss": "^8.3.11",
- "strip-json-comments": "^3.1.1"
- },
- "dependencies": {
- "find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "requires": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "requires": {
- "p-locate": "^5.0.0"
- }
- },
- "p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "requires": {
- "yocto-queue": "^0.1.0"
- }
- },
- "p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "requires": {
- "p-limit": "^3.0.2"
- }
- },
- "strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
- }
- }
- },
- "run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "rxjs": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.1.tgz",
- "integrity": "sha512-KExVEeZWxMZnZhUZtsJcFwz8IvPvgu4G2Z2QyqjZQzUGr32KDYuSxrEYO4w3tFFNbfLozcrKUTvTPi+E9ywJkQ==",
- "requires": {
- "tslib": "^2.1.0"
- }
- },
- "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=="
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
- },
- "scheduler": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
- "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
- "requires": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1"
- }
- },
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- },
- "scroll-into-view-if-needed": {
- "version": "2.2.29",
- "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.29.tgz",
- "integrity": "sha512-hxpAR6AN+Gh53AdAimHM6C8oTN1ppwVZITihix+WqalywBeFcQ6LdQP5ABNl26nX8GTEL7VT+b8lKpdqq65wXg==",
- "requires": {
- "compute-scroll-into-view": "^1.0.17"
- }
- },
- "section-matter": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
- "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==",
- "requires": {
- "extend-shallow": "^2.0.1",
- "kind-of": "^6.0.0"
- }
- },
- "select-hose": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
- "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo="
- },
- "selfsigned": {
- "version": "1.10.13",
- "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.13.tgz",
- "integrity": "sha512-UmLwTKZwNmXYDAlRFhaEdgEg0dp9k5gfJXuO7uKvSqioN1M0+Mgf4V39IlVZMSuqGoCi6h5legkhNXvWy0rFSg==",
- "requires": {
- "node-forge": "^1.2.0"
- }
- },
- "semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "semver-diff": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
- "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
- "requires": {
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "send": {
- "version": "0.17.2",
- "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz",
- "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==",
- "requires": {
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "1.8.1",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "~2.3.0",
- "range-parser": "~1.2.1",
- "statuses": "~1.5.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
- },
- "range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
- }
- }
- },
- "serialize-error": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz",
- "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==",
- "requires": {
- "type-fest": "^0.20.2"
- }
- },
- "serialize-javascript": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
- "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
- "requires": {
- "randombytes": "^2.1.0"
- }
- },
- "serve-handler": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz",
- "integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==",
- "requires": {
- "bytes": "3.0.0",
- "content-disposition": "0.5.2",
- "fast-url-parser": "1.1.3",
- "mime-types": "2.1.18",
- "minimatch": "3.0.4",
- "path-is-inside": "1.0.2",
- "path-to-regexp": "2.2.1",
- "range-parser": "1.2.0"
- },
- "dependencies": {
- "mime-db": {
- "version": "1.33.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
- "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ=="
- },
- "mime-types": {
- "version": "2.1.18",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
- "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
- "requires": {
- "mime-db": "~1.33.0"
- }
- },
- "path-to-regexp": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz",
- "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ=="
- }
- }
- },
- "serve-index": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
- "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
- "requires": {
- "accepts": "~1.3.4",
- "batch": "0.6.1",
- "debug": "2.6.9",
- "escape-html": "~1.0.3",
- "http-errors": "~1.6.2",
- "mime-types": "~2.1.17",
- "parseurl": "~1.3.2"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
- }
- }
- },
- "serve-static": {
- "version": "1.14.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz",
- "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==",
- "requires": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.17.2"
- }
- },
- "setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
- },
- "setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
- },
- "sha.js": {
- "version": "2.4.11",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "shallow-clone": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
- "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
- "requires": {
- "kind-of": "^6.0.2"
- }
- },
- "shallowequal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
- "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
- },
- "shell-quote": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz",
- "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw=="
- },
- "shelljs": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
- "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==",
- "requires": {
- "glob": "^7.0.0",
- "interpret": "^1.0.0",
- "rechoir": "^0.6.2"
- }
- },
- "side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "requires": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- }
- },
- "signal-exit": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
- "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ=="
- },
- "sirv": {
- "version": "1.0.19",
- "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz",
- "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==",
- "requires": {
- "@polka/url": "^1.0.0-next.20",
- "mrmime": "^1.0.0",
- "totalist": "^1.0.0"
- }
- },
- "sisteransi": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
- "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="
- },
- "sitemap": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz",
- "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==",
- "requires": {
- "@types/node": "^17.0.5",
- "@types/sax": "^1.2.1",
- "arg": "^5.0.0",
- "sax": "^1.2.4"
- }
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
- },
- "sockjs": {
- "version": "0.3.24",
- "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
- "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==",
- "requires": {
- "faye-websocket": "^0.11.3",
- "uuid": "^8.3.2",
- "websocket-driver": "^0.7.4"
- }
- },
- "sort-css-media-queries": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.0.4.tgz",
- "integrity": "sha512-PAIsEK/XupCQwitjv7XxoMvYhT7EAfyzI3hsy/MyDgTvc+Ft55ctdkctJLOy6cQejaIC+zjpUL4djFVm2ivOOw=="
- },
- "source-list-map": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
- "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "source-map-js": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz",
- "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA=="
- },
- "source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- }
- }
- },
- "sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
- },
- "space-separated-tokens": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz",
- "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA=="
- },
- "spdy": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
- "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
- "requires": {
- "debug": "^4.1.0",
- "handle-thing": "^2.0.0",
- "http-deceiver": "^1.2.7",
- "select-hose": "^2.0.0",
- "spdy-transport": "^3.0.0"
- }
- },
- "spdy-transport": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
- "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
- "requires": {
- "debug": "^4.1.0",
- "detect-node": "^2.0.4",
- "hpack.js": "^2.1.6",
- "obuf": "^1.1.2",
- "readable-stream": "^3.0.6",
- "wbuf": "^1.7.3"
- }
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
- },
- "stable": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
- "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
- },
- "state-toggle": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz",
- "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ=="
- },
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
- },
- "stream": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/stream/-/stream-0.0.2.tgz",
- "integrity": "sha1-f1Nj8Ff2WSxVlfALyAon9c7B8O8=",
- "requires": {
- "emitter-component": "^1.1.1"
- }
- },
- "string-convert": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz",
- "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c="
- },
- "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==",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "string.prototype.trimend": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
- "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
- }
- },
- "string.prototype.trimstart": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
- "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
- }
- },
- "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==",
- "requires": {
- "safe-buffer": "~5.2.0"
- },
- "dependencies": {
- "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=="
- }
- }
- },
- "stringify-object": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
- "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
- "requires": {
- "get-own-enumerable-property-symbols": "^3.0.0",
- "is-obj": "^1.0.1",
- "is-regexp": "^1.0.0"
- },
- "dependencies": {
- "is-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
- "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
- }
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "strip-bom-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
- "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI="
- },
- "strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
- },
- "style-to-object": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz",
- "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==",
- "requires": {
- "inline-style-parser": "0.1.1"
- }
- },
- "styled-system": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/styled-system/-/styled-system-5.1.5.tgz",
- "integrity": "sha512-7VoD0o2R3RKzOzPK0jYrVnS8iJdfkKsQJNiLRDjikOpQVqQHns/DXWaPZOH4tIKkhAT7I6wIsy9FWTWh2X3q+A==",
- "requires": {
- "@styled-system/background": "^5.1.2",
- "@styled-system/border": "^5.1.5",
- "@styled-system/color": "^5.1.2",
- "@styled-system/core": "^5.1.2",
- "@styled-system/flexbox": "^5.1.2",
- "@styled-system/grid": "^5.1.2",
- "@styled-system/layout": "^5.1.2",
- "@styled-system/position": "^5.1.2",
- "@styled-system/shadow": "^5.1.2",
- "@styled-system/space": "^5.1.2",
- "@styled-system/typography": "^5.1.2",
- "@styled-system/variant": "^5.1.5",
- "object-assign": "^4.1.1"
- }
- },
- "stylehacks": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz",
- "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==",
- "requires": {
- "browserslist": "^4.16.0",
- "postcss-selector-parser": "^6.0.4"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "^3.0.0"
- }
- },
- "supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
- },
- "svg-parser": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz",
- "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ=="
- },
- "svgo": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
- "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
- "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"
- },
- "dependencies": {
- "commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
- }
- }
- },
- "swagger-client": {
- "version": "3.18.0",
- "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.18.0.tgz",
- "integrity": "sha512-lNfwTXHim0QiCNuZ4BKgWle7N7+9WlFLtcP02n0xSchFtdzsKJb2kWsOlwplRU3appVFjnHRy+1eVabRc3ZhbA==",
- "requires": {
- "@babel/runtime-corejs3": "^7.11.2",
- "btoa": "^1.2.1",
- "cookie": "~0.4.1",
- "cross-fetch": "^3.1.4",
- "deep-extend": "~0.6.0",
- "fast-json-patch": "^3.0.0-1",
- "form-data-encoder": "^1.4.3",
- "formdata-node": "^4.0.0",
- "is-plain-object": "^5.0.0",
- "js-yaml": "^4.1.0",
- "lodash": "^4.17.21",
- "qs": "^6.10.2",
- "traverse": "~0.6.6",
- "url": "~0.11.0"
- },
- "dependencies": {
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
- },
- "is-plain-object": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
- "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
- },
- "js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "qs": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.2.tgz",
- "integrity": "sha512-mSIdjzqznWgfd4pMii7sHtaYF8rx8861hBO80SraY5GT0XQibWZWJSid0avzHGkDIZLImux2S5mXO0Hfct2QCw==",
- "requires": {
- "side-channel": "^1.0.4"
- }
- }
- }
- },
- "swagger-ui-react": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/swagger-ui-react/-/swagger-ui-react-4.1.3.tgz",
- "integrity": "sha512-o1AoXUTNH40cxWus0QOeWQ8x9tSIEmrLBrOgAOHDnvWJ1qyjT8PjgHjPbUVjMbja18coyuaAAeUdyLKvLGmlDA==",
- "requires": {
- "@babel/runtime-corejs3": "^7.16.3",
- "@braintree/sanitize-url": "^5.0.2",
- "base64-js": "^1.5.1",
- "classnames": "^2.3.1",
- "css.escape": "1.5.1",
- "deep-extend": "0.6.0",
- "dompurify": "=2.3.3",
- "ieee754": "^1.2.1",
- "immutable": "^3.x.x",
- "js-file-download": "^0.4.12",
- "js-yaml": "=4.1.0",
- "lodash": "^4.17.21",
- "memoizee": "^0.4.15",
- "prop-types": "^15.7.2",
- "randombytes": "^2.1.0",
- "react-copy-to-clipboard": "5.0.4",
- "react-debounce-input": "=3.2.4",
- "react-immutable-proptypes": "2.2.0",
- "react-immutable-pure-component": "^2.2.0",
- "react-inspector": "^5.1.1",
- "react-redux": "^7.2.4",
- "react-syntax-highlighter": "^15.4.5",
- "redux": "^4.1.2",
- "redux-immutable": "^4.0.0",
- "remarkable": "^2.0.1",
- "reselect": "^4.0.0",
- "serialize-error": "^8.1.0",
- "sha.js": "^2.4.11",
- "swagger-client": "^3.17.0",
- "url-parse": "^1.5.3",
- "xml": "=1.0.1",
- "xml-but-prettier": "^1.0.1",
- "zenscroll": "^4.0.2"
- },
- "dependencies": {
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
- },
- "js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "requires": {
- "argparse": "^2.0.1"
- }
- }
- }
- },
- "tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="
- },
- "terser": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz",
- "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==",
- "requires": {
- "commander": "^2.20.0",
- "source-map": "~0.7.2",
- "source-map-support": "~0.5.20"
- },
- "dependencies": {
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
- },
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
- }
- }
- },
- "terser-webpack-plugin": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz",
- "integrity": "sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==",
- "requires": {
- "jest-worker": "^27.4.1",
- "schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.0",
- "source-map": "^0.6.1",
- "terser": "^5.7.2"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- }
- }
- },
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ="
- },
- "theme-ui": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/theme-ui/-/theme-ui-0.3.5.tgz",
- "integrity": "sha512-yxooGhvkdjFDotDeIFehKo5k6NnLZ3gsLSe8EDe2aDcoWqg1mZjkjjr8EYtVCrK3mk/tYz97AT5BpEnUfamNCQ==",
- "requires": {
- "@theme-ui/color-modes": "0.3.5",
- "@theme-ui/components": "0.3.5",
- "@theme-ui/core": "0.3.5",
- "@theme-ui/css": "0.3.5",
- "@theme-ui/mdx": "0.3.5",
- "@theme-ui/theme-provider": "0.3.5"
- }
- },
- "thunky": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
- "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA=="
- },
- "timers-ext": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
- "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
- "requires": {
- "es5-ext": "~0.10.46",
- "next-tick": "1"
- }
- },
- "timsort": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
- "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q="
- },
- "tiny-invariant": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.2.0.tgz",
- "integrity": "sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg=="
- },
- "tiny-warning": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
- "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
- },
- "to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
- },
- "to-readable-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
- "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q=="
- },
- "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==",
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "toggle-selection": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
- "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
- },
- "toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
- },
- "totalist": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz",
- "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g=="
- },
- "tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
- },
- "traverse": {
- "version": "0.6.6",
- "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz",
- "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc="
- },
- "trim": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
- "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0="
- },
- "trim-trailing-lines": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz",
- "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ=="
- },
- "trough": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz",
- "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA=="
- },
- "tslib": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
- "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
- },
- "type": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
- "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
- },
- "type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="
- },
- "type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "requires": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- }
- },
- "typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "requires": {
- "is-typedarray": "^1.0.0"
- }
- },
- "typescript": {
- "version": "4.5.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz",
- "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==",
- "dev": true
- },
- "ua-parser-js": {
- "version": "0.7.31",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz",
- "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ=="
- },
- "unbox-primitive": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
- "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==",
- "requires": {
- "function-bind": "^1.1.1",
- "has-bigints": "^1.0.1",
- "has-symbols": "^1.0.2",
- "which-boxed-primitive": "^1.0.2"
- }
- },
- "unherit": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz",
- "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==",
- "requires": {
- "inherits": "^2.0.0",
- "xtend": "^4.0.0"
- }
- },
- "unicode-canonical-property-names-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
- "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ=="
- },
- "unicode-match-property-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
- "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
- "requires": {
- "unicode-canonical-property-names-ecmascript": "^2.0.0",
- "unicode-property-aliases-ecmascript": "^2.0.0"
- }
- },
- "unicode-match-property-value-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz",
- "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw=="
- },
- "unicode-property-aliases-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz",
- "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ=="
- },
- "unified": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz",
- "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==",
- "requires": {
- "bail": "^1.0.0",
- "extend": "^3.0.0",
- "is-buffer": "^2.0.0",
- "is-plain-obj": "^2.0.0",
- "trough": "^1.0.0",
- "vfile": "^4.0.0"
- }
- },
- "unique-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
- "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
- "requires": {
- "crypto-random-string": "^2.0.0"
- }
- },
- "unist-builder": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz",
- "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw=="
- },
- "unist-util-generated": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz",
- "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg=="
- },
- "unist-util-is": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
- "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg=="
- },
- "unist-util-position": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz",
- "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA=="
- },
- "unist-util-remove": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz",
- "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==",
- "requires": {
- "unist-util-is": "^4.0.0"
- }
- },
- "unist-util-remove-position": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz",
- "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==",
- "requires": {
- "unist-util-visit": "^2.0.0"
- }
- },
- "unist-util-stringify-position": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz",
- "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==",
- "requires": {
- "@types/unist": "^2.0.2"
- }
- },
- "unist-util-visit": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
- "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
- "requires": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^4.0.0",
- "unist-util-visit-parents": "^3.0.0"
- }
- },
- "unist-util-visit-parents": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
- "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
- "requires": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^4.0.0"
- }
- },
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
- },
- "unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
- },
- "unquote": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
- "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ="
- },
- "update-notifier": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz",
- "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==",
- "requires": {
- "boxen": "^5.0.0",
- "chalk": "^4.1.0",
- "configstore": "^5.0.1",
- "has-yarn": "^2.1.0",
- "import-lazy": "^2.1.0",
- "is-ci": "^2.0.0",
- "is-installed-globally": "^0.4.0",
- "is-npm": "^5.0.0",
- "is-yarn-global": "^0.3.0",
- "latest-version": "^5.1.0",
- "pupa": "^2.1.1",
- "semver": "^7.3.4",
- "semver-diff": "^3.1.1",
- "xdg-basedir": "^4.0.0"
- }
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
- "requires": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
- },
- "dependencies": {
- "punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
- }
- }
- },
- "url-loader": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz",
- "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==",
- "requires": {
- "loader-utils": "^2.0.0",
- "mime-types": "^2.1.27",
- "schema-utils": "^3.0.0"
- }
- },
- "url-parse": {
- "version": "1.5.10",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
- "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
- "requires": {
- "querystringify": "^2.1.1",
- "requires-port": "^1.0.0"
- }
- },
- "url-parse-lax": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
- "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
- "requires": {
- "prepend-http": "^2.0.0"
- }
- },
- "use-composed-ref": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.2.1.tgz",
- "integrity": "sha512-6+X1FLlIcjvFMAeAD/hcxDT8tmyrWnbSPMU0EnxQuDLIxokuFzWliXBiYZuGIx+mrAMLBw0WFfCkaPw8ebzAhw=="
- },
- "use-isomorphic-layout-effect": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz",
- "integrity": "sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ=="
- },
- "use-latest": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.0.tgz",
- "integrity": "sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw==",
- "requires": {
- "use-isomorphic-layout-effect": "^1.0.0"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
- },
- "util.promisify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz",
- "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==",
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.17.2",
- "has-symbols": "^1.0.1",
- "object.getownpropertydescriptors": "^2.1.0"
- }
- },
- "utila": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
- "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw="
- },
- "utility-types": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz",
- "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg=="
- },
- "utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
- },
- "uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
- },
- "value-equal": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz",
- "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw=="
- },
- "vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
- },
- "vfile": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz",
- "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==",
- "requires": {
- "@types/unist": "^2.0.0",
- "is-buffer": "^2.0.0",
- "unist-util-stringify-position": "^2.0.0",
- "vfile-message": "^2.0.0"
- }
- },
- "vfile-location": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz",
- "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA=="
- },
- "vfile-message": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz",
- "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==",
- "requires": {
- "@types/unist": "^2.0.0",
- "unist-util-stringify-position": "^2.0.0"
- }
- },
- "wait-on": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.0.tgz",
- "integrity": "sha512-tnUJr9p5r+bEYXPUdRseolmz5XqJTTj98JgOsfBn7Oz2dxfE2g3zw1jE+Mo8lopM3j3et/Mq1yW7kKX6qw7RVw==",
- "requires": {
- "axios": "^0.21.1",
- "joi": "^17.4.0",
- "lodash": "^4.17.21",
- "minimist": "^1.2.5",
- "rxjs": "^7.1.0"
- }
- },
- "watchpack": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
- "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
- "requires": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
- }
- },
- "wbuf": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
- "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
- "requires": {
- "minimalistic-assert": "^1.0.0"
- }
- },
- "web-namespaces": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz",
- "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw=="
- },
- "web-streams-polyfill": {
- "version": "4.0.0-beta.1",
- "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.1.tgz",
- "integrity": "sha512-3ux37gEX670UUphBF9AMCq8XM6iQ8Ac6A+DSRRjDoRBm1ufCkaCDdNVbaqq60PsEkdNlLKrGtv/YBP4EJXqNtQ=="
- },
- "webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
- },
- "webpack": {
- "version": "5.65.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.65.0.tgz",
- "integrity": "sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw==",
- "requires": {
- "@types/eslint-scope": "^3.7.0",
- "@types/estree": "^0.0.50",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.8.3",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.4",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
- "webpack-sources": "^3.2.2"
- }
- },
- "webpack-bundle-analyzer": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz",
- "integrity": "sha512-GUMZlM3SKwS8Z+CKeIFx7CVoHn3dXFcUAjT/dcZQQmfSZGvitPfMob2ipjai7ovFFqPvTqkEZ/leL4O0YOdAYQ==",
- "requires": {
- "acorn": "^8.0.4",
- "acorn-walk": "^8.0.0",
- "chalk": "^4.1.0",
- "commander": "^7.2.0",
- "gzip-size": "^6.0.0",
- "lodash": "^4.17.20",
- "opener": "^1.5.2",
- "sirv": "^1.0.7",
- "ws": "^7.3.1"
- },
- "dependencies": {
- "commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
- },
- "gzip-size": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz",
- "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==",
- "requires": {
- "duplexer": "^0.1.2"
- }
- }
- }
- },
- "webpack-dev-middleware": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz",
- "integrity": "sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==",
- "requires": {
- "colorette": "^2.0.10",
- "memfs": "^3.2.2",
- "mime-types": "^2.1.31",
- "range-parser": "^1.2.1",
- "schema-utils": "^4.0.0"
- },
- "dependencies": {
- "ajv": {
- "version": "8.8.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz",
- "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-keywords": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
- "requires": {
- "fast-deep-equal": "^3.1.3"
- }
- },
- "json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
- },
- "range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
- },
- "schema-utils": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
- "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
- "requires": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.8.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.0.0"
- }
- }
- }
- },
- "webpack-dev-server": {
- "version": "4.7.2",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.2.tgz",
- "integrity": "sha512-s6yEOSfPpB6g1T2+C5ZOUt5cQOMhjI98IVmmvMNb5cdiqHoxSUfACISHqU/wZy+q4ar/A9jW0pbNj7sa50XRVA==",
- "requires": {
- "@types/bonjour": "^3.5.9",
- "@types/connect-history-api-fallback": "^1.3.5",
- "@types/serve-index": "^1.9.1",
- "@types/sockjs": "^0.3.33",
- "@types/ws": "^8.2.2",
- "ansi-html-community": "^0.0.8",
- "bonjour": "^3.5.0",
- "chokidar": "^3.5.2",
- "colorette": "^2.0.10",
- "compression": "^1.7.4",
- "connect-history-api-fallback": "^1.6.0",
- "default-gateway": "^6.0.3",
- "del": "^6.0.0",
- "express": "^4.17.1",
- "graceful-fs": "^4.2.6",
- "html-entities": "^2.3.2",
- "http-proxy-middleware": "^2.0.0",
- "ipaddr.js": "^2.0.1",
- "open": "^8.0.9",
- "p-retry": "^4.5.0",
- "portfinder": "^1.0.28",
- "schema-utils": "^4.0.0",
- "selfsigned": "^1.10.11",
- "serve-index": "^1.9.1",
- "sockjs": "^0.3.21",
- "spdy": "^4.0.2",
- "strip-ansi": "^7.0.0",
- "webpack-dev-middleware": "^5.3.0",
- "ws": "^8.1.0"
- },
- "dependencies": {
- "ajv": {
- "version": "8.8.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz",
- "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-keywords": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
- "requires": {
- "fast-deep-equal": "^3.1.3"
- }
- },
- "ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA=="
- },
- "json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
- },
- "open": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
- "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
- "requires": {
- "define-lazy-prop": "^2.0.0",
- "is-docker": "^2.1.1",
- "is-wsl": "^2.2.0"
- }
- },
- "schema-utils": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
- "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
- "requires": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.8.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.0.0"
- }
- },
- "strip-ansi": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz",
- "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==",
- "requires": {
- "ansi-regex": "^6.0.1"
- }
- },
- "ws": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.0.tgz",
- "integrity": "sha512-IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ=="
- }
- }
- },
- "webpack-merge": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
- "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
- "requires": {
- "clone-deep": "^4.0.1",
- "wildcard": "^2.0.0"
- }
- },
- "webpack-sources": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz",
- "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw=="
- },
- "webpackbar": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz",
- "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==",
- "requires": {
- "chalk": "^4.1.0",
- "consola": "^2.15.3",
- "pretty-time": "^1.1.0",
- "std-env": "^3.0.1"
- },
- "dependencies": {
- "std-env": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.0.1.tgz",
- "integrity": "sha512-mC1Ps9l77/97qeOZc+HrOL7TIaOboHqMZ24dGVQrlxFcpPpfCHpH+qfUT7Dz+6mlG8+JPA1KfBQo19iC/+Ngcw=="
- }
- }
- },
- "websocket-driver": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
- "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
- "requires": {
- "http-parser-js": ">=0.5.1",
- "safe-buffer": ">=5.1.0",
- "websocket-extensions": ">=0.1.1"
- }
- },
- "websocket-extensions": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
- "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg=="
- },
- "whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
- "requires": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "which-boxed-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
- "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
- "requires": {
- "is-bigint": "^1.0.1",
- "is-boolean-object": "^1.1.0",
- "is-number-object": "^1.0.4",
- "is-string": "^1.0.5",
- "is-symbol": "^1.0.3"
- }
- },
- "widest-line": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
- "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
- "requires": {
- "string-width": "^4.0.0"
- }
- },
- "wildcard": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
- "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw=="
- },
- "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==",
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "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==",
- "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=="
- }
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
- },
- "write-file-atomic": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
- "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
- "requires": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
- "ws": {
- "version": "7.5.6",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz",
- "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA=="
- },
- "xdg-basedir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
- "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q=="
- },
- "xml": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz",
- "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU="
- },
- "xml-but-prettier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/xml-but-prettier/-/xml-but-prettier-1.0.1.tgz",
- "integrity": "sha1-9aMyZ+1CzNTjVcYlV6XjmwH7QPM=",
- "requires": {
- "repeat-string": "^1.5.2"
- }
- },
- "xml-js": {
- "version": "1.6.11",
- "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz",
- "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==",
- "requires": {
- "sax": "^1.2.4"
- }
- },
- "xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- },
- "yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
- },
- "yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
- },
- "zenscroll": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/zenscroll/-/zenscroll-4.0.2.tgz",
- "integrity": "sha1-6NV3TRwHOKR7z6hynzcS4t7d6yU="
- },
- "zwitch": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz",
- "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw=="
- }
- }
-}
diff --git a/docs/package.json b/docs/package.json
index b321c3eccb982..96ff1e705bfa6 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -16,18 +16,19 @@
"typecheck": "tsc"
},
"dependencies": {
+ "@algolia/client-search": "^4.13.0",
"@ant-design/icons": "^4.7.0",
"@docsearch/react": "^3.0.0",
- "@docusaurus/core": "^2.0.0-beta.15",
- "@docusaurus/plugin-client-redirects": "^2.0.0-beta.15",
- "@docusaurus/preset-classic": "^2.0.0-beta.15",
+ "@docusaurus/core": "^2.0.0-beta.17",
+ "@docusaurus/plugin-client-redirects": "^2.0.0-beta.17",
+ "@docusaurus/preset-classic": "^2.0.0-beta.17",
"@emotion/core": "^10.1.1",
"@emotion/styled": "^10.0.27",
- "@mdx-js/react": "^1.6.21",
+ "@mdx-js/react": "^1.6.22",
"@saucelabs/theme-github-codeblock": "^0.1.1",
"@superset-ui/style": "^0.14.23",
"@svgr/webpack": "^5.5.0",
- "antd": "^4.8.0",
+ "antd": "^4.19.3",
"buffer": "^6.0.3",
"clsx": "^1.1.1",
"file-loader": "^6.2.0",
@@ -37,13 +38,14 @@
"react-github-btn": "^1.2.0",
"stream": "^0.0.2",
"swagger-ui-react": "^4.1.2",
- "theme-ui": "^0.3.1",
"url-loader": "^4.1.1"
},
"devDependencies": {
- "@docusaurus/module-type-aliases": "^2.0.0-beta.15",
+ "@docusaurus/module-type-aliases": "^2.0.0-beta.17",
"@tsconfig/docusaurus": "^1.0.4",
- "typescript": "^4.3.5"
+ "@types/react": "^17.0.42",
+ "typescript": "^4.3.5",
+ "webpack": "^5.61.0"
},
"browserslist": {
"production": [
diff --git a/docs/src/pages/community.tsx b/docs/src/pages/community.tsx
index cb8314b9c2396..1cd9830dbf261 100644
--- a/docs/src/pages/community.tsx
+++ b/docs/src/pages/community.tsx
@@ -23,7 +23,7 @@ import Layout from '@theme/Layout';
const links = [
[
- 'https://join.slack.com/t/apache-superset/shared_invite/zt-uxbh5g36-AISUtHbzOXcu0BIj7kgUaw',
+ 'https://join.slack.com/t/apache-superset/shared_invite/zt-16jvzmoi8-sI7jKWp~xc2zYRe~NqiY9Q',
'Slack',
'interact with other Superset users and community members',
],
diff --git a/docs/static/resources/openapi.json b/docs/static/resources/openapi.json
index 1e8c6129f1d44..bb9608749ff08 100644
--- a/docs/static/resources/openapi.json
+++ b/docs/static/resources/openapi.json
@@ -97,7 +97,12 @@
"properties": {
"annotationType": {
"description": "Type of annotation layer",
- "enum": ["FORMULA", "INTERVAL", "EVENT", "TIME_SERIES"],
+ "enum": [
+ "FORMULA",
+ "INTERVAL",
+ "EVENT",
+ "TIME_SERIES"
+ ],
"type": "string"
},
"color": {
@@ -128,7 +133,12 @@
},
"opacity": {
"description": "Opacity of layer",
- "enum": ["", "opacityLow", "opacityMedium", "opacityHigh"],
+ "enum": [
+ "",
+ "opacityLow",
+ "opacityMedium",
+ "opacityHigh"
+ ],
"nullable": true,
"type": "string"
},
@@ -144,18 +154,33 @@
"description": "Should the layer be shown",
"type": "boolean"
},
+ "showLabel": {
+ "description": "Should the label always be shown",
+ "nullable": true,
+ "type": "boolean"
+ },
"showMarkers": {
"description": "Should markers be shown. Only applies to line annotations.",
"type": "boolean"
},
"sourceType": {
"description": "Type of source for annotation data",
- "enum": ["", "line", "NATIVE", "table"],
+ "enum": [
+ "",
+ "line",
+ "NATIVE",
+ "table"
+ ],
"type": "string"
},
"style": {
"description": "Line style. Only applies to time-series annotations",
- "enum": ["dashed", "dotted", "solid", "longDashed"],
+ "enum": [
+ "dashed",
+ "dotted",
+ "solid",
+ "longDashed"
+ ],
"type": "string"
},
"timeColumn": {
@@ -178,7 +203,12 @@
"type": "number"
}
},
- "required": ["name", "show", "showMarkers", "value"],
+ "required": [
+ "name",
+ "show",
+ "showMarkers",
+ "value"
+ ],
"type": "object"
},
"AnnotationLayerRestApi.get": {
@@ -202,7 +232,7 @@
"AnnotationLayerRestApi.get_list": {
"properties": {
"changed_by": {
- "$ref": "#/components/schemas/Meta4"
+ "$ref": "#/components/schemas/AnnotationLayerRestApi.get_list.User"
},
"changed_on": {
"format": "date-time",
@@ -213,7 +243,7 @@
"readOnly": true
},
"created_by": {
- "$ref": "#/components/schemas/Meta3"
+ "$ref": "#/components/schemas/AnnotationLayerRestApi.get_list.User1"
},
"created_on": {
"format": "date-time",
@@ -236,6 +266,40 @@
},
"type": "object"
},
+ "AnnotationLayerRestApi.get_list.User": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
+ }
+ },
+ "required": [
+ "first_name",
+ "last_name"
+ ],
+ "type": "object"
+ },
+ "AnnotationLayerRestApi.get_list.User1": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
+ }
+ },
+ "required": [
+ "first_name",
+ "last_name"
+ ],
+ "type": "object"
+ },
"AnnotationLayerRestApi.post": {
"properties": {
"descr": {
@@ -250,6 +314,9 @@
"type": "string"
}
},
+ "required": [
+ "name"
+ ],
"type": "object"
},
"AnnotationLayerRestApi.put": {
@@ -283,7 +350,7 @@
"type": "string"
},
"layer": {
- "$ref": "#/components/schemas/Meta2"
+ "$ref": "#/components/schemas/AnnotationRestApi.get.AnnotationLayer"
},
"long_descr": {
"nullable": true,
@@ -300,19 +367,35 @@
"type": "string"
}
},
- "required": ["layer"],
+ "required": [
+ "layer"
+ ],
+ "type": "object"
+ },
+ "AnnotationRestApi.get.AnnotationLayer": {
+ "properties": {
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "maxLength": 250,
+ "nullable": true,
+ "type": "string"
+ }
+ },
"type": "object"
},
"AnnotationRestApi.get_list": {
"properties": {
"changed_by": {
- "$ref": "#/components/schemas/Meta1"
+ "$ref": "#/components/schemas/AnnotationRestApi.get_list.User"
},
"changed_on_delta_humanized": {
"readOnly": true
},
"created_by": {
- "$ref": "#/components/schemas/Meta"
+ "$ref": "#/components/schemas/AnnotationRestApi.get_list.User1"
},
"end_dttm": {
"format": "date-time",
@@ -340,6 +423,38 @@
},
"type": "object"
},
+ "AnnotationRestApi.get_list.User": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "first_name"
+ ],
+ "type": "object"
+ },
+ "AnnotationRestApi.get_list.User1": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "first_name"
+ ],
+ "type": "object"
+ },
"AnnotationRestApi.post": {
"properties": {
"end_dttm": {
@@ -369,6 +484,11 @@
"type": "string"
}
},
+ "required": [
+ "end_dttm",
+ "short_descr",
+ "start_dttm"
+ ],
"type": "object"
},
"AnnotationRestApi.put": {
@@ -380,10 +500,12 @@
},
"json_metadata": {
"description": "JSON metadata",
+ "nullable": true,
"type": "string"
},
"long_descr": {
"description": "A long description",
+ "nullable": true,
"type": "string"
},
"short_descr": {
@@ -476,7 +598,14 @@
"properties": {
"aggregate": {
"description": "Aggregation operator. Only required for simple expression types.",
- "enum": ["AVG", "COUNT", "COUNT_DISTINCT", "MAX", "MIN", "SUM"],
+ "enum": [
+ "AVG",
+ "COUNT",
+ "COUNT_DISTINCT",
+ "MAX",
+ "MIN",
+ "SUM"
+ ],
"type": "string"
},
"column": {
@@ -484,7 +613,10 @@
},
"expressionType": {
"description": "Simple or SQL metric",
- "enum": ["SIMPLE", "SQL"],
+ "enum": [
+ "SIMPLE",
+ "SQL"
+ ],
"example": "SQL",
"type": "string"
},
@@ -493,6 +625,10 @@
"example": true,
"type": "boolean"
},
+ "isExtra": {
+ "description": "Indicates if the filter has been added by a filter component as opposed to being a part of the original query.",
+ "type": "boolean"
+ },
"label": {
"description": "Label for the metric. Is automatically generated unless hasCustomLabel is true, in which case label must be defined.",
"example": "Weighted observations",
@@ -507,9 +643,16 @@
"description": "The metric as defined by a SQL aggregate expression. Only required for SQL expression type.",
"example": "SUM(weight * observations) / SUM(weight)",
"type": "string"
+ },
+ "timeGrain": {
+ "description": "Optional time grain for temporal filters",
+ "example": "PT1M",
+ "type": "string"
}
},
- "required": ["expressionType"],
+ "required": [
+ "expressionType"
+ ],
"type": "object"
},
"ChartDataAggregateOptionsSchema": {
@@ -567,22 +710,32 @@
"type": "array"
},
"metrics": {
- "description": "Aggregate expressions. Metrics can be passed as both references to datasource metrics (strings), or ad-hoc metricswhich are defined only within the query object. See `ChartDataAdhocMetricSchema` for the structure of ad-hoc metrics.",
+ "description": "Aggregate expressions. Metrics can be passed as both references to datasource metrics (strings), or ad-hoc metricswhich are defined only within the query object. See `ChartDataAdhocMetricSchema` for the structure of ad-hoc metrics. When metrics is undefined or null, the query is executed without a groupby. However, when metrics is an array (length >= 0), a groupby clause is added to the query.",
"items": {},
+ "nullable": true,
"type": "array"
},
"percentiles": {
"description": "Upper and lower percentiles for percentile whisker type.",
- "example": [1, 99]
+ "example": [
+ 1,
+ 99
+ ]
},
"whisker_type": {
"description": "Whisker type. Any numpy function will work.",
- "enum": ["tukey", "min/max", "percentile"],
+ "enum": [
+ "tukey",
+ "min/max",
+ "percentile"
+ ],
"example": "tukey",
"type": "string"
}
},
- "required": ["whisker_type"],
+ "required": [
+ "whisker_type"
+ ],
"type": "object"
},
"ChartDataColumn": {
@@ -604,12 +757,17 @@
"properties": {
"orientation": {
"description": "Should cell values be calculated across the row or column.",
- "enum": ["row", "column"],
+ "enum": [
+ "row",
+ "column"
+ ],
"example": "row",
"type": "string"
}
},
- "required": ["orientation"],
+ "required": [
+ "orientation"
+ ],
"type": "object"
},
"ChartDataDatasource": {
@@ -621,11 +779,16 @@
},
"type": {
"description": "Datasource type",
- "enum": ["druid", "table"],
+ "enum": [
+ "druid",
+ "table"
+ ],
"type": "string"
}
},
- "required": ["id"],
+ "required": [
+ "id"
+ ],
"type": "object"
},
"ChartDataExtras": {
@@ -648,12 +811,18 @@
},
"relative_end": {
"description": "End time for relative time deltas. Default: `config[\"DEFAULT_RELATIVE_START_TIME\"]`",
- "enum": ["today", "now"],
+ "enum": [
+ "today",
+ "now"
+ ],
"type": "string"
},
"relative_start": {
"description": "Start time for relative time deltas. Default: `config[\"DEFAULT_RELATIVE_START_TIME\"]`",
- "enum": ["today", "now"],
+ "enum": [
+ "today",
+ "now"
+ ],
"type": "string"
},
"time_grain_sqla": {
@@ -693,10 +862,18 @@
"ChartDataFilter": {
"properties": {
"col": {
- "description": "The column to filter.",
- "example": "country",
+ "description": "The column to filter by. Can be either a string (physical or saved expression) or an object (adhoc column)",
+ "example": "country"
+ },
+ "grain": {
+ "description": "Optional time grain for temporal filters",
+ "example": "PT1M",
"type": "string"
},
+ "isExtra": {
+ "description": "Indicates if the filter has been added by a filter component as opposed to being a part of the original query.",
+ "type": "boolean"
+ },
"op": {
"description": "The comparison operator.",
"enum": [
@@ -721,10 +898,17 @@
},
"val": {
"description": "The value or values to compare against. Can be a string, integer, decimal or list, depending on the operator.",
- "example": ["China", "France", "Japan"]
+ "example": [
+ "China",
+ "France",
+ "Japan"
+ ]
}
},
- "required": ["col", "op"],
+ "required": [
+ "col",
+ "op"
+ ],
"type": "object"
},
"ChartDataGeodeticParseOptionsSchema": {
@@ -746,7 +930,11 @@
"type": "string"
}
},
- "required": ["geodetic", "latitude", "longitude"],
+ "required": [
+ "geodetic",
+ "latitude",
+ "longitude"
+ ],
"type": "object"
},
"ChartDataGeohashDecodeOptionsSchema": {
@@ -764,7 +952,11 @@
"type": "string"
}
},
- "required": ["geohash", "latitude", "longitude"],
+ "required": [
+ "geohash",
+ "latitude",
+ "longitude"
+ ],
"type": "object"
},
"ChartDataGeohashEncodeOptionsSchema": {
@@ -782,7 +974,11 @@
"type": "string"
}
},
- "required": ["geohash", "latitude", "longitude"],
+ "required": [
+ "geohash",
+ "latitude",
+ "longitude"
+ ],
"type": "object"
},
"ChartDataPivotOptionsSchema": {
@@ -805,8 +1001,8 @@
"type": "string"
},
"columns": {
+ "description": "Columns to group by on the table columns",
"items": {
- "description": "Columns to group by on the table columns",
"type": "string"
},
"type": "array"
@@ -848,7 +1044,9 @@
"select",
"sort",
"diff",
- "compare"
+ "compare",
+ "resample",
+ "flatten"
],
"example": "aggregate",
"type": "string"
@@ -869,12 +1067,17 @@
}
}
},
- "groupby": ["country", "gender"]
+ "groupby": [
+ "country",
+ "gender"
+ ]
},
"type": "object"
}
},
- "required": ["operation"],
+ "required": [
+ "operation"
+ ],
"type": "object"
},
"ChartDataProphetOptionsSchema": {
@@ -931,7 +1134,11 @@
"example": false
}
},
- "required": ["confidence_interval", "periods", "time_grain"],
+ "required": [
+ "confidence_interval",
+ "periods",
+ "time_grain"
+ ],
"type": "object"
},
"ChartDataQueryContextSchema": {
@@ -943,6 +1150,9 @@
"description": "Should the queries be forced to load from the source. Default: `false`",
"type": "boolean"
},
+ "form_data": {
+ "nullable": true
+ },
"queries": {
"items": {
"$ref": "#/components/schemas/ChartDataQueryObject"
@@ -979,9 +1189,7 @@
},
"columns": {
"description": "Columns which to select in the query.",
- "items": {
- "type": "string"
- },
+ "items": {},
"nullable": true,
"type": "array"
},
@@ -1025,10 +1233,8 @@
"type": "string"
},
"groupby": {
- "items": {
- "description": "Columns by which to group the query.",
- "type": "string"
- },
+ "description": "Columns by which to group the query. This field is deprecated, use `columns` instead.",
+ "items": {},
"nullable": true,
"type": "array"
},
@@ -1069,8 +1275,14 @@
"orderby": {
"description": "Expects a list of lists where the first element is the column name which to sort by, and the second element is a boolean.",
"example": [
- ["my_col_1", false],
- ["my_col_2", true]
+ [
+ "my_col_1",
+ false
+ ],
+ [
+ "my_col_2",
+ true
+ ]
],
"items": {},
"nullable": true,
@@ -1106,6 +1318,22 @@
"nullable": true,
"type": "integer"
},
+ "series_columns": {
+ "description": "Columns to use when limiting series count. All columns must be present in the `columns` property. Requires `series_limit` and `series_limit_metric` to be set.",
+ "items": {},
+ "nullable": true,
+ "type": "array"
+ },
+ "series_limit": {
+ "description": "Maximum number of series. Requires `series` and `series_limit_metric` to be set.",
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "series_limit_metric": {
+ "description": "Metric used to limit timeseries queries by. Requires `series` and `series_limit` to be set.",
+ "nullable": true
+ },
"time_offsets": {
"items": {
"type": "string"
@@ -1125,13 +1353,13 @@
"type": "string"
},
"timeseries_limit": {
- "description": "Maximum row count for timeseries queries. Default: `0`",
+ "description": "Maximum row count for timeseries queries. This field is deprecated, use `series_limit` instead.Default: `0`",
"format": "int32",
"nullable": true,
"type": "integer"
},
"timeseries_limit_metric": {
- "description": "Metric used to limit timeseries queries by.",
+ "description": "Metric used to limit timeseries queries by. This field is deprecated, use `series_limit_metric` instead.",
"nullable": true
},
"url_params": {
@@ -1187,6 +1415,21 @@
"nullable": true,
"type": "string"
},
+ "colnames": {
+ "description": "A list of column names",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "coltypes": {
+ "description": "A list of generic data types of each column",
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
+ },
"data": {
"description": "A list with results",
"items": {
@@ -1199,6 +1442,11 @@
"nullable": true,
"type": "string"
},
+ "from_dttm": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
"is_cached": {
"description": "Is the result cached",
"type": "boolean"
@@ -1235,6 +1483,11 @@
"timed_out"
],
"type": "string"
+ },
+ "to_dttm": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
}
},
"required": [
@@ -1258,288 +1511,113 @@
},
"type": "object"
},
- "ChartDataRollingOptionsSchema": {
+ "ChartDataRestApi.get": {
"properties": {
- "center": {
- "description": "Should the label be at the center of the window. Default: `false`",
- "example": false,
- "type": "boolean"
- },
- "min_periods": {
- "description": "The minimum amount of periods required for a row to be included in the result set.",
- "example": 7,
+ "cache_timeout": {
"format": "int32",
+ "nullable": true,
"type": "integer"
},
- "rolling_type": {
- "description": "Type of rolling window. Any numpy function will work.",
- "enum": [
- "average",
- "argmin",
- "argmax",
- "cumsum",
- "cumprod",
- "max",
- "mean",
- "median",
- "nansum",
- "nanmin",
- "nanmax",
- "nanmean",
- "nanmedian",
- "nanpercentile",
- "min",
- "percentile",
- "prod",
- "product",
- "std",
- "sum",
- "var"
- ],
- "example": "percentile",
+ "certification_details": {
+ "nullable": true,
"type": "string"
},
- "rolling_type_options": {
- "example": {},
- "type": "object"
+ "certified_by": {
+ "nullable": true,
+ "type": "string"
},
- "win_type": {
- "description": "Type of window function. See [SciPy window functions](https://docs.scipy.org/doc/scipy/reference/signal.windows.html#module-scipy.signal.windows) for more details. Some window functions require passing additional parameters to `rolling_type_options`. For instance, to use `gaussian`, the parameter `std` needs to be provided.",
- "enum": [
- "boxcar",
- "triang",
- "blackman",
- "hamming",
- "bartlett",
- "parzen",
- "bohman",
- "blackmanharris",
- "nuttall",
- "barthann",
- "kaiser",
- "gaussian",
- "general_gaussian",
- "slepian",
- "exponential"
- ],
+ "dashboards": {
+ "$ref": "#/components/schemas/ChartDataRestApi.get.Dashboard"
+ },
+ "description": {
+ "nullable": true,
"type": "string"
},
- "window": {
- "description": "Size of the rolling window in days.",
- "example": 7,
- "format": "int32",
- "type": "integer"
- }
- },
- "required": ["rolling_type", "window"],
- "type": "object"
- },
- "ChartDataSelectOptionsSchema": {
- "properties": {
- "columns": {
- "description": "Columns which to select from the input data, in the desired order. If columns are renamed, the original column name should be referenced here.",
- "example": ["country", "gender", "age"],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "exclude": {
- "description": "Columns to exclude from selection.",
- "example": ["my_temp_column"],
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "rename": {
- "description": "columns which to rename, mapping source column to target column. For instance, `{'y': 'y2'}` will rename the column `y` to `y2`.",
- "example": [
- {
- "age": "average_age"
- }
- ],
- "items": {
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "ChartDataSortOptionsSchema": {
- "properties": {
- "aggregates": {
- "description": "The keys are the name of the aggregate column to be created, and the values specify the details of how to apply the aggregation. If an operator requires additional options, these can be passed here to be unpacked in the operator call. The following numpy operators are supported: average, argmin, argmax, cumsum, cumprod, max, mean, median, nansum, nanmin, nanmax, nanmean, nanmedian, min, percentile, prod, product, std, sum, var. Any options required by the operator can be passed to the `options` object.\n\nIn the example, a new column `first_quantile` is created based on values in the column `my_col` using the `percentile` operator with the `q=0.25` parameter.",
- "example": {
- "first_quantile": {
- "column": "my_col",
- "operator": "percentile",
- "options": {
- "q": 0.25
- }
- }
- },
- "type": "object"
- },
- "columns": {
- "description": "columns by by which to sort. The key specifies the column name, value specifies if sorting in ascending order.",
- "example": {
- "country": true,
- "gender": false
- },
- "type": "object"
- }
- },
- "required": ["columns"],
- "type": "object"
- },
- "ChartEntityResponseSchema": {
- "properties": {
- "cache_timeout": {
- "description": "Duration (in seconds) of the caching timeout for this chart. Note this defaults to the datasource/table timeout if undefined.",
- "format": "int32",
- "type": "integer"
- },
- "changed_on": {
- "description": "The ISO date that the chart was last changed.",
- "type": "string"
- },
- "datasource": {
- "description": "The datasource name.",
- "type": "string"
- },
- "description": {
- "description": "A description of the chart propose.",
- "type": "string"
+ "owners": {
+ "$ref": "#/components/schemas/ChartDataRestApi.get.User"
},
- "description_markeddown": {
- "description": "Sanitized HTML version of the chart description.",
+ "params": {
+ "nullable": true,
"type": "string"
},
- "form_data": {
- "description": "Form data from the Explore controls used to form the chart's data query.",
- "type": "object"
- },
- "modified": {
+ "query_context": {
+ "nullable": true,
"type": "string"
},
- "slice_id": {
- "format": "int32",
- "type": "integer"
- },
"slice_name": {
- "description": "The name of the chart.",
+ "maxLength": 250,
+ "nullable": true,
"type": "string"
},
- "slice_url": {
- "description": "The URL of the chart.",
+ "viz_type": {
+ "maxLength": 250,
+ "nullable": true,
"type": "string"
}
},
"type": "object"
},
- "ChartFavStarResponseResult": {
+ "ChartDataRestApi.get.Dashboard": {
"properties": {
- "id": {
- "description": "The Chart id",
- "format": "int32",
- "type": "integer"
+ "dashboard_title": {
+ "maxLength": 500,
+ "nullable": true,
+ "type": "string"
},
- "value": {
- "description": "The FaveStar value",
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "ChartGetDatasourceObjectDataResponse": {
- "properties": {
- "datasource_id": {
- "description": "The datasource identifier",
+ "id": {
"format": "int32",
"type": "integer"
},
- "datasource_type": {
- "description": "The datasource type",
- "format": "int32",
- "type": "integer"
+ "json_metadata": {
+ "nullable": true,
+ "type": "string"
}
},
"type": "object"
},
- "ChartGetDatasourceObjectResponse": {
+ "ChartDataRestApi.get.User": {
"properties": {
- "label": {
- "description": "The name of the datasource",
+ "first_name": {
+ "maxLength": 64,
"type": "string"
},
- "value": {
- "$ref": "#/components/schemas/ChartGetDatasourceObjectDataResponse"
- }
- },
- "type": "object"
- },
- "ChartGetDatasourceResponseSchema": {
- "properties": {
- "count": {
- "description": "The total number of datasources",
+ "id": {
"format": "int32",
"type": "integer"
},
- "result": {
- "$ref": "#/components/schemas/ChartGetDatasourceObjectResponse"
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "username": {
+ "maxLength": 64,
+ "type": "string"
}
},
+ "required": [
+ "first_name",
+ "last_name",
+ "username"
+ ],
"type": "object"
},
- "ChartRestApi.get": {
+ "ChartDataRestApi.get_list": {
"properties": {
"cache_timeout": {
"format": "int32",
"nullable": true,
"type": "integer"
},
- "dashboards": {
- "$ref": "#/components/schemas/Meta9"
- },
- "description": {
- "nullable": true,
- "type": "string"
- },
- "owners": {
- "$ref": "#/components/schemas/Meta10"
- },
- "params": {
- "nullable": true,
- "type": "string"
- },
- "query_context": {
- "nullable": true,
- "type": "string"
- },
- "slice_name": {
- "maxLength": 250,
+ "certification_details": {
"nullable": true,
"type": "string"
},
- "viz_type": {
- "maxLength": 250,
+ "certified_by": {
"nullable": true,
"type": "string"
- }
- },
- "type": "object"
- },
- "ChartRestApi.get_list": {
- "properties": {
- "cache_timeout": {
- "format": "int32",
- "nullable": true,
- "type": "integer"
},
"changed_by": {
- "$ref": "#/components/schemas/Meta8"
+ "$ref": "#/components/schemas/ChartDataRestApi.get_list.User1"
},
"changed_by_name": {
"readOnly": true
@@ -1554,7 +1632,7 @@
"readOnly": true
},
"created_by": {
- "$ref": "#/components/schemas/Meta5"
+ "$ref": "#/components/schemas/ChartDataRestApi.get_list.User2"
},
"datasource_id": {
"format": "int32",
@@ -1586,8 +1664,16 @@
"format": "int32",
"type": "integer"
},
+ "last_saved_at": {
+ "format": "date-time",
+ "nullable": true,
+ "type": "string"
+ },
+ "last_saved_by": {
+ "$ref": "#/components/schemas/ChartDataRestApi.get_list.User"
+ },
"owners": {
- "$ref": "#/components/schemas/Meta7"
+ "$ref": "#/components/schemas/ChartDataRestApi.get_list.User3"
},
"params": {
"nullable": true,
@@ -1599,7 +1685,7 @@
"type": "string"
},
"table": {
- "$ref": "#/components/schemas/Meta6"
+ "$ref": "#/components/schemas/ChartDataRestApi.get_list.SqlaTable"
},
"thumbnail_url": {
"readOnly": true
@@ -1615,85 +1701,125 @@
},
"type": "object"
},
- "ChartRestApi.post": {
+ "ChartDataRestApi.get_list.SqlaTable": {
"properties": {
- "cache_timeout": {
- "description": "Duration (in seconds) of the caching timeout for this chart. Note this defaults to the datasource/table timeout if undefined.",
- "format": "int32",
- "nullable": true,
- "type": "integer"
- },
- "dashboards": {
- "items": {
- "description": "A list of dashboards to include this new chart to.",
- "format": "int32",
- "type": "integer"
- },
- "type": "array"
- },
- "datasource_id": {
- "description": "The id of the dataset/datasource this new chart will use. A complete datasource identification needs `datasouce_id` and `datasource_type`.",
- "format": "int32",
- "type": "integer"
- },
- "datasource_name": {
- "description": "The datasource name.",
- "nullable": true,
- "type": "string"
- },
- "datasource_type": {
- "description": "The type of dataset/datasource identified on `datasource_id`.",
- "enum": ["druid", "table", "view"],
- "type": "string"
- },
- "description": {
- "description": "A description of the chart propose.",
- "nullable": true,
- "type": "string"
- },
- "owners": {
- "items": {
- "description": "Owner are users ids allowed to delete or change this chart. If left empty you will be one of the owners of the chart.",
- "format": "int32",
- "type": "integer"
- },
- "type": "array"
- },
- "params": {
- "description": "Parameters are generated dynamically when clicking the save or overwrite button in the explore view. This JSON object for power users who may want to alter specific parameters.",
- "nullable": true,
- "type": "string"
- },
- "query_context": {
- "description": "The query context represents the queries that need to run in order to generate the data the visualization, and in what format the data should be returned.",
+ "default_endpoint": {
"nullable": true,
"type": "string"
},
- "slice_name": {
- "description": "The name of the chart.",
- "maxLength": 250,
- "minLength": 1,
- "type": "string"
- },
- "viz_type": {
- "description": "The type of chart visualization used.",
- "example": ["bar", "line_multi", "area", "table"],
+ "table_name": {
"maxLength": 250,
- "minLength": 0,
"type": "string"
}
},
- "required": ["datasource_id", "datasource_type", "slice_name"],
+ "required": [
+ "table_name"
+ ],
"type": "object"
},
- "ChartRestApi.put": {
+ "ChartDataRestApi.get_list.User": {
"properties": {
- "cache_timeout": {
- "description": "Duration (in seconds) of the caching timeout for this chart. Note this defaults to the datasource/table timeout if undefined.",
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
+ }
+ },
+ "required": [
+ "first_name",
+ "last_name"
+ ],
+ "type": "object"
+ },
+ "ChartDataRestApi.get_list.User1": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
+ }
+ },
+ "required": [
+ "first_name",
+ "last_name"
+ ],
+ "type": "object"
+ },
+ "ChartDataRestApi.get_list.User2": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
+ }
+ },
+ "required": [
+ "first_name",
+ "last_name"
+ ],
+ "type": "object"
+ },
+ "ChartDataRestApi.get_list.User3": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "username": {
+ "maxLength": 64,
+ "type": "string"
+ }
+ },
+ "required": [
+ "first_name",
+ "last_name",
+ "username"
+ ],
+ "type": "object"
+ },
+ "ChartDataRestApi.post": {
+ "properties": {
+ "cache_timeout": {
+ "description": "Duration (in seconds) of the caching timeout for this chart. Note this defaults to the datasource/table timeout if undefined.",
"format": "int32",
"nullable": true,
"type": "integer"
},
+ "certification_details": {
+ "description": "Details of the certification",
+ "nullable": true,
+ "type": "string"
+ },
+ "certified_by": {
+ "description": "Person or group that has certified this chart",
+ "nullable": true,
+ "type": "string"
+ },
"dashboards": {
"items": {
"description": "A list of dashboards to include this new chart to.",
@@ -1705,13 +1831,20 @@
"datasource_id": {
"description": "The id of the dataset/datasource this new chart will use. A complete datasource identification needs `datasouce_id` and `datasource_type`.",
"format": "int32",
- "nullable": true,
"type": "integer"
},
+ "datasource_name": {
+ "description": "The datasource name.",
+ "nullable": true,
+ "type": "string"
+ },
"datasource_type": {
"description": "The type of dataset/datasource identified on `datasource_id`.",
- "enum": ["druid", "table", "view"],
- "nullable": true,
+ "enum": [
+ "druid",
+ "table",
+ "view"
+ ],
"type": "string"
},
"description": {
@@ -1719,6 +1852,14 @@
"nullable": true,
"type": "string"
},
+ "external_url": {
+ "nullable": true,
+ "type": "string"
+ },
+ "is_managed_externally": {
+ "nullable": true,
+ "type": "boolean"
+ },
"owners": {
"items": {
"description": "Owner are users ids allowed to delete or change this chart. If left empty you will be one of the owners of the chart.",
@@ -1737,1139 +1878,1277 @@
"nullable": true,
"type": "string"
},
+ "query_context_generation": {
+ "description": "The query context generation represents whether the query_contextis user generated or not so that it does not update user modfiedstate.",
+ "nullable": true,
+ "type": "boolean"
+ },
"slice_name": {
"description": "The name of the chart.",
"maxLength": 250,
- "minLength": 0,
- "nullable": true,
+ "minLength": 1,
"type": "string"
},
"viz_type": {
"description": "The type of chart visualization used.",
- "example": ["bar", "line_multi", "area", "table"],
+ "example": [
+ "bar",
+ "line_multi",
+ "area",
+ "table"
+ ],
"maxLength": 250,
"minLength": 0,
- "nullable": true,
"type": "string"
}
},
+ "required": [
+ "datasource_id",
+ "datasource_type",
+ "slice_name"
+ ],
"type": "object"
},
- "CssTemplateRestApi.get": {
+ "ChartDataRestApi.put": {
"properties": {
- "created_by": {
- "$ref": "#/components/schemas/Meta13"
- },
- "css": {
- "nullable": true,
- "type": "string"
- },
- "id": {
+ "cache_timeout": {
+ "description": "Duration (in seconds) of the caching timeout for this chart. Note this defaults to the datasource/table timeout if undefined.",
"format": "int32",
+ "nullable": true,
"type": "integer"
},
- "template_name": {
- "maxLength": 250,
+ "certification_details": {
+ "description": "Details of the certification",
"nullable": true,
"type": "string"
- }
- },
- "type": "object"
- },
- "CssTemplateRestApi.get_list": {
- "properties": {
- "changed_by": {
- "$ref": "#/components/schemas/Meta12"
- },
- "changed_on_delta_humanized": {
- "readOnly": true
},
- "created_by": {
- "$ref": "#/components/schemas/Meta11"
- },
- "created_on": {
- "format": "date-time",
+ "certified_by": {
+ "description": "Person or group that has certified this chart",
"nullable": true,
"type": "string"
},
- "css": {
- "nullable": true,
- "type": "string"
+ "dashboards": {
+ "items": {
+ "description": "A list of dashboards to include this new chart to.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
},
- "id": {
+ "datasource_id": {
+ "description": "The id of the dataset/datasource this new chart will use. A complete datasource identification needs `datasouce_id` and `datasource_type`.",
"format": "int32",
+ "nullable": true,
"type": "integer"
},
- "template_name": {
- "maxLength": 250,
- "nullable": true,
- "type": "string"
- }
- },
- "type": "object"
- },
- "CssTemplateRestApi.post": {
- "properties": {
- "css": {
+ "datasource_type": {
+ "description": "The type of dataset/datasource identified on `datasource_id`.",
+ "enum": [
+ "druid",
+ "table",
+ "view"
+ ],
"nullable": true,
"type": "string"
},
- "template_name": {
- "maxLength": 250,
- "nullable": true,
- "type": "string"
- }
- },
- "type": "object"
- },
- "CssTemplateRestApi.put": {
- "properties": {
- "css": {
+ "description": {
+ "description": "A description of the chart propose.",
"nullable": true,
"type": "string"
},
- "template_name": {
- "maxLength": 250,
+ "external_url": {
"nullable": true,
"type": "string"
- }
- },
- "type": "object"
- },
- "DashboardDatasetSchema": {
- "properties": {
- "cache_timeout": {
- "format": "int32",
- "type": "integer"
},
- "column_formats": {
- "type": "object"
+ "is_managed_externally": {
+ "nullable": true,
+ "type": "boolean"
},
- "column_types": {
+ "owners": {
"items": {
+ "description": "Owner are users ids allowed to delete or change this chart. If left empty you will be one of the owners of the chart.",
"format": "int32",
"type": "integer"
},
"type": "array"
},
- "columns": {
- "items": {
- "type": "object"
- },
- "type": "array"
- },
- "database": {
- "$ref": "#/components/schemas/Database"
- },
- "datasource_name": {
- "type": "string"
- },
- "default_endpoint": {
- "type": "string"
- },
- "edit_url": {
+ "params": {
+ "description": "Parameters are generated dynamically when clicking the save or overwrite button in the explore view. This JSON object for power users who may want to alter specific parameters.",
+ "nullable": true,
"type": "string"
},
- "fetch_values_predicate": {
+ "query_context": {
+ "description": "The query context represents the queries that need to run in order to generate the data the visualization, and in what format the data should be returned.",
+ "nullable": true,
"type": "string"
},
- "filter_select": {
- "type": "boolean"
- },
- "filter_select_enabled": {
+ "query_context_generation": {
+ "description": "The query context generation represents whether the query_contextis user generated or not so that it does not update user modfiedstate.",
+ "nullable": true,
"type": "boolean"
},
- "granularity_sqla": {
- "items": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "type": "array"
+ "slice_name": {
+ "description": "The name of the chart.",
+ "maxLength": 250,
+ "minLength": 0,
+ "nullable": true,
+ "type": "string"
},
- "health_check_message": {
+ "viz_type": {
+ "description": "The type of chart visualization used.",
+ "example": [
+ "bar",
+ "line_multi",
+ "area",
+ "table"
+ ],
+ "maxLength": 250,
+ "minLength": 0,
+ "nullable": true,
"type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ChartDataRollingOptionsSchema": {
+ "properties": {
+ "center": {
+ "description": "Should the label be at the center of the window. Default: `false`",
+ "example": false,
+ "type": "boolean"
},
- "id": {
+ "min_periods": {
+ "description": "The minimum amount of periods required for a row to be included in the result set.",
+ "example": 7,
"format": "int32",
"type": "integer"
},
- "is_sqllab_view": {
- "type": "boolean"
- },
- "main_dttm_col": {
+ "rolling_type": {
+ "description": "Type of rolling window. Any numpy function will work.",
+ "enum": [
+ "average",
+ "argmin",
+ "argmax",
+ "cumsum",
+ "cumprod",
+ "max",
+ "mean",
+ "median",
+ "nansum",
+ "nanmin",
+ "nanmax",
+ "nanmean",
+ "nanmedian",
+ "nanpercentile",
+ "min",
+ "percentile",
+ "prod",
+ "product",
+ "std",
+ "sum",
+ "var"
+ ],
+ "example": "percentile",
"type": "string"
},
- "metrics": {
- "items": {
- "type": "object"
- },
- "type": "array"
+ "rolling_type_options": {
+ "example": {},
+ "type": "object"
},
- "name": {
+ "win_type": {
+ "description": "Type of window function. See [SciPy window functions](https://docs.scipy.org/doc/scipy/reference/signal.windows.html#module-scipy.signal.windows) for more details. Some window functions require passing additional parameters to `rolling_type_options`. For instance, to use `gaussian`, the parameter `std` needs to be provided.",
+ "enum": [
+ "boxcar",
+ "triang",
+ "blackman",
+ "hamming",
+ "bartlett",
+ "parzen",
+ "bohman",
+ "blackmanharris",
+ "nuttall",
+ "barthann",
+ "kaiser",
+ "gaussian",
+ "general_gaussian",
+ "slepian",
+ "exponential"
+ ],
"type": "string"
},
- "offset": {
+ "window": {
+ "description": "Size of the rolling window in days.",
+ "example": 7,
"format": "int32",
"type": "integer"
- },
- "order_by_choices": {
+ }
+ },
+ "required": [
+ "rolling_type",
+ "window"
+ ],
+ "type": "object"
+ },
+ "ChartDataSelectOptionsSchema": {
+ "properties": {
+ "columns": {
+ "description": "Columns which to select from the input data, in the desired order. If columns are renamed, the original column name should be referenced here.",
+ "example": [
+ "country",
+ "gender",
+ "age"
+ ],
"items": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "type": "string"
},
"type": "array"
},
- "owners": {
+ "exclude": {
+ "description": "Columns to exclude from selection.",
+ "example": [
+ "my_temp_column"
+ ],
"items": {
- "format": "int32",
- "type": "integer"
+ "type": "string"
},
"type": "array"
},
- "params": {
- "type": "string"
- },
- "perm": {
- "type": "string"
- },
- "schema": {
- "type": "string"
- },
- "select_star": {
- "type": "string"
- },
- "sql": {
- "type": "string"
- },
- "table_name": {
- "type": "string"
- },
- "template_params": {
- "type": "string"
- },
- "time_grain_sqla": {
+ "rename": {
+ "description": "columns which to rename, mapping source column to target column. For instance, `{'y': 'y2'}` will rename the column `y` to `y2`.",
+ "example": [
+ {
+ "age": "average_age"
+ }
+ ],
"items": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "type": "object"
},
"type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "ChartDataSortOptionsSchema": {
+ "properties": {
+ "aggregates": {
+ "description": "The keys are the name of the aggregate column to be created, and the values specify the details of how to apply the aggregation. If an operator requires additional options, these can be passed here to be unpacked in the operator call. The following numpy operators are supported: average, argmin, argmax, cumsum, cumprod, max, mean, median, nansum, nanmin, nanmax, nanmean, nanmedian, min, percentile, prod, product, std, sum, var. Any options required by the operator can be passed to the `options` object.\n\nIn the example, a new column `first_quantile` is created based on values in the column `my_col` using the `percentile` operator with the `q=0.25` parameter.",
+ "example": {
+ "first_quantile": {
+ "column": "my_col",
+ "operator": "percentile",
+ "options": {
+ "q": 0.25
+ }
+ }
+ },
+ "type": "object"
},
- "type": {
- "type": "string"
- },
- "uid": {
- "type": "string"
- },
- "verbose_map": {
- "additionalProperties": {
- "type": "string"
+ "columns": {
+ "description": "columns by by which to sort. The key specifies the column name, value specifies if sorting in ascending order.",
+ "example": {
+ "country": true,
+ "gender": false
},
"type": "object"
}
},
+ "required": [
+ "columns"
+ ],
"type": "object"
},
- "DashboardGetResponseSchema": {
+ "ChartEntityResponseSchema": {
"properties": {
- "changed_by": {
- "$ref": "#/components/schemas/User"
+ "cache_timeout": {
+ "description": "Duration (in seconds) of the caching timeout for this chart. Note this defaults to the datasource/table timeout if undefined.",
+ "format": "int32",
+ "type": "integer"
},
- "changed_by_name": {
+ "certification_details": {
+ "description": "Details of the certification",
"type": "string"
},
- "changed_by_url": {
+ "certified_by": {
+ "description": "Person or group that has certified this chart",
"type": "string"
},
"changed_on": {
- "format": "date-time",
+ "description": "The ISO date that the chart was last changed.",
"type": "string"
},
- "changed_on_delta_humanized": {
+ "description": {
+ "description": "A description of the chart propose.",
"type": "string"
},
- "charts": {
- "items": {
- "description": "The names of the dashboard's charts. Names are used for legacy reasons.",
- "type": "string"
- },
- "type": "array"
- },
- "css": {
- "description": "Override CSS for the dashboard.",
+ "description_markeddown": {
+ "description": "Sanitized HTML version of the chart description.",
"type": "string"
},
- "dashboard_title": {
- "description": "A title for the dashboard.",
+ "form_data": {
+ "description": "Form data from the Explore controls used to form the chart's data query.",
+ "type": "object"
+ },
+ "modified": {
"type": "string"
},
- "id": {
+ "slice_id": {
"format": "int32",
"type": "integer"
},
- "json_metadata": {
- "description": "This JSON object is generated dynamically when clicking the save or overwrite button in the dashboard view. It is exposed here for reference and for power users who may want to alter specific parameters.",
- "type": "string"
- },
- "owners": {
- "items": {
- "$ref": "#/components/schemas/User"
- },
- "type": "array"
- },
- "position_json": {
- "description": "This json object describes the positioning of the widgets in the dashboard. It is dynamically generated when adjusting the widgets size and positions by using drag & drop in the dashboard view",
- "type": "string"
- },
- "published": {
- "type": "boolean"
- },
- "roles": {
- "items": {
- "$ref": "#/components/schemas/Roles"
- },
- "type": "array"
- },
- "slug": {
- "type": "string"
- },
- "table_names": {
- "type": "string"
- },
- "thumbnail_url": {
+ "slice_name": {
+ "description": "The name of the chart.",
"type": "string"
},
- "url": {
+ "slice_url": {
+ "description": "The URL of the chart.",
"type": "string"
}
},
"type": "object"
},
- "DashboardRestApi.get": {
+ "ChartFavStarResponseResult": {
"properties": {
"id": {
+ "description": "The Chart id",
"format": "int32",
"type": "integer"
+ },
+ "value": {
+ "description": "The FaveStar value",
+ "type": "boolean"
}
},
"type": "object"
},
- "DashboardRestApi.get_list": {
+ "ChartGetDatasourceObjectDataResponse": {
"properties": {
- "changed_by": {
- "$ref": "#/components/schemas/Meta15"
- },
- "changed_by_name": {
- "readOnly": true
+ "datasource_id": {
+ "description": "The datasource identifier",
+ "format": "int32",
+ "type": "integer"
},
- "changed_by_url": {
- "readOnly": true
+ "datasource_type": {
+ "description": "The datasource type",
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "ChartGetDatasourceObjectResponse": {
+ "properties": {
+ "label": {
+ "description": "The name of the datasource",
+ "type": "string"
},
- "changed_on_delta_humanized": {
- "readOnly": true
- },
- "changed_on_utc": {
- "readOnly": true
+ "value": {
+ "$ref": "#/components/schemas/ChartGetDatasourceObjectDataResponse"
+ }
+ },
+ "type": "object"
+ },
+ "ChartGetDatasourceResponseSchema": {
+ "properties": {
+ "count": {
+ "description": "The total number of datasources",
+ "format": "int32",
+ "type": "integer"
},
- "created_by": {
- "$ref": "#/components/schemas/Meta14"
+ "result": {
+ "$ref": "#/components/schemas/ChartGetDatasourceObjectResponse"
+ }
+ },
+ "type": "object"
+ },
+ "ChartRestApi.get": {
+ "properties": {
+ "cache_timeout": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
},
- "css": {
+ "certification_details": {
"nullable": true,
"type": "string"
},
- "dashboard_title": {
- "maxLength": 500,
+ "certified_by": {
"nullable": true,
"type": "string"
},
- "id": {
- "format": "int32",
- "type": "integer"
+ "dashboards": {
+ "$ref": "#/components/schemas/ChartRestApi.get.Dashboard"
},
- "json_metadata": {
+ "description": {
"nullable": true,
"type": "string"
},
"owners": {
- "$ref": "#/components/schemas/Meta17"
+ "$ref": "#/components/schemas/ChartRestApi.get.User"
},
- "position_json": {
+ "params": {
"nullable": true,
"type": "string"
},
- "published": {
+ "query_context": {
"nullable": true,
- "type": "boolean"
- },
- "roles": {
- "$ref": "#/components/schemas/Meta16"
+ "type": "string"
},
- "slug": {
- "maxLength": 255,
+ "slice_name": {
+ "maxLength": 250,
"nullable": true,
"type": "string"
},
- "status": {
- "readOnly": true
- },
- "thumbnail_url": {
- "readOnly": true
- },
- "url": {
- "readOnly": true
+ "viz_type": {
+ "maxLength": 250,
+ "nullable": true,
+ "type": "string"
}
},
"type": "object"
},
- "DashboardRestApi.post": {
+ "ChartRestApi.get.Dashboard": {
"properties": {
- "css": {
- "type": "string"
- },
"dashboard_title": {
- "description": "A title for the dashboard.",
"maxLength": 500,
- "minLength": 0,
"nullable": true,
"type": "string"
},
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
"json_metadata": {
- "description": "This JSON object is generated dynamically when clicking the save or overwrite button in the dashboard view. It is exposed here for reference and for power users who may want to alter specific parameters.",
+ "nullable": true,
"type": "string"
- },
- "owners": {
- "items": {
- "description": "Owner are users ids allowed to delete or change this dashboard. If left empty you will be one of the owners of the dashboard.",
- "format": "int32",
- "type": "integer"
- },
- "type": "array"
- },
- "position_json": {
- "description": "This json object describes the positioning of the widgets in the dashboard. It is dynamically generated when adjusting the widgets size and positions by using drag & drop in the dashboard view",
+ }
+ },
+ "type": "object"
+ },
+ "ChartRestApi.get.User": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
"type": "string"
},
- "published": {
- "description": "Determines whether or not this dashboard is visible in the list of all dashboards.",
- "type": "boolean"
+ "id": {
+ "format": "int32",
+ "type": "integer"
},
- "roles": {
- "items": {
- "description": "Roles is a list which defines access to the dashboard. These roles are always applied in addition to restrictions on dataset level access. If no roles defined then the dashboard is available to all roles.",
- "format": "int32",
- "type": "integer"
- },
- "type": "array"
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
},
- "slug": {
- "description": "Unique identifying part for the web address of the dashboard.",
- "maxLength": 255,
- "minLength": 1,
- "nullable": true,
+ "username": {
+ "maxLength": 64,
"type": "string"
}
},
+ "required": [
+ "first_name",
+ "last_name",
+ "username"
+ ],
"type": "object"
},
- "DashboardRestApi.put": {
+ "ChartRestApi.get_list": {
"properties": {
- "css": {
- "description": "Override CSS for the dashboard.",
+ "cache_timeout": {
+ "format": "int32",
"nullable": true,
- "type": "string"
+ "type": "integer"
},
- "dashboard_title": {
- "description": "A title for the dashboard.",
- "maxLength": 500,
- "minLength": 0,
+ "certification_details": {
"nullable": true,
"type": "string"
},
- "json_metadata": {
- "description": "This JSON object is generated dynamically when clicking the save or overwrite button in the dashboard view. It is exposed here for reference and for power users who may want to alter specific parameters.",
+ "certified_by": {
"nullable": true,
"type": "string"
},
- "owners": {
- "items": {
- "description": "Owner are users ids allowed to delete or change this dashboard. If left empty you will be one of the owners of the dashboard.",
- "format": "int32",
- "nullable": true,
- "type": "integer"
- },
- "type": "array"
+ "changed_by": {
+ "$ref": "#/components/schemas/ChartRestApi.get_list.User1"
},
- "position_json": {
- "description": "This json object describes the positioning of the widgets in the dashboard. It is dynamically generated when adjusting the widgets size and positions by using drag & drop in the dashboard view",
+ "changed_by_name": {
+ "readOnly": true
+ },
+ "changed_by_url": {
+ "readOnly": true
+ },
+ "changed_on_delta_humanized": {
+ "readOnly": true
+ },
+ "changed_on_utc": {
+ "readOnly": true
+ },
+ "created_by": {
+ "$ref": "#/components/schemas/ChartRestApi.get_list.User2"
+ },
+ "datasource_id": {
+ "format": "int32",
"nullable": true,
- "type": "string"
+ "type": "integer"
},
- "published": {
- "description": "Determines whether or not this dashboard is visible in the list of all dashboards.",
+ "datasource_name_text": {
+ "readOnly": true
+ },
+ "datasource_type": {
+ "maxLength": 200,
"nullable": true,
- "type": "boolean"
+ "type": "string"
},
- "roles": {
- "items": {
- "description": "Roles is a list which defines access to the dashboard. These roles are always applied in addition to restrictions on dataset level access. If no roles defined then the dashboard is available to all roles.",
- "format": "int32",
- "nullable": true,
- "type": "integer"
- },
- "type": "array"
+ "datasource_url": {
+ "readOnly": true
},
- "slug": {
- "description": "Unique identifying part for the web address of the dashboard.",
- "maxLength": 255,
- "minLength": 0,
+ "description": {
"nullable": true,
"type": "string"
- }
- },
- "type": "object"
- },
- "Database": {
- "properties": {
- "allow_multi_schema_metadata_fetch": {
- "type": "boolean"
},
- "allows_cost_estimate": {
- "type": "boolean"
+ "description_markeddown": {
+ "readOnly": true
},
- "allows_subquery": {
- "type": "boolean"
+ "edit_url": {
+ "readOnly": true
},
- "allows_virtual_table_explore": {
- "type": "boolean"
+ "id": {
+ "format": "int32",
+ "type": "integer"
},
- "disable_data_preview": {
- "type": "boolean"
+ "last_saved_at": {
+ "format": "date-time",
+ "nullable": true,
+ "type": "string"
},
- "backend": {
+ "last_saved_by": {
+ "$ref": "#/components/schemas/ChartRestApi.get_list.User"
+ },
+ "owners": {
+ "$ref": "#/components/schemas/ChartRestApi.get_list.User3"
+ },
+ "params": {
+ "nullable": true,
"type": "string"
},
- "explore_database_id": {
- "format": "int32",
- "type": "integer"
+ "slice_name": {
+ "maxLength": 250,
+ "nullable": true,
+ "type": "string"
},
- "id": {
- "format": "int32",
- "type": "integer"
+ "table": {
+ "$ref": "#/components/schemas/ChartRestApi.get_list.SqlaTable"
},
- "name": {
+ "thumbnail_url": {
+ "readOnly": true
+ },
+ "url": {
+ "readOnly": true
+ },
+ "viz_type": {
+ "maxLength": 250,
+ "nullable": true,
"type": "string"
}
},
"type": "object"
},
- "DatabaseFunctionNamesResponse": {
+ "ChartRestApi.get_list.SqlaTable": {
"properties": {
- "function_names": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "default_endpoint": {
+ "nullable": true,
+ "type": "string"
+ },
+ "table_name": {
+ "maxLength": 250,
+ "type": "string"
}
},
+ "required": [
+ "table_name"
+ ],
"type": "object"
},
- "DatabaseRelatedChart": {
+ "ChartRestApi.get_list.User": {
"properties": {
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
"id": {
"format": "int32",
"type": "integer"
},
- "slice_name": {
- "type": "string"
- },
- "viz_type": {
+ "last_name": {
+ "maxLength": 64,
"type": "string"
}
},
+ "required": [
+ "first_name",
+ "last_name"
+ ],
"type": "object"
},
- "DatabaseRelatedCharts": {
+ "ChartRestApi.get_list.User1": {
"properties": {
- "count": {
- "description": "Chart count",
- "format": "int32",
- "type": "integer"
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
},
- "result": {
- "description": "A list of dashboards",
- "items": {
- "$ref": "#/components/schemas/DatabaseRelatedChart"
- },
- "type": "array"
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
}
},
+ "required": [
+ "first_name",
+ "last_name"
+ ],
"type": "object"
},
- "DatabaseRelatedDashboard": {
+ "ChartRestApi.get_list.User2": {
"properties": {
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
"id": {
"format": "int32",
"type": "integer"
},
- "json_metadata": {
- "type": "object"
- },
- "slug": {
- "type": "string"
- },
- "title": {
+ "last_name": {
+ "maxLength": 64,
"type": "string"
}
},
+ "required": [
+ "first_name",
+ "last_name"
+ ],
"type": "object"
},
- "DatabaseRelatedDashboards": {
+ "ChartRestApi.get_list.User3": {
"properties": {
- "count": {
- "description": "Dashboard count",
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "id": {
"format": "int32",
"type": "integer"
},
- "result": {
- "description": "A list of dashboards",
- "items": {
- "$ref": "#/components/schemas/DatabaseRelatedDashboard"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "DatabaseRelatedObjectsResponse": {
- "properties": {
- "charts": {
- "$ref": "#/components/schemas/DatabaseRelatedCharts"
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
},
- "dashboards": {
- "$ref": "#/components/schemas/DatabaseRelatedDashboards"
+ "username": {
+ "maxLength": 64,
+ "type": "string"
}
},
+ "required": [
+ "first_name",
+ "last_name",
+ "username"
+ ],
"type": "object"
},
- "DatabaseRestApi.get": {
+ "ChartRestApi.post": {
"properties": {
- "allow_csv_upload": {
- "nullable": true,
- "type": "boolean"
- },
- "allow_ctas": {
- "nullable": true,
- "type": "boolean"
- },
- "allow_cvas": {
- "nullable": true,
- "type": "boolean"
- },
- "allow_dml": {
+ "cache_timeout": {
+ "description": "Duration (in seconds) of the caching timeout for this chart. Note this defaults to the datasource/table timeout if undefined.",
+ "format": "int32",
"nullable": true,
- "type": "boolean"
+ "type": "integer"
},
- "allow_multi_schema_metadata_fetch": {
+ "certification_details": {
+ "description": "Details of the certification",
"nullable": true,
- "type": "boolean"
+ "type": "string"
},
- "allow_run_async": {
+ "certified_by": {
+ "description": "Person or group that has certified this chart",
"nullable": true,
- "type": "boolean"
+ "type": "string"
},
- "backend": {
- "readOnly": true
+ "dashboards": {
+ "items": {
+ "description": "A list of dashboards to include this new chart to.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
},
- "cache_timeout": {
+ "datasource_id": {
+ "description": "The id of the dataset/datasource this new chart will use. A complete datasource identification needs `datasouce_id` and `datasource_type`.",
"format": "int32",
- "nullable": true,
"type": "integer"
},
- "configuration_method": {
- "maxLength": 255,
+ "datasource_name": {
+ "description": "The datasource name.",
"nullable": true,
"type": "string"
},
- "database_name": {
- "maxLength": 250,
+ "datasource_type": {
+ "description": "The type of dataset/datasource identified on `datasource_id`.",
+ "enum": [
+ "druid",
+ "table",
+ "view"
+ ],
"type": "string"
},
- "encrypted_extra": {
+ "description": {
+ "description": "A description of the chart propose.",
"nullable": true,
"type": "string"
},
- "expose_in_sqllab": {
+ "external_url": {
+ "nullable": true,
+ "type": "string"
+ },
+ "is_managed_externally": {
"nullable": true,
"type": "boolean"
},
- "extra": {
+ "owners": {
+ "items": {
+ "description": "Owner are users ids allowed to delete or change this chart. If left empty you will be one of the owners of the chart.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "params": {
+ "description": "Parameters are generated dynamically when clicking the save or overwrite button in the explore view. This JSON object for power users who may want to alter specific parameters.",
"nullable": true,
"type": "string"
},
- "force_ctas_schema": {
- "maxLength": 250,
+ "query_context": {
+ "description": "The query context represents the queries that need to run in order to generate the data the visualization, and in what format the data should be returned.",
"nullable": true,
"type": "string"
},
- "id": {
- "format": "int32",
- "type": "integer"
- },
- "impersonate_user": {
+ "query_context_generation": {
+ "description": "The query context generation represents whether the query_contextis user generated or not so that it does not update user modfiedstate.",
"nullable": true,
"type": "boolean"
},
- "parameters": {
- "readOnly": true
- },
- "server_cert": {
- "nullable": true,
+ "slice_name": {
+ "description": "The name of the chart.",
+ "maxLength": 250,
+ "minLength": 1,
"type": "string"
},
- "sqlalchemy_uri": {
- "maxLength": 1024,
+ "viz_type": {
+ "description": "The type of chart visualization used.",
+ "example": [
+ "bar",
+ "line_multi",
+ "area",
+ "table"
+ ],
+ "maxLength": 250,
+ "minLength": 0,
"type": "string"
}
},
- "required": ["database_name", "sqlalchemy_uri"],
+ "required": [
+ "datasource_id",
+ "datasource_type",
+ "slice_name"
+ ],
"type": "object"
},
- "DatabaseRestApi.get_list": {
+ "ChartRestApi.put": {
"properties": {
- "allow_csv_upload": {
+ "cache_timeout": {
+ "description": "Duration (in seconds) of the caching timeout for this chart. Note this defaults to the datasource/table timeout if undefined.",
+ "format": "int32",
"nullable": true,
- "type": "boolean"
+ "type": "integer"
},
- "allow_ctas": {
+ "certification_details": {
+ "description": "Details of the certification",
"nullable": true,
- "type": "boolean"
+ "type": "string"
},
- "allow_cvas": {
+ "certified_by": {
+ "description": "Person or group that has certified this chart",
"nullable": true,
- "type": "boolean"
+ "type": "string"
},
- "allow_dml": {
- "nullable": true,
- "type": "boolean"
+ "dashboards": {
+ "items": {
+ "description": "A list of dashboards to include this new chart to.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
},
- "allow_multi_schema_metadata_fetch": {
+ "datasource_id": {
+ "description": "The id of the dataset/datasource this new chart will use. A complete datasource identification needs `datasouce_id` and `datasource_type`.",
+ "format": "int32",
"nullable": true,
- "type": "boolean"
+ "type": "integer"
},
- "allow_run_async": {
+ "datasource_type": {
+ "description": "The type of dataset/datasource identified on `datasource_id`.",
+ "enum": [
+ "druid",
+ "table",
+ "view"
+ ],
"nullable": true,
- "type": "boolean"
- },
- "allows_cost_estimate": {
- "readOnly": true
- },
- "allows_subquery": {
- "readOnly": true
- },
- "allows_virtual_table_explore": {
- "readOnly": true
- },
- "disable_data_preview": {
- "readOnly": true
+ "type": "string"
},
- "backend": {
- "readOnly": true
+ "description": {
+ "description": "A description of the chart propose.",
+ "nullable": true,
+ "type": "string"
},
- "changed_on": {
- "format": "date-time",
+ "external_url": {
"nullable": true,
"type": "string"
},
- "changed_on_delta_humanized": {
- "readOnly": true
+ "is_managed_externally": {
+ "nullable": true,
+ "type": "boolean"
},
- "created_by": {
- "$ref": "#/components/schemas/Meta18"
+ "owners": {
+ "items": {
+ "description": "Owner are users ids allowed to delete or change this chart. If left empty you will be one of the owners of the chart.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
},
- "database_name": {
- "maxLength": 250,
+ "params": {
+ "description": "Parameters are generated dynamically when clicking the save or overwrite button in the explore view. This JSON object for power users who may want to alter specific parameters.",
+ "nullable": true,
"type": "string"
},
- "explore_database_id": {
- "readOnly": true
+ "query_context": {
+ "description": "The query context represents the queries that need to run in order to generate the data the visualization, and in what format the data should be returned.",
+ "nullable": true,
+ "type": "string"
},
- "expose_in_sqllab": {
+ "query_context_generation": {
+ "description": "The query context generation represents whether the query_contextis user generated or not so that it does not update user modfiedstate.",
"nullable": true,
"type": "boolean"
},
- "extra": {
+ "slice_name": {
+ "description": "The name of the chart.",
+ "maxLength": 250,
+ "minLength": 0,
"nullable": true,
"type": "string"
},
- "force_ctas_schema": {
- "maxLength": 250,
+ "viz_type": {
+ "description": "The type of chart visualization used.",
+ "example": [
+ "bar",
+ "line_multi",
+ "area",
+ "table"
+ ],
+ "maxLength": 250,
+ "minLength": 0,
"nullable": true,
"type": "string"
- },
- "id": {
- "format": "int32",
- "type": "integer"
}
},
- "required": ["database_name"],
"type": "object"
},
- "DatabaseRestApi.post": {
+ "CssTemplateRestApi.get": {
"properties": {
- "allow_csv_upload": {
- "description": "Allow to upload CSV file data into this databaseIf selected, please set the schemas allowed for csv upload in Extra.",
- "type": "boolean"
- },
- "allow_ctas": {
- "description": "Allow CREATE TABLE AS option in SQL Lab",
- "type": "boolean"
- },
- "allow_cvas": {
- "description": "Allow CREATE VIEW AS option in SQL Lab",
- "type": "boolean"
- },
- "allow_dml": {
- "description": "Allow users to run non-SELECT statements (UPDATE, DELETE, CREATE, ...) in SQL Lab",
- "type": "boolean"
- },
- "allow_multi_schema_metadata_fetch": {
- "description": "Allow SQL Lab to fetch a list of all tables and all views across all database schemas. For large data warehouse with thousands of tables, this can be expensive and put strain on the system.",
- "type": "boolean"
+ "created_by": {
+ "$ref": "#/components/schemas/CssTemplateRestApi.get.User"
},
- "allow_run_async": {
- "description": "Operate the database in asynchronous mode, meaning that the queries are executed on remote workers as opposed to on the web server itself. This assumes that you have a Celery worker setup as well as a results backend. Refer to the installation docs for more information.",
- "type": "boolean"
+ "css": {
+ "nullable": true,
+ "type": "string"
},
- "cache_timeout": {
- "description": "Duration (in seconds) of the caching timeout for charts of this database. A timeout of 0 indicates that the cache never expires. Note this defaults to the global timeout if undefined.",
+ "id": {
"format": "int32",
- "nullable": true,
"type": "integer"
},
- "configuration_method": {
- "default": "sqlalchemy_form",
- "description": "Configuration_method is used on the frontend to inform the backend whether to explode parameters or to provide only a sqlalchemy_uri."
- },
- "database_name": {
- "description": "A database name to identify this connection.",
+ "template_name": {
"maxLength": 250,
- "minLength": 1,
- "type": "string"
- },
- "encrypted_extra": {
- "description": "JSON string containing additional connection configuration. This is used to provide connection information for systems like Hive, Presto, and BigQuery, which do not conform to the username:password syntax normally used by SQLAlchemy.
",
- "nullable": true,
- "type": "string"
- },
- "engine": {
- "description": "SQLAlchemy engine to use",
"nullable": true,
"type": "string"
- },
- "expose_in_sqllab": {
- "description": "Expose this database to SQLLab",
- "type": "boolean"
- },
- "extra": {
- "description": "JSON string containing extra configuration elements. 1. The engine_params
object gets unpacked into the sqlalchemy.create_engine call, while the metadata_params
gets unpacked into the sqlalchemy.MetaData call. 2. The metadata_cache_timeout
is a cache timeout setting in seconds for metadata fetch of this database. Specify it as \"metadata_cache_timeout\": {\"schema_cache_timeout\": 600, \"table_cache_timeout\": 600} . If unset, cache will not be enabled for the functionality. A timeout of 0 indicates that the cache never expires. 3. The schemas_allowed_for_csv_upload
is a comma separated list of schemas that CSVs are allowed to upload to. Specify it as \"schemas_allowed_for_csv_upload\": [\"public\", \"csv_upload\"] . If database flavor does not support schema or any schema is allowed to be accessed, just leave the list empty 4. the version
field is a string specifying the this db's version. This should be used with Presto DBs so that the syntax is correct 5. The allows_virtual_table_explore
field is a boolean specifying whether or not the Explore button in SQL Lab results is shown 6. The disable_data_preview
field is a boolean specifying whether or not data preview queries will be run when fetching table metadata in SQL Lab.
",
- "type": "string"
- },
- "force_ctas_schema": {
- "description": "When allowing CREATE TABLE AS option in SQL Lab, this option forces the table to be created in this schema",
- "maxLength": 250,
- "minLength": 0,
- "nullable": true,
+ }
+ },
+ "type": "object"
+ },
+ "CssTemplateRestApi.get.User": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
"type": "string"
},
- "impersonate_user": {
- "description": "If Presto, all the queries in SQL Lab are going to be executed as the currently logged on user who must have permission to run them. If Hive and hive.server2.enable.doAs is enabled, will run the queries as service account, but impersonate the currently logged on user via hive.server2.proxy.user property.",
- "type": "boolean"
- },
- "parameters": {
- "additionalProperties": {},
- "description": "DB-specific parameters for configuration",
- "type": "object"
- },
- "server_cert": {
- "description": "Optional CA_BUNDLE contents to validate HTTPS requests. Only available on certain database engines.
",
- "nullable": true,
- "type": "string"
+ "id": {
+ "format": "int32",
+ "type": "integer"
},
- "sqlalchemy_uri": {
- "description": "Refer to the SqlAlchemy docs for more information on how to structure your URI.
",
- "maxLength": 1024,
- "minLength": 1,
+ "last_name": {
+ "maxLength": 64,
"type": "string"
}
},
- "required": ["database_name"],
+ "required": [
+ "first_name",
+ "last_name"
+ ],
"type": "object"
},
- "DatabaseRestApi.put": {
+ "CssTemplateRestApi.get_list": {
"properties": {
- "allow_csv_upload": {
- "description": "Allow to upload CSV file data into this databaseIf selected, please set the schemas allowed for csv upload in Extra.",
- "type": "boolean"
- },
- "allow_ctas": {
- "description": "Allow CREATE TABLE AS option in SQL Lab",
- "type": "boolean"
+ "changed_by": {
+ "$ref": "#/components/schemas/CssTemplateRestApi.get_list.User"
},
- "allow_cvas": {
- "description": "Allow CREATE VIEW AS option in SQL Lab",
- "type": "boolean"
+ "changed_on_delta_humanized": {
+ "readOnly": true
},
- "allow_dml": {
- "description": "Allow users to run non-SELECT statements (UPDATE, DELETE, CREATE, ...) in SQL Lab",
- "type": "boolean"
+ "created_by": {
+ "$ref": "#/components/schemas/CssTemplateRestApi.get_list.User1"
},
- "allow_multi_schema_metadata_fetch": {
- "description": "Allow SQL Lab to fetch a list of all tables and all views across all database schemas. For large data warehouse with thousands of tables, this can be expensive and put strain on the system.",
- "type": "boolean"
+ "created_on": {
+ "format": "date-time",
+ "nullable": true,
+ "type": "string"
},
- "allow_run_async": {
- "description": "Operate the database in asynchronous mode, meaning that the queries are executed on remote workers as opposed to on the web server itself. This assumes that you have a Celery worker setup as well as a results backend. Refer to the installation docs for more information.",
- "type": "boolean"
+ "css": {
+ "nullable": true,
+ "type": "string"
},
- "cache_timeout": {
- "description": "Duration (in seconds) of the caching timeout for charts of this database. A timeout of 0 indicates that the cache never expires. Note this defaults to the global timeout if undefined.",
+ "id": {
"format": "int32",
- "nullable": true,
"type": "integer"
},
- "configuration_method": {
- "default": "sqlalchemy_form",
- "description": "Configuration_method is used on the frontend to inform the backend whether to explode parameters or to provide only a sqlalchemy_uri."
- },
- "database_name": {
- "description": "A database name to identify this connection.",
+ "template_name": {
"maxLength": 250,
- "minLength": 1,
- "nullable": true,
- "type": "string"
- },
- "encrypted_extra": {
- "description": "JSON string containing additional connection configuration. This is used to provide connection information for systems like Hive, Presto, and BigQuery, which do not conform to the username:password syntax normally used by SQLAlchemy.
",
"nullable": true,
"type": "string"
- },
- "engine": {
- "description": "SQLAlchemy engine to use",
- "nullable": true,
+ }
+ },
+ "type": "object"
+ },
+ "CssTemplateRestApi.get_list.User": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
"type": "string"
},
- "expose_in_sqllab": {
- "description": "Expose this database to SQLLab",
- "type": "boolean"
+ "id": {
+ "format": "int32",
+ "type": "integer"
},
- "extra": {
- "description": "JSON string containing extra configuration elements. 1. The engine_params
object gets unpacked into the sqlalchemy.create_engine call, while the metadata_params
gets unpacked into the sqlalchemy.MetaData call. 2. The metadata_cache_timeout
is a cache timeout setting in seconds for metadata fetch of this database. Specify it as \"metadata_cache_timeout\": {\"schema_cache_timeout\": 600, \"table_cache_timeout\": 600} . If unset, cache will not be enabled for the functionality. A timeout of 0 indicates that the cache never expires. 3. The schemas_allowed_for_csv_upload
is a comma separated list of schemas that CSVs are allowed to upload to. Specify it as \"schemas_allowed_for_csv_upload\": [\"public\", \"csv_upload\"] . If database flavor does not support schema or any schema is allowed to be accessed, just leave the list empty 4. the version
field is a string specifying the this db's version. This should be used with Presto DBs so that the syntax is correct 5. The allows_virtual_table_explore
field is a boolean specifying whether or not the Explore button in SQL Lab results is shown 6. The disable_data_preview
field is a boolean specifying whether or not data preview queries will be run when fetching table metadata in SQL Lab.
",
+ "last_name": {
+ "maxLength": 64,
"type": "string"
- },
- "force_ctas_schema": {
- "description": "When allowing CREATE TABLE AS option in SQL Lab, this option forces the table to be created in this schema",
- "maxLength": 250,
- "minLength": 0,
- "nullable": true,
+ }
+ },
+ "required": [
+ "first_name",
+ "last_name"
+ ],
+ "type": "object"
+ },
+ "CssTemplateRestApi.get_list.User1": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
"type": "string"
},
- "impersonate_user": {
- "description": "If Presto, all the queries in SQL Lab are going to be executed as the currently logged on user who must have permission to run them. If Hive and hive.server2.enable.doAs is enabled, will run the queries as service account, but impersonate the currently logged on user via hive.server2.proxy.user property.",
- "type": "boolean"
- },
- "parameters": {
- "additionalProperties": {},
- "description": "DB-specific parameters for configuration",
- "type": "object"
- },
- "server_cert": {
- "description": "Optional CA_BUNDLE contents to validate HTTPS requests. Only available on certain database engines.
",
- "nullable": true,
- "type": "string"
+ "id": {
+ "format": "int32",
+ "type": "integer"
},
- "sqlalchemy_uri": {
- "description": "Refer to the SqlAlchemy docs for more information on how to structure your URI.
",
- "maxLength": 1024,
- "minLength": 0,
+ "last_name": {
+ "maxLength": 64,
"type": "string"
}
},
+ "required": [
+ "first_name",
+ "last_name"
+ ],
"type": "object"
},
- "DatabaseTestConnectionSchema": {
+ "CssTemplateRestApi.post": {
"properties": {
- "configuration_method": {
- "default": "sqlalchemy_form",
- "description": "Configuration_method is used on the frontend to inform the backend whether to explode parameters or to provide only a sqlalchemy_uri."
- },
- "database_name": {
- "description": "A database name to identify this connection.",
- "maxLength": 250,
- "minLength": 1,
+ "css": {
"nullable": true,
"type": "string"
},
- "encrypted_extra": {
- "description": "JSON string containing additional connection configuration. This is used to provide connection information for systems like Hive, Presto, and BigQuery, which do not conform to the username:password syntax normally used by SQLAlchemy.
",
+ "template_name": {
+ "maxLength": 250,
"nullable": true,
"type": "string"
- },
- "engine": {
- "description": "SQLAlchemy engine to use",
+ }
+ },
+ "type": "object"
+ },
+ "CssTemplateRestApi.put": {
+ "properties": {
+ "css": {
"nullable": true,
"type": "string"
},
- "extra": {
- "description": "JSON string containing extra configuration elements. 1. The engine_params
object gets unpacked into the sqlalchemy.create_engine call, while the metadata_params
gets unpacked into the sqlalchemy.MetaData call. 2. The metadata_cache_timeout
is a cache timeout setting in seconds for metadata fetch of this database. Specify it as \"metadata_cache_timeout\": {\"schema_cache_timeout\": 600, \"table_cache_timeout\": 600} . If unset, cache will not be enabled for the functionality. A timeout of 0 indicates that the cache never expires. 3. The schemas_allowed_for_csv_upload
is a comma separated list of schemas that CSVs are allowed to upload to. Specify it as \"schemas_allowed_for_csv_upload\": [\"public\", \"csv_upload\"] . If database flavor does not support schema or any schema is allowed to be accessed, just leave the list empty 4. the version
field is a string specifying the this db's version. This should be used with Presto DBs so that the syntax is correct 5. The allows_virtual_table_explore
field is a boolean specifying whether or not the Explore button in SQL Lab results is shown 6. The disable_data_preview
field is a boolean specifying whether or not data preview queries will be run when fetching table metadata in SQL Lab.
",
- "type": "string"
- },
- "impersonate_user": {
- "description": "If Presto, all the queries in SQL Lab are going to be executed as the currently logged on user who must have permission to run them. If Hive and hive.server2.enable.doAs is enabled, will run the queries as service account, but impersonate the currently logged on user via hive.server2.proxy.user property.",
- "type": "boolean"
- },
- "parameters": {
- "additionalProperties": {},
- "description": "DB-specific parameters for configuration",
- "type": "object"
- },
- "server_cert": {
- "description": "Optional CA_BUNDLE contents to validate HTTPS requests. Only available on certain database engines.
",
+ "template_name": {
+ "maxLength": 250,
"nullable": true,
"type": "string"
- },
- "sqlalchemy_uri": {
- "description": "Refer to the SqlAlchemy docs for more information on how to structure your URI.
",
- "maxLength": 1024,
- "minLength": 1,
- "type": "string"
}
},
"type": "object"
},
- "DatabaseValidateParametersSchema": {
+ "DashboardDatasetSchema": {
"properties": {
- "configuration_method": {
- "description": "Configuration_method is used on the frontend to inform the backend whether to explode parameters or to provide only a sqlalchemy_uri."
+ "cache_timeout": {
+ "format": "int32",
+ "type": "integer"
},
- "database_name": {
- "description": "A database name to identify this connection.",
- "maxLength": 250,
- "minLength": 1,
- "nullable": true,
+ "column_formats": {
+ "type": "object"
+ },
+ "column_types": {
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "columns": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "database": {
+ "$ref": "#/components/schemas/Database"
+ },
+ "datasource_name": {
"type": "string"
},
- "encrypted_extra": {
- "description": "JSON string containing additional connection configuration. This is used to provide connection information for systems like Hive, Presto, and BigQuery, which do not conform to the username:password syntax normally used by SQLAlchemy.
",
- "nullable": true,
+ "default_endpoint": {
"type": "string"
},
- "engine": {
- "description": "SQLAlchemy engine to use",
+ "edit_url": {
"type": "string"
},
- "extra": {
- "description": "JSON string containing extra configuration elements. 1. The engine_params
object gets unpacked into the sqlalchemy.create_engine call, while the metadata_params
gets unpacked into the sqlalchemy.MetaData call. 2. The metadata_cache_timeout
is a cache timeout setting in seconds for metadata fetch of this database. Specify it as \"metadata_cache_timeout\": {\"schema_cache_timeout\": 600, \"table_cache_timeout\": 600} . If unset, cache will not be enabled for the functionality. A timeout of 0 indicates that the cache never expires. 3. The schemas_allowed_for_csv_upload
is a comma separated list of schemas that CSVs are allowed to upload to. Specify it as \"schemas_allowed_for_csv_upload\": [\"public\", \"csv_upload\"] . If database flavor does not support schema or any schema is allowed to be accessed, just leave the list empty 4. the version
field is a string specifying the this db's version. This should be used with Presto DBs so that the syntax is correct 5. The allows_virtual_table_explore
field is a boolean specifying whether or not the Explore button in SQL Lab results is shown 6. The disable_data_preview
field is a boolean specifying whether or not data preview queries will be run when fetching table metadata in SQL Lab.
",
+ "fetch_values_predicate": {
"type": "string"
},
- "impersonate_user": {
- "description": "If Presto, all the queries in SQL Lab are going to be executed as the currently logged on user who must have permission to run them. If Hive and hive.server2.enable.doAs is enabled, will run the queries as service account, but impersonate the currently logged on user via hive.server2.proxy.user property.",
+ "filter_select": {
"type": "boolean"
},
- "parameters": {
- "additionalProperties": {
- "nullable": true
+ "filter_select_enabled": {
+ "type": "boolean"
+ },
+ "granularity_sqla": {
+ "items": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
- "description": "DB-specific parameters for configuration",
- "type": "object"
+ "type": "array"
},
- "server_cert": {
- "description": "Optional CA_BUNDLE contents to validate HTTPS requests. Only available on certain database engines.
",
- "nullable": true,
- "type": "string"
- }
- },
- "required": ["configuration_method", "engine"],
- "type": "object"
- },
- "DatasetColumnsPut": {
- "properties": {
- "column_name": {
- "maxLength": 255,
- "minLength": 1,
+ "health_check_message": {
"type": "string"
},
- "description": {
- "nullable": true,
- "type": "string"
+ "id": {
+ "format": "int32",
+ "type": "integer"
},
- "expression": {
- "nullable": true,
+ "is_sqllab_view": {
+ "type": "boolean"
+ },
+ "main_dttm_col": {
"type": "string"
},
- "filterable": {
- "type": "boolean"
+ "metrics": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
},
- "groupby": {
- "type": "boolean"
+ "name": {
+ "type": "string"
},
- "id": {
+ "offset": {
"format": "int32",
"type": "integer"
},
- "is_active": {
- "type": "boolean"
+ "order_by_choices": {
+ "items": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": "array"
},
- "is_dttm": {
- "type": "boolean"
+ "owners": {
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
},
- "python_date_format": {
- "maxLength": 255,
- "minLength": 1,
- "nullable": true,
+ "params": {
"type": "string"
},
- "type": {
- "maxLength": 32,
- "minLength": 1,
+ "perm": {
"type": "string"
},
- "uuid": {
- "nullable": true,
+ "schema": {
"type": "string"
},
- "verbose_name": {
- "nullable": true,
+ "select_star": {
+ "type": "string"
+ },
+ "sql": {
+ "type": "string"
+ },
+ "table_name": {
+ "type": "string"
+ },
+ "template_params": {
+ "type": "string"
+ },
+ "time_grain_sqla": {
+ "items": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "type": "array"
+ },
+ "type": {
"type": "string"
+ },
+ "uid": {
+ "type": "string"
+ },
+ "verbose_map": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
}
},
- "required": ["column_name"],
"type": "object"
},
- "DatasetColumnsRestApi.get": {
+ "DashboardGetResponseSchema": {
"properties": {
+ "certification_details": {
+ "description": "Details of the certification",
+ "type": "string"
+ },
+ "certified_by": {
+ "description": "Person or group that has certified this dashboard",
+ "type": "string"
+ },
+ "changed_by": {
+ "$ref": "#/components/schemas/User"
+ },
+ "changed_by_name": {
+ "type": "string"
+ },
+ "changed_by_url": {
+ "type": "string"
+ },
+ "changed_on": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "changed_on_delta_humanized": {
+ "type": "string"
+ },
+ "charts": {
+ "items": {
+ "description": "The names of the dashboard's charts. Names are used for legacy reasons.",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "css": {
+ "description": "Override CSS for the dashboard.",
+ "type": "string"
+ },
+ "dashboard_title": {
+ "description": "A title for the dashboard.",
+ "type": "string"
+ },
"id": {
"format": "int32",
"type": "integer"
+ },
+ "json_metadata": {
+ "description": "This JSON object is generated dynamically when clicking the save or overwrite button in the dashboard view. It is exposed here for reference and for power users who may want to alter specific parameters.",
+ "type": "string"
+ },
+ "owners": {
+ "items": {
+ "$ref": "#/components/schemas/User"
+ },
+ "type": "array"
+ },
+ "position_json": {
+ "description": "This json object describes the positioning of the widgets in the dashboard. It is dynamically generated when adjusting the widgets size and positions by using drag & drop in the dashboard view",
+ "type": "string"
+ },
+ "published": {
+ "type": "boolean"
+ },
+ "roles": {
+ "items": {
+ "$ref": "#/components/schemas/Roles"
+ },
+ "type": "array"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "thumbnail_url": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
}
},
"type": "object"
},
- "DatasetColumnsRestApi.get_list": {
+ "DashboardPermalinkPostSchema": {
"properties": {
- "id": {
- "format": "int32",
- "type": "integer"
+ "filterState": {
+ "description": "Native filter state",
+ "type": "object"
+ },
+ "hash": {
+ "description": "Optional anchor link",
+ "nullable": true,
+ "type": "string"
+ },
+ "urlParams": {
+ "description": "URL Parameters",
+ "items": {
+ "description": "URL Parameter key-value pair",
+ "nullable": true
+ },
+ "nullable": true,
+ "type": "array"
}
},
+ "required": [
+ "filterState"
+ ],
"type": "object"
},
- "DatasetColumnsRestApi.post": {
+ "DashboardRestApi.get": {
"properties": {
"id": {
"format": "int32",
@@ -2878,1055 +3157,970 @@
},
"type": "object"
},
- "DatasetColumnsRestApi.put": {
+ "DashboardRestApi.get_list": {
"properties": {
- "id": {
- "format": "int32",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "DatasetMetricRestApi.get": {
- "properties": {
- "id": {
- "format": "int32",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "DatasetMetricRestApi.get_list": {
- "properties": {
- "id": {
- "format": "int32",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "DatasetMetricRestApi.post": {
- "properties": {
- "id": {
- "format": "int32",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "DatasetMetricRestApi.put": {
- "properties": {
- "id": {
- "format": "int32",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "DatasetMetricsPut": {
- "properties": {
- "d3format": {
- "maxLength": 128,
- "minLength": 1,
+ "certification_details": {
"nullable": true,
"type": "string"
},
- "description": {
+ "certified_by": {
"nullable": true,
"type": "string"
},
- "expression": {
+ "changed_by": {
+ "$ref": "#/components/schemas/DashboardRestApi.get_list.User"
+ },
+ "changed_by_name": {
+ "readOnly": true
+ },
+ "changed_by_url": {
+ "readOnly": true
+ },
+ "changed_on_delta_humanized": {
+ "readOnly": true
+ },
+ "changed_on_utc": {
+ "readOnly": true
+ },
+ "created_by": {
+ "$ref": "#/components/schemas/DashboardRestApi.get_list.User1"
+ },
+ "css": {
+ "nullable": true,
+ "type": "string"
+ },
+ "dashboard_title": {
+ "maxLength": 500,
+ "nullable": true,
"type": "string"
},
"id": {
"format": "int32",
"type": "integer"
},
- "metric_name": {
- "maxLength": 255,
- "minLength": 1,
+ "json_metadata": {
+ "nullable": true,
"type": "string"
},
- "metric_type": {
- "maxLength": 32,
- "minLength": 1,
+ "owners": {
+ "$ref": "#/components/schemas/DashboardRestApi.get_list.User2"
+ },
+ "position_json": {
"nullable": true,
"type": "string"
},
- "warning_text": {
+ "published": {
+ "nullable": true,
+ "type": "boolean"
+ },
+ "roles": {
+ "$ref": "#/components/schemas/DashboardRestApi.get_list.Role"
+ },
+ "slug": {
+ "maxLength": 255,
"nullable": true,
"type": "string"
+ },
+ "status": {
+ "readOnly": true
+ },
+ "thumbnail_url": {
+ "readOnly": true
+ },
+ "url": {
+ "readOnly": true
}
},
- "required": ["expression", "metric_name"],
"type": "object"
},
- "DatasetRelatedChart": {
+ "DashboardRestApi.get_list.Role": {
"properties": {
"id": {
"format": "int32",
"type": "integer"
},
- "slice_name": {
- "type": "string"
- },
- "viz_type": {
+ "name": {
+ "maxLength": 64,
"type": "string"
}
},
+ "required": [
+ "name"
+ ],
"type": "object"
},
- "DatasetRelatedCharts": {
+ "DashboardRestApi.get_list.User": {
"properties": {
- "count": {
- "description": "Chart count",
- "format": "int32",
- "type": "integer"
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
},
- "result": {
- "description": "A list of dashboards",
- "items": {
- "$ref": "#/components/schemas/DatasetRelatedChart"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "DatasetRelatedDashboard": {
- "properties": {
"id": {
"format": "int32",
"type": "integer"
},
- "json_metadata": {
- "type": "object"
- },
- "slug": {
+ "last_name": {
+ "maxLength": 64,
"type": "string"
},
- "title": {
+ "username": {
+ "maxLength": 64,
"type": "string"
}
},
+ "required": [
+ "first_name",
+ "last_name",
+ "username"
+ ],
"type": "object"
},
- "DatasetRelatedDashboards": {
+ "DashboardRestApi.get_list.User1": {
"properties": {
- "count": {
- "description": "Dashboard count",
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "id": {
"format": "int32",
"type": "integer"
},
- "result": {
- "description": "A list of dashboards",
- "items": {
- "$ref": "#/components/schemas/DatasetRelatedDashboard"
- },
- "type": "array"
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
}
},
+ "required": [
+ "first_name",
+ "last_name"
+ ],
"type": "object"
},
- "DatasetRelatedObjectsResponse": {
+ "DashboardRestApi.get_list.User2": {
"properties": {
- "charts": {
- "$ref": "#/components/schemas/DatasetRelatedCharts"
+ "email": {
+ "maxLength": 64,
+ "type": "string"
},
- "dashboards": {
- "$ref": "#/components/schemas/DatasetRelatedDashboards"
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "username": {
+ "maxLength": 64,
+ "type": "string"
}
},
+ "required": [
+ "email",
+ "first_name",
+ "last_name",
+ "username"
+ ],
"type": "object"
},
- "DatasetRestApi.get": {
+ "DashboardRestApi.post": {
"properties": {
- "cache_timeout": {
- "format": "int32",
+ "certification_details": {
+ "description": "Details of the certification",
"nullable": true,
- "type": "integer"
- },
- "columns": {
- "$ref": "#/components/schemas/Meta22"
- },
- "database": {
- "$ref": "#/components/schemas/Meta23"
- },
- "datasource_type": {
- "readOnly": true
+ "type": "string"
},
- "default_endpoint": {
+ "certified_by": {
+ "description": "Person or group that has certified this dashboard",
"nullable": true,
"type": "string"
},
- "description": {
- "nullable": true,
+ "css": {
"type": "string"
},
- "extra": {
+ "dashboard_title": {
+ "description": "A title for the dashboard.",
+ "maxLength": 500,
+ "minLength": 0,
"nullable": true,
"type": "string"
},
- "fetch_values_predicate": {
- "maxLength": 1000,
+ "external_url": {
"nullable": true,
"type": "string"
},
- "filter_select_enabled": {
+ "is_managed_externally": {
"nullable": true,
"type": "boolean"
},
- "id": {
- "format": "int32",
- "type": "integer"
+ "json_metadata": {
+ "description": "This JSON object is generated dynamically when clicking the save or overwrite button in the dashboard view. It is exposed here for reference and for power users who may want to alter specific parameters.",
+ "type": "string"
},
- "is_sqllab_view": {
- "nullable": true,
- "type": "boolean"
+ "owners": {
+ "items": {
+ "description": "Owner are users ids allowed to delete or change this dashboard. If left empty you will be one of the owners of the dashboard.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
},
- "main_dttm_col": {
- "maxLength": 250,
- "nullable": true,
+ "position_json": {
+ "description": "This json object describes the positioning of the widgets in the dashboard. It is dynamically generated when adjusting the widgets size and positions by using drag & drop in the dashboard view",
"type": "string"
},
- "metrics": {
- "$ref": "#/components/schemas/Meta25"
- },
- "offset": {
- "format": "int32",
- "nullable": true,
- "type": "integer"
+ "published": {
+ "description": "Determines whether or not this dashboard is visible in the list of all dashboards.",
+ "type": "boolean"
},
- "owners": {
- "$ref": "#/components/schemas/Meta24"
+ "roles": {
+ "items": {
+ "description": "Roles is a list which defines access to the dashboard. These roles are always applied in addition to restrictions on dataset level access. If no roles defined then the dashboard is available to all roles.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
},
- "schema": {
+ "slug": {
+ "description": "Unique identifying part for the web address of the dashboard.",
"maxLength": 255,
+ "minLength": 1,
+ "nullable": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DashboardRestApi.put": {
+ "properties": {
+ "certification_details": {
+ "description": "Details of the certification",
"nullable": true,
"type": "string"
},
- "sql": {
+ "certified_by": {
+ "description": "Person or group that has certified this dashboard",
"nullable": true,
"type": "string"
},
- "table_name": {
- "maxLength": 250,
+ "css": {
+ "description": "Override CSS for the dashboard.",
+ "nullable": true,
"type": "string"
},
- "template_params": {
+ "dashboard_title": {
+ "description": "A title for the dashboard.",
+ "maxLength": 500,
+ "minLength": 0,
"nullable": true,
"type": "string"
},
- "url": {
- "readOnly": true
- }
- },
- "required": ["columns", "database", "metrics", "table_name"],
- "type": "object"
- },
- "DatasetRestApi.get_list": {
- "properties": {
- "changed_by": {
- "$ref": "#/components/schemas/Meta19"
- },
- "changed_by_name": {
- "readOnly": true
- },
- "changed_by_url": {
- "readOnly": true
- },
- "changed_on_delta_humanized": {
- "readOnly": true
- },
- "changed_on_utc": {
- "readOnly": true
- },
- "database": {
- "$ref": "#/components/schemas/Meta21"
- },
- "default_endpoint": {
+ "external_url": {
"nullable": true,
"type": "string"
},
- "explore_url": {
- "readOnly": true
+ "is_managed_externally": {
+ "nullable": true,
+ "type": "boolean"
},
- "extra": {
+ "json_metadata": {
+ "description": "This JSON object is generated dynamically when clicking the save or overwrite button in the dashboard view. It is exposed here for reference and for power users who may want to alter specific parameters.",
"nullable": true,
"type": "string"
},
- "id": {
- "format": "int32",
- "type": "integer"
- },
- "kind": {
- "readOnly": true
- },
"owners": {
- "$ref": "#/components/schemas/Meta20"
+ "items": {
+ "description": "Owner are users ids allowed to delete or change this dashboard. If left empty you will be one of the owners of the dashboard.",
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "type": "array"
},
- "schema": {
- "maxLength": 255,
+ "position_json": {
+ "description": "This json object describes the positioning of the widgets in the dashboard. It is dynamically generated when adjusting the widgets size and positions by using drag & drop in the dashboard view",
"nullable": true,
"type": "string"
},
- "sql": {
+ "published": {
+ "description": "Determines whether or not this dashboard is visible in the list of all dashboards.",
"nullable": true,
- "type": "string"
- },
- "table_name": {
- "maxLength": 250,
- "type": "string"
- }
- },
- "required": ["database", "table_name"],
- "type": "object"
- },
- "DatasetRestApi.post": {
- "properties": {
- "database": {
- "format": "int32",
- "type": "integer"
+ "type": "boolean"
},
- "owners": {
+ "roles": {
"items": {
+ "description": "Roles is a list which defines access to the dashboard. These roles are always applied in addition to restrictions on dataset level access. If no roles defined then the dashboard is available to all roles.",
"format": "int32",
+ "nullable": true,
"type": "integer"
},
"type": "array"
},
- "schema": {
- "maxLength": 250,
+ "slug": {
+ "description": "Unique identifying part for the web address of the dashboard.",
+ "maxLength": 255,
"minLength": 0,
- "type": "string"
- },
- "table_name": {
- "maxLength": 250,
- "minLength": 1,
+ "nullable": true,
"type": "string"
}
},
- "required": ["database", "table_name"],
"type": "object"
},
- "DatasetRestApi.put": {
+ "Database": {
"properties": {
- "cache_timeout": {
- "format": "int32",
- "nullable": true,
- "type": "integer"
- },
- "columns": {
- "items": {
- "$ref": "#/components/schemas/DatasetColumnsPut"
- },
- "type": "array"
- },
- "database_id": {
- "format": "int32",
- "type": "integer"
- },
- "default_endpoint": {
- "nullable": true,
- "type": "string"
- },
- "description": {
- "nullable": true,
- "type": "string"
- },
- "extra": {
- "nullable": true,
- "type": "string"
+ "allow_multi_schema_metadata_fetch": {
+ "type": "boolean"
},
- "fetch_values_predicate": {
- "maxLength": 1000,
- "minLength": 0,
- "nullable": true,
- "type": "string"
+ "allows_cost_estimate": {
+ "type": "boolean"
},
- "filter_select_enabled": {
- "nullable": true,
+ "allows_subquery": {
"type": "boolean"
},
- "is_sqllab_view": {
- "nullable": true,
+ "allows_virtual_table_explore": {
"type": "boolean"
},
- "main_dttm_col": {
- "nullable": true,
+ "backend": {
"type": "string"
},
- "metrics": {
- "items": {
- "$ref": "#/components/schemas/DatasetMetricsPut"
- },
- "type": "array"
+ "disable_data_preview": {
+ "type": "boolean"
},
- "offset": {
+ "explore_database_id": {
"format": "int32",
- "nullable": true,
"type": "integer"
},
- "owners": {
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseFunctionNamesResponse": {
+ "properties": {
+ "function_names": {
"items": {
- "format": "int32",
- "type": "integer"
+ "type": "string"
},
"type": "array"
- },
- "schema": {
- "maxLength": 255,
- "minLength": 0,
- "nullable": true,
- "type": "string"
- },
- "sql": {
- "nullable": true,
- "type": "string"
- },
- "table_name": {
- "maxLength": 250,
- "minLength": 1,
- "nullable": true,
- "type": "string"
- },
- "template_params": {
- "nullable": true,
- "type": "string"
}
},
"type": "object"
},
- "Datasource": {
+ "DatabaseRelatedChart": {
"properties": {
- "database_name": {
- "description": "Datasource name",
- "type": "string"
- },
- "datasource_name": {
- "description": "The datasource name.",
- "type": "string"
+ "id": {
+ "format": "int32",
+ "type": "integer"
},
- "datasource_type": {
- "description": "The type of dataset/datasource identified on `datasource_id`.",
- "enum": ["druid", "table", "view"],
+ "slice_name": {
"type": "string"
},
- "schema": {
- "description": "Datasource schema",
+ "viz_type": {
"type": "string"
}
},
- "required": ["datasource_type"],
"type": "object"
},
- "DistincResponseSchema": {
+ "DatabaseRelatedCharts": {
"properties": {
"count": {
- "description": "The total number of distinct values",
+ "description": "Chart count",
"format": "int32",
"type": "integer"
},
"result": {
+ "description": "A list of dashboards",
"items": {
- "$ref": "#/components/schemas/DistinctResultResponse"
+ "$ref": "#/components/schemas/DatabaseRelatedChart"
},
"type": "array"
}
},
"type": "object"
},
- "DistinctResultResponse": {
+ "DatabaseRelatedDashboard": {
"properties": {
- "text": {
- "description": "The distinct item",
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "json_metadata": {
+ "type": "object"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "title": {
"type": "string"
}
},
"type": "object"
},
- "GetFavStarIdsSchema": {
+ "DatabaseRelatedDashboards": {
"properties": {
+ "count": {
+ "description": "Dashboard count",
+ "format": "int32",
+ "type": "integer"
+ },
"result": {
- "description": "A list of results for each corresponding chart in the request",
+ "description": "A list of dashboards",
"items": {
- "$ref": "#/components/schemas/ChartFavStarResponseResult"
+ "$ref": "#/components/schemas/DatabaseRelatedDashboard"
},
"type": "array"
}
},
"type": "object"
},
- "LogRestApi.get": {
+ "DatabaseRelatedObjectsResponse": {
"properties": {
- "action": {
- "maxLength": 512,
- "nullable": true,
- "type": "string"
+ "charts": {
+ "$ref": "#/components/schemas/DatabaseRelatedCharts"
},
- "dashboard_id": {
- "format": "int32",
+ "dashboards": {
+ "$ref": "#/components/schemas/DatabaseRelatedDashboards"
+ }
+ },
+ "type": "object"
+ },
+ "DatabaseRestApi.get": {
+ "properties": {
+ "allow_ctas": {
"nullable": true,
- "type": "integer"
+ "type": "boolean"
},
- "dttm": {
- "format": "date-time",
+ "allow_cvas": {
"nullable": true,
- "type": "string"
+ "type": "boolean"
},
- "duration_ms": {
- "format": "int32",
+ "allow_dml": {
"nullable": true,
- "type": "integer"
+ "type": "boolean"
},
- "json": {
+ "allow_file_upload": {
"nullable": true,
- "type": "string"
+ "type": "boolean"
},
- "referrer": {
- "maxLength": 1024,
+ "allow_multi_schema_metadata_fetch": {
"nullable": true,
- "type": "string"
+ "type": "boolean"
},
- "slice_id": {
- "format": "int32",
+ "allow_run_async": {
"nullable": true,
- "type": "integer"
- },
- "user": {
- "$ref": "#/components/schemas/Meta43"
+ "type": "boolean"
},
- "user_id": {
- "format": "int32",
- "nullable": true,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "LogRestApi.get_list": {
- "properties": {
- "action": {
- "maxLength": 512,
- "nullable": true,
- "type": "string"
+ "backend": {
+ "readOnly": true
},
- "dashboard_id": {
+ "cache_timeout": {
"format": "int32",
"nullable": true,
"type": "integer"
},
- "dttm": {
- "format": "date-time",
+ "configuration_method": {
+ "maxLength": 255,
"nullable": true,
"type": "string"
},
- "duration_ms": {
- "format": "int32",
- "nullable": true,
- "type": "integer"
- },
- "json": {
- "nullable": true,
+ "database_name": {
+ "maxLength": 250,
"type": "string"
},
- "referrer": {
- "maxLength": 1024,
+ "encrypted_extra": {
"nullable": true,
"type": "string"
},
- "slice_id": {
- "format": "int32",
- "nullable": true,
- "type": "integer"
- },
- "user": {
- "$ref": "#/components/schemas/Meta42"
- },
- "user_id": {
- "format": "int32",
- "nullable": true,
- "type": "integer"
- }
- },
- "type": "object"
- },
- "LogRestApi.post": {
- "properties": {
- "id": {
- "format": "int32",
- "type": "integer"
- }
- },
- "type": "object"
- },
- "LogRestApi.put": {
- "properties": {
- "action": {
- "maxLength": 512,
+ "expose_in_sqllab": {
"nullable": true,
- "type": "string"
+ "type": "boolean"
},
- "dttm": {
- "format": "date-time",
+ "extra": {
"nullable": true,
"type": "string"
},
- "json": {
+ "force_ctas_schema": {
+ "maxLength": 250,
"nullable": true,
"type": "string"
},
- "user": {
- "nullable": true
- }
- },
- "type": "object"
- },
- "Meta": {
- "properties": {
- "first_name": {
- "maxLength": 64,
- "type": "string"
- },
"id": {
"format": "int32",
"type": "integer"
- }
- },
- "required": ["first_name"],
- "type": "object"
- },
- "Meta1": {
- "properties": {
- "first_name": {
- "maxLength": 64,
- "type": "string"
},
- "id": {
- "format": "int32",
- "type": "integer"
- }
- },
- "required": ["first_name"],
- "type": "object"
- },
- "Meta10": {
- "properties": {
- "first_name": {
- "maxLength": 64,
- "type": "string"
+ "impersonate_user": {
+ "nullable": true,
+ "type": "boolean"
},
- "id": {
- "format": "int32",
- "type": "integer"
+ "parameters": {
+ "readOnly": true
},
- "last_name": {
- "maxLength": 64,
- "type": "string"
+ "parameters_schema": {
+ "readOnly": true
},
- "username": {
- "maxLength": 64,
- "type": "string"
- }
- },
- "required": ["first_name", "last_name", "username"],
- "type": "object"
- },
- "Meta11": {
- "properties": {
- "first_name": {
- "maxLength": 64,
+ "server_cert": {
+ "nullable": true,
"type": "string"
},
- "id": {
- "format": "int32",
- "type": "integer"
- },
- "last_name": {
- "maxLength": 64,
+ "sqlalchemy_uri": {
+ "maxLength": 1024,
"type": "string"
}
},
- "required": ["first_name", "last_name"],
+ "required": [
+ "database_name",
+ "sqlalchemy_uri"
+ ],
"type": "object"
},
- "Meta12": {
+ "DatabaseRestApi.get_list": {
"properties": {
- "active": {
+ "allow_ctas": {
"nullable": true,
"type": "boolean"
},
- "changed_on": {
- "format": "date-time",
+ "allow_cvas": {
"nullable": true,
- "type": "string"
+ "type": "boolean"
},
- "created_on": {
- "format": "date-time",
+ "allow_dml": {
"nullable": true,
- "type": "string"
+ "type": "boolean"
},
- "email": {
- "maxLength": 64,
- "type": "string"
+ "allow_file_upload": {
+ "nullable": true,
+ "type": "boolean"
},
- "fail_login_count": {
- "format": "int32",
+ "allow_multi_schema_metadata_fetch": {
"nullable": true,
- "type": "integer"
+ "type": "boolean"
},
- "first_name": {
- "maxLength": 64,
- "type": "string"
+ "allow_run_async": {
+ "nullable": true,
+ "type": "boolean"
},
- "id": {
- "format": "int32",
- "type": "integer"
+ "allows_cost_estimate": {
+ "readOnly": true
+ },
+ "allows_subquery": {
+ "readOnly": true
+ },
+ "allows_virtual_table_explore": {
+ "readOnly": true
+ },
+ "backend": {
+ "readOnly": true
},
- "last_login": {
+ "changed_on": {
"format": "date-time",
"nullable": true,
"type": "string"
},
- "last_name": {
- "maxLength": 64,
+ "changed_on_delta_humanized": {
+ "readOnly": true
+ },
+ "created_by": {
+ "$ref": "#/components/schemas/DatabaseRestApi.get_list.User"
+ },
+ "database_name": {
+ "maxLength": 250,
"type": "string"
},
- "login_count": {
- "format": "int32",
+ "disable_data_preview": {
+ "readOnly": true
+ },
+ "explore_database_id": {
+ "readOnly": true
+ },
+ "expose_in_sqllab": {
"nullable": true,
- "type": "integer"
+ "type": "boolean"
},
- "password": {
- "maxLength": 256,
+ "extra": {
"nullable": true,
"type": "string"
},
- "username": {
- "maxLength": 64,
- "type": "string"
- }
- },
- "required": ["email", "first_name", "last_name", "username"],
- "type": "object"
- },
- "Meta13": {
- "properties": {
- "first_name": {
- "maxLength": 64,
+ "force_ctas_schema": {
+ "maxLength": 250,
+ "nullable": true,
"type": "string"
},
"id": {
"format": "int32",
"type": "integer"
- },
- "last_name": {
- "maxLength": 64,
- "type": "string"
}
},
- "required": ["first_name", "last_name"],
+ "required": [
+ "database_name"
+ ],
"type": "object"
},
- "Meta14": {
+ "DatabaseRestApi.get_list.User": {
"properties": {
"first_name": {
"maxLength": 64,
"type": "string"
},
- "id": {
- "format": "int32",
- "type": "integer"
- },
"last_name": {
"maxLength": 64,
"type": "string"
}
},
- "required": ["first_name", "last_name"],
+ "required": [
+ "first_name",
+ "last_name"
+ ],
"type": "object"
},
- "Meta15": {
+ "DatabaseRestApi.post": {
"properties": {
- "first_name": {
- "maxLength": 64,
- "type": "string"
- },
- "id": {
- "format": "int32",
- "type": "integer"
+ "allow_ctas": {
+ "description": "Allow CREATE TABLE AS option in SQL Lab",
+ "type": "boolean"
},
- "last_name": {
- "maxLength": 64,
- "type": "string"
+ "allow_cvas": {
+ "description": "Allow CREATE VIEW AS option in SQL Lab",
+ "type": "boolean"
},
- "username": {
- "maxLength": 64,
- "type": "string"
- }
- },
- "required": ["first_name", "last_name", "username"],
- "type": "object"
- },
- "Meta16": {
- "properties": {
- "id": {
- "format": "int32",
- "type": "integer"
+ "allow_dml": {
+ "description": "Allow users to run non-SELECT statements (UPDATE, DELETE, CREATE, ...) in SQL Lab",
+ "type": "boolean"
},
- "name": {
- "maxLength": 64,
- "type": "string"
- }
- },
- "required": ["name"],
- "type": "object"
- },
- "Meta17": {
- "properties": {
- "first_name": {
- "maxLength": 64,
- "type": "string"
+ "allow_file_upload": {
+ "description": "Allow to upload CSV file data into this databaseIf selected, please set the schemas allowed for csv upload in Extra.",
+ "type": "boolean"
},
- "id": {
+ "allow_multi_schema_metadata_fetch": {
+ "description": "Allow SQL Lab to fetch a list of all tables and all views across all database schemas. For large data warehouse with thousands of tables, this can be expensive and put strain on the system.",
+ "type": "boolean"
+ },
+ "allow_run_async": {
+ "description": "Operate the database in asynchronous mode, meaning that the queries are executed on remote workers as opposed to on the web server itself. This assumes that you have a Celery worker setup as well as a results backend. Refer to the installation docs for more information.",
+ "type": "boolean"
+ },
+ "cache_timeout": {
+ "description": "Duration (in seconds) of the caching timeout for charts of this database. A timeout of 0 indicates that the cache never expires. Note this defaults to the global timeout if undefined.",
"format": "int32",
+ "nullable": true,
"type": "integer"
},
- "last_name": {
- "maxLength": 64,
- "type": "string"
+ "configuration_method": {
+ "default": "sqlalchemy_form",
+ "description": "Configuration_method is used on the frontend to inform the backend whether to explode parameters or to provide only a sqlalchemy_uri."
},
- "username": {
- "maxLength": 64,
+ "database_name": {
+ "description": "A database name to identify this connection.",
+ "maxLength": 250,
+ "minLength": 1,
"type": "string"
- }
- },
- "required": ["first_name", "last_name", "username"],
- "type": "object"
- },
- "Meta18": {
- "properties": {
- "first_name": {
- "maxLength": 64,
+ },
+ "encrypted_extra": {
+ "description": "JSON string containing additional connection configuration. This is used to provide connection information for systems like Hive, Presto, and BigQuery, which do not conform to the username:password syntax normally used by SQLAlchemy.
",
+ "nullable": true,
"type": "string"
},
- "last_name": {
- "maxLength": 64,
+ "engine": {
+ "description": "SQLAlchemy engine to use",
+ "nullable": true,
"type": "string"
- }
- },
- "required": ["first_name", "last_name"],
- "type": "object"
- },
- "Meta19": {
- "properties": {
- "first_name": {
- "maxLength": 64,
+ },
+ "expose_in_sqllab": {
+ "description": "Expose this database to SQLLab",
+ "type": "boolean"
+ },
+ "external_url": {
+ "nullable": true,
"type": "string"
},
- "username": {
- "maxLength": 64,
+ "extra": {
+ "description": "JSON string containing extra configuration elements. 1. The engine_params
object gets unpacked into the sqlalchemy.create_engine call, while the metadata_params
gets unpacked into the sqlalchemy.MetaData call. 2. The metadata_cache_timeout
is a cache timeout setting in seconds for metadata fetch of this database. Specify it as \"metadata_cache_timeout\": {\"schema_cache_timeout\": 600, \"table_cache_timeout\": 600} . If unset, cache will not be enabled for the functionality. A timeout of 0 indicates that the cache never expires. 3. The schemas_allowed_for_file_upload
is a comma separated list of schemas that CSVs are allowed to upload to. Specify it as \"schemas_allowed_for_file_upload\": [\"public\", \"csv_upload\"] . If database flavor does not support schema or any schema is allowed to be accessed, just leave the list empty 4. The version
field is a string specifying the this db's version. This should be used with Presto DBs so that the syntax is correct 5. The allows_virtual_table_explore
field is a boolean specifying whether or not the Explore button in SQL Lab results is shown. 6. The disable_data_preview
field is a boolean specifying whether or not data preview queries will be run when fetching table metadata in SQL Lab.
",
"type": "string"
- }
- },
- "required": ["first_name", "username"],
- "type": "object"
- },
- "Meta2": {
- "properties": {
- "id": {
- "format": "int32",
- "type": "integer"
},
- "name": {
+ "force_ctas_schema": {
+ "description": "When allowing CREATE TABLE AS option in SQL Lab, this option forces the table to be created in this schema",
"maxLength": 250,
+ "minLength": 0,
"nullable": true,
"type": "string"
- }
- },
- "type": "object"
- },
- "Meta20": {
- "properties": {
- "first_name": {
- "maxLength": 64,
- "type": "string"
},
- "id": {
- "format": "int32",
- "type": "integer"
+ "impersonate_user": {
+ "description": "If Presto, all the queries in SQL Lab are going to be executed as the currently logged on user who must have permission to run them. If Hive and hive.server2.enable.doAs is enabled, will run the queries as service account, but impersonate the currently logged on user via hive.server2.proxy.user property.",
+ "type": "boolean"
},
- "last_name": {
- "maxLength": 64,
+ "is_managed_externally": {
+ "nullable": true,
+ "type": "boolean"
+ },
+ "parameters": {
+ "additionalProperties": {},
+ "description": "DB-specific parameters for configuration",
+ "type": "object"
+ },
+ "server_cert": {
+ "description": "Optional CA_BUNDLE contents to validate HTTPS requests. Only available on certain database engines.
",
+ "nullable": true,
"type": "string"
},
- "username": {
- "maxLength": 64,
+ "sqlalchemy_uri": {
+ "description": "Refer to the SqlAlchemy docs for more information on how to structure your URI.
",
+ "maxLength": 1024,
+ "minLength": 1,
"type": "string"
}
},
- "required": ["first_name", "last_name", "username"],
+ "required": [
+ "database_name"
+ ],
"type": "object"
},
- "Meta21": {
+ "DatabaseRestApi.put": {
"properties": {
- "database_name": {
- "maxLength": 250,
- "type": "string"
+ "allow_ctas": {
+ "description": "Allow CREATE TABLE AS option in SQL Lab",
+ "type": "boolean"
},
- "id": {
+ "allow_cvas": {
+ "description": "Allow CREATE VIEW AS option in SQL Lab",
+ "type": "boolean"
+ },
+ "allow_dml": {
+ "description": "Allow users to run non-SELECT statements (UPDATE, DELETE, CREATE, ...) in SQL Lab",
+ "type": "boolean"
+ },
+ "allow_file_upload": {
+ "description": "Allow to upload CSV file data into this databaseIf selected, please set the schemas allowed for csv upload in Extra.",
+ "type": "boolean"
+ },
+ "allow_multi_schema_metadata_fetch": {
+ "description": "Allow SQL Lab to fetch a list of all tables and all views across all database schemas. For large data warehouse with thousands of tables, this can be expensive and put strain on the system.",
+ "type": "boolean"
+ },
+ "allow_run_async": {
+ "description": "Operate the database in asynchronous mode, meaning that the queries are executed on remote workers as opposed to on the web server itself. This assumes that you have a Celery worker setup as well as a results backend. Refer to the installation docs for more information.",
+ "type": "boolean"
+ },
+ "cache_timeout": {
+ "description": "Duration (in seconds) of the caching timeout for charts of this database. A timeout of 0 indicates that the cache never expires. Note this defaults to the global timeout if undefined.",
"format": "int32",
- "type": "integer"
- }
- },
- "required": ["database_name"],
- "type": "object"
- },
- "Meta22": {
- "properties": {
- "changed_on": {
- "format": "date-time",
"nullable": true,
- "type": "string"
+ "type": "integer"
},
- "column_name": {
- "maxLength": 255,
- "type": "string"
+ "configuration_method": {
+ "default": "sqlalchemy_form",
+ "description": "Configuration_method is used on the frontend to inform the backend whether to explode parameters or to provide only a sqlalchemy_uri."
},
- "created_on": {
- "format": "date-time",
+ "database_name": {
+ "description": "A database name to identify this connection.",
+ "maxLength": 250,
+ "minLength": 1,
"nullable": true,
"type": "string"
},
- "description": {
+ "encrypted_extra": {
+ "description": "JSON string containing additional connection configuration. This is used to provide connection information for systems like Hive, Presto, and BigQuery, which do not conform to the username:password syntax normally used by SQLAlchemy.
",
"nullable": true,
"type": "string"
},
- "expression": {
+ "engine": {
+ "description": "SQLAlchemy engine to use",
"nullable": true,
"type": "string"
},
- "filterable": {
- "nullable": true,
+ "expose_in_sqllab": {
+ "description": "Expose this database to SQLLab",
"type": "boolean"
},
- "groupby": {
+ "external_url": {
"nullable": true,
- "type": "boolean"
+ "type": "string"
},
- "id": {
- "format": "int32",
- "type": "integer"
+ "extra": {
+ "description": "JSON string containing extra configuration elements. 1. The engine_params
object gets unpacked into the sqlalchemy.create_engine call, while the metadata_params
gets unpacked into the sqlalchemy.MetaData call. 2. The metadata_cache_timeout
is a cache timeout setting in seconds for metadata fetch of this database. Specify it as \"metadata_cache_timeout\": {\"schema_cache_timeout\": 600, \"table_cache_timeout\": 600} . If unset, cache will not be enabled for the functionality. A timeout of 0 indicates that the cache never expires. 3. The schemas_allowed_for_file_upload
is a comma separated list of schemas that CSVs are allowed to upload to. Specify it as \"schemas_allowed_for_file_upload\": [\"public\", \"csv_upload\"] . If database flavor does not support schema or any schema is allowed to be accessed, just leave the list empty 4. The version
field is a string specifying the this db's version. This should be used with Presto DBs so that the syntax is correct 5. The allows_virtual_table_explore
field is a boolean specifying whether or not the Explore button in SQL Lab results is shown. 6. The disable_data_preview
field is a boolean specifying whether or not data preview queries will be run when fetching table metadata in SQL Lab.
",
+ "type": "string"
},
- "is_active": {
+ "force_ctas_schema": {
+ "description": "When allowing CREATE TABLE AS option in SQL Lab, this option forces the table to be created in this schema",
+ "maxLength": 250,
+ "minLength": 0,
"nullable": true,
- "type": "boolean"
+ "type": "string"
},
- "is_dttm": {
- "nullable": true,
+ "impersonate_user": {
+ "description": "If Presto, all the queries in SQL Lab are going to be executed as the currently logged on user who must have permission to run them. If Hive and hive.server2.enable.doAs is enabled, will run the queries as service account, but impersonate the currently logged on user via hive.server2.proxy.user property.",
"type": "boolean"
},
- "python_date_format": {
- "maxLength": 255,
- "nullable": true,
- "type": "string"
- },
- "type": {
- "maxLength": 32,
+ "is_managed_externally": {
"nullable": true,
- "type": "string"
+ "type": "boolean"
},
- "type_generic": {
- "readOnly": true
+ "parameters": {
+ "additionalProperties": {},
+ "description": "DB-specific parameters for configuration",
+ "type": "object"
},
- "uuid": {
- "format": "uuid",
+ "server_cert": {
+ "description": "Optional CA_BUNDLE contents to validate HTTPS requests. Only available on certain database engines.
",
"nullable": true,
"type": "string"
},
- "verbose_name": {
+ "sqlalchemy_uri": {
+ "description": "Refer to the SqlAlchemy docs for more information on how to structure your URI.
",
"maxLength": 1024,
- "nullable": true,
+ "minLength": 0,
"type": "string"
}
},
- "required": ["column_name"],
"type": "object"
},
- "Meta23": {
+ "DatabaseTestConnectionSchema": {
"properties": {
+ "configuration_method": {
+ "default": "sqlalchemy_form",
+ "description": "Configuration_method is used on the frontend to inform the backend whether to explode parameters or to provide only a sqlalchemy_uri."
+ },
"database_name": {
+ "description": "A database name to identify this connection.",
"maxLength": 250,
+ "minLength": 1,
+ "nullable": true,
"type": "string"
},
- "id": {
- "format": "int32",
- "type": "integer"
- }
- },
- "required": ["database_name"],
- "type": "object"
- },
- "Meta24": {
- "properties": {
- "first_name": {
- "maxLength": 64,
+ "encrypted_extra": {
+ "description": "JSON string containing additional connection configuration. This is used to provide connection information for systems like Hive, Presto, and BigQuery, which do not conform to the username:password syntax normally used by SQLAlchemy.
",
+ "nullable": true,
"type": "string"
},
- "id": {
- "format": "int32",
- "type": "integer"
+ "engine": {
+ "description": "SQLAlchemy engine to use",
+ "nullable": true,
+ "type": "string"
},
- "last_name": {
- "maxLength": 64,
+ "extra": {
+ "description": "JSON string containing extra configuration elements. 1. The engine_params
object gets unpacked into the sqlalchemy.create_engine call, while the metadata_params
gets unpacked into the sqlalchemy.MetaData call. 2. The metadata_cache_timeout
is a cache timeout setting in seconds for metadata fetch of this database. Specify it as \"metadata_cache_timeout\": {\"schema_cache_timeout\": 600, \"table_cache_timeout\": 600} . If unset, cache will not be enabled for the functionality. A timeout of 0 indicates that the cache never expires. 3. The schemas_allowed_for_file_upload
is a comma separated list of schemas that CSVs are allowed to upload to. Specify it as \"schemas_allowed_for_file_upload\": [\"public\", \"csv_upload\"] . If database flavor does not support schema or any schema is allowed to be accessed, just leave the list empty 4. The version
field is a string specifying the this db's version. This should be used with Presto DBs so that the syntax is correct 5. The allows_virtual_table_explore
field is a boolean specifying whether or not the Explore button in SQL Lab results is shown. 6. The disable_data_preview
field is a boolean specifying whether or not data preview queries will be run when fetching table metadata in SQL Lab.
",
"type": "string"
},
- "username": {
- "maxLength": 64,
+ "impersonate_user": {
+ "description": "If Presto, all the queries in SQL Lab are going to be executed as the currently logged on user who must have permission to run them. If Hive and hive.server2.enable.doAs is enabled, will run the queries as service account, but impersonate the currently logged on user via hive.server2.proxy.user property.",
+ "type": "boolean"
+ },
+ "parameters": {
+ "additionalProperties": {},
+ "description": "DB-specific parameters for configuration",
+ "type": "object"
+ },
+ "server_cert": {
+ "description": "Optional CA_BUNDLE contents to validate HTTPS requests. Only available on certain database engines.
",
+ "nullable": true,
+ "type": "string"
+ },
+ "sqlalchemy_uri": {
+ "description": "Refer to the SqlAlchemy docs for more information on how to structure your URI.
",
+ "maxLength": 1024,
+ "minLength": 1,
"type": "string"
}
},
- "required": ["first_name", "last_name", "username"],
"type": "object"
},
- "Meta25": {
+ "DatabaseValidateParametersSchema": {
"properties": {
- "changed_on": {
- "format": "date-time",
+ "configuration_method": {
+ "description": "Configuration_method is used on the frontend to inform the backend whether to explode parameters or to provide only a sqlalchemy_uri."
+ },
+ "database_name": {
+ "description": "A database name to identify this connection.",
+ "maxLength": 250,
+ "minLength": 1,
"nullable": true,
"type": "string"
},
- "created_on": {
- "format": "date-time",
+ "encrypted_extra": {
+ "description": "JSON string containing additional connection configuration. This is used to provide connection information for systems like Hive, Presto, and BigQuery, which do not conform to the username:password syntax normally used by SQLAlchemy.
",
"nullable": true,
"type": "string"
},
- "d3format": {
- "maxLength": 128,
+ "engine": {
+ "description": "SQLAlchemy engine to use",
+ "type": "string"
+ },
+ "extra": {
+ "description": "JSON string containing extra configuration elements. 1. The engine_params
object gets unpacked into the sqlalchemy.create_engine call, while the metadata_params
gets unpacked into the sqlalchemy.MetaData call. 2. The metadata_cache_timeout
is a cache timeout setting in seconds for metadata fetch of this database. Specify it as \"metadata_cache_timeout\": {\"schema_cache_timeout\": 600, \"table_cache_timeout\": 600} . If unset, cache will not be enabled for the functionality. A timeout of 0 indicates that the cache never expires. 3. The schemas_allowed_for_file_upload
is a comma separated list of schemas that CSVs are allowed to upload to. Specify it as \"schemas_allowed_for_file_upload\": [\"public\", \"csv_upload\"] . If database flavor does not support schema or any schema is allowed to be accessed, just leave the list empty 4. The version
field is a string specifying the this db's version. This should be used with Presto DBs so that the syntax is correct 5. The allows_virtual_table_explore
field is a boolean specifying whether or not the Explore button in SQL Lab results is shown. 6. The disable_data_preview
field is a boolean specifying whether or not data preview queries will be run when fetching table metadata in SQL Lab.
",
+ "type": "string"
+ },
+ "impersonate_user": {
+ "description": "If Presto, all the queries in SQL Lab are going to be executed as the currently logged on user who must have permission to run them. If Hive and hive.server2.enable.doAs is enabled, will run the queries as service account, but impersonate the currently logged on user via hive.server2.proxy.user property.",
+ "type": "boolean"
+ },
+ "parameters": {
+ "additionalProperties": {
+ "nullable": true
+ },
+ "description": "DB-specific parameters for configuration",
+ "type": "object"
+ },
+ "server_cert": {
+ "description": "Optional CA_BUNDLE contents to validate HTTPS requests. Only available on certain database engines.
",
"nullable": true,
"type": "string"
+ }
+ },
+ "required": [
+ "configuration_method",
+ "engine"
+ ],
+ "type": "object"
+ },
+ "DatasetColumnsPut": {
+ "properties": {
+ "column_name": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
},
"description": {
"nullable": true,
"type": "string"
},
"expression": {
+ "nullable": true,
"type": "string"
},
"extra": {
"nullable": true,
"type": "string"
},
+ "filterable": {
+ "type": "boolean"
+ },
+ "groupby": {
+ "type": "boolean"
+ },
"id": {
"format": "int32",
"type": "integer"
},
- "metric_name": {
+ "is_active": {
+ "type": "boolean"
+ },
+ "is_dttm": {
+ "type": "boolean"
+ },
+ "python_date_format": {
"maxLength": 255,
+ "minLength": 1,
+ "nullable": true,
"type": "string"
},
- "metric_type": {
- "maxLength": 32,
+ "type": {
"nullable": true,
"type": "string"
},
@@ -3936,51 +4130,34 @@
"type": "string"
},
"verbose_name": {
- "maxLength": 1024,
- "nullable": true,
- "type": "string"
- },
- "warning_text": {
"nullable": true,
"type": "string"
}
},
- "required": ["expression", "metric_name"],
+ "required": [
+ "column_name"
+ ],
"type": "object"
},
- "Meta26": {
+ "DatasetColumnsRestApi.get": {
"properties": {
- "first_name": {
- "maxLength": 64,
- "type": "string"
- },
"id": {
"format": "int32",
"type": "integer"
- },
- "last_name": {
- "maxLength": 64,
- "type": "string"
- },
- "username": {
- "maxLength": 64,
- "type": "string"
}
},
- "required": ["first_name", "last_name", "username"],
"type": "object"
},
- "Meta27": {
+ "DatasetColumnsRestApi.get_list": {
"properties": {
- "database_name": {
- "maxLength": 250,
- "type": "string"
+ "id": {
+ "format": "int32",
+ "type": "integer"
}
},
- "required": ["database_name"],
"type": "object"
},
- "Meta28": {
+ "DatasetColumnsRestApi.post": {
"properties": {
"id": {
"format": "int32",
@@ -3989,334 +4166,279 @@
},
"type": "object"
},
- "Meta29": {
+ "DatasetColumnsRestApi.put": {
"properties": {
- "first_name": {
- "maxLength": 64,
- "type": "string"
- },
"id": {
"format": "int32",
"type": "integer"
- },
- "last_name": {
- "maxLength": 64,
- "type": "string"
}
},
- "required": ["first_name", "last_name"],
"type": "object"
},
- "Meta3": {
+ "DatasetMetricRestApi.get": {
"properties": {
- "first_name": {
- "maxLength": 64,
- "type": "string"
- },
- "last_name": {
- "maxLength": 64,
- "type": "string"
+ "id": {
+ "format": "int32",
+ "type": "integer"
}
},
- "required": ["first_name", "last_name"],
"type": "object"
},
- "Meta30": {
+ "DatasetMetricRestApi.get_list": {
"properties": {
- "database_name": {
- "maxLength": 250,
- "type": "string"
- },
"id": {
"format": "int32",
"type": "integer"
}
},
- "required": ["database_name"],
"type": "object"
},
- "Meta31": {
+ "DatasetMetricRestApi.post": {
"properties": {
- "first_name": {
- "maxLength": 64,
- "type": "string"
- },
"id": {
"format": "int32",
"type": "integer"
- },
- "last_name": {
- "maxLength": 64,
- "type": "string"
}
},
- "required": ["first_name", "last_name"],
"type": "object"
},
- "Meta32": {
+ "DatasetMetricRestApi.put": {
"properties": {
- "database_name": {
- "maxLength": 250,
- "type": "string"
- },
"id": {
"format": "int32",
"type": "integer"
}
},
- "required": ["database_name"],
"type": "object"
},
- "Meta33": {
+ "DatasetMetricsPut": {
"properties": {
- "first_name": {
- "maxLength": 64,
+ "d3format": {
+ "maxLength": 128,
+ "minLength": 1,
+ "nullable": true,
"type": "string"
},
- "last_name": {
- "maxLength": 64,
+ "description": {
+ "nullable": true,
"type": "string"
- }
- },
- "required": ["first_name", "last_name"],
- "type": "object"
- },
- "Meta34": {
- "properties": {
- "first_name": {
- "maxLength": 64,
+ },
+ "expression": {
"type": "string"
},
- "last_name": {
- "maxLength": 64,
+ "extra": {
+ "nullable": true,
"type": "string"
- }
- },
- "required": ["first_name", "last_name"],
- "type": "object"
- },
- "Meta35": {
- "properties": {
+ },
"id": {
"format": "int32",
"type": "integer"
},
- "type": {
- "maxLength": 50,
+ "metric_name": {
+ "maxLength": 255,
+ "minLength": 1,
"type": "string"
- }
- },
- "required": ["type"],
- "type": "object"
- },
- "Meta36": {
- "properties": {
- "first_name": {
- "maxLength": 64,
+ },
+ "metric_type": {
+ "maxLength": 32,
+ "minLength": 1,
+ "nullable": true,
"type": "string"
},
- "id": {
- "format": "int32",
- "type": "integer"
+ "uuid": {
+ "format": "uuid",
+ "nullable": true,
+ "type": "string"
},
- "last_name": {
- "maxLength": 64,
+ "verbose_name": {
+ "nullable": true,
+ "type": "string"
+ },
+ "warning_text": {
+ "nullable": true,
"type": "string"
}
},
- "required": ["first_name", "last_name"],
+ "required": [
+ "expression",
+ "metric_name"
+ ],
"type": "object"
},
- "Meta37": {
+ "DatasetRelatedChart": {
"properties": {
- "database_name": {
- "maxLength": 250,
- "type": "string"
- },
"id": {
"format": "int32",
"type": "integer"
+ },
+ "slice_name": {
+ "type": "string"
+ },
+ "viz_type": {
+ "type": "string"
}
},
- "required": ["database_name"],
"type": "object"
},
- "Meta38": {
+ "DatasetRelatedCharts": {
"properties": {
- "id": {
+ "count": {
+ "description": "Chart count",
"format": "int32",
"type": "integer"
},
- "recipient_config_json": {
- "nullable": true,
- "type": "string"
- },
- "type": {
- "maxLength": 50,
- "type": "string"
+ "result": {
+ "description": "A list of dashboards",
+ "items": {
+ "$ref": "#/components/schemas/DatasetRelatedChart"
+ },
+ "type": "array"
}
},
- "required": ["type"],
"type": "object"
},
- "Meta39": {
+ "DatasetRelatedDashboard": {
"properties": {
- "first_name": {
- "maxLength": 64,
- "type": "string"
- },
"id": {
"format": "int32",
"type": "integer"
},
- "last_name": {
- "maxLength": 64,
- "type": "string"
- }
- },
- "required": ["first_name", "last_name"],
- "type": "object"
- },
- "Meta4": {
- "properties": {
- "first_name": {
- "maxLength": 64,
+ "json_metadata": {
+ "type": "object"
+ },
+ "slug": {
"type": "string"
},
- "last_name": {
- "maxLength": 64,
+ "title": {
"type": "string"
}
},
- "required": ["first_name", "last_name"],
"type": "object"
},
- "Meta40": {
+ "DatasetRelatedDashboards": {
"properties": {
- "id": {
+ "count": {
+ "description": "Dashboard count",
"format": "int32",
"type": "integer"
},
- "slice_name": {
- "maxLength": 250,
- "nullable": true,
- "type": "string"
- },
- "viz_type": {
- "maxLength": 250,
- "nullable": true,
- "type": "string"
+ "result": {
+ "description": "A list of dashboards",
+ "items": {
+ "$ref": "#/components/schemas/DatasetRelatedDashboard"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "Meta41": {
+ "DatasetRelatedObjectsResponse": {
"properties": {
- "dashboard_title": {
- "maxLength": 500,
- "nullable": true,
- "type": "string"
+ "charts": {
+ "$ref": "#/components/schemas/DatasetRelatedCharts"
},
- "id": {
- "format": "int32",
- "type": "integer"
+ "dashboards": {
+ "$ref": "#/components/schemas/DatasetRelatedDashboards"
}
},
"type": "object"
},
- "Meta42": {
+ "DatasetRestApi.get": {
"properties": {
- "username": {
- "maxLength": 64,
+ "cache_timeout": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "columns": {
+ "$ref": "#/components/schemas/DatasetRestApi.get.TableColumn"
+ },
+ "database": {
+ "$ref": "#/components/schemas/DatasetRestApi.get.Database"
+ },
+ "datasource_type": {
+ "readOnly": true
+ },
+ "default_endpoint": {
+ "nullable": true,
"type": "string"
- }
- },
- "required": ["username"],
- "type": "object"
- },
- "Meta43": {
- "properties": {
- "username": {
- "maxLength": 64,
+ },
+ "description": {
+ "nullable": true,
"type": "string"
- }
- },
- "required": ["username"],
- "type": "object"
- },
- "Meta5": {
- "properties": {
- "first_name": {
- "maxLength": 64,
+ },
+ "extra": {
+ "nullable": true,
+ "type": "string"
+ },
+ "fetch_values_predicate": {
+ "nullable": true,
"type": "string"
},
+ "filter_select_enabled": {
+ "nullable": true,
+ "type": "boolean"
+ },
"id": {
"format": "int32",
"type": "integer"
},
- "last_name": {
- "maxLength": 64,
- "type": "string"
- }
- },
- "required": ["first_name", "last_name"],
- "type": "object"
- },
- "Meta6": {
- "properties": {
- "default_endpoint": {
+ "is_sqllab_view": {
"nullable": true,
- "type": "string"
+ "type": "boolean"
},
- "table_name": {
+ "main_dttm_col": {
"maxLength": 250,
- "type": "string"
- }
- },
- "required": ["table_name"],
- "type": "object"
- },
- "Meta7": {
- "properties": {
- "first_name": {
- "maxLength": 64,
+ "nullable": true,
"type": "string"
},
- "id": {
+ "metrics": {
+ "$ref": "#/components/schemas/DatasetRestApi.get.SqlMetric"
+ },
+ "offset": {
"format": "int32",
+ "nullable": true,
"type": "integer"
},
- "last_name": {
- "maxLength": 64,
+ "owners": {
+ "$ref": "#/components/schemas/DatasetRestApi.get.User"
+ },
+ "schema": {
+ "maxLength": 255,
+ "nullable": true,
"type": "string"
},
- "username": {
- "maxLength": 64,
+ "sql": {
+ "nullable": true,
"type": "string"
- }
- },
- "required": ["first_name", "last_name", "username"],
- "type": "object"
- },
- "Meta8": {
- "properties": {
- "first_name": {
- "maxLength": 64,
+ },
+ "table_name": {
+ "maxLength": 250,
"type": "string"
},
- "last_name": {
- "maxLength": 64,
+ "template_params": {
+ "nullable": true,
"type": "string"
+ },
+ "url": {
+ "readOnly": true
}
},
- "required": ["first_name", "last_name"],
+ "required": [
+ "columns",
+ "database",
+ "metrics",
+ "table_name"
+ ],
"type": "object"
},
- "Meta9": {
+ "DatasetRestApi.get.Database": {
"properties": {
- "dashboard_title": {
- "maxLength": 500,
- "nullable": true,
+ "backend": {
+ "readOnly": true
+ },
+ "database_name": {
+ "maxLength": 250,
"type": "string"
},
"id": {
@@ -4324,35 +4446,36 @@
"type": "integer"
}
},
+ "required": [
+ "database_name"
+ ],
"type": "object"
},
- "QueryRestApi.get": {
+ "DatasetRestApi.get.SqlMetric": {
"properties": {
"changed_on": {
"format": "date-time",
"nullable": true,
"type": "string"
},
- "client_id": {
- "maxLength": 11,
+ "created_on": {
+ "format": "date-time",
+ "nullable": true,
"type": "string"
},
- "database": {
- "$ref": "#/components/schemas/Meta28"
- },
- "end_result_backend_time": {
+ "d3format": {
+ "maxLength": 128,
"nullable": true,
- "type": "number"
+ "type": "string"
},
- "end_time": {
+ "description": {
"nullable": true,
- "type": "number"
+ "type": "string"
},
- "error_message": {
- "nullable": true,
+ "expression": {
"type": "string"
},
- "executed_sql": {
+ "extra": {
"nullable": true,
"type": "string"
},
@@ -4360,836 +4483,908 @@
"format": "int32",
"type": "integer"
},
- "limit": {
- "format": "int32",
- "nullable": true,
- "type": "integer"
+ "metric_name": {
+ "maxLength": 255,
+ "type": "string"
},
- "progress": {
- "format": "int32",
+ "metric_type": {
+ "maxLength": 32,
"nullable": true,
- "type": "integer"
+ "type": "string"
},
- "results_key": {
- "maxLength": 64,
+ "uuid": {
+ "format": "uuid",
"nullable": true,
"type": "string"
},
- "rows": {
- "format": "int32",
+ "verbose_name": {
+ "maxLength": 1024,
"nullable": true,
- "type": "integer"
+ "type": "string"
},
- "schema": {
- "maxLength": 256,
+ "warning_text": {
"nullable": true,
"type": "string"
- },
- "select_as_cta": {
+ }
+ },
+ "required": [
+ "expression",
+ "metric_name"
+ ],
+ "type": "object"
+ },
+ "DatasetRestApi.get.TableColumn": {
+ "properties": {
+ "changed_on": {
+ "format": "date-time",
"nullable": true,
- "type": "boolean"
+ "type": "string"
},
- "select_as_cta_used": {
- "nullable": true,
- "type": "boolean"
+ "column_name": {
+ "maxLength": 255,
+ "type": "string"
},
- "select_sql": {
+ "created_on": {
+ "format": "date-time",
"nullable": true,
"type": "string"
},
- "sql": {
+ "description": {
"nullable": true,
"type": "string"
},
- "sql_editor_id": {
- "maxLength": 256,
+ "expression": {
"nullable": true,
"type": "string"
},
- "start_running_time": {
+ "extra": {
"nullable": true,
- "type": "number"
+ "type": "string"
},
- "start_time": {
+ "filterable": {
"nullable": true,
- "type": "number"
+ "type": "boolean"
},
- "status": {
- "maxLength": 16,
+ "groupby": {
"nullable": true,
- "type": "string"
+ "type": "boolean"
},
- "tab_name": {
- "maxLength": 256,
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "is_active": {
+ "nullable": true,
+ "type": "boolean"
+ },
+ "is_dttm": {
+ "nullable": true,
+ "type": "boolean"
+ },
+ "python_date_format": {
+ "maxLength": 255,
"nullable": true,
"type": "string"
},
- "tmp_schema_name": {
- "maxLength": 256,
+ "type": {
"nullable": true,
"type": "string"
},
- "tmp_table_name": {
- "maxLength": 256,
+ "type_generic": {
+ "readOnly": true
+ },
+ "uuid": {
+ "format": "uuid",
"nullable": true,
"type": "string"
},
- "tracking_url": {
+ "verbose_name": {
+ "maxLength": 1024,
"nullable": true,
"type": "string"
}
},
- "required": ["client_id", "database"],
+ "required": [
+ "column_name"
+ ],
"type": "object"
},
- "QueryRestApi.get_list": {
+ "DatasetRestApi.get.User": {
"properties": {
- "changed_on": {
- "format": "date-time",
- "nullable": true,
- "type": "string"
- },
- "database": {
- "$ref": "#/components/schemas/Meta27"
- },
- "end_time": {
- "nullable": true,
- "type": "number"
- },
- "executed_sql": {
- "nullable": true,
+ "first_name": {
+ "maxLength": 64,
"type": "string"
},
"id": {
"format": "int32",
"type": "integer"
},
- "rows": {
- "format": "int32",
- "nullable": true,
- "type": "integer"
- },
- "schema": {
- "maxLength": 256,
- "nullable": true,
+ "last_name": {
+ "maxLength": 64,
"type": "string"
},
- "sql": {
- "nullable": true,
+ "username": {
+ "maxLength": 64,
"type": "string"
+ }
+ },
+ "required": [
+ "first_name",
+ "last_name",
+ "username"
+ ],
+ "type": "object"
+ },
+ "DatasetRestApi.get_list": {
+ "properties": {
+ "changed_by": {
+ "$ref": "#/components/schemas/DatasetRestApi.get_list.User"
},
- "sql_tables": {
+ "changed_by_name": {
"readOnly": true
},
- "start_time": {
- "nullable": true,
- "type": "number"
+ "changed_by_url": {
+ "readOnly": true
},
- "status": {
- "maxLength": 16,
- "nullable": true,
- "type": "string"
+ "changed_on_delta_humanized": {
+ "readOnly": true
},
- "tab_name": {
- "maxLength": 256,
+ "changed_on_utc": {
+ "readOnly": true
+ },
+ "database": {
+ "$ref": "#/components/schemas/DatasetRestApi.get_list.Database"
+ },
+ "datasource_type": {
+ "readOnly": true
+ },
+ "default_endpoint": {
"nullable": true,
"type": "string"
},
- "tmp_table_name": {
- "maxLength": 256,
+ "description": {
"nullable": true,
"type": "string"
},
- "tracking_url": {
+ "explore_url": {
+ "readOnly": true
+ },
+ "extra": {
"nullable": true,
"type": "string"
},
- "user": {
- "$ref": "#/components/schemas/Meta26"
- }
- },
- "required": ["database"],
- "type": "object"
- },
- "QueryRestApi.post": {
- "properties": {
"id": {
"format": "int32",
"type": "integer"
+ },
+ "kind": {
+ "readOnly": true
+ },
+ "owners": {
+ "$ref": "#/components/schemas/DatasetRestApi.get_list.User1"
+ },
+ "schema": {
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "sql": {
+ "nullable": true,
+ "type": "string"
+ },
+ "table_name": {
+ "maxLength": 250,
+ "type": "string"
}
},
+ "required": [
+ "database",
+ "table_name"
+ ],
"type": "object"
},
- "QueryRestApi.put": {
+ "DatasetRestApi.get_list.Database": {
"properties": {
+ "database_name": {
+ "maxLength": 250,
+ "type": "string"
+ },
"id": {
"format": "int32",
"type": "integer"
}
},
+ "required": [
+ "database_name"
+ ],
"type": "object"
},
- "RelatedResponseSchema": {
+ "DatasetRestApi.get_list.User": {
"properties": {
- "count": {
- "description": "The total number of related values",
- "format": "int32",
- "type": "integer"
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
},
- "result": {
- "items": {
- "$ref": "#/components/schemas/RelatedResultResponse"
- },
- "type": "array"
+ "username": {
+ "maxLength": 64,
+ "type": "string"
}
},
+ "required": [
+ "first_name",
+ "username"
+ ],
"type": "object"
},
- "RelatedResultResponse": {
+ "DatasetRestApi.get_list.User1": {
"properties": {
- "text": {
- "description": "The related item string representation",
+ "first_name": {
+ "maxLength": 64,
"type": "string"
},
- "value": {
- "description": "The related item identifier",
+ "id": {
"format": "int32",
"type": "integer"
+ },
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "username": {
+ "maxLength": 64,
+ "type": "string"
}
},
+ "required": [
+ "first_name",
+ "last_name",
+ "username"
+ ],
"type": "object"
},
- "ReportExecutionLogRestApi.get": {
+ "DatasetRestApi.post": {
"properties": {
- "end_dttm": {
- "format": "date-time",
- "nullable": true,
- "type": "string"
- },
- "error_message": {
- "nullable": true,
- "type": "string"
- },
- "id": {
+ "database": {
"format": "int32",
"type": "integer"
},
- "scheduled_dttm": {
- "format": "date-time",
+ "external_url": {
+ "nullable": true,
"type": "string"
},
- "start_dttm": {
- "format": "date-time",
+ "is_managed_externally": {
"nullable": true,
- "type": "string"
+ "type": "boolean"
},
- "state": {
- "maxLength": 50,
- "type": "string"
+ "owners": {
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
},
- "uuid": {
- "format": "uuid",
- "nullable": true,
+ "schema": {
+ "maxLength": 250,
+ "minLength": 0,
"type": "string"
},
- "value": {
- "format": "float",
- "nullable": true,
- "type": "number"
- },
- "value_row_json": {
- "nullable": true,
+ "table_name": {
+ "maxLength": 250,
+ "minLength": 1,
"type": "string"
}
},
- "required": ["scheduled_dttm", "state"],
+ "required": [
+ "database",
+ "table_name"
+ ],
"type": "object"
},
- "ReportExecutionLogRestApi.get_list": {
+ "DatasetRestApi.put": {
"properties": {
- "end_dttm": {
- "format": "date-time",
+ "cache_timeout": {
+ "format": "int32",
"nullable": true,
- "type": "string"
+ "type": "integer"
},
- "error_message": {
- "nullable": true,
- "type": "string"
+ "columns": {
+ "items": {
+ "$ref": "#/components/schemas/DatasetColumnsPut"
+ },
+ "type": "array"
},
- "id": {
+ "database_id": {
"format": "int32",
"type": "integer"
},
- "scheduled_dttm": {
- "format": "date-time",
+ "default_endpoint": {
+ "nullable": true,
"type": "string"
},
- "start_dttm": {
- "format": "date-time",
+ "description": {
"nullable": true,
"type": "string"
},
- "state": {
- "maxLength": 50,
+ "external_url": {
+ "nullable": true,
"type": "string"
},
- "uuid": {
- "format": "uuid",
+ "extra": {
"nullable": true,
"type": "string"
},
- "value": {
- "format": "float",
+ "fetch_values_predicate": {
+ "maxLength": 1000,
+ "minLength": 0,
"nullable": true,
- "type": "number"
+ "type": "string"
},
- "value_row_json": {
+ "filter_select_enabled": {
+ "nullable": true,
+ "type": "boolean"
+ },
+ "is_managed_externally": {
+ "nullable": true,
+ "type": "boolean"
+ },
+ "is_sqllab_view": {
+ "nullable": true,
+ "type": "boolean"
+ },
+ "main_dttm_col": {
+ "nullable": true,
+ "type": "string"
+ },
+ "metrics": {
+ "items": {
+ "$ref": "#/components/schemas/DatasetMetricsPut"
+ },
+ "type": "array"
+ },
+ "offset": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "owners": {
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "schema": {
+ "maxLength": 255,
+ "minLength": 0,
+ "nullable": true,
+ "type": "string"
+ },
+ "sql": {
+ "nullable": true,
+ "type": "string"
+ },
+ "table_name": {
+ "maxLength": 250,
+ "minLength": 1,
+ "nullable": true,
+ "type": "string"
+ },
+ "template_params": {
"nullable": true,
"type": "string"
}
},
- "required": ["scheduled_dttm", "state"],
"type": "object"
},
- "ReportExecutionLogRestApi.post": {
+ "Datasource": {
"properties": {
- "id": {
- "format": "int32",
- "type": "integer"
+ "database_name": {
+ "description": "Datasource name",
+ "type": "string"
+ },
+ "datasource_name": {
+ "description": "The datasource name.",
+ "type": "string"
+ },
+ "datasource_type": {
+ "description": "The type of dataset/datasource identified on `datasource_id`.",
+ "enum": [
+ "druid",
+ "table",
+ "view"
+ ],
+ "type": "string"
+ },
+ "schema": {
+ "description": "Datasource schema",
+ "type": "string"
}
},
+ "required": [
+ "datasource_type"
+ ],
"type": "object"
},
- "ReportExecutionLogRestApi.put": {
+ "DistincResponseSchema": {
"properties": {
- "id": {
+ "count": {
+ "description": "The total number of distinct values",
"format": "int32",
"type": "integer"
+ },
+ "result": {
+ "items": {
+ "$ref": "#/components/schemas/DistinctResultResponse"
+ },
+ "type": "array"
}
},
"type": "object"
},
- "ReportRecipient": {
+ "DistinctResultResponse": {
"properties": {
- "recipient_config_json": {
- "$ref": "#/components/schemas/ReportRecipientConfigJSON"
- },
- "type": {
- "description": "The recipient type, check spec for valid options",
- "enum": ["Email", "Slack"],
+ "text": {
+ "description": "The distinct item",
"type": "string"
}
},
- "required": ["type"],
"type": "object"
},
- "ReportRecipientConfigJSON": {
+ "ExplorePermalinkPostSchema": {
"properties": {
- "target": {
- "type": "string"
+ "formData": {
+ "description": "Chart form data",
+ "type": "object"
+ },
+ "urlParams": {
+ "description": "URL Parameters",
+ "items": {
+ "description": "URL Parameter key-value pair",
+ "nullable": true
+ },
+ "nullable": true,
+ "type": "array"
}
},
+ "required": [
+ "formData"
+ ],
"type": "object"
},
- "ReportScheduleRestApi.get": {
+ "FilterSetRestApi.get": {
"properties": {
- "active": {
+ "dashboard_id": {
+ "format": "int32",
"nullable": true,
- "type": "boolean"
- },
- "chart": {
- "$ref": "#/components/schemas/Meta40"
+ "type": "integer"
},
- "context_markdown": {
+ "description": {
"nullable": true,
"type": "string"
},
- "creation_method": {
- "maxLength": 255,
- "nullable": true,
- "type": "string"
+ "id": {
+ "format": "int32",
+ "type": "integer"
},
- "crontab": {
- "maxLength": 1000,
+ "name": {
+ "maxLength": 500,
"type": "string"
},
- "dashboard": {
- "$ref": "#/components/schemas/Meta41"
- },
- "database": {
- "$ref": "#/components/schemas/Meta37"
+ "owner_id": {
+ "format": "int32",
+ "type": "integer"
},
- "description": {
- "nullable": true,
+ "owner_type": {
+ "maxLength": 255,
"type": "string"
},
- "grace_period": {
+ "params": {
+ "readOnly": true
+ }
+ },
+ "required": [
+ "name",
+ "owner_id",
+ "owner_type"
+ ],
+ "type": "object"
+ },
+ "FilterSetRestApi.get_list": {
+ "properties": {
+ "changed_by_fk": {
"format": "int32",
"nullable": true,
"type": "integer"
},
- "id": {
- "format": "int32",
- "type": "integer"
- },
- "last_eval_dttm": {
+ "changed_on": {
"format": "date-time",
"nullable": true,
"type": "string"
},
- "last_state": {
- "maxLength": 50,
+ "created_by_fk": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "created_on": {
+ "format": "date-time",
"nullable": true,
"type": "string"
},
- "last_value": {
- "format": "float",
+ "dashboard_id": {
+ "format": "int32",
"nullable": true,
- "type": "number"
+ "type": "integer"
},
- "last_value_row_json": {
+ "description": {
"nullable": true,
"type": "string"
},
- "log_retention": {
+ "id": {
"format": "int32",
- "nullable": true,
"type": "integer"
},
"name": {
- "maxLength": 150,
+ "maxLength": 500,
"type": "string"
},
- "owners": {
- "$ref": "#/components/schemas/Meta39"
- },
- "recipients": {
- "$ref": "#/components/schemas/Meta38"
+ "owner_id": {
+ "format": "int32",
+ "type": "integer"
},
- "report_format": {
- "maxLength": 50,
- "nullable": true,
+ "owner_type": {
+ "maxLength": 255,
"type": "string"
},
- "sql": {
+ "params": {
+ "readOnly": true
+ }
+ },
+ "required": [
+ "name",
+ "owner_id",
+ "owner_type"
+ ],
+ "type": "object"
+ },
+ "FilterSetRestApi.post": {
+ "properties": {
+ "description": {
+ "maxLength": 1000,
+ "minLength": 1,
"nullable": true,
"type": "string"
},
- "timezone": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "maxLength": 50,
- "type": "string"
- },
- "validator_config_json": {
- "nullable": true,
+ "json_metadata": {
"type": "string"
},
- "validator_type": {
- "maxLength": 100,
- "nullable": true,
+ "name": {
+ "maxLength": 500,
+ "minLength": 0,
"type": "string"
},
- "working_timeout": {
+ "owner_id": {
"format": "int32",
- "nullable": true,
"type": "integer"
+ },
+ "owner_type": {
+ "enum": [
+ "User",
+ "Dashboard"
+ ],
+ "type": "string"
}
},
- "required": ["crontab", "name", "recipients", "type"],
+ "required": [
+ "json_metadata",
+ "name",
+ "owner_type"
+ ],
"type": "object"
},
- "ReportScheduleRestApi.get_list": {
+ "FilterSetRestApi.put": {
"properties": {
- "active": {
- "nullable": true,
- "type": "boolean"
- },
- "changed_by": {
- "$ref": "#/components/schemas/Meta34"
- },
- "changed_on": {
- "format": "date-time",
- "nullable": true,
+ "description": {
+ "maxLength": 1000,
+ "minLength": 1,
"type": "string"
},
- "changed_on_delta_humanized": {
- "readOnly": true
- },
- "created_by": {
- "$ref": "#/components/schemas/Meta33"
+ "json_metadata": {
+ "type": "string"
},
- "created_on": {
- "format": "date-time",
- "nullable": true,
+ "name": {
+ "maxLength": 500,
+ "minLength": 0,
"type": "string"
},
- "creation_method": {
- "maxLength": 255,
- "nullable": true,
- "type": "string"
- },
- "crontab": {
- "maxLength": 1000,
- "type": "string"
- },
- "crontab_humanized": {
- "readOnly": true
- },
- "description": {
- "nullable": true,
- "type": "string"
- },
- "id": {
- "format": "int32",
- "type": "integer"
- },
- "last_eval_dttm": {
- "format": "date-time",
- "nullable": true,
- "type": "string"
- },
- "last_state": {
- "maxLength": 50,
- "nullable": true,
- "type": "string"
- },
- "name": {
- "maxLength": 150,
- "type": "string"
- },
- "owners": {
- "$ref": "#/components/schemas/Meta36"
- },
- "recipients": {
- "$ref": "#/components/schemas/Meta35"
- },
- "timezone": {
- "maxLength": 100,
- "type": "string"
- },
- "type": {
- "maxLength": 50,
+ "owner_type": {
+ "enum": [
+ "Dashboard"
+ ],
"type": "string"
}
},
- "required": ["crontab", "name", "recipients", "type"],
"type": "object"
},
- "ReportScheduleRestApi.post": {
+ "FormDataPostSchema": {
"properties": {
- "active": {
- "type": "boolean"
- },
- "chart": {
- "format": "int32",
- "nullable": true,
- "type": "integer"
- },
- "context_markdown": {
- "description": "Markdown description",
- "nullable": true,
- "type": "string"
- },
- "creation_method": {
- "description": "Creation method is used to inform the frontend whether the report/alert was created in the dashboard, chart, or alerts and reports UI."
- },
- "crontab": {
- "description": "A CRON expression.[Crontab Guru](https://crontab.guru/) is a helpful resource that can help you craft a CRON expression.",
- "example": "*/5 * * * *",
- "maxLength": 1000,
- "minLength": 1,
- "type": "string"
- },
- "dashboard": {
+ "chart_id": {
+ "description": "The chart ID",
"format": "int32",
- "nullable": true,
"type": "integer"
},
- "database": {
+ "dataset_id": {
+ "description": "The dataset ID",
"format": "int32",
"type": "integer"
},
- "description": {
- "description": "Use a nice description to give context to this Alert/Report",
- "example": "Daily sales dashboard to marketing",
- "nullable": true,
+ "form_data": {
+ "description": "Any type of JSON supported text.",
"type": "string"
- },
- "grace_period": {
- "description": "Once an alert is triggered, how long, in seconds, before Superset nags you again. (in seconds)",
- "example": 14400,
+ }
+ },
+ "required": [
+ "dataset_id",
+ "form_data"
+ ],
+ "type": "object"
+ },
+ "FormDataPutSchema": {
+ "properties": {
+ "chart_id": {
+ "description": "The chart ID",
"format": "int32",
- "minimum": 1,
"type": "integer"
},
- "log_retention": {
- "description": "How long to keep the logs around for this report (in days)",
- "example": 90,
+ "dataset_id": {
+ "description": "The dataset ID",
"format": "int32",
- "minimum": 1,
"type": "integer"
},
- "name": {
- "description": "The report schedule name.",
- "example": "Daily dashboard email",
- "maxLength": 150,
- "minLength": 1,
+ "form_data": {
+ "description": "Any type of JSON supported text.",
"type": "string"
- },
- "owners": {
+ }
+ },
+ "required": [
+ "dataset_id",
+ "form_data"
+ ],
+ "type": "object"
+ },
+ "GetFavStarIdsSchema": {
+ "properties": {
+ "result": {
+ "description": "A list of results for each corresponding chart in the request",
"items": {
- "description": "Owner are users ids allowed to delete or change this report. If left empty you will be one of the owners of the report.",
- "format": "int32",
- "type": "integer"
+ "$ref": "#/components/schemas/ChartFavStarResponseResult"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "GuestTokenCreate": {
+ "properties": {
+ "resources": {
+ "items": {
+ "$ref": "#/components/schemas/Resource"
},
"type": "array"
},
- "recipients": {
+ "rls": {
"items": {
- "$ref": "#/components/schemas/ReportRecipient"
+ "$ref": "#/components/schemas/RlsRule"
},
"type": "array"
},
- "report_format": {
- "enum": ["PNG", "CSV", "TEXT"],
+ "user": {
+ "$ref": "#/components/schemas/User1"
+ }
+ },
+ "required": [
+ "resources",
+ "rls"
+ ],
+ "type": "object"
+ },
+ "LogRestApi.get": {
+ "properties": {
+ "action": {
+ "maxLength": 512,
+ "nullable": true,
"type": "string"
},
- "sql": {
- "description": "A SQL statement that defines whether the alert should get triggered or not. The query is expected to return either NULL or a number value.",
- "example": "SELECT value FROM time_series_table",
+ "dashboard_id": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "dttm": {
+ "format": "date-time",
+ "nullable": true,
"type": "string"
},
- "timezone": {
- "description": "A timezone string that represents the location of the timezone.",
+ "duration_ms": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "json": {
+ "nullable": true,
"type": "string"
},
- "type": {
- "description": "The report schedule type",
- "enum": ["Alert", "Report"],
+ "referrer": {
+ "maxLength": 1024,
+ "nullable": true,
"type": "string"
},
- "validator_config_json": {
- "$ref": "#/components/schemas/ValidatorConfigJSON"
+ "slice_id": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
},
- "validator_type": {
- "description": "Determines when to trigger alert based off value from alert query. Alerts will be triggered with these validator types:\n- Not Null - When the return value is Not NULL, Empty, or 0\n- Operator - When `sql_return_value comparison_operator threshold` is True e.g. `50 <= 75` Supports the comparison operators <, <=, >, >=, ==, and !=",
- "enum": ["not null", "operator"],
- "type": "string"
+ "user": {
+ "$ref": "#/components/schemas/LogRestApi.get.User"
},
- "working_timeout": {
- "description": "If an alert is staled at a working state, how long until it's state is reseted to error",
- "example": 3600,
+ "user_id": {
"format": "int32",
- "minimum": 1,
+ "nullable": true,
"type": "integer"
}
},
- "required": ["crontab", "name", "type"],
"type": "object"
},
- "ReportScheduleRestApi.put": {
+ "LogRestApi.get.User": {
"properties": {
- "active": {
- "type": "boolean"
+ "username": {
+ "maxLength": 64,
+ "type": "string"
+ }
+ },
+ "required": [
+ "username"
+ ],
+ "type": "object"
+ },
+ "LogRestApi.get_list": {
+ "properties": {
+ "action": {
+ "maxLength": 512,
+ "nullable": true,
+ "type": "string"
},
- "chart": {
+ "dashboard_id": {
"format": "int32",
"nullable": true,
"type": "integer"
},
- "context_markdown": {
- "description": "Markdown description",
+ "dttm": {
+ "format": "date-time",
"nullable": true,
"type": "string"
},
- "creation_method": {
- "description": "Creation method is used to inform the frontend whether the report/alert was created in the dashboard, chart, or alerts and reports UI.",
- "nullable": true
- },
- "crontab": {
- "description": "A CRON expression.[Crontab Guru](https://crontab.guru/) is a helpful resource that can help you craft a CRON expression.",
- "maxLength": 1000,
- "minLength": 1,
- "type": "string"
- },
- "dashboard": {
+ "duration_ms": {
"format": "int32",
"nullable": true,
"type": "integer"
},
- "database": {
- "format": "int32",
- "type": "integer"
+ "json": {
+ "nullable": true,
+ "type": "string"
},
- "description": {
- "description": "Use a nice description to give context to this Alert/Report",
- "example": "Daily sales dashboard to marketing",
+ "referrer": {
+ "maxLength": 1024,
"nullable": true,
"type": "string"
},
- "grace_period": {
- "description": "Once an alert is triggered, how long, in seconds, before Superset nags you again. (in seconds)",
- "example": 14400,
+ "slice_id": {
"format": "int32",
- "minimum": 1,
+ "nullable": true,
"type": "integer"
},
- "log_retention": {
- "description": "How long to keep the logs around for this report (in days)",
- "example": 90,
+ "user": {
+ "$ref": "#/components/schemas/LogRestApi.get_list.User"
+ },
+ "user_id": {
"format": "int32",
- "minimum": 1,
+ "nullable": true,
"type": "integer"
- },
- "name": {
- "description": "The report schedule name.",
- "maxLength": 150,
- "minLength": 1,
+ }
+ },
+ "type": "object"
+ },
+ "LogRestApi.get_list.User": {
+ "properties": {
+ "username": {
+ "maxLength": 64,
"type": "string"
- },
- "owners": {
- "items": {
- "description": "Owner are users ids allowed to delete or change this report. If left empty you will be one of the owners of the report.",
- "format": "int32",
- "type": "integer"
- },
- "type": "array"
- },
- "recipients": {
- "items": {
- "$ref": "#/components/schemas/ReportRecipient"
- },
- "type": "array"
- },
- "report_format": {
- "enum": ["PNG", "CSV", "TEXT"],
- "type": "string"
- },
- "sql": {
- "description": "A SQL statement that defines whether the alert should get triggered or not. The query is expected to return either NULL or a number value.",
- "example": "SELECT value FROM time_series_table",
- "nullable": true,
- "type": "string"
- },
- "timezone": {
- "description": "A timezone string that represents the location of the timezone.",
- "type": "string"
- },
- "type": {
- "description": "The report schedule type",
- "enum": ["Alert", "Report"],
- "type": "string"
- },
- "validator_config_json": {
- "$ref": "#/components/schemas/ValidatorConfigJSON"
- },
- "validator_type": {
- "description": "Determines when to trigger alert based off value from alert query. Alerts will be triggered with these validator types:\n- Not Null - When the return value is Not NULL, Empty, or 0\n- Operator - When `sql_return_value comparison_operator threshold` is True e.g. `50 <= 75` Supports the comparison operators <, <=, >, >=, ==, and !=",
- "enum": ["not null", "operator"],
- "nullable": true,
- "type": "string"
- },
- "working_timeout": {
- "description": "If an alert is staled at a working state, how long until it's state is reseted to error",
- "example": 3600,
- "format": "int32",
- "minimum": 1,
- "nullable": true,
- "type": "integer"
}
},
+ "required": [
+ "username"
+ ],
"type": "object"
},
- "Roles": {
+ "LogRestApi.post": {
"properties": {
"id": {
"format": "int32",
"type": "integer"
- },
- "name": {
- "type": "string"
}
},
"type": "object"
},
- "SavedQueryRestApi.get": {
+ "LogRestApi.put": {
"properties": {
- "created_by": {
- "$ref": "#/components/schemas/Meta31"
- },
- "database": {
- "$ref": "#/components/schemas/Meta32"
- },
- "description": {
- "nullable": true,
- "type": "string"
- },
- "id": {
- "format": "int32",
- "type": "integer"
- },
- "label": {
- "maxLength": 256,
+ "action": {
+ "maxLength": 512,
"nullable": true,
"type": "string"
},
- "schema": {
- "maxLength": 128,
+ "dttm": {
+ "format": "date-time",
"nullable": true,
"type": "string"
},
- "sql": {
+ "json": {
"nullable": true,
"type": "string"
},
- "sql_tables": {
- "readOnly": true
+ "user": {
+ "nullable": true
}
},
"type": "object"
},
- "SavedQueryRestApi.get_list": {
+ "QueryRestApi.get": {
"properties": {
- "changed_on_delta_humanized": {
- "readOnly": true
- },
- "created_by": {
- "$ref": "#/components/schemas/Meta29"
- },
- "created_on": {
+ "changed_on": {
"format": "date-time",
"nullable": true,
"type": "string"
},
+ "client_id": {
+ "maxLength": 11,
+ "type": "string"
+ },
"database": {
- "$ref": "#/components/schemas/Meta30"
+ "$ref": "#/components/schemas/QueryRestApi.get.Database"
},
- "db_id": {
- "format": "int32",
+ "end_result_backend_time": {
"nullable": true,
- "type": "integer"
+ "type": "number"
},
- "description": {
+ "end_time": {
+ "nullable": true,
+ "type": "number"
+ },
+ "error_message": {
"nullable": true,
"type": "string"
},
- "extra": {
- "readOnly": true
+ "executed_sql": {
+ "nullable": true,
+ "type": "string"
},
"id": {
"format": "int32",
"type": "integer"
},
- "label": {
- "maxLength": 256,
+ "limit": {
+ "format": "int32",
"nullable": true,
- "type": "string"
+ "type": "integer"
},
- "last_run_delta_humanized": {
- "readOnly": true
+ "progress": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "results_key": {
+ "maxLength": 64,
+ "nullable": true,
+ "type": "string"
},
"rows": {
"format": "int32",
@@ -5197,7 +5392,19 @@
"type": "integer"
},
"schema": {
- "maxLength": 128,
+ "maxLength": 256,
+ "nullable": true,
+ "type": "string"
+ },
+ "select_as_cta": {
+ "nullable": true,
+ "type": "boolean"
+ },
+ "select_as_cta_used": {
+ "nullable": true,
+ "type": "boolean"
+ },
+ "select_sql": {
"nullable": true,
"type": "string"
},
@@ -5205,508 +5412,3271 @@
"nullable": true,
"type": "string"
},
- "sql_tables": {
- "readOnly": true
- }
- },
- "type": "object"
- },
- "SavedQueryRestApi.post": {
- "properties": {
- "db_id": {
- "format": "int32",
+ "sql_editor_id": {
+ "maxLength": 256,
"nullable": true,
- "type": "integer"
+ "type": "string"
},
- "description": {
+ "start_running_time": {
+ "nullable": true,
+ "type": "number"
+ },
+ "start_time": {
+ "nullable": true,
+ "type": "number"
+ },
+ "status": {
+ "maxLength": 16,
"nullable": true,
"type": "string"
},
- "label": {
+ "tab_name": {
"maxLength": 256,
"nullable": true,
"type": "string"
},
- "schema": {
- "maxLength": 128,
+ "tmp_schema_name": {
+ "maxLength": 256,
"nullable": true,
"type": "string"
},
- "sql": {
+ "tmp_table_name": {
+ "maxLength": 256,
+ "nullable": true,
+ "type": "string"
+ },
+ "tracking_url": {
"nullable": true,
"type": "string"
}
},
+ "required": [
+ "client_id",
+ "database"
+ ],
"type": "object"
},
- "SavedQueryRestApi.put": {
+ "QueryRestApi.get.Database": {
"properties": {
- "db_id": {
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "QueryRestApi.get_list": {
+ "properties": {
+ "changed_on": {
+ "format": "date-time",
+ "nullable": true,
+ "type": "string"
+ },
+ "database": {
+ "$ref": "#/components/schemas/QueryRestApi.get_list.Database"
+ },
+ "end_time": {
+ "nullable": true,
+ "type": "number"
+ },
+ "executed_sql": {
+ "nullable": true,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "rows": {
"format": "int32",
"nullable": true,
"type": "integer"
},
- "description": {
+ "schema": {
+ "maxLength": 256,
"nullable": true,
"type": "string"
},
- "label": {
+ "sql": {
+ "nullable": true,
+ "type": "string"
+ },
+ "sql_tables": {
+ "readOnly": true
+ },
+ "start_time": {
+ "nullable": true,
+ "type": "number"
+ },
+ "status": {
+ "maxLength": 16,
+ "nullable": true,
+ "type": "string"
+ },
+ "tab_name": {
"maxLength": 256,
"nullable": true,
"type": "string"
},
- "schema": {
- "maxLength": 128,
+ "tmp_table_name": {
+ "maxLength": 256,
"nullable": true,
"type": "string"
},
- "sql": {
+ "tracking_url": {
"nullable": true,
"type": "string"
+ },
+ "user": {
+ "$ref": "#/components/schemas/QueryRestApi.get_list.User"
}
},
+ "required": [
+ "database"
+ ],
"type": "object"
},
- "SchemasResponseSchema": {
+ "QueryRestApi.get_list.Database": {
"properties": {
- "result": {
- "items": {
- "description": "A database schema name",
- "type": "string"
- },
- "type": "array"
+ "database_name": {
+ "maxLength": 250,
+ "type": "string"
}
},
+ "required": [
+ "database_name"
+ ],
"type": "object"
},
- "SelectStarResponseSchema": {
+ "QueryRestApi.get_list.User": {
"properties": {
- "result": {
- "description": "SQL select star",
- "type": "string"
- }
- },
- "type": "object"
- },
- "TableMetadataColumnsResponse": {
- "properties": {
- "duplicates_constraint": {
+ "first_name": {
+ "maxLength": 64,
"type": "string"
},
- "keys": {
- "description": "",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "longType": {
- "description": "The actual backend long type for the column",
- "type": "string"
+ "id": {
+ "format": "int32",
+ "type": "integer"
},
- "name": {
- "description": "The column name",
+ "last_name": {
+ "maxLength": 64,
"type": "string"
},
- "type": {
- "description": "The column type",
+ "username": {
+ "maxLength": 64,
"type": "string"
}
},
+ "required": [
+ "first_name",
+ "last_name",
+ "username"
+ ],
"type": "object"
},
- "TableMetadataForeignKeysIndexesResponse": {
+ "QueryRestApi.post": {
"properties": {
- "column_names": {
- "items": {
- "description": "A list of column names that compose the foreign key or index",
- "type": "string"
- },
- "type": "array"
- },
- "name": {
- "description": "The name of the foreign key or index",
- "type": "string"
- },
- "options": {
- "$ref": "#/components/schemas/TableMetadataOptionsResponse"
- },
- "referred_columns": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "referred_schema": {
- "type": "string"
- },
- "referred_table": {
- "type": "string"
- },
- "type": {
- "type": "string"
+ "id": {
+ "format": "int32",
+ "type": "integer"
}
},
"type": "object"
},
- "TableMetadataOptionsResponse": {
+ "QueryRestApi.put": {
"properties": {
- "deferrable": {
- "type": "boolean"
- },
- "initially": {
- "type": "boolean"
- },
- "match": {
- "type": "boolean"
- },
- "ondelete": {
- "type": "boolean"
- },
- "onupdate": {
- "type": "boolean"
+ "id": {
+ "format": "int32",
+ "type": "integer"
}
},
"type": "object"
},
- "TableMetadataPrimaryKeyResponse": {
+ "RelatedResponseSchema": {
"properties": {
- "column_names": {
+ "count": {
+ "description": "The total number of related values",
+ "format": "int32",
+ "type": "integer"
+ },
+ "result": {
"items": {
- "description": "A list of column names that compose the primary key",
- "type": "string"
+ "$ref": "#/components/schemas/RelatedResultResponse"
},
"type": "array"
- },
- "name": {
- "description": "The primary key index name",
+ }
+ },
+ "type": "object"
+ },
+ "RelatedResultResponse": {
+ "properties": {
+ "text": {
+ "description": "The related item string representation",
"type": "string"
},
- "type": {
- "type": "string"
+ "value": {
+ "description": "The related item identifier",
+ "format": "int32",
+ "type": "integer"
}
},
"type": "object"
},
- "TableMetadataResponseSchema": {
+ "ReportExecutionLogRestApi.get": {
"properties": {
- "columns": {
- "description": "A list of columns and their metadata",
- "items": {
- "$ref": "#/components/schemas/TableMetadataColumnsResponse"
- },
- "type": "array"
+ "end_dttm": {
+ "format": "date-time",
+ "nullable": true,
+ "type": "string"
},
- "foreignKeys": {
- "description": "A list of foreign keys and their metadata",
- "items": {
- "$ref": "#/components/schemas/TableMetadataForeignKeysIndexesResponse"
- },
- "type": "array"
+ "error_message": {
+ "nullable": true,
+ "type": "string"
},
- "indexes": {
- "description": "A list of indexes and their metadata",
- "items": {
- "$ref": "#/components/schemas/TableMetadataForeignKeysIndexesResponse"
- },
- "type": "array"
+ "id": {
+ "format": "int32",
+ "type": "integer"
},
- "name": {
- "description": "The name of the table",
+ "scheduled_dttm": {
+ "format": "date-time",
"type": "string"
},
- "primaryKey": {
- "allOf": [
- {
- "$ref": "#/components/schemas/TableMetadataPrimaryKeyResponse"
- }
- ],
- "description": "Primary keys metadata"
+ "start_dttm": {
+ "format": "date-time",
+ "nullable": true,
+ "type": "string"
},
- "selectStar": {
- "description": "SQL select star",
+ "state": {
+ "maxLength": 50,
+ "type": "string"
+ },
+ "uuid": {
+ "format": "uuid",
+ "nullable": true,
+ "type": "string"
+ },
+ "value": {
+ "format": "float",
+ "nullable": true,
+ "type": "number"
+ },
+ "value_row_json": {
+ "nullable": true,
"type": "string"
}
},
+ "required": [
+ "scheduled_dttm",
+ "state"
+ ],
"type": "object"
},
- "User": {
+ "ReportExecutionLogRestApi.get_list": {
"properties": {
- "first_name": {
+ "end_dttm": {
+ "format": "date-time",
+ "nullable": true,
+ "type": "string"
+ },
+ "error_message": {
+ "nullable": true,
"type": "string"
},
"id": {
"format": "int32",
"type": "integer"
},
- "last_name": {
+ "scheduled_dttm": {
+ "format": "date-time",
"type": "string"
},
- "username": {
+ "start_dttm": {
+ "format": "date-time",
+ "nullable": true,
+ "type": "string"
+ },
+ "state": {
+ "maxLength": 50,
+ "type": "string"
+ },
+ "uuid": {
+ "format": "uuid",
+ "nullable": true,
+ "type": "string"
+ },
+ "value": {
+ "format": "float",
+ "nullable": true,
+ "type": "number"
+ },
+ "value_row_json": {
+ "nullable": true,
"type": "string"
}
},
+ "required": [
+ "scheduled_dttm",
+ "state"
+ ],
"type": "object"
},
- "ValidatorConfigJSON": {
+ "ReportExecutionLogRestApi.post": {
"properties": {
- "op": {
- "description": "The operation to compare with a threshold to apply to the SQL output\n",
- "enum": ["<", "<=", ">", ">=", "==", "!="],
- "type": "string"
- },
- "threshold": {
+ "id": {
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
- "database_schemas_query_schema": {
+ "ReportExecutionLogRestApi.put": {
"properties": {
- "force": {
- "type": "boolean"
+ "id": {
+ "format": "int32",
+ "type": "integer"
}
},
"type": "object"
},
- "get_delete_ids_schema": {
- "items": {
- "type": "integer"
+ "ReportRecipient": {
+ "properties": {
+ "recipient_config_json": {
+ "$ref": "#/components/schemas/ReportRecipientConfigJSON"
+ },
+ "type": {
+ "description": "The recipient type, check spec for valid options",
+ "enum": [
+ "Email",
+ "Slack"
+ ],
+ "type": "string"
+ }
},
- "type": "array"
+ "required": [
+ "type"
+ ],
+ "type": "object"
},
- "get_export_ids_schema": {
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "get_fav_star_ids_schema": {
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- "get_info_schema": {
+ "ReportRecipientConfigJSON": {
"properties": {
- "add_columns": {
- "additionalProperties": {
- "properties": {
- "page": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "type": "object"
- },
- "edit_columns": {
- "additionalProperties": {
- "properties": {
- "page": {
- "type": "integer"
- },
- "page_size": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "type": "object"
- },
- "keys": {
- "items": {
- "enum": [
- "add_columns",
- "edit_columns",
- "filters",
- "permissions",
- "add_title",
- "edit_title",
- "none"
- ],
- "type": "string"
- },
- "type": "array"
+ "target": {
+ "type": "string"
}
},
"type": "object"
},
- "get_item_schema": {
+ "ReportScheduleRestApi.get": {
"properties": {
- "columns": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "active": {
+ "nullable": true,
+ "type": "boolean"
},
- "keys": {
- "items": {
- "enum": [
- "show_columns",
- "description_columns",
- "label_columns",
- "show_title",
- "none"
- ],
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "get_list_schema": {
- "properties": {
- "columns": {
- "items": {
- "type": "string"
- },
- "type": "array"
+ "chart": {
+ "$ref": "#/components/schemas/ReportScheduleRestApi.get.Slice"
},
- "filters": {
- "items": {
- "properties": {
- "col": {
- "type": "string"
- },
- "opr": {
- "type": "string"
- },
- "value": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "string"
- },
- {
- "type": "boolean"
- },
- {
- "type": "array"
- }
- ]
- }
- },
- "required": ["col", "opr", "value"],
- "type": "object"
- },
- "type": "array"
+ "context_markdown": {
+ "nullable": true,
+ "type": "string"
},
- "keys": {
- "items": {
- "enum": [
- "list_columns",
- "order_columns",
- "label_columns",
- "description_columns",
- "list_title",
- "none"
- ],
- "type": "string"
- },
- "type": "array"
+ "creation_method": {
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
},
- "order_column": {
+ "crontab": {
+ "maxLength": 1000,
"type": "string"
},
- "order_direction": {
- "enum": ["asc", "desc"],
+ "dashboard": {
+ "$ref": "#/components/schemas/ReportScheduleRestApi.get.Dashboard"
+ },
+ "database": {
+ "$ref": "#/components/schemas/ReportScheduleRestApi.get.Database"
+ },
+ "description": {
+ "nullable": true,
"type": "string"
},
- "page": {
+ "force_screenshot": {
+ "nullable": true,
+ "type": "boolean"
+ },
+ "grace_period": {
+ "format": "int32",
+ "nullable": true,
"type": "integer"
},
- "page_size": {
+ "id": {
+ "format": "int32",
"type": "integer"
- }
- },
- "type": "object"
- },
- "get_related_schema": {
- "properties": {
- "filter": {
+ },
+ "last_eval_dttm": {
+ "format": "date-time",
+ "nullable": true,
"type": "string"
},
- "include_ids": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "last_state": {
+ "maxLength": 50,
+ "nullable": true,
+ "type": "string"
},
- "page": {
+ "last_value": {
+ "format": "float",
+ "nullable": true,
+ "type": "number"
+ },
+ "last_value_row_json": {
+ "nullable": true,
+ "type": "string"
+ },
+ "log_retention": {
+ "format": "int32",
+ "nullable": true,
"type": "integer"
},
- "page_size": {
+ "name": {
+ "maxLength": 150,
+ "type": "string"
+ },
+ "owners": {
+ "$ref": "#/components/schemas/ReportScheduleRestApi.get.User"
+ },
+ "recipients": {
+ "$ref": "#/components/schemas/ReportScheduleRestApi.get.ReportRecipients"
+ },
+ "report_format": {
+ "maxLength": 50,
+ "nullable": true,
+ "type": "string"
+ },
+ "sql": {
+ "nullable": true,
+ "type": "string"
+ },
+ "timezone": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "type": {
+ "maxLength": 50,
+ "type": "string"
+ },
+ "validator_config_json": {
+ "nullable": true,
+ "type": "string"
+ },
+ "validator_type": {
+ "maxLength": 100,
+ "nullable": true,
+ "type": "string"
+ },
+ "working_timeout": {
+ "format": "int32",
+ "nullable": true,
"type": "integer"
}
},
+ "required": [
+ "crontab",
+ "name",
+ "recipients",
+ "type"
+ ],
"type": "object"
},
- "screenshot_query_schema": {
+ "ReportScheduleRestApi.get.Dashboard": {
"properties": {
- "force": {
- "type": "boolean"
- },
- "thumb_size": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "dashboard_title": {
+ "maxLength": 500,
+ "nullable": true,
+ "type": "string"
},
- "window_size": {
- "items": {
- "type": "integer"
- },
- "type": "array"
+ "id": {
+ "format": "int32",
+ "type": "integer"
}
},
"type": "object"
},
- "thumbnail_query_schema": {
+ "ReportScheduleRestApi.get.Database": {
"properties": {
- "force": {
- "type": "boolean"
- }
- },
- "type": "object"
+ "database_name": {
+ "maxLength": 250,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "database_name"
+ ],
+ "type": "object"
+ },
+ "ReportScheduleRestApi.get.ReportRecipients": {
+ "properties": {
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "recipient_config_json": {
+ "nullable": true,
+ "type": "string"
+ },
+ "type": {
+ "maxLength": 50,
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ "ReportScheduleRestApi.get.Slice": {
+ "properties": {
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "slice_name": {
+ "maxLength": 250,
+ "nullable": true,
+ "type": "string"
+ },
+ "viz_type": {
+ "maxLength": 250,
+ "nullable": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ReportScheduleRestApi.get.User": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
+ }
+ },
+ "required": [
+ "first_name",
+ "last_name"
+ ],
+ "type": "object"
+ },
+ "ReportScheduleRestApi.get_list": {
+ "properties": {
+ "active": {
+ "nullable": true,
+ "type": "boolean"
+ },
+ "changed_by": {
+ "$ref": "#/components/schemas/ReportScheduleRestApi.get_list.User"
+ },
+ "changed_on": {
+ "format": "date-time",
+ "nullable": true,
+ "type": "string"
+ },
+ "changed_on_delta_humanized": {
+ "readOnly": true
+ },
+ "created_by": {
+ "$ref": "#/components/schemas/ReportScheduleRestApi.get_list.User1"
+ },
+ "created_on": {
+ "format": "date-time",
+ "nullable": true,
+ "type": "string"
+ },
+ "creation_method": {
+ "maxLength": 255,
+ "nullable": true,
+ "type": "string"
+ },
+ "crontab": {
+ "maxLength": 1000,
+ "type": "string"
+ },
+ "crontab_humanized": {
+ "readOnly": true
+ },
+ "description": {
+ "nullable": true,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "last_eval_dttm": {
+ "format": "date-time",
+ "nullable": true,
+ "type": "string"
+ },
+ "last_state": {
+ "maxLength": 50,
+ "nullable": true,
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 150,
+ "type": "string"
+ },
+ "owners": {
+ "$ref": "#/components/schemas/ReportScheduleRestApi.get_list.User2"
+ },
+ "recipients": {
+ "$ref": "#/components/schemas/ReportScheduleRestApi.get_list.ReportRecipients"
+ },
+ "timezone": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "type": {
+ "maxLength": 50,
+ "type": "string"
+ }
+ },
+ "required": [
+ "crontab",
+ "name",
+ "recipients",
+ "type"
+ ],
+ "type": "object"
+ },
+ "ReportScheduleRestApi.get_list.ReportRecipients": {
+ "properties": {
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": {
+ "maxLength": 50,
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ "ReportScheduleRestApi.get_list.User": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
+ }
+ },
+ "required": [
+ "first_name",
+ "last_name"
+ ],
+ "type": "object"
+ },
+ "ReportScheduleRestApi.get_list.User1": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
+ }
+ },
+ "required": [
+ "first_name",
+ "last_name"
+ ],
+ "type": "object"
+ },
+ "ReportScheduleRestApi.get_list.User2": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
+ }
+ },
+ "required": [
+ "first_name",
+ "last_name"
+ ],
+ "type": "object"
+ },
+ "ReportScheduleRestApi.post": {
+ "properties": {
+ "active": {
+ "type": "boolean"
+ },
+ "chart": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "context_markdown": {
+ "description": "Markdown description",
+ "nullable": true,
+ "type": "string"
+ },
+ "creation_method": {
+ "description": "Creation method is used to inform the frontend whether the report/alert was created in the dashboard, chart, or alerts and reports UI."
+ },
+ "crontab": {
+ "description": "A CRON expression.[Crontab Guru](https://crontab.guru/) is a helpful resource that can help you craft a CRON expression.",
+ "example": "*/5 * * * *",
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "dashboard": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "database": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "description": {
+ "description": "Use a nice description to give context to this Alert/Report",
+ "example": "Daily sales dashboard to marketing",
+ "nullable": true,
+ "type": "string"
+ },
+ "extra": {
+ "type": "object"
+ },
+ "force_screenshot": {
+ "type": "boolean"
+ },
+ "grace_period": {
+ "description": "Once an alert is triggered, how long, in seconds, before Superset nags you again. (in seconds)",
+ "example": 14400,
+ "format": "int32",
+ "minimum": 1,
+ "type": "integer"
+ },
+ "log_retention": {
+ "description": "How long to keep the logs around for this report (in days)",
+ "example": 90,
+ "format": "int32",
+ "minimum": 1,
+ "type": "integer"
+ },
+ "name": {
+ "description": "The report schedule name.",
+ "example": "Daily dashboard email",
+ "maxLength": 150,
+ "minLength": 1,
+ "type": "string"
+ },
+ "owners": {
+ "items": {
+ "description": "Owner are users ids allowed to delete or change this report. If left empty you will be one of the owners of the report.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "recipients": {
+ "items": {
+ "$ref": "#/components/schemas/ReportRecipient"
+ },
+ "type": "array"
+ },
+ "report_format": {
+ "enum": [
+ "PNG",
+ "CSV",
+ "TEXT"
+ ],
+ "type": "string"
+ },
+ "selected_tabs": {
+ "items": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "nullable": true,
+ "type": "array"
+ },
+ "sql": {
+ "description": "A SQL statement that defines whether the alert should get triggered or not. The query is expected to return either NULL or a number value.",
+ "example": "SELECT value FROM time_series_table",
+ "type": "string"
+ },
+ "timezone": {
+ "description": "A timezone string that represents the location of the timezone.",
+ "enum": [
+ "Africa/Abidjan",
+ "Africa/Accra",
+ "Africa/Addis_Ababa",
+ "Africa/Algiers",
+ "Africa/Asmara",
+ "Africa/Asmera",
+ "Africa/Bamako",
+ "Africa/Bangui",
+ "Africa/Banjul",
+ "Africa/Bissau",
+ "Africa/Blantyre",
+ "Africa/Brazzaville",
+ "Africa/Bujumbura",
+ "Africa/Cairo",
+ "Africa/Casablanca",
+ "Africa/Ceuta",
+ "Africa/Conakry",
+ "Africa/Dakar",
+ "Africa/Dar_es_Salaam",
+ "Africa/Djibouti",
+ "Africa/Douala",
+ "Africa/El_Aaiun",
+ "Africa/Freetown",
+ "Africa/Gaborone",
+ "Africa/Harare",
+ "Africa/Johannesburg",
+ "Africa/Juba",
+ "Africa/Kampala",
+ "Africa/Khartoum",
+ "Africa/Kigali",
+ "Africa/Kinshasa",
+ "Africa/Lagos",
+ "Africa/Libreville",
+ "Africa/Lome",
+ "Africa/Luanda",
+ "Africa/Lubumbashi",
+ "Africa/Lusaka",
+ "Africa/Malabo",
+ "Africa/Maputo",
+ "Africa/Maseru",
+ "Africa/Mbabane",
+ "Africa/Mogadishu",
+ "Africa/Monrovia",
+ "Africa/Nairobi",
+ "Africa/Ndjamena",
+ "Africa/Niamey",
+ "Africa/Nouakchott",
+ "Africa/Ouagadougou",
+ "Africa/Porto-Novo",
+ "Africa/Sao_Tome",
+ "Africa/Timbuktu",
+ "Africa/Tripoli",
+ "Africa/Tunis",
+ "Africa/Windhoek",
+ "America/Adak",
+ "America/Anchorage",
+ "America/Anguilla",
+ "America/Antigua",
+ "America/Araguaina",
+ "America/Argentina/Buenos_Aires",
+ "America/Argentina/Catamarca",
+ "America/Argentina/ComodRivadavia",
+ "America/Argentina/Cordoba",
+ "America/Argentina/Jujuy",
+ "America/Argentina/La_Rioja",
+ "America/Argentina/Mendoza",
+ "America/Argentina/Rio_Gallegos",
+ "America/Argentina/Salta",
+ "America/Argentina/San_Juan",
+ "America/Argentina/San_Luis",
+ "America/Argentina/Tucuman",
+ "America/Argentina/Ushuaia",
+ "America/Aruba",
+ "America/Asuncion",
+ "America/Atikokan",
+ "America/Atka",
+ "America/Bahia",
+ "America/Bahia_Banderas",
+ "America/Barbados",
+ "America/Belem",
+ "America/Belize",
+ "America/Blanc-Sablon",
+ "America/Boa_Vista",
+ "America/Bogota",
+ "America/Boise",
+ "America/Buenos_Aires",
+ "America/Cambridge_Bay",
+ "America/Campo_Grande",
+ "America/Cancun",
+ "America/Caracas",
+ "America/Catamarca",
+ "America/Cayenne",
+ "America/Cayman",
+ "America/Chicago",
+ "America/Chihuahua",
+ "America/Coral_Harbour",
+ "America/Cordoba",
+ "America/Costa_Rica",
+ "America/Creston",
+ "America/Cuiaba",
+ "America/Curacao",
+ "America/Danmarkshavn",
+ "America/Dawson",
+ "America/Dawson_Creek",
+ "America/Denver",
+ "America/Detroit",
+ "America/Dominica",
+ "America/Edmonton",
+ "America/Eirunepe",
+ "America/El_Salvador",
+ "America/Ensenada",
+ "America/Fort_Nelson",
+ "America/Fort_Wayne",
+ "America/Fortaleza",
+ "America/Glace_Bay",
+ "America/Godthab",
+ "America/Goose_Bay",
+ "America/Grand_Turk",
+ "America/Grenada",
+ "America/Guadeloupe",
+ "America/Guatemala",
+ "America/Guayaquil",
+ "America/Guyana",
+ "America/Halifax",
+ "America/Havana",
+ "America/Hermosillo",
+ "America/Indiana/Indianapolis",
+ "America/Indiana/Knox",
+ "America/Indiana/Marengo",
+ "America/Indiana/Petersburg",
+ "America/Indiana/Tell_City",
+ "America/Indiana/Vevay",
+ "America/Indiana/Vincennes",
+ "America/Indiana/Winamac",
+ "America/Indianapolis",
+ "America/Inuvik",
+ "America/Iqaluit",
+ "America/Jamaica",
+ "America/Jujuy",
+ "America/Juneau",
+ "America/Kentucky/Louisville",
+ "America/Kentucky/Monticello",
+ "America/Knox_IN",
+ "America/Kralendijk",
+ "America/La_Paz",
+ "America/Lima",
+ "America/Los_Angeles",
+ "America/Louisville",
+ "America/Lower_Princes",
+ "America/Maceio",
+ "America/Managua",
+ "America/Manaus",
+ "America/Marigot",
+ "America/Martinique",
+ "America/Matamoros",
+ "America/Mazatlan",
+ "America/Mendoza",
+ "America/Menominee",
+ "America/Merida",
+ "America/Metlakatla",
+ "America/Mexico_City",
+ "America/Miquelon",
+ "America/Moncton",
+ "America/Monterrey",
+ "America/Montevideo",
+ "America/Montreal",
+ "America/Montserrat",
+ "America/Nassau",
+ "America/New_York",
+ "America/Nipigon",
+ "America/Nome",
+ "America/Noronha",
+ "America/North_Dakota/Beulah",
+ "America/North_Dakota/Center",
+ "America/North_Dakota/New_Salem",
+ "America/Nuuk",
+ "America/Ojinaga",
+ "America/Panama",
+ "America/Pangnirtung",
+ "America/Paramaribo",
+ "America/Phoenix",
+ "America/Port-au-Prince",
+ "America/Port_of_Spain",
+ "America/Porto_Acre",
+ "America/Porto_Velho",
+ "America/Puerto_Rico",
+ "America/Punta_Arenas",
+ "America/Rainy_River",
+ "America/Rankin_Inlet",
+ "America/Recife",
+ "America/Regina",
+ "America/Resolute",
+ "America/Rio_Branco",
+ "America/Rosario",
+ "America/Santa_Isabel",
+ "America/Santarem",
+ "America/Santiago",
+ "America/Santo_Domingo",
+ "America/Sao_Paulo",
+ "America/Scoresbysund",
+ "America/Shiprock",
+ "America/Sitka",
+ "America/St_Barthelemy",
+ "America/St_Johns",
+ "America/St_Kitts",
+ "America/St_Lucia",
+ "America/St_Thomas",
+ "America/St_Vincent",
+ "America/Swift_Current",
+ "America/Tegucigalpa",
+ "America/Thule",
+ "America/Thunder_Bay",
+ "America/Tijuana",
+ "America/Toronto",
+ "America/Tortola",
+ "America/Vancouver",
+ "America/Virgin",
+ "America/Whitehorse",
+ "America/Winnipeg",
+ "America/Yakutat",
+ "America/Yellowknife",
+ "Antarctica/Casey",
+ "Antarctica/Davis",
+ "Antarctica/DumontDUrville",
+ "Antarctica/Macquarie",
+ "Antarctica/Mawson",
+ "Antarctica/McMurdo",
+ "Antarctica/Palmer",
+ "Antarctica/Rothera",
+ "Antarctica/South_Pole",
+ "Antarctica/Syowa",
+ "Antarctica/Troll",
+ "Antarctica/Vostok",
+ "Arctic/Longyearbyen",
+ "Asia/Aden",
+ "Asia/Almaty",
+ "Asia/Amman",
+ "Asia/Anadyr",
+ "Asia/Aqtau",
+ "Asia/Aqtobe",
+ "Asia/Ashgabat",
+ "Asia/Ashkhabad",
+ "Asia/Atyrau",
+ "Asia/Baghdad",
+ "Asia/Bahrain",
+ "Asia/Baku",
+ "Asia/Bangkok",
+ "Asia/Barnaul",
+ "Asia/Beirut",
+ "Asia/Bishkek",
+ "Asia/Brunei",
+ "Asia/Calcutta",
+ "Asia/Chita",
+ "Asia/Choibalsan",
+ "Asia/Chongqing",
+ "Asia/Chungking",
+ "Asia/Colombo",
+ "Asia/Dacca",
+ "Asia/Damascus",
+ "Asia/Dhaka",
+ "Asia/Dili",
+ "Asia/Dubai",
+ "Asia/Dushanbe",
+ "Asia/Famagusta",
+ "Asia/Gaza",
+ "Asia/Harbin",
+ "Asia/Hebron",
+ "Asia/Ho_Chi_Minh",
+ "Asia/Hong_Kong",
+ "Asia/Hovd",
+ "Asia/Irkutsk",
+ "Asia/Istanbul",
+ "Asia/Jakarta",
+ "Asia/Jayapura",
+ "Asia/Jerusalem",
+ "Asia/Kabul",
+ "Asia/Kamchatka",
+ "Asia/Karachi",
+ "Asia/Kashgar",
+ "Asia/Kathmandu",
+ "Asia/Katmandu",
+ "Asia/Khandyga",
+ "Asia/Kolkata",
+ "Asia/Krasnoyarsk",
+ "Asia/Kuala_Lumpur",
+ "Asia/Kuching",
+ "Asia/Kuwait",
+ "Asia/Macao",
+ "Asia/Macau",
+ "Asia/Magadan",
+ "Asia/Makassar",
+ "Asia/Manila",
+ "Asia/Muscat",
+ "Asia/Nicosia",
+ "Asia/Novokuznetsk",
+ "Asia/Novosibirsk",
+ "Asia/Omsk",
+ "Asia/Oral",
+ "Asia/Phnom_Penh",
+ "Asia/Pontianak",
+ "Asia/Pyongyang",
+ "Asia/Qatar",
+ "Asia/Qostanay",
+ "Asia/Qyzylorda",
+ "Asia/Rangoon",
+ "Asia/Riyadh",
+ "Asia/Saigon",
+ "Asia/Sakhalin",
+ "Asia/Samarkand",
+ "Asia/Seoul",
+ "Asia/Shanghai",
+ "Asia/Singapore",
+ "Asia/Srednekolymsk",
+ "Asia/Taipei",
+ "Asia/Tashkent",
+ "Asia/Tbilisi",
+ "Asia/Tehran",
+ "Asia/Tel_Aviv",
+ "Asia/Thimbu",
+ "Asia/Thimphu",
+ "Asia/Tokyo",
+ "Asia/Tomsk",
+ "Asia/Ujung_Pandang",
+ "Asia/Ulaanbaatar",
+ "Asia/Ulan_Bator",
+ "Asia/Urumqi",
+ "Asia/Ust-Nera",
+ "Asia/Vientiane",
+ "Asia/Vladivostok",
+ "Asia/Yakutsk",
+ "Asia/Yangon",
+ "Asia/Yekaterinburg",
+ "Asia/Yerevan",
+ "Atlantic/Azores",
+ "Atlantic/Bermuda",
+ "Atlantic/Canary",
+ "Atlantic/Cape_Verde",
+ "Atlantic/Faeroe",
+ "Atlantic/Faroe",
+ "Atlantic/Jan_Mayen",
+ "Atlantic/Madeira",
+ "Atlantic/Reykjavik",
+ "Atlantic/South_Georgia",
+ "Atlantic/St_Helena",
+ "Atlantic/Stanley",
+ "Australia/ACT",
+ "Australia/Adelaide",
+ "Australia/Brisbane",
+ "Australia/Broken_Hill",
+ "Australia/Canberra",
+ "Australia/Currie",
+ "Australia/Darwin",
+ "Australia/Eucla",
+ "Australia/Hobart",
+ "Australia/LHI",
+ "Australia/Lindeman",
+ "Australia/Lord_Howe",
+ "Australia/Melbourne",
+ "Australia/NSW",
+ "Australia/North",
+ "Australia/Perth",
+ "Australia/Queensland",
+ "Australia/South",
+ "Australia/Sydney",
+ "Australia/Tasmania",
+ "Australia/Victoria",
+ "Australia/West",
+ "Australia/Yancowinna",
+ "Brazil/Acre",
+ "Brazil/DeNoronha",
+ "Brazil/East",
+ "Brazil/West",
+ "CET",
+ "CST6CDT",
+ "Canada/Atlantic",
+ "Canada/Central",
+ "Canada/Eastern",
+ "Canada/Mountain",
+ "Canada/Newfoundland",
+ "Canada/Pacific",
+ "Canada/Saskatchewan",
+ "Canada/Yukon",
+ "Chile/Continental",
+ "Chile/EasterIsland",
+ "Cuba",
+ "EET",
+ "EST",
+ "EST5EDT",
+ "Egypt",
+ "Eire",
+ "Etc/GMT",
+ "Etc/GMT+0",
+ "Etc/GMT+1",
+ "Etc/GMT+10",
+ "Etc/GMT+11",
+ "Etc/GMT+12",
+ "Etc/GMT+2",
+ "Etc/GMT+3",
+ "Etc/GMT+4",
+ "Etc/GMT+5",
+ "Etc/GMT+6",
+ "Etc/GMT+7",
+ "Etc/GMT+8",
+ "Etc/GMT+9",
+ "Etc/GMT-0",
+ "Etc/GMT-1",
+ "Etc/GMT-10",
+ "Etc/GMT-11",
+ "Etc/GMT-12",
+ "Etc/GMT-13",
+ "Etc/GMT-14",
+ "Etc/GMT-2",
+ "Etc/GMT-3",
+ "Etc/GMT-4",
+ "Etc/GMT-5",
+ "Etc/GMT-6",
+ "Etc/GMT-7",
+ "Etc/GMT-8",
+ "Etc/GMT-9",
+ "Etc/GMT0",
+ "Etc/Greenwich",
+ "Etc/UCT",
+ "Etc/UTC",
+ "Etc/Universal",
+ "Etc/Zulu",
+ "Europe/Amsterdam",
+ "Europe/Andorra",
+ "Europe/Astrakhan",
+ "Europe/Athens",
+ "Europe/Belfast",
+ "Europe/Belgrade",
+ "Europe/Berlin",
+ "Europe/Bratislava",
+ "Europe/Brussels",
+ "Europe/Bucharest",
+ "Europe/Budapest",
+ "Europe/Busingen",
+ "Europe/Chisinau",
+ "Europe/Copenhagen",
+ "Europe/Dublin",
+ "Europe/Gibraltar",
+ "Europe/Guernsey",
+ "Europe/Helsinki",
+ "Europe/Isle_of_Man",
+ "Europe/Istanbul",
+ "Europe/Jersey",
+ "Europe/Kaliningrad",
+ "Europe/Kiev",
+ "Europe/Kirov",
+ "Europe/Lisbon",
+ "Europe/Ljubljana",
+ "Europe/London",
+ "Europe/Luxembourg",
+ "Europe/Madrid",
+ "Europe/Malta",
+ "Europe/Mariehamn",
+ "Europe/Minsk",
+ "Europe/Monaco",
+ "Europe/Moscow",
+ "Europe/Nicosia",
+ "Europe/Oslo",
+ "Europe/Paris",
+ "Europe/Podgorica",
+ "Europe/Prague",
+ "Europe/Riga",
+ "Europe/Rome",
+ "Europe/Samara",
+ "Europe/San_Marino",
+ "Europe/Sarajevo",
+ "Europe/Saratov",
+ "Europe/Simferopol",
+ "Europe/Skopje",
+ "Europe/Sofia",
+ "Europe/Stockholm",
+ "Europe/Tallinn",
+ "Europe/Tirane",
+ "Europe/Tiraspol",
+ "Europe/Ulyanovsk",
+ "Europe/Uzhgorod",
+ "Europe/Vaduz",
+ "Europe/Vatican",
+ "Europe/Vienna",
+ "Europe/Vilnius",
+ "Europe/Volgograd",
+ "Europe/Warsaw",
+ "Europe/Zagreb",
+ "Europe/Zaporozhye",
+ "Europe/Zurich",
+ "GB",
+ "GB-Eire",
+ "GMT",
+ "GMT+0",
+ "GMT-0",
+ "GMT0",
+ "Greenwich",
+ "HST",
+ "Hongkong",
+ "Iceland",
+ "Indian/Antananarivo",
+ "Indian/Chagos",
+ "Indian/Christmas",
+ "Indian/Cocos",
+ "Indian/Comoro",
+ "Indian/Kerguelen",
+ "Indian/Mahe",
+ "Indian/Maldives",
+ "Indian/Mauritius",
+ "Indian/Mayotte",
+ "Indian/Reunion",
+ "Iran",
+ "Israel",
+ "Jamaica",
+ "Japan",
+ "Kwajalein",
+ "Libya",
+ "MET",
+ "MST",
+ "MST7MDT",
+ "Mexico/BajaNorte",
+ "Mexico/BajaSur",
+ "Mexico/General",
+ "NZ",
+ "NZ-CHAT",
+ "Navajo",
+ "PRC",
+ "PST8PDT",
+ "Pacific/Apia",
+ "Pacific/Auckland",
+ "Pacific/Bougainville",
+ "Pacific/Chatham",
+ "Pacific/Chuuk",
+ "Pacific/Easter",
+ "Pacific/Efate",
+ "Pacific/Enderbury",
+ "Pacific/Fakaofo",
+ "Pacific/Fiji",
+ "Pacific/Funafuti",
+ "Pacific/Galapagos",
+ "Pacific/Gambier",
+ "Pacific/Guadalcanal",
+ "Pacific/Guam",
+ "Pacific/Honolulu",
+ "Pacific/Johnston",
+ "Pacific/Kiritimati",
+ "Pacific/Kosrae",
+ "Pacific/Kwajalein",
+ "Pacific/Majuro",
+ "Pacific/Marquesas",
+ "Pacific/Midway",
+ "Pacific/Nauru",
+ "Pacific/Niue",
+ "Pacific/Norfolk",
+ "Pacific/Noumea",
+ "Pacific/Pago_Pago",
+ "Pacific/Palau",
+ "Pacific/Pitcairn",
+ "Pacific/Pohnpei",
+ "Pacific/Ponape",
+ "Pacific/Port_Moresby",
+ "Pacific/Rarotonga",
+ "Pacific/Saipan",
+ "Pacific/Samoa",
+ "Pacific/Tahiti",
+ "Pacific/Tarawa",
+ "Pacific/Tongatapu",
+ "Pacific/Truk",
+ "Pacific/Wake",
+ "Pacific/Wallis",
+ "Pacific/Yap",
+ "Poland",
+ "Portugal",
+ "ROC",
+ "ROK",
+ "Singapore",
+ "Turkey",
+ "UCT",
+ "US/Alaska",
+ "US/Aleutian",
+ "US/Arizona",
+ "US/Central",
+ "US/East-Indiana",
+ "US/Eastern",
+ "US/Hawaii",
+ "US/Indiana-Starke",
+ "US/Michigan",
+ "US/Mountain",
+ "US/Pacific",
+ "US/Samoa",
+ "UTC",
+ "Universal",
+ "W-SU",
+ "WET",
+ "Zulu"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "description": "The report schedule type",
+ "enum": [
+ "Alert",
+ "Report"
+ ],
+ "type": "string"
+ },
+ "validator_config_json": {
+ "$ref": "#/components/schemas/ValidatorConfigJSON"
+ },
+ "validator_type": {
+ "description": "Determines when to trigger alert based off value from alert query. Alerts will be triggered with these validator types:\n- Not Null - When the return value is Not NULL, Empty, or 0\n- Operator - When `sql_return_value comparison_operator threshold` is True e.g. `50 <= 75` Supports the comparison operators <, <=, >, >=, ==, and !=",
+ "enum": [
+ "not null",
+ "operator"
+ ],
+ "type": "string"
+ },
+ "working_timeout": {
+ "description": "If an alert is staled at a working state, how long until it's state is reseted to error",
+ "example": 3600,
+ "format": "int32",
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "crontab",
+ "name",
+ "type"
+ ],
+ "type": "object"
+ },
+ "ReportScheduleRestApi.put": {
+ "properties": {
+ "active": {
+ "type": "boolean"
+ },
+ "chart": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "context_markdown": {
+ "description": "Markdown description",
+ "nullable": true,
+ "type": "string"
+ },
+ "creation_method": {
+ "description": "Creation method is used to inform the frontend whether the report/alert was created in the dashboard, chart, or alerts and reports UI.",
+ "nullable": true
+ },
+ "crontab": {
+ "description": "A CRON expression.[Crontab Guru](https://crontab.guru/) is a helpful resource that can help you craft a CRON expression.",
+ "maxLength": 1000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "dashboard": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "database": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "description": {
+ "description": "Use a nice description to give context to this Alert/Report",
+ "example": "Daily sales dashboard to marketing",
+ "nullable": true,
+ "type": "string"
+ },
+ "force_screenshot": {
+ "type": "boolean"
+ },
+ "grace_period": {
+ "description": "Once an alert is triggered, how long, in seconds, before Superset nags you again. (in seconds)",
+ "example": 14400,
+ "format": "int32",
+ "minimum": 1,
+ "type": "integer"
+ },
+ "log_retention": {
+ "description": "How long to keep the logs around for this report (in days)",
+ "example": 90,
+ "format": "int32",
+ "minimum": 1,
+ "type": "integer"
+ },
+ "name": {
+ "description": "The report schedule name.",
+ "maxLength": 150,
+ "minLength": 1,
+ "type": "string"
+ },
+ "owners": {
+ "items": {
+ "description": "Owner are users ids allowed to delete or change this report. If left empty you will be one of the owners of the report.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "recipients": {
+ "items": {
+ "$ref": "#/components/schemas/ReportRecipient"
+ },
+ "type": "array"
+ },
+ "report_format": {
+ "enum": [
+ "PNG",
+ "CSV",
+ "TEXT"
+ ],
+ "type": "string"
+ },
+ "sql": {
+ "description": "A SQL statement that defines whether the alert should get triggered or not. The query is expected to return either NULL or a number value.",
+ "example": "SELECT value FROM time_series_table",
+ "nullable": true,
+ "type": "string"
+ },
+ "timezone": {
+ "description": "A timezone string that represents the location of the timezone.",
+ "enum": [
+ "Africa/Abidjan",
+ "Africa/Accra",
+ "Africa/Addis_Ababa",
+ "Africa/Algiers",
+ "Africa/Asmara",
+ "Africa/Asmera",
+ "Africa/Bamako",
+ "Africa/Bangui",
+ "Africa/Banjul",
+ "Africa/Bissau",
+ "Africa/Blantyre",
+ "Africa/Brazzaville",
+ "Africa/Bujumbura",
+ "Africa/Cairo",
+ "Africa/Casablanca",
+ "Africa/Ceuta",
+ "Africa/Conakry",
+ "Africa/Dakar",
+ "Africa/Dar_es_Salaam",
+ "Africa/Djibouti",
+ "Africa/Douala",
+ "Africa/El_Aaiun",
+ "Africa/Freetown",
+ "Africa/Gaborone",
+ "Africa/Harare",
+ "Africa/Johannesburg",
+ "Africa/Juba",
+ "Africa/Kampala",
+ "Africa/Khartoum",
+ "Africa/Kigali",
+ "Africa/Kinshasa",
+ "Africa/Lagos",
+ "Africa/Libreville",
+ "Africa/Lome",
+ "Africa/Luanda",
+ "Africa/Lubumbashi",
+ "Africa/Lusaka",
+ "Africa/Malabo",
+ "Africa/Maputo",
+ "Africa/Maseru",
+ "Africa/Mbabane",
+ "Africa/Mogadishu",
+ "Africa/Monrovia",
+ "Africa/Nairobi",
+ "Africa/Ndjamena",
+ "Africa/Niamey",
+ "Africa/Nouakchott",
+ "Africa/Ouagadougou",
+ "Africa/Porto-Novo",
+ "Africa/Sao_Tome",
+ "Africa/Timbuktu",
+ "Africa/Tripoli",
+ "Africa/Tunis",
+ "Africa/Windhoek",
+ "America/Adak",
+ "America/Anchorage",
+ "America/Anguilla",
+ "America/Antigua",
+ "America/Araguaina",
+ "America/Argentina/Buenos_Aires",
+ "America/Argentina/Catamarca",
+ "America/Argentina/ComodRivadavia",
+ "America/Argentina/Cordoba",
+ "America/Argentina/Jujuy",
+ "America/Argentina/La_Rioja",
+ "America/Argentina/Mendoza",
+ "America/Argentina/Rio_Gallegos",
+ "America/Argentina/Salta",
+ "America/Argentina/San_Juan",
+ "America/Argentina/San_Luis",
+ "America/Argentina/Tucuman",
+ "America/Argentina/Ushuaia",
+ "America/Aruba",
+ "America/Asuncion",
+ "America/Atikokan",
+ "America/Atka",
+ "America/Bahia",
+ "America/Bahia_Banderas",
+ "America/Barbados",
+ "America/Belem",
+ "America/Belize",
+ "America/Blanc-Sablon",
+ "America/Boa_Vista",
+ "America/Bogota",
+ "America/Boise",
+ "America/Buenos_Aires",
+ "America/Cambridge_Bay",
+ "America/Campo_Grande",
+ "America/Cancun",
+ "America/Caracas",
+ "America/Catamarca",
+ "America/Cayenne",
+ "America/Cayman",
+ "America/Chicago",
+ "America/Chihuahua",
+ "America/Coral_Harbour",
+ "America/Cordoba",
+ "America/Costa_Rica",
+ "America/Creston",
+ "America/Cuiaba",
+ "America/Curacao",
+ "America/Danmarkshavn",
+ "America/Dawson",
+ "America/Dawson_Creek",
+ "America/Denver",
+ "America/Detroit",
+ "America/Dominica",
+ "America/Edmonton",
+ "America/Eirunepe",
+ "America/El_Salvador",
+ "America/Ensenada",
+ "America/Fort_Nelson",
+ "America/Fort_Wayne",
+ "America/Fortaleza",
+ "America/Glace_Bay",
+ "America/Godthab",
+ "America/Goose_Bay",
+ "America/Grand_Turk",
+ "America/Grenada",
+ "America/Guadeloupe",
+ "America/Guatemala",
+ "America/Guayaquil",
+ "America/Guyana",
+ "America/Halifax",
+ "America/Havana",
+ "America/Hermosillo",
+ "America/Indiana/Indianapolis",
+ "America/Indiana/Knox",
+ "America/Indiana/Marengo",
+ "America/Indiana/Petersburg",
+ "America/Indiana/Tell_City",
+ "America/Indiana/Vevay",
+ "America/Indiana/Vincennes",
+ "America/Indiana/Winamac",
+ "America/Indianapolis",
+ "America/Inuvik",
+ "America/Iqaluit",
+ "America/Jamaica",
+ "America/Jujuy",
+ "America/Juneau",
+ "America/Kentucky/Louisville",
+ "America/Kentucky/Monticello",
+ "America/Knox_IN",
+ "America/Kralendijk",
+ "America/La_Paz",
+ "America/Lima",
+ "America/Los_Angeles",
+ "America/Louisville",
+ "America/Lower_Princes",
+ "America/Maceio",
+ "America/Managua",
+ "America/Manaus",
+ "America/Marigot",
+ "America/Martinique",
+ "America/Matamoros",
+ "America/Mazatlan",
+ "America/Mendoza",
+ "America/Menominee",
+ "America/Merida",
+ "America/Metlakatla",
+ "America/Mexico_City",
+ "America/Miquelon",
+ "America/Moncton",
+ "America/Monterrey",
+ "America/Montevideo",
+ "America/Montreal",
+ "America/Montserrat",
+ "America/Nassau",
+ "America/New_York",
+ "America/Nipigon",
+ "America/Nome",
+ "America/Noronha",
+ "America/North_Dakota/Beulah",
+ "America/North_Dakota/Center",
+ "America/North_Dakota/New_Salem",
+ "America/Nuuk",
+ "America/Ojinaga",
+ "America/Panama",
+ "America/Pangnirtung",
+ "America/Paramaribo",
+ "America/Phoenix",
+ "America/Port-au-Prince",
+ "America/Port_of_Spain",
+ "America/Porto_Acre",
+ "America/Porto_Velho",
+ "America/Puerto_Rico",
+ "America/Punta_Arenas",
+ "America/Rainy_River",
+ "America/Rankin_Inlet",
+ "America/Recife",
+ "America/Regina",
+ "America/Resolute",
+ "America/Rio_Branco",
+ "America/Rosario",
+ "America/Santa_Isabel",
+ "America/Santarem",
+ "America/Santiago",
+ "America/Santo_Domingo",
+ "America/Sao_Paulo",
+ "America/Scoresbysund",
+ "America/Shiprock",
+ "America/Sitka",
+ "America/St_Barthelemy",
+ "America/St_Johns",
+ "America/St_Kitts",
+ "America/St_Lucia",
+ "America/St_Thomas",
+ "America/St_Vincent",
+ "America/Swift_Current",
+ "America/Tegucigalpa",
+ "America/Thule",
+ "America/Thunder_Bay",
+ "America/Tijuana",
+ "America/Toronto",
+ "America/Tortola",
+ "America/Vancouver",
+ "America/Virgin",
+ "America/Whitehorse",
+ "America/Winnipeg",
+ "America/Yakutat",
+ "America/Yellowknife",
+ "Antarctica/Casey",
+ "Antarctica/Davis",
+ "Antarctica/DumontDUrville",
+ "Antarctica/Macquarie",
+ "Antarctica/Mawson",
+ "Antarctica/McMurdo",
+ "Antarctica/Palmer",
+ "Antarctica/Rothera",
+ "Antarctica/South_Pole",
+ "Antarctica/Syowa",
+ "Antarctica/Troll",
+ "Antarctica/Vostok",
+ "Arctic/Longyearbyen",
+ "Asia/Aden",
+ "Asia/Almaty",
+ "Asia/Amman",
+ "Asia/Anadyr",
+ "Asia/Aqtau",
+ "Asia/Aqtobe",
+ "Asia/Ashgabat",
+ "Asia/Ashkhabad",
+ "Asia/Atyrau",
+ "Asia/Baghdad",
+ "Asia/Bahrain",
+ "Asia/Baku",
+ "Asia/Bangkok",
+ "Asia/Barnaul",
+ "Asia/Beirut",
+ "Asia/Bishkek",
+ "Asia/Brunei",
+ "Asia/Calcutta",
+ "Asia/Chita",
+ "Asia/Choibalsan",
+ "Asia/Chongqing",
+ "Asia/Chungking",
+ "Asia/Colombo",
+ "Asia/Dacca",
+ "Asia/Damascus",
+ "Asia/Dhaka",
+ "Asia/Dili",
+ "Asia/Dubai",
+ "Asia/Dushanbe",
+ "Asia/Famagusta",
+ "Asia/Gaza",
+ "Asia/Harbin",
+ "Asia/Hebron",
+ "Asia/Ho_Chi_Minh",
+ "Asia/Hong_Kong",
+ "Asia/Hovd",
+ "Asia/Irkutsk",
+ "Asia/Istanbul",
+ "Asia/Jakarta",
+ "Asia/Jayapura",
+ "Asia/Jerusalem",
+ "Asia/Kabul",
+ "Asia/Kamchatka",
+ "Asia/Karachi",
+ "Asia/Kashgar",
+ "Asia/Kathmandu",
+ "Asia/Katmandu",
+ "Asia/Khandyga",
+ "Asia/Kolkata",
+ "Asia/Krasnoyarsk",
+ "Asia/Kuala_Lumpur",
+ "Asia/Kuching",
+ "Asia/Kuwait",
+ "Asia/Macao",
+ "Asia/Macau",
+ "Asia/Magadan",
+ "Asia/Makassar",
+ "Asia/Manila",
+ "Asia/Muscat",
+ "Asia/Nicosia",
+ "Asia/Novokuznetsk",
+ "Asia/Novosibirsk",
+ "Asia/Omsk",
+ "Asia/Oral",
+ "Asia/Phnom_Penh",
+ "Asia/Pontianak",
+ "Asia/Pyongyang",
+ "Asia/Qatar",
+ "Asia/Qostanay",
+ "Asia/Qyzylorda",
+ "Asia/Rangoon",
+ "Asia/Riyadh",
+ "Asia/Saigon",
+ "Asia/Sakhalin",
+ "Asia/Samarkand",
+ "Asia/Seoul",
+ "Asia/Shanghai",
+ "Asia/Singapore",
+ "Asia/Srednekolymsk",
+ "Asia/Taipei",
+ "Asia/Tashkent",
+ "Asia/Tbilisi",
+ "Asia/Tehran",
+ "Asia/Tel_Aviv",
+ "Asia/Thimbu",
+ "Asia/Thimphu",
+ "Asia/Tokyo",
+ "Asia/Tomsk",
+ "Asia/Ujung_Pandang",
+ "Asia/Ulaanbaatar",
+ "Asia/Ulan_Bator",
+ "Asia/Urumqi",
+ "Asia/Ust-Nera",
+ "Asia/Vientiane",
+ "Asia/Vladivostok",
+ "Asia/Yakutsk",
+ "Asia/Yangon",
+ "Asia/Yekaterinburg",
+ "Asia/Yerevan",
+ "Atlantic/Azores",
+ "Atlantic/Bermuda",
+ "Atlantic/Canary",
+ "Atlantic/Cape_Verde",
+ "Atlantic/Faeroe",
+ "Atlantic/Faroe",
+ "Atlantic/Jan_Mayen",
+ "Atlantic/Madeira",
+ "Atlantic/Reykjavik",
+ "Atlantic/South_Georgia",
+ "Atlantic/St_Helena",
+ "Atlantic/Stanley",
+ "Australia/ACT",
+ "Australia/Adelaide",
+ "Australia/Brisbane",
+ "Australia/Broken_Hill",
+ "Australia/Canberra",
+ "Australia/Currie",
+ "Australia/Darwin",
+ "Australia/Eucla",
+ "Australia/Hobart",
+ "Australia/LHI",
+ "Australia/Lindeman",
+ "Australia/Lord_Howe",
+ "Australia/Melbourne",
+ "Australia/NSW",
+ "Australia/North",
+ "Australia/Perth",
+ "Australia/Queensland",
+ "Australia/South",
+ "Australia/Sydney",
+ "Australia/Tasmania",
+ "Australia/Victoria",
+ "Australia/West",
+ "Australia/Yancowinna",
+ "Brazil/Acre",
+ "Brazil/DeNoronha",
+ "Brazil/East",
+ "Brazil/West",
+ "CET",
+ "CST6CDT",
+ "Canada/Atlantic",
+ "Canada/Central",
+ "Canada/Eastern",
+ "Canada/Mountain",
+ "Canada/Newfoundland",
+ "Canada/Pacific",
+ "Canada/Saskatchewan",
+ "Canada/Yukon",
+ "Chile/Continental",
+ "Chile/EasterIsland",
+ "Cuba",
+ "EET",
+ "EST",
+ "EST5EDT",
+ "Egypt",
+ "Eire",
+ "Etc/GMT",
+ "Etc/GMT+0",
+ "Etc/GMT+1",
+ "Etc/GMT+10",
+ "Etc/GMT+11",
+ "Etc/GMT+12",
+ "Etc/GMT+2",
+ "Etc/GMT+3",
+ "Etc/GMT+4",
+ "Etc/GMT+5",
+ "Etc/GMT+6",
+ "Etc/GMT+7",
+ "Etc/GMT+8",
+ "Etc/GMT+9",
+ "Etc/GMT-0",
+ "Etc/GMT-1",
+ "Etc/GMT-10",
+ "Etc/GMT-11",
+ "Etc/GMT-12",
+ "Etc/GMT-13",
+ "Etc/GMT-14",
+ "Etc/GMT-2",
+ "Etc/GMT-3",
+ "Etc/GMT-4",
+ "Etc/GMT-5",
+ "Etc/GMT-6",
+ "Etc/GMT-7",
+ "Etc/GMT-8",
+ "Etc/GMT-9",
+ "Etc/GMT0",
+ "Etc/Greenwich",
+ "Etc/UCT",
+ "Etc/UTC",
+ "Etc/Universal",
+ "Etc/Zulu",
+ "Europe/Amsterdam",
+ "Europe/Andorra",
+ "Europe/Astrakhan",
+ "Europe/Athens",
+ "Europe/Belfast",
+ "Europe/Belgrade",
+ "Europe/Berlin",
+ "Europe/Bratislava",
+ "Europe/Brussels",
+ "Europe/Bucharest",
+ "Europe/Budapest",
+ "Europe/Busingen",
+ "Europe/Chisinau",
+ "Europe/Copenhagen",
+ "Europe/Dublin",
+ "Europe/Gibraltar",
+ "Europe/Guernsey",
+ "Europe/Helsinki",
+ "Europe/Isle_of_Man",
+ "Europe/Istanbul",
+ "Europe/Jersey",
+ "Europe/Kaliningrad",
+ "Europe/Kiev",
+ "Europe/Kirov",
+ "Europe/Lisbon",
+ "Europe/Ljubljana",
+ "Europe/London",
+ "Europe/Luxembourg",
+ "Europe/Madrid",
+ "Europe/Malta",
+ "Europe/Mariehamn",
+ "Europe/Minsk",
+ "Europe/Monaco",
+ "Europe/Moscow",
+ "Europe/Nicosia",
+ "Europe/Oslo",
+ "Europe/Paris",
+ "Europe/Podgorica",
+ "Europe/Prague",
+ "Europe/Riga",
+ "Europe/Rome",
+ "Europe/Samara",
+ "Europe/San_Marino",
+ "Europe/Sarajevo",
+ "Europe/Saratov",
+ "Europe/Simferopol",
+ "Europe/Skopje",
+ "Europe/Sofia",
+ "Europe/Stockholm",
+ "Europe/Tallinn",
+ "Europe/Tirane",
+ "Europe/Tiraspol",
+ "Europe/Ulyanovsk",
+ "Europe/Uzhgorod",
+ "Europe/Vaduz",
+ "Europe/Vatican",
+ "Europe/Vienna",
+ "Europe/Vilnius",
+ "Europe/Volgograd",
+ "Europe/Warsaw",
+ "Europe/Zagreb",
+ "Europe/Zaporozhye",
+ "Europe/Zurich",
+ "GB",
+ "GB-Eire",
+ "GMT",
+ "GMT+0",
+ "GMT-0",
+ "GMT0",
+ "Greenwich",
+ "HST",
+ "Hongkong",
+ "Iceland",
+ "Indian/Antananarivo",
+ "Indian/Chagos",
+ "Indian/Christmas",
+ "Indian/Cocos",
+ "Indian/Comoro",
+ "Indian/Kerguelen",
+ "Indian/Mahe",
+ "Indian/Maldives",
+ "Indian/Mauritius",
+ "Indian/Mayotte",
+ "Indian/Reunion",
+ "Iran",
+ "Israel",
+ "Jamaica",
+ "Japan",
+ "Kwajalein",
+ "Libya",
+ "MET",
+ "MST",
+ "MST7MDT",
+ "Mexico/BajaNorte",
+ "Mexico/BajaSur",
+ "Mexico/General",
+ "NZ",
+ "NZ-CHAT",
+ "Navajo",
+ "PRC",
+ "PST8PDT",
+ "Pacific/Apia",
+ "Pacific/Auckland",
+ "Pacific/Bougainville",
+ "Pacific/Chatham",
+ "Pacific/Chuuk",
+ "Pacific/Easter",
+ "Pacific/Efate",
+ "Pacific/Enderbury",
+ "Pacific/Fakaofo",
+ "Pacific/Fiji",
+ "Pacific/Funafuti",
+ "Pacific/Galapagos",
+ "Pacific/Gambier",
+ "Pacific/Guadalcanal",
+ "Pacific/Guam",
+ "Pacific/Honolulu",
+ "Pacific/Johnston",
+ "Pacific/Kiritimati",
+ "Pacific/Kosrae",
+ "Pacific/Kwajalein",
+ "Pacific/Majuro",
+ "Pacific/Marquesas",
+ "Pacific/Midway",
+ "Pacific/Nauru",
+ "Pacific/Niue",
+ "Pacific/Norfolk",
+ "Pacific/Noumea",
+ "Pacific/Pago_Pago",
+ "Pacific/Palau",
+ "Pacific/Pitcairn",
+ "Pacific/Pohnpei",
+ "Pacific/Ponape",
+ "Pacific/Port_Moresby",
+ "Pacific/Rarotonga",
+ "Pacific/Saipan",
+ "Pacific/Samoa",
+ "Pacific/Tahiti",
+ "Pacific/Tarawa",
+ "Pacific/Tongatapu",
+ "Pacific/Truk",
+ "Pacific/Wake",
+ "Pacific/Wallis",
+ "Pacific/Yap",
+ "Poland",
+ "Portugal",
+ "ROC",
+ "ROK",
+ "Singapore",
+ "Turkey",
+ "UCT",
+ "US/Alaska",
+ "US/Aleutian",
+ "US/Arizona",
+ "US/Central",
+ "US/East-Indiana",
+ "US/Eastern",
+ "US/Hawaii",
+ "US/Indiana-Starke",
+ "US/Michigan",
+ "US/Mountain",
+ "US/Pacific",
+ "US/Samoa",
+ "UTC",
+ "Universal",
+ "W-SU",
+ "WET",
+ "Zulu"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "description": "The report schedule type",
+ "enum": [
+ "Alert",
+ "Report"
+ ],
+ "type": "string"
+ },
+ "validator_config_json": {
+ "$ref": "#/components/schemas/ValidatorConfigJSON"
+ },
+ "validator_type": {
+ "description": "Determines when to trigger alert based off value from alert query. Alerts will be triggered with these validator types:\n- Not Null - When the return value is Not NULL, Empty, or 0\n- Operator - When `sql_return_value comparison_operator threshold` is True e.g. `50 <= 75` Supports the comparison operators <, <=, >, >=, ==, and !=",
+ "enum": [
+ "not null",
+ "operator"
+ ],
+ "nullable": true,
+ "type": "string"
+ },
+ "working_timeout": {
+ "description": "If an alert is staled at a working state, how long until it's state is reseted to error",
+ "example": 3600,
+ "format": "int32",
+ "minimum": 1,
+ "nullable": true,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "Resource": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {}
+ },
+ "required": [
+ "id",
+ "type"
+ ],
+ "type": "object"
+ },
+ "RlsRule": {
+ "properties": {
+ "clause": {
+ "type": "string"
+ },
+ "dataset": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "clause"
+ ],
+ "type": "object"
+ },
+ "Roles": {
+ "properties": {
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SavedQueryRestApi.get": {
+ "properties": {
+ "created_by": {
+ "$ref": "#/components/schemas/SavedQueryRestApi.get.User"
+ },
+ "database": {
+ "$ref": "#/components/schemas/SavedQueryRestApi.get.Database"
+ },
+ "description": {
+ "nullable": true,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "label": {
+ "maxLength": 256,
+ "nullable": true,
+ "type": "string"
+ },
+ "schema": {
+ "maxLength": 128,
+ "nullable": true,
+ "type": "string"
+ },
+ "sql": {
+ "nullable": true,
+ "type": "string"
+ },
+ "sql_tables": {
+ "readOnly": true
+ }
+ },
+ "type": "object"
+ },
+ "SavedQueryRestApi.get.Database": {
+ "properties": {
+ "database_name": {
+ "maxLength": 250,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "database_name"
+ ],
+ "type": "object"
+ },
+ "SavedQueryRestApi.get.User": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
+ }
+ },
+ "required": [
+ "first_name",
+ "last_name"
+ ],
+ "type": "object"
+ },
+ "SavedQueryRestApi.get_list": {
+ "properties": {
+ "changed_on_delta_humanized": {
+ "readOnly": true
+ },
+ "created_by": {
+ "$ref": "#/components/schemas/SavedQueryRestApi.get_list.User"
+ },
+ "created_on": {
+ "format": "date-time",
+ "nullable": true,
+ "type": "string"
+ },
+ "database": {
+ "$ref": "#/components/schemas/SavedQueryRestApi.get_list.Database"
+ },
+ "db_id": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "description": {
+ "nullable": true,
+ "type": "string"
+ },
+ "extra": {
+ "readOnly": true
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "label": {
+ "maxLength": 256,
+ "nullable": true,
+ "type": "string"
+ },
+ "last_run_delta_humanized": {
+ "readOnly": true
+ },
+ "rows": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "schema": {
+ "maxLength": 128,
+ "nullable": true,
+ "type": "string"
+ },
+ "sql": {
+ "nullable": true,
+ "type": "string"
+ },
+ "sql_tables": {
+ "readOnly": true
+ }
+ },
+ "type": "object"
+ },
+ "SavedQueryRestApi.get_list.Database": {
+ "properties": {
+ "database_name": {
+ "maxLength": 250,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "database_name"
+ ],
+ "type": "object"
+ },
+ "SavedQueryRestApi.get_list.User": {
+ "properties": {
+ "first_name": {
+ "maxLength": 64,
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "last_name": {
+ "maxLength": 64,
+ "type": "string"
+ }
+ },
+ "required": [
+ "first_name",
+ "last_name"
+ ],
+ "type": "object"
+ },
+ "SavedQueryRestApi.post": {
+ "properties": {
+ "db_id": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "description": {
+ "nullable": true,
+ "type": "string"
+ },
+ "label": {
+ "maxLength": 256,
+ "nullable": true,
+ "type": "string"
+ },
+ "schema": {
+ "maxLength": 128,
+ "nullable": true,
+ "type": "string"
+ },
+ "sql": {
+ "nullable": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SavedQueryRestApi.put": {
+ "properties": {
+ "db_id": {
+ "format": "int32",
+ "nullable": true,
+ "type": "integer"
+ },
+ "description": {
+ "nullable": true,
+ "type": "string"
+ },
+ "label": {
+ "maxLength": 256,
+ "nullable": true,
+ "type": "string"
+ },
+ "schema": {
+ "maxLength": 128,
+ "nullable": true,
+ "type": "string"
+ },
+ "sql": {
+ "nullable": true,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SchemasResponseSchema": {
+ "properties": {
+ "result": {
+ "items": {
+ "description": "A database schema name",
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "SelectStarResponseSchema": {
+ "properties": {
+ "result": {
+ "description": "SQL select star",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "TableMetadataColumnsResponse": {
+ "properties": {
+ "duplicates_constraint": {
+ "type": "string"
+ },
+ "keys": {
+ "description": "",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "longType": {
+ "description": "The actual backend long type for the column",
+ "type": "string"
+ },
+ "name": {
+ "description": "The column name",
+ "type": "string"
+ },
+ "type": {
+ "description": "The column type",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "TableMetadataForeignKeysIndexesResponse": {
+ "properties": {
+ "column_names": {
+ "items": {
+ "description": "A list of column names that compose the foreign key or index",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "The name of the foreign key or index",
+ "type": "string"
+ },
+ "options": {
+ "$ref": "#/components/schemas/TableMetadataOptionsResponse"
+ },
+ "referred_columns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "referred_schema": {
+ "type": "string"
+ },
+ "referred_table": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "TableMetadataOptionsResponse": {
+ "properties": {
+ "deferrable": {
+ "type": "boolean"
+ },
+ "initially": {
+ "type": "boolean"
+ },
+ "match": {
+ "type": "boolean"
+ },
+ "ondelete": {
+ "type": "boolean"
+ },
+ "onupdate": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "TableMetadataPrimaryKeyResponse": {
+ "properties": {
+ "column_names": {
+ "items": {
+ "description": "A list of column names that compose the primary key",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "The primary key index name",
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "TableMetadataResponseSchema": {
+ "properties": {
+ "columns": {
+ "description": "A list of columns and their metadata",
+ "items": {
+ "$ref": "#/components/schemas/TableMetadataColumnsResponse"
+ },
+ "type": "array"
+ },
+ "foreignKeys": {
+ "description": "A list of foreign keys and their metadata",
+ "items": {
+ "$ref": "#/components/schemas/TableMetadataForeignKeysIndexesResponse"
+ },
+ "type": "array"
+ },
+ "indexes": {
+ "description": "A list of indexes and their metadata",
+ "items": {
+ "$ref": "#/components/schemas/TableMetadataForeignKeysIndexesResponse"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "The name of the table",
+ "type": "string"
+ },
+ "primaryKey": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/TableMetadataPrimaryKeyResponse"
+ }
+ ],
+ "description": "Primary keys metadata"
+ },
+ "selectStar": {
+ "description": "SQL select star",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "TemporaryCachePostSchema": {
+ "properties": {
+ "value": {
+ "description": "Any type of JSON supported text.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "type": "object"
+ },
+ "TemporaryCachePutSchema": {
+ "properties": {
+ "value": {
+ "description": "Any type of JSON supported text.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "type": "object"
+ },
+ "User": {
+ "properties": {
+ "first_name": {
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "last_name": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "User1": {
+ "properties": {
+ "first_name": {
+ "type": "string"
+ },
+ "last_name": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "UserResponseSchema": {
+ "properties": {
+ "email": {
+ "type": "string"
+ },
+ "first_name": {
+ "type": "string"
+ },
+ "id": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "is_active": {
+ "type": "boolean"
+ },
+ "is_anonymous": {
+ "type": "boolean"
+ },
+ "last_name": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ValidatorConfigJSON": {
+ "properties": {
+ "op": {
+ "description": "The operation to compare with a threshold to apply to the SQL output\n",
+ "enum": [
+ "<",
+ "<=",
+ ">",
+ ">=",
+ "==",
+ "!="
+ ],
+ "type": "string"
+ },
+ "threshold": {
+ "format": "float",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "database_schemas_query_schema": {
+ "properties": {
+ "force": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "get_delete_ids_schema": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "get_export_ids_schema": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "get_fav_star_ids_schema": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "get_info_schema": {
+ "properties": {
+ "add_columns": {
+ "additionalProperties": {
+ "properties": {
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "type": "object"
+ },
+ "edit_columns": {
+ "additionalProperties": {
+ "properties": {
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "type": "object"
+ },
+ "keys": {
+ "items": {
+ "enum": [
+ "add_columns",
+ "edit_columns",
+ "filters",
+ "permissions",
+ "add_title",
+ "edit_title",
+ "none"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "get_item_schema": {
+ "properties": {
+ "columns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "keys": {
+ "items": {
+ "enum": [
+ "show_columns",
+ "description_columns",
+ "label_columns",
+ "show_title",
+ "none"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "get_list_schema": {
+ "properties": {
+ "columns": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "filters": {
+ "items": {
+ "properties": {
+ "col": {
+ "type": "string"
+ },
+ "opr": {
+ "type": "string"
+ },
+ "value": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "string"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array"
+ }
+ ]
+ }
+ },
+ "required": [
+ "col",
+ "opr",
+ "value"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "keys": {
+ "items": {
+ "enum": [
+ "list_columns",
+ "order_columns",
+ "label_columns",
+ "description_columns",
+ "list_title",
+ "none"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "order_column": {
+ "type": "string"
+ },
+ "order_direction": {
+ "enum": [
+ "asc",
+ "desc"
+ ],
+ "type": "string"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "get_related_schema": {
+ "properties": {
+ "filter": {
+ "type": "string"
+ },
+ "include_ids": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "page_size": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "screenshot_query_schema": {
+ "properties": {
+ "force": {
+ "type": "boolean"
+ },
+ "thumb_size": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ "window_size": {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "thumbnail_query_schema": {
+ "properties": {
+ "force": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "securitySchemes": {
+ "jwt": {
+ "bearerFormat": "JWT",
+ "scheme": "bearer",
+ "type": "http"
+ },
+ "jwt_refresh": {
+ "bearerFormat": "JWT",
+ "scheme": "bearer",
+ "type": "http"
+ }
+ }
+ },
+ "info": {
+ "description": "Superset",
+ "title": "Superset",
+ "version": "v1"
+ },
+ "openapi": "3.0.2",
+ "paths": {
+ "/api/v1/annotation_layer/": {
+ "delete": {
+ "description": "Deletes multiple annotation layers in a bulk operation.",
+ "parameters": [
+ {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/get_delete_ids_schema"
+ }
+ }
+ },
+ "in": "query",
+ "name": "q"
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "CSS templates bulk delete"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Annotation Layers"
+ ]
+ },
+ "get": {
+ "description": "Get a list of Annotation layers, use Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.",
+ "parameters": [
+ {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/get_list_schema"
+ }
+ }
+ },
+ "in": "query",
+ "name": "q"
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "count": {
+ "description": "The total record count on the backend",
+ "type": "number"
+ },
+ "description_columns": {
+ "properties": {
+ "column_name": {
+ "description": "The description for the column name. Will be translated by babel",
+ "example": "A Nice description for the column",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ids": {
+ "description": "A list of item ids, useful when you don't know the column id",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "label_columns": {
+ "properties": {
+ "column_name": {
+ "description": "The label for the column name. Will be translated by babel",
+ "example": "A Nice label for the column",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "list_columns": {
+ "description": "A list of columns",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "list_title": {
+ "description": "A title to render. Will be translated by babel",
+ "example": "List Items",
+ "type": "string"
+ },
+ "order_columns": {
+ "description": "A list of allowed columns to sort",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "result": {
+ "description": "The result from the get list query",
+ "items": {
+ "$ref": "#/components/schemas/AnnotationLayerRestApi.get_list"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Items from Model"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Annotation Layers"
+ ]
+ },
+ "post": {
+ "description": "Create an Annotation layer",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AnnotationLayerRestApi.post"
+ }
+ }
+ },
+ "description": "Annotation Layer schema",
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "id": {
+ "type": "number"
+ },
+ "result": {
+ "$ref": "#/components/schemas/AnnotationLayerRestApi.post"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Annotation added"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Annotation Layers"
+ ]
}
},
- "securitySchemes": {
- "jwt": {
- "bearerFormat": "JWT",
- "scheme": "bearer",
- "type": "http"
- },
- "jwt_refresh": {
- "bearerFormat": "JWT",
- "scheme": "bearer",
- "type": "http"
+ "/api/v1/annotation_layer/_info": {
+ "get": {
+ "description": "Get metadata information about this API resource",
+ "parameters": [
+ {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/get_info_schema"
+ }
+ }
+ },
+ "in": "query",
+ "name": "q"
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "add_columns": {
+ "type": "object"
+ },
+ "edit_columns": {
+ "type": "object"
+ },
+ "filters": {
+ "properties": {
+ "column_name": {
+ "items": {
+ "properties": {
+ "name": {
+ "description": "The filter name. Will be translated by babel",
+ "type": "string"
+ },
+ "operator": {
+ "description": "The filter operation key to use on list filters",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "permissions": {
+ "description": "The user permissions for this API resource",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Item from Model"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Annotation Layers"
+ ]
}
- }
- },
- "info": {
- "description": "Superset",
- "title": "Superset",
- "version": "v1"
- },
- "openapi": "3.0.2",
- "paths": {
- "/annotation_layer/": {
- "delete": {
- "description": "Deletes multiple annotation layers in a bulk operation.",
+ },
+ "/api/v1/annotation_layer/related/{column_name}": {
+ "get": {
"parameters": [
+ {
+ "in": "path",
+ "name": "column_name",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
{
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_delete_ids_schema"
+ "$ref": "#/components/schemas/get_related_schema"
}
}
},
@@ -5714,6 +8684,54 @@
"name": "q"
}
],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RelatedResponseSchema"
+ }
+ }
+ },
+ "description": "Related column data"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Annotation Layers"
+ ]
+ }
+ },
+ "/api/v1/annotation_layer/{pk}": {
+ "delete": {
+ "description": "Delete Annotation layer",
+ "parameters": [
+ {
+ "description": "The annotation layer pk for this annotation",
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ }
+ ],
"responses": {
"200": {
"content": {
@@ -5728,10 +8746,7 @@
}
}
},
- "description": "CSS templates bulk delete"
- },
- "401": {
- "$ref": "#/components/responses/401"
+ "description": "Item deleted"
},
"404": {
"$ref": "#/components/responses/404"
@@ -5748,16 +8763,26 @@
"jwt": []
}
],
- "tags": ["Annotation Layers"]
+ "tags": [
+ "Annotation Layers"
+ ]
},
"get": {
- "description": "Get a list of Annotation layers, use Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.",
+ "description": "Get an Annotation layer",
"parameters": [
+ {
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ },
{
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_list_schema"
+ "$ref": "#/components/schemas/get_item_schema"
}
}
},
@@ -5771,10 +8796,6 @@
"application/json": {
"schema": {
"properties": {
- "count": {
- "description": "The total record count on the backend",
- "type": "number"
- },
"description_columns": {
"properties": {
"column_name": {
@@ -5785,12 +8806,9 @@
},
"type": "object"
},
- "ids": {
- "description": "A list of item ids, useful when you don't know the column id",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "id": {
+ "description": "The item id",
+ "type": "string"
},
"label_columns": {
"properties": {
@@ -5802,38 +8820,27 @@
},
"type": "object"
},
- "list_columns": {
+ "result": {
+ "$ref": "#/components/schemas/AnnotationLayerRestApi.get"
+ },
+ "show_columns": {
"description": "A list of columns",
"items": {
"type": "string"
},
"type": "array"
},
- "list_title": {
+ "show_title": {
"description": "A title to render. Will be translated by babel",
- "example": "List Items",
+ "example": "Show Item Details",
"type": "string"
- },
- "order_columns": {
- "description": "A list of allowed columns to sort",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "result": {
- "description": "The result from the get list query",
- "items": {
- "$ref": "#/components/schemas/AnnotationLayerRestApi.get_list"
- },
- "type": "array"
}
},
"type": "object"
}
}
},
- "description": "Items from Model"
+ "description": "Item from Model"
},
"400": {
"$ref": "#/components/responses/400"
@@ -5841,6 +8848,9 @@
"401": {
"$ref": "#/components/responses/401"
},
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
"422": {
"$ref": "#/components/responses/422"
},
@@ -5853,23 +8863,36 @@
"jwt": []
}
],
- "tags": ["Annotation Layers"]
+ "tags": [
+ "Annotation Layers"
+ ]
},
- "post": {
- "description": "Create an Annotation layer",
+ "put": {
+ "description": "Update an Annotation layer",
+ "parameters": [
+ {
+ "description": "The annotation layer pk for this annotation",
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ }
+ ],
"requestBody": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/AnnotationLayerRestApi.post"
+ "$ref": "#/components/schemas/AnnotationLayerRestApi.put"
}
}
},
- "description": "Annotation Layer schema",
+ "description": "Annotation schema",
"required": true
},
"responses": {
- "201": {
+ "200": {
"content": {
"application/json": {
"schema": {
@@ -5878,14 +8901,14 @@
"type": "number"
},
"result": {
- "$ref": "#/components/schemas/AnnotationLayerRestApi.post"
+ "$ref": "#/components/schemas/AnnotationLayerRestApi.put"
}
},
"type": "object"
}
}
},
- "description": "Annotation added"
+ "description": "Annotation changed"
},
"400": {
"$ref": "#/components/responses/400"
@@ -5905,18 +8928,29 @@
"jwt": []
}
],
- "tags": ["Annotation Layers"]
+ "tags": [
+ "Annotation Layers"
+ ]
}
},
- "/annotation_layer/_info": {
- "get": {
- "description": "Get metadata information about this API resource",
+ "/api/v1/annotation_layer/{pk}/annotation/": {
+ "delete": {
+ "description": "Deletes multiple annotation in a bulk operation.",
"parameters": [
+ {
+ "description": "The annotation layer pk for this annotation",
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ },
{
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_info_schema"
+ "$ref": "#/components/schemas/get_delete_ids_schema"
}
}
},
@@ -5930,53 +8964,22 @@
"application/json": {
"schema": {
"properties": {
- "add_columns": {
- "type": "object"
- },
- "edit_columns": {
- "type": "object"
- },
- "filters": {
- "properties": {
- "column_name": {
- "items": {
- "properties": {
- "name": {
- "description": "The filter name. Will be translated by babel",
- "type": "string"
- },
- "operator": {
- "description": "The filter operation key to use on list filters",
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "permissions": {
- "description": "The user permissions for this API resource",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "message": {
+ "type": "string"
}
},
"type": "object"
}
}
},
- "description": "Item from Model"
- },
- "400": {
- "$ref": "#/components/responses/400"
+ "description": "Annotations bulk delete"
},
"401": {
"$ref": "#/components/responses/401"
},
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
"422": {
"$ref": "#/components/responses/422"
},
@@ -5989,25 +8992,27 @@
"jwt": []
}
],
- "tags": ["Annotation Layers"]
- }
- },
- "/annotation_layer/related/{column_name}": {
+ "tags": [
+ "Annotation Layers"
+ ]
+ },
"get": {
+ "description": "Get a list of Annotation layers, use Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.",
"parameters": [
{
+ "description": "The annotation layer id for this annotation",
"in": "path",
- "name": "column_name",
+ "name": "pk",
"required": true,
"schema": {
- "type": "string"
+ "type": "integer"
}
},
{
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_related_schema"
+ "$ref": "#/components/schemas/get_list_schema"
}
}
},
@@ -6020,11 +9025,96 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/RelatedResponseSchema"
+ "properties": {
+ "count": {
+ "description": "The total record count on the backend",
+ "type": "number"
+ },
+ "ids": {
+ "description": "A list of annotation ids",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "result": {
+ "description": "The result from the get list query",
+ "items": {
+ "$ref": "#/components/schemas/AnnotationRestApi.get_list"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
}
}
},
- "description": "Related column data"
+ "description": "Items from Annotations"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Annotation Layers"
+ ]
+ },
+ "post": {
+ "description": "Create an Annotation layer",
+ "parameters": [
+ {
+ "description": "The annotation layer pk for this annotation",
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AnnotationRestApi.post"
+ }
+ }
+ },
+ "description": "Annotation schema",
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "id": {
+ "type": "number"
+ },
+ "result": {
+ "$ref": "#/components/schemas/AnnotationRestApi.post"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Annotation added"
},
"400": {
"$ref": "#/components/responses/400"
@@ -6044,10 +9134,12 @@
"jwt": []
}
],
- "tags": ["Annotation Layers"]
+ "tags": [
+ "Annotation Layers"
+ ]
}
},
- "/annotation_layer/{pk}": {
+ "/api/v1/annotation_layer/{pk}/annotation/{annotation_id}": {
"delete": {
"description": "Delete Annotation layer",
"parameters": [
@@ -6059,6 +9151,15 @@
"schema": {
"type": "integer"
}
+ },
+ {
+ "description": "The annotation pk for this annotation",
+ "in": "path",
+ "name": "annotation_id",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
}
],
"responses": {
@@ -6092,12 +9193,15 @@
"jwt": []
}
],
- "tags": ["Annotation Layers"]
+ "tags": [
+ "Annotation Layers"
+ ]
},
"get": {
"description": "Get an Annotation layer",
"parameters": [
{
+ "description": "The annotation layer pk for this annotation",
"in": "path",
"name": "pk",
"required": true,
@@ -6105,6 +9209,15 @@
"type": "integer"
}
},
+ {
+ "description": "The annotation pk",
+ "in": "path",
+ "name": "annotation_id",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ },
{
"content": {
"application/json": {
@@ -6123,44 +9236,12 @@
"application/json": {
"schema": {
"properties": {
- "description_columns": {
- "properties": {
- "column_name": {
- "description": "The description for the column name. Will be translated by babel",
- "example": "A Nice description for the column",
- "type": "string"
- }
- },
- "type": "object"
- },
"id": {
"description": "The item id",
"type": "string"
},
- "label_columns": {
- "properties": {
- "column_name": {
- "description": "The label for the column name. Will be translated by babel",
- "example": "A Nice label for the column",
- "type": "string"
- }
- },
- "type": "object"
- },
"result": {
- "$ref": "#/components/schemas/AnnotationLayerRestApi.get"
- },
- "show_columns": {
- "description": "A list of columns",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "show_title": {
- "description": "A title to render. Will be translated by babel",
- "example": "Show Item Details",
- "type": "string"
+ "$ref": "#/components/schemas/AnnotationRestApi.get"
}
},
"type": "object"
@@ -6190,7 +9271,9 @@
"jwt": []
}
],
- "tags": ["Annotation Layers"]
+ "tags": [
+ "Annotation Layers"
+ ]
},
"put": {
"description": "Update an Annotation layer",
@@ -6203,13 +9286,22 @@
"schema": {
"type": "integer"
}
+ },
+ {
+ "description": "The annotation pk for this annotation",
+ "in": "path",
+ "name": "annotation_id",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/AnnotationLayerRestApi.put"
+ "$ref": "#/components/schemas/AnnotationRestApi.put"
}
}
},
@@ -6226,7 +9318,7 @@
"type": "number"
},
"result": {
- "$ref": "#/components/schemas/AnnotationLayerRestApi.put"
+ "$ref": "#/components/schemas/AnnotationRestApi.put"
}
},
"type": "object"
@@ -6253,22 +9345,225 @@
"jwt": []
}
],
- "tags": ["Annotation Layers"]
+ "tags": [
+ "Annotation Layers"
+ ]
}
},
- "/annotation_layer/{pk}/annotation/": {
- "delete": {
- "description": "Deletes multiple annotation in a bulk operation.",
+ "/api/v1/assets/export/": {
+ "get": {
+ "description": "Returns a ZIP file with all the Superset assets (databases, datasets, charts, dashboards, saved queries) as YAML files.",
+ "responses": {
+ "200": {
+ "content": {
+ "application/zip": {
+ "schema": {
+ "format": "binary",
+ "type": "string"
+ }
+ }
+ },
+ "description": "ZIP file"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Import/export"
+ ]
+ }
+ },
+ "/api/v1/assets/import/": {
+ "post": {
+ "requestBody": {
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "properties": {
+ "bundle": {
+ "description": "upload file (ZIP or JSON)",
+ "format": "binary",
+ "type": "string"
+ },
+ "passwords": {
+ "description": "JSON map of passwords for each featured database in the ZIP file. If the ZIP includes a database config in the path `databases/MyDatabase.yaml`, the password should be provided in the following format: `{\"databases/MyDatabase.yaml\": \"my_password\"}`.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Dashboard import result"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Import/export"
+ ]
+ }
+ },
+ "/api/v1/async_event/": {
+ "get": {
+ "description": "Reads off of the Redis events stream, using the user's JWT token and optional query params for last event received.",
"parameters": [
{
- "description": "The annotation layer pk for this annotation",
- "in": "path",
- "name": "pk",
- "required": true,
+ "description": "Last ID received by the client",
+ "in": "query",
+ "name": "last_id",
"schema": {
- "type": "integer"
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "result": {
+ "items": {
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "errors": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "id": {
+ "type": "string"
+ },
+ "job_id": {
+ "type": "string"
+ },
+ "result_url": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "user_id": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Async event results"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "AsyncEventsRestApi"
+ ]
+ }
+ },
+ "/api/v1/cachekey/invalidate": {
+ "post": {
+ "description": "Takes a list of datasources, finds the associated cache records and invalidates them and removes the database records",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CacheInvalidationRequestSchema"
+ }
}
},
+ "description": "A list of datasources uuid or the tuples of database and datasource names",
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "description": "cache was successfully invalidated"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "CacheRestApi"
+ ]
+ }
+ },
+ "/api/v1/chart/": {
+ "delete": {
+ "description": "Deletes multiple Charts in a bulk operation.",
+ "parameters": [
{
"content": {
"application/json": {
@@ -6295,11 +9590,14 @@
}
}
},
- "description": "Annotations bulk delete"
+ "description": "Charts bulk delete"
},
"401": {
"$ref": "#/components/responses/401"
},
+ "403": {
+ "$ref": "#/components/responses/403"
+ },
"404": {
"$ref": "#/components/responses/404"
},
@@ -6315,20 +9613,13 @@
"jwt": []
}
],
- "tags": ["Annotation Layers"]
+ "tags": [
+ "Charts"
+ ]
},
"get": {
- "description": "Get a list of Annotation layers, use Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.",
+ "description": "Get a list of charts, use Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.",
"parameters": [
- {
- "description": "The annotation layer id for this annotation",
- "in": "path",
- "name": "pk",
- "required": true,
- "schema": {
- "type": "integer"
- }
- },
{
"content": {
"application/json": {
@@ -6351,8 +9642,47 @@
"description": "The total record count on the backend",
"type": "number"
},
+ "description_columns": {
+ "properties": {
+ "column_name": {
+ "description": "The description for the column name. Will be translated by babel",
+ "example": "A Nice description for the column",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"ids": {
- "description": "A list of annotation ids",
+ "description": "A list of item ids, useful when you don't know the column id",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "label_columns": {
+ "properties": {
+ "column_name": {
+ "description": "The label for the column name. Will be translated by babel",
+ "example": "A Nice label for the column",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "list_columns": {
+ "description": "A list of columns",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "list_title": {
+ "description": "A title to render. Will be translated by babel",
+ "example": "List Items",
+ "type": "string"
+ },
+ "order_columns": {
+ "description": "A list of allowed columns to sort",
"items": {
"type": "string"
},
@@ -6361,7 +9691,7 @@
"result": {
"description": "The result from the get list query",
"items": {
- "$ref": "#/components/schemas/AnnotationRestApi.get_list"
+ "$ref": "#/components/schemas/ChartRestApi.get_list"
},
"type": "array"
}
@@ -6370,7 +9700,7 @@
}
}
},
- "description": "Items from Annotations"
+ "description": "Items from Model"
},
"400": {
"$ref": "#/components/responses/400"
@@ -6390,30 +9720,21 @@
"jwt": []
}
],
- "tags": ["Annotation Layers"]
+ "tags": [
+ "Charts"
+ ]
},
"post": {
- "description": "Create an Annotation layer",
- "parameters": [
- {
- "description": "The annotation layer pk for this annotation",
- "in": "path",
- "name": "pk",
- "required": true,
- "schema": {
- "type": "integer"
- }
- }
- ],
+ "description": "Create a new Chart.",
"requestBody": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/AnnotationRestApi.post"
+ "$ref": "#/components/schemas/ChartRestApi.post"
}
}
},
- "description": "Annotation schema",
+ "description": "Chart schema",
"required": true
},
"responses": {
@@ -6426,14 +9747,14 @@
"type": "number"
},
"result": {
- "$ref": "#/components/schemas/AnnotationRestApi.post"
+ "$ref": "#/components/schemas/ChartRestApi.post"
}
},
"type": "object"
}
}
},
- "description": "Annotation added"
+ "description": "Chart added"
},
"400": {
"$ref": "#/components/responses/400"
@@ -6441,8 +9762,8 @@
"401": {
"$ref": "#/components/responses/401"
},
- "404": {
- "$ref": "#/components/responses/404"
+ "422": {
+ "$ref": "#/components/responses/422"
},
"500": {
"$ref": "#/components/responses/500"
@@ -6453,30 +9774,25 @@
"jwt": []
}
],
- "tags": ["Annotation Layers"]
+ "tags": [
+ "Charts"
+ ]
}
},
- "/annotation_layer/{pk}/annotation/{annotation_id}": {
- "delete": {
- "description": "Delete Annotation layer",
+ "/api/v1/chart/_info": {
+ "get": {
+ "description": "Several metadata information about chart API endpoints.",
"parameters": [
{
- "description": "The annotation layer pk for this annotation",
- "in": "path",
- "name": "pk",
- "required": true,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "The annotation pk for this annotation",
- "in": "path",
- "name": "annotation_id",
- "required": true,
- "schema": {
- "type": "integer"
- }
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/get_info_schema"
+ }
+ }
+ },
+ "in": "query",
+ "name": "q"
}
],
"responses": {
@@ -6485,18 +9801,52 @@
"application/json": {
"schema": {
"properties": {
- "message": {
- "type": "string"
+ "add_columns": {
+ "type": "object"
+ },
+ "edit_columns": {
+ "type": "object"
+ },
+ "filters": {
+ "properties": {
+ "column_name": {
+ "items": {
+ "properties": {
+ "name": {
+ "description": "The filter name. Will be translated by babel",
+ "type": "string"
+ },
+ "operator": {
+ "description": "The filter operation key to use on list filters",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "permissions": {
+ "description": "The user permissions for this API resource",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
}
}
},
- "description": "Item deleted"
+ "description": "Item from Model"
},
- "404": {
- "$ref": "#/components/responses/404"
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
},
"422": {
"$ref": "#/components/responses/422"
@@ -6510,60 +9860,45 @@
"jwt": []
}
],
- "tags": ["Annotation Layers"]
- },
- "get": {
- "description": "Get an Annotation layer",
- "parameters": [
- {
- "description": "The annotation layer pk for this annotation",
- "in": "path",
- "name": "pk",
- "required": true,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "The annotation pk",
- "in": "path",
- "name": "annotation_id",
- "required": true,
- "schema": {
- "type": "integer"
+ "tags": [
+ "Charts"
+ ]
+ }
+ },
+ "/api/v1/chart/data": {
+ "post": {
+ "description": "Takes a query context constructed in the client and returns payload data response for the given query.",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ChartDataQueryContextSchema"
+ }
}
},
- {
+ "description": "A query context consists of a datasource from which to fetch data and one or many query objects.",
+ "required": true
+ },
+ "responses": {
+ "200": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_item_schema"
+ "$ref": "#/components/schemas/ChartDataResponseSchema"
}
}
},
- "in": "query",
- "name": "q"
- }
- ],
- "responses": {
- "200": {
+ "description": "Query result"
+ },
+ "202": {
"content": {
"application/json": {
"schema": {
- "properties": {
- "id": {
- "description": "The item id",
- "type": "string"
- },
- "result": {
- "$ref": "#/components/schemas/AnnotationRestApi.get"
- }
- },
- "type": "object"
+ "$ref": "#/components/schemas/ChartDataAsyncResponseSchema"
}
}
},
- "description": "Item from Model"
+ "description": "Async job details"
},
"400": {
"$ref": "#/components/responses/400"
@@ -6571,12 +9906,6 @@
"401": {
"$ref": "#/components/responses/401"
},
- "404": {
- "$ref": "#/components/responses/404"
- },
- "422": {
- "$ref": "#/components/responses/422"
- },
"500": {
"$ref": "#/components/responses/500"
}
@@ -6586,59 +9915,34 @@
"jwt": []
}
],
- "tags": ["Annotation Layers"]
- },
- "put": {
- "description": "Update an Annotation layer",
+ "tags": [
+ "Charts"
+ ]
+ }
+ },
+ "/api/v1/chart/data/{cache_key}": {
+ "get": {
+ "description": "Takes a query context cache key and returns payload data response for the given query.",
"parameters": [
{
- "description": "The annotation layer pk for this annotation",
- "in": "path",
- "name": "pk",
- "required": true,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "The annotation pk for this annotation",
"in": "path",
- "name": "annotation_id",
+ "name": "cache_key",
"required": true,
- "schema": {
- "type": "integer"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/AnnotationRestApi.put"
- }
- }
- },
- "description": "Annotation schema",
- "required": true
- },
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
- "properties": {
- "id": {
- "type": "number"
- },
- "result": {
- "$ref": "#/components/schemas/AnnotationRestApi.put"
- }
- },
- "type": "object"
+ "$ref": "#/components/schemas/ChartDataResponseSchema"
}
}
},
- "description": "Annotation changed"
+ "description": "Query result"
},
"400": {
"$ref": "#/components/responses/400"
@@ -6649,6 +9953,9 @@
"404": {
"$ref": "#/components/responses/404"
},
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
"500": {
"$ref": "#/components/responses/500"
}
@@ -6658,70 +9965,48 @@
"jwt": []
}
],
- "tags": ["Annotation Layers"]
+ "tags": [
+ "Charts"
+ ]
}
},
- "/async_event/": {
+ "/api/v1/chart/export/": {
"get": {
- "description": "Reads off of the Redis events stream, using the user's JWT token and optional query params for last event received.",
+ "description": "Exports multiple charts and downloads them as YAML files",
"parameters": [
{
- "description": "Last ID received by the client",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/get_export_ids_schema"
+ }
+ }
+ },
"in": "query",
- "name": "last_id",
- "schema": {
- "type": "string"
- }
+ "name": "q"
}
],
"responses": {
"200": {
"content": {
- "application/json": {
+ "application/zip": {
"schema": {
- "properties": {
- "result": {
- "items": {
- "properties": {
- "channel_id": {
- "type": "string"
- },
- "errors": {
- "items": {
- "type": "object"
- },
- "type": "array"
- },
- "id": {
- "type": "string"
- },
- "job_id": {
- "type": "string"
- },
- "result_url": {
- "type": "string"
- },
- "status": {
- "type": "string"
- },
- "user_id": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
+ "format": "binary",
+ "type": "string"
}
}
},
- "description": "Async event results"
+ "description": "A zip file with chart(s), dataset(s) and database(s) as YAML"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
"500": {
"$ref": "#/components/responses/500"
}
@@ -6731,30 +10016,47 @@
"jwt": []
}
],
- "tags": ["AsyncEventsRestApi"]
+ "tags": [
+ "Charts"
+ ]
}
},
- "/cachekey/invalidate": {
- "post": {
- "description": "Takes a list of datasources, finds the associated cache records and invalidates them and removes the database records",
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CacheInvalidationRequestSchema"
+ "/api/v1/chart/favorite_status/": {
+ "get": {
+ "description": "Check favorited dashboards for current user",
+ "parameters": [
+ {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/get_fav_star_ids_schema"
+ }
}
- }
- },
- "description": "A list of datasources uuid or the tuples of database and datasource names",
- "required": true
- },
+ },
+ "in": "query",
+ "name": "q"
+ }
+ ],
"responses": {
- "201": {
- "description": "cache was successfully invalidated"
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GetFavStarIdsSchema"
+ }
+ }
+ },
+ "description": "None"
},
"400": {
"$ref": "#/components/responses/400"
},
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
"500": {
"$ref": "#/components/responses/500"
}
@@ -6764,25 +10066,38 @@
"jwt": []
}
],
- "tags": ["CacheRestApi"]
+ "tags": [
+ "Charts"
+ ]
}
},
- "/chart/": {
- "delete": {
- "description": "Deletes multiple Charts in a bulk operation.",
- "parameters": [
- {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/get_delete_ids_schema"
- }
+ "/api/v1/chart/import/": {
+ "post": {
+ "requestBody": {
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "properties": {
+ "formData": {
+ "description": "upload file (ZIP)",
+ "format": "binary",
+ "type": "string"
+ },
+ "overwrite": {
+ "description": "overwrite existing charts?",
+ "type": "boolean"
+ },
+ "passwords": {
+ "description": "JSON map of passwords for each featured database in the ZIP file. If the ZIP includes a database config in the path `databases/MyDatabase.yaml`, the password should be provided in the following format: `{\"databases/MyDatabase.yaml\": \"my_password\"}`.",
+ "type": "string"
+ }
+ },
+ "type": "object"
}
- },
- "in": "query",
- "name": "q"
- }
- ],
+ }
+ },
+ "required": true
+ },
"responses": {
"200": {
"content": {
@@ -6797,17 +10112,14 @@
}
}
},
- "description": "Charts bulk delete"
+ "description": "Chart import result"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
- "403": {
- "$ref": "#/components/responses/403"
- },
- "404": {
- "$ref": "#/components/responses/404"
- },
"422": {
"$ref": "#/components/responses/422"
},
@@ -6820,92 +10132,45 @@
"jwt": []
}
],
- "tags": ["Charts"]
- },
+ "tags": [
+ "Charts"
+ ]
+ }
+ },
+ "/api/v1/chart/related/{column_name}": {
"get": {
- "description": "Get a list of charts, use Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.",
+ "description": "Get a list of all possible owners for a chart. Use `owners` has the `column_name` parameter",
"parameters": [
+ {
+ "in": "path",
+ "name": "column_name",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
{
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_list_schema"
+ "$ref": "#/components/schemas/get_related_schema"
}
}
},
"in": "query",
- "name": "q"
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "properties": {
- "count": {
- "description": "The total record count on the backend",
- "type": "number"
- },
- "description_columns": {
- "properties": {
- "column_name": {
- "description": "The description for the column name. Will be translated by babel",
- "example": "A Nice description for the column",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ids": {
- "description": "A list of item ids, useful when you don't know the column id",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "label_columns": {
- "properties": {
- "column_name": {
- "description": "The label for the column name. Will be translated by babel",
- "example": "A Nice label for the column",
- "type": "string"
- }
- },
- "type": "object"
- },
- "list_columns": {
- "description": "A list of columns",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "list_title": {
- "description": "A title to render. Will be translated by babel",
- "example": "List Items",
- "type": "string"
- },
- "order_columns": {
- "description": "A list of allowed columns to sort",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "result": {
- "description": "The result from the get list query",
- "items": {
- "$ref": "#/components/schemas/ChartRestApi.get_list"
- },
- "type": "array"
- }
- },
- "type": "object"
+ "name": "q"
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RelatedResponseSchema"
}
}
},
- "description": "Items from Model"
+ "description": "Related column data"
},
"400": {
"$ref": "#/components/responses/400"
@@ -6913,8 +10178,8 @@
"401": {
"$ref": "#/components/responses/401"
},
- "422": {
- "$ref": "#/components/responses/422"
+ "404": {
+ "$ref": "#/components/responses/404"
},
"500": {
"$ref": "#/components/responses/500"
@@ -6925,46 +10190,49 @@
"jwt": []
}
],
- "tags": ["Charts"]
- },
- "post": {
- "description": "Create a new Chart.",
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ChartRestApi.post"
- }
+ "tags": [
+ "Charts"
+ ]
+ }
+ },
+ "/api/v1/chart/{pk}": {
+ "delete": {
+ "description": "Deletes a Chart.",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
}
- },
- "description": "Chart schema",
- "required": true
- },
+ }
+ ],
"responses": {
- "201": {
+ "200": {
"content": {
"application/json": {
"schema": {
"properties": {
- "id": {
- "type": "number"
- },
- "result": {
- "$ref": "#/components/schemas/ChartRestApi.post"
+ "message": {
+ "type": "string"
}
},
"type": "object"
}
}
},
- "description": "Chart added"
- },
- "400": {
- "$ref": "#/components/responses/400"
+ "description": "Chart delete"
},
"401": {
"$ref": "#/components/responses/401"
},
+ "403": {
+ "$ref": "#/components/responses/403"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
"422": {
"$ref": "#/components/responses/422"
},
@@ -6977,18 +10245,26 @@
"jwt": []
}
],
- "tags": ["Charts"]
- }
- },
- "/chart/_info": {
+ "tags": [
+ "Charts"
+ ]
+ },
"get": {
- "description": "Several metadata information about chart API endpoints.",
+ "description": "Get a chart detail information.",
"parameters": [
+ {
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ },
{
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_info_schema"
+ "$ref": "#/components/schemas/get_item_schema"
}
}
},
@@ -7002,39 +10278,44 @@
"application/json": {
"schema": {
"properties": {
- "add_columns": {
+ "description_columns": {
+ "properties": {
+ "column_name": {
+ "description": "The description for the column name. Will be translated by babel",
+ "example": "A Nice description for the column",
+ "type": "string"
+ }
+ },
"type": "object"
},
- "edit_columns": {
- "type": "object"
+ "id": {
+ "description": "The item id",
+ "type": "string"
},
- "filters": {
+ "label_columns": {
"properties": {
"column_name": {
- "items": {
- "properties": {
- "name": {
- "description": "The filter name. Will be translated by babel",
- "type": "string"
- },
- "operator": {
- "description": "The filter operation key to use on list filters",
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
+ "description": "The label for the column name. Will be translated by babel",
+ "example": "A Nice label for the column",
+ "type": "string"
}
},
"type": "object"
},
- "permissions": {
- "description": "The user permissions for this API resource",
+ "result": {
+ "$ref": "#/components/schemas/ChartRestApi.get"
+ },
+ "show_columns": {
+ "description": "A list of columns",
"items": {
"type": "string"
},
"type": "array"
+ },
+ "show_title": {
+ "description": "A title to render. Will be translated by babel",
+ "example": "Show Item Details",
+ "type": "string"
}
},
"type": "object"
@@ -7049,6 +10330,9 @@
"401": {
"$ref": "#/components/responses/401"
},
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
"422": {
"$ref": "#/components/responses/422"
},
@@ -7061,21 +10345,31 @@
"jwt": []
}
],
- "tags": ["Charts"]
- }
- },
- "/chart/data": {
- "post": {
- "description": "Takes a query context constructed in the client and returns payload data response for the given query.",
+ "tags": [
+ "Charts"
+ ]
+ },
+ "put": {
+ "description": "Changes a Chart.",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ }
+ ],
"requestBody": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ChartDataQueryContextSchema"
+ "$ref": "#/components/schemas/ChartRestApi.put"
}
}
},
- "description": "A query context consists of a datasource from which to fetch data and one or many query objects.",
+ "description": "Chart schema",
"required": true
},
"responses": {
@@ -7083,21 +10377,19 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ChartDataResponseSchema"
- }
- }
- },
- "description": "Query result"
- },
- "202": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ChartDataAsyncResponseSchema"
+ "properties": {
+ "id": {
+ "type": "number"
+ },
+ "result": {
+ "$ref": "#/components/schemas/ChartRestApi.put"
+ }
+ },
+ "type": "object"
}
}
},
- "description": "Async job details"
+ "description": "Chart changed"
},
"400": {
"$ref": "#/components/responses/400"
@@ -7105,47 +10397,8 @@
"401": {
"$ref": "#/components/responses/401"
},
- "500": {
- "$ref": "#/components/responses/500"
- }
- },
- "security": [
- {
- "jwt": []
- }
- ],
- "tags": ["Charts"]
- }
- },
- "/chart/data/{cache_key}": {
- "get": {
- "description": "Takes a query context cache key and returns payload data response for the given query.",
- "parameters": [
- {
- "in": "path",
- "name": "cache_key",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ChartDataResponseSchema"
- }
- }
- },
- "description": "Query result"
- },
- "400": {
- "$ref": "#/components/responses/400"
- },
- "401": {
- "$ref": "#/components/responses/401"
+ "403": {
+ "$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
@@ -7162,18 +10415,28 @@
"jwt": []
}
],
- "tags": ["Charts"]
+ "tags": [
+ "Charts"
+ ]
}
},
- "/chart/export/": {
+ "/api/v1/chart/{pk}/cache_screenshot/": {
"get": {
- "description": "Exports multiple charts and downloads them as YAML files",
+ "description": "Compute and cache a screenshot.",
"parameters": [
+ {
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ },
{
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_export_ids_schema"
+ "$ref": "#/components/schemas/screenshot_query_schema"
}
}
},
@@ -7184,14 +10447,16 @@
"responses": {
"200": {
"content": {
- "application/zip": {
+ "application/json": {
"schema": {
- "format": "binary",
- "type": "string"
+ "$ref": "#/components/schemas/ChartCacheScreenshotResponseSchema"
}
}
},
- "description": "A zip file with chart(s), dataset(s) and database(s) as YAML"
+ "description": "Chart async result"
+ },
+ "302": {
+ "description": "Redirects to the current digest"
},
"400": {
"$ref": "#/components/responses/400"
@@ -7211,35 +10476,61 @@
"jwt": []
}
],
- "tags": ["Charts"]
+ "tags": [
+ "Charts"
+ ]
}
},
- "/chart/favorite_status/": {
+ "/api/v1/chart/{pk}/data/": {
"get": {
- "description": "Check favorited dashboards for current user",
+ "description": "Takes a chart ID and uses the query context stored when the chart was saved to return payload data response.",
"parameters": [
{
+ "description": "The chart ID",
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "The format in which the data should be returned",
+ "in": "query",
+ "name": "format",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "description": "The type in which the data should be returned",
+ "in": "query",
+ "name": "type",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_fav_star_ids_schema"
+ "$ref": "#/components/schemas/ChartDataResponseSchema"
}
}
},
- "in": "query",
- "name": "q"
- }
- ],
- "responses": {
- "200": {
+ "description": "Query result"
+ },
+ "202": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/GetFavStarIdsSchema"
+ "$ref": "#/components/schemas/ChartDataAsyncResponseSchema"
}
}
},
- "description": "None"
+ "description": "Async job details"
},
"400": {
"$ref": "#/components/responses/400"
@@ -7247,9 +10538,6 @@
"401": {
"$ref": "#/components/responses/401"
},
- "404": {
- "$ref": "#/components/responses/404"
- },
"500": {
"$ref": "#/components/responses/500"
}
@@ -7259,51 +10547,46 @@
"jwt": []
}
],
- "tags": ["Charts"]
+ "tags": [
+ "Charts"
+ ]
}
},
- "/chart/import/": {
- "post": {
- "requestBody": {
- "content": {
- "multipart/form-data": {
- "schema": {
- "properties": {
- "formData": {
- "description": "upload file (ZIP)",
- "format": "binary",
- "type": "string"
- },
- "overwrite": {
- "description": "overwrite existing databases?",
- "type": "boolean"
- },
- "passwords": {
- "description": "JSON map of passwords for each file",
- "type": "string"
- }
- },
- "type": "object"
- }
+ "/api/v1/chart/{pk}/screenshot/{digest}/": {
+ "get": {
+ "description": "Get a computed screenshot from cache.",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
}
},
- "required": true
- },
+ {
+ "in": "path",
+ "name": "digest",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
"responses": {
"200": {
"content": {
- "application/json": {
+ "image/*": {
"schema": {
- "properties": {
- "message": {
- "type": "string"
- }
- },
- "type": "object"
+ "format": "binary",
+ "type": "string"
}
}
},
- "description": "Chart import result"
+ "description": "Chart thumbnail image"
+ },
+ "302": {
+ "description": "Redirects to the current digest"
},
"400": {
"$ref": "#/components/responses/400"
@@ -7311,8 +10594,8 @@
"401": {
"$ref": "#/components/responses/401"
},
- "422": {
- "$ref": "#/components/responses/422"
+ "404": {
+ "$ref": "#/components/responses/404"
},
"500": {
"$ref": "#/components/responses/500"
@@ -7323,43 +10606,46 @@
"jwt": []
}
],
- "tags": ["Charts"]
+ "tags": [
+ "Charts"
+ ]
}
},
- "/chart/related/{column_name}": {
+ "/api/v1/chart/{pk}/thumbnail/{digest}/": {
"get": {
- "description": "Get a list of all possible owners for a chart. Use `owners` has the `column_name` parameter",
+ "description": "Compute or get already computed chart thumbnail from cache.",
"parameters": [
{
"in": "path",
- "name": "column_name",
+ "name": "pk",
"required": true,
"schema": {
- "type": "string"
+ "type": "integer"
}
},
{
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/get_related_schema"
- }
- }
- },
- "in": "query",
- "name": "q"
+ "in": "path",
+ "name": "digest",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
}
],
"responses": {
"200": {
"content": {
- "application/json": {
+ "image/*": {
"schema": {
- "$ref": "#/components/schemas/RelatedResponseSchema"
+ "format": "binary",
+ "type": "string"
}
}
},
- "description": "Related column data"
+ "description": "Chart thumbnail image"
+ },
+ "302": {
+ "description": "Redirects to the current digest"
},
"400": {
"$ref": "#/components/responses/400"
@@ -7379,20 +10665,25 @@
"jwt": []
}
],
- "tags": ["Charts"]
+ "tags": [
+ "Charts"
+ ]
}
},
- "/chart/{pk}": {
+ "/api/v1/css_template/": {
"delete": {
- "description": "Deletes a Chart.",
+ "description": "Deletes multiple css templates in a bulk operation.",
"parameters": [
{
- "in": "path",
- "name": "pk",
- "required": true,
- "schema": {
- "type": "integer"
- }
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/get_delete_ids_schema"
+ }
+ }
+ },
+ "in": "query",
+ "name": "q"
}
],
"responses": {
@@ -7409,14 +10700,11 @@
}
}
},
- "description": "Chart delete"
+ "description": "CSS templates bulk delete"
},
"401": {
"$ref": "#/components/responses/401"
},
- "403": {
- "$ref": "#/components/responses/403"
- },
"404": {
"$ref": "#/components/responses/404"
},
@@ -7432,24 +10720,18 @@
"jwt": []
}
],
- "tags": ["Charts"]
+ "tags": [
+ "CSS Templates"
+ ]
},
"get": {
- "description": "Get a chart detail information.",
+ "description": "Get a list of CSS templates, use Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.",
"parameters": [
- {
- "in": "path",
- "name": "pk",
- "required": true,
- "schema": {
- "type": "integer"
- }
- },
{
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_item_schema"
+ "$ref": "#/components/schemas/get_list_schema"
}
}
},
@@ -7463,6 +10745,10 @@
"application/json": {
"schema": {
"properties": {
+ "count": {
+ "description": "The total record count on the backend",
+ "type": "number"
+ },
"description_columns": {
"properties": {
"column_name": {
@@ -7473,9 +10759,12 @@
},
"type": "object"
},
- "id": {
- "description": "The item id",
- "type": "string"
+ "ids": {
+ "description": "A list of item ids, useful when you don't know the column id",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
},
"label_columns": {
"properties": {
@@ -7487,27 +10776,38 @@
},
"type": "object"
},
- "result": {
- "$ref": "#/components/schemas/ChartRestApi.get"
- },
- "show_columns": {
+ "list_columns": {
"description": "A list of columns",
"items": {
"type": "string"
},
"type": "array"
},
- "show_title": {
+ "list_title": {
"description": "A title to render. Will be translated by babel",
- "example": "Show Item Details",
+ "example": "List Items",
"type": "string"
+ },
+ "order_columns": {
+ "description": "A list of allowed columns to sort",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "result": {
+ "description": "The result from the get list query",
+ "items": {
+ "$ref": "#/components/schemas/CssTemplateRestApi.get_list"
+ },
+ "type": "array"
}
},
"type": "object"
}
}
},
- "description": "Item from Model"
+ "description": "Items from Model"
},
"400": {
"$ref": "#/components/responses/400"
@@ -7515,9 +10815,6 @@
"401": {
"$ref": "#/components/responses/401"
},
- "404": {
- "$ref": "#/components/responses/404"
- },
"422": {
"$ref": "#/components/responses/422"
},
@@ -7530,49 +10827,127 @@
"jwt": []
}
],
- "tags": ["Charts"]
+ "tags": [
+ "CSS Templates"
+ ]
},
- "put": {
- "description": "Changes a Chart.",
- "parameters": [
- {
- "in": "path",
- "name": "pk",
- "required": true,
- "schema": {
- "type": "integer"
- }
- }
- ],
+ "post": {
+ "description": "Create a CSS template",
"requestBody": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ChartRestApi.put"
+ "$ref": "#/components/schemas/CssTemplateRestApi.post"
}
}
},
- "description": "Chart schema",
+ "description": "Model schema",
"required": true
},
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "result": {
+ "$ref": "#/components/schemas/CssTemplateRestApi.post"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Item inserted"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "CSS Templates"
+ ]
+ }
+ },
+ "/api/v1/css_template/_info": {
+ "get": {
+ "description": "Get metadata information about this API resource",
+ "parameters": [
+ {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/get_info_schema"
+ }
+ }
+ },
+ "in": "query",
+ "name": "q"
+ }
+ ],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
- "id": {
- "type": "number"
+ "add_columns": {
+ "type": "object"
},
- "result": {
- "$ref": "#/components/schemas/ChartRestApi.put"
+ "edit_columns": {
+ "type": "object"
+ },
+ "filters": {
+ "properties": {
+ "column_name": {
+ "items": {
+ "properties": {
+ "name": {
+ "description": "The filter name. Will be translated by babel",
+ "type": "string"
+ },
+ "operator": {
+ "description": "The filter operation key to use on list filters",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "permissions": {
+ "description": "The user permissions for this API resource",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
}
},
"type": "object"
}
}
},
- "description": "Chart changed"
+ "description": "Item from Model"
},
"400": {
"$ref": "#/components/responses/400"
@@ -7580,12 +10955,6 @@
"401": {
"$ref": "#/components/responses/401"
},
- "403": {
- "$ref": "#/components/responses/403"
- },
- "404": {
- "$ref": "#/components/responses/404"
- },
"422": {
"$ref": "#/components/responses/422"
},
@@ -7598,26 +10967,27 @@
"jwt": []
}
],
- "tags": ["Charts"]
+ "tags": [
+ "CSS Templates"
+ ]
}
},
- "/chart/{pk}/cache_screenshot/": {
+ "/api/v1/css_template/related/{column_name}": {
"get": {
- "description": "Compute and cache a screenshot.",
"parameters": [
{
"in": "path",
- "name": "pk",
+ "name": "column_name",
"required": true,
"schema": {
- "type": "integer"
+ "type": "string"
}
},
{
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/screenshot_query_schema"
+ "$ref": "#/components/schemas/get_related_schema"
}
}
},
@@ -7630,14 +11000,11 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ChartCacheScreenshotResponseSchema"
+ "$ref": "#/components/schemas/RelatedResponseSchema"
}
}
},
- "description": "Chart async result"
- },
- "302": {
- "description": "Redirects to the current digest"
+ "description": "Related column data"
},
"400": {
"$ref": "#/components/responses/400"
@@ -7657,37 +11024,22 @@
"jwt": []
}
],
- "tags": ["Charts"]
+ "tags": [
+ "CSS Templates"
+ ]
}
},
- "/chart/{pk}/data/": {
- "get": {
- "description": "Takes a chart ID and uses the query context stored when the chart was saved to return payload data response.",
+ "/api/v1/css_template/{pk}": {
+ "delete": {
+ "description": "Delete CSS template",
"parameters": [
{
- "description": "The chart ID",
"in": "path",
"name": "pk",
"required": true,
"schema": {
"type": "integer"
}
- },
- {
- "description": "The format in which the data should be returned",
- "in": "query",
- "name": "format",
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "The type in which the data should be returned",
- "in": "query",
- "name": "type",
- "schema": {
- "type": "string"
- }
}
],
"responses": {
@@ -7695,27 +11047,22 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/ChartDataResponseSchema"
- }
- }
- },
- "description": "Query result"
- },
- "202": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ChartDataAsyncResponseSchema"
+ "properties": {
+ "message": {
+ "type": "string"
+ }
+ },
+ "type": "object"
}
}
},
- "description": "Async job details"
+ "description": "Item deleted"
},
- "400": {
- "$ref": "#/components/responses/400"
+ "404": {
+ "$ref": "#/components/responses/404"
},
- "401": {
- "$ref": "#/components/responses/401"
+ "422": {
+ "$ref": "#/components/responses/422"
},
"500": {
"$ref": "#/components/responses/500"
@@ -7726,12 +11073,12 @@
"jwt": []
}
],
- "tags": ["Charts"]
- }
- },
- "/chart/{pk}/screenshot/{digest}/": {
+ "tags": [
+ "CSS Templates"
+ ]
+ },
"get": {
- "description": "Get a computed screenshot from cache.",
+ "description": "Get a CSS template",
"parameters": [
{
"in": "path",
@@ -7742,28 +11089,68 @@
}
},
{
- "in": "path",
- "name": "digest",
- "required": true,
- "schema": {
- "type": "string"
- }
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/get_item_schema"
+ }
+ }
+ },
+ "in": "query",
+ "name": "q"
}
],
"responses": {
"200": {
"content": {
- "image/*": {
+ "application/json": {
"schema": {
- "format": "binary",
- "type": "string"
+ "properties": {
+ "description_columns": {
+ "properties": {
+ "column_name": {
+ "description": "The description for the column name. Will be translated by babel",
+ "example": "A Nice description for the column",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "id": {
+ "description": "The item id",
+ "type": "string"
+ },
+ "label_columns": {
+ "properties": {
+ "column_name": {
+ "description": "The label for the column name. Will be translated by babel",
+ "example": "A Nice label for the column",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "result": {
+ "$ref": "#/components/schemas/CssTemplateRestApi.get"
+ },
+ "show_columns": {
+ "description": "A list of columns",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "show_title": {
+ "description": "A title to render. Will be translated by babel",
+ "example": "Show Item Details",
+ "type": "string"
+ }
+ },
+ "type": "object"
}
}
},
- "description": "Chart thumbnail image"
- },
- "302": {
- "description": "Redirects to the current digest"
+ "description": "Item from Model"
},
"400": {
"$ref": "#/components/responses/400"
@@ -7774,6 +11161,9 @@
"404": {
"$ref": "#/components/responses/404"
},
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
"500": {
"$ref": "#/components/responses/500"
}
@@ -7783,12 +11173,12 @@
"jwt": []
}
],
- "tags": ["Charts"]
- }
- },
- "/chart/{pk}/thumbnail/{digest}/": {
- "get": {
- "description": "Compute or get already computed chart thumbnail from cache.",
+ "tags": [
+ "CSS Templates"
+ ]
+ },
+ "put": {
+ "description": "Update a CSS template",
"parameters": [
{
"in": "path",
@@ -7797,30 +11187,34 @@
"schema": {
"type": "integer"
}
- },
- {
- "in": "path",
- "name": "digest",
- "required": true,
- "schema": {
- "type": "string"
- }
}
],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CssTemplateRestApi.put"
+ }
+ }
+ },
+ "description": "Model schema",
+ "required": true
+ },
"responses": {
"200": {
"content": {
- "image/*": {
+ "application/json": {
"schema": {
- "format": "binary",
- "type": "string"
+ "properties": {
+ "result": {
+ "$ref": "#/components/schemas/CssTemplateRestApi.put"
+ }
+ },
+ "type": "object"
}
}
},
- "description": "Chart thumbnail image"
- },
- "302": {
- "description": "Redirects to the current digest"
+ "description": "Item changed"
},
"400": {
"$ref": "#/components/responses/400"
@@ -7831,6 +11225,9 @@
"404": {
"$ref": "#/components/responses/404"
},
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
"500": {
"$ref": "#/components/responses/500"
}
@@ -7840,12 +11237,14 @@
"jwt": []
}
],
- "tags": ["Charts"]
+ "tags": [
+ "CSS Templates"
+ ]
}
},
- "/css_template/": {
+ "/api/v1/dashboard/": {
"delete": {
- "description": "Deletes multiple css templates in a bulk operation.",
+ "description": "Deletes multiple Dashboards in a bulk operation.",
"parameters": [
{
"content": {
@@ -7873,11 +11272,14 @@
}
}
},
- "description": "CSS templates bulk delete"
+ "description": "Dashboard bulk delete"
},
"401": {
"$ref": "#/components/responses/401"
},
+ "403": {
+ "$ref": "#/components/responses/403"
+ },
"404": {
"$ref": "#/components/responses/404"
},
@@ -7893,10 +11295,12 @@
"jwt": []
}
],
- "tags": ["CSS Templates"]
+ "tags": [
+ "Dashboards"
+ ]
},
"get": {
- "description": "Get a list of CSS templates, use Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.",
+ "description": "Get a list of dashboards, use Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.",
"parameters": [
{
"content": {
@@ -7969,7 +11373,7 @@
"result": {
"description": "The result from the get list query",
"items": {
- "$ref": "#/components/schemas/CssTemplateRestApi.get_list"
+ "$ref": "#/components/schemas/DashboardRestApi.get_list"
},
"type": "array"
}
@@ -7998,19 +11402,21 @@
"jwt": []
}
],
- "tags": ["CSS Templates"]
+ "tags": [
+ "Dashboards"
+ ]
},
"post": {
- "description": "Create a CSS template",
+ "description": "Create a new Dashboard.",
"requestBody": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/CssTemplateRestApi.post"
+ "$ref": "#/components/schemas/DashboardRestApi.post"
}
}
},
- "description": "Model schema",
+ "description": "Dashboard schema",
"required": true
},
"responses": {
@@ -8020,17 +11426,20 @@
"schema": {
"properties": {
"id": {
- "type": "string"
+ "type": "number"
},
"result": {
- "$ref": "#/components/schemas/CssTemplateRestApi.post"
+ "$ref": "#/components/schemas/DashboardRestApi.post"
}
},
"type": "object"
}
}
},
- "description": "Item inserted"
+ "description": "Dashboard added"
+ },
+ "302": {
+ "description": "Redirects to the current digest"
},
"400": {
"$ref": "#/components/responses/400"
@@ -8038,8 +11447,8 @@
"401": {
"$ref": "#/components/responses/401"
},
- "422": {
- "$ref": "#/components/responses/422"
+ "404": {
+ "$ref": "#/components/responses/404"
},
"500": {
"$ref": "#/components/responses/500"
@@ -8050,12 +11459,14 @@
"jwt": []
}
],
- "tags": ["CSS Templates"]
+ "tags": [
+ "Dashboards"
+ ]
}
},
- "/css_template/_info": {
+ "/api/v1/dashboard/_info": {
"get": {
- "description": "Get metadata information about this API resource",
+ "description": "Several metadata information about dashboard API endpoints.",
"parameters": [
{
"content": {
@@ -8134,25 +11545,20 @@
"jwt": []
}
],
- "tags": ["CSS Templates"]
+ "tags": [
+ "Dashboards"
+ ]
}
},
- "/css_template/related/{column_name}": {
+ "/api/v1/dashboard/export/": {
"get": {
+ "description": "Exports multiple Dashboards and downloads them as YAML files.",
"parameters": [
- {
- "in": "path",
- "name": "column_name",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
{
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_related_schema"
+ "$ref": "#/components/schemas/get_export_ids_schema"
}
}
},
@@ -8163,13 +11569,13 @@
"responses": {
"200": {
"content": {
- "application/json": {
+ "text/plain": {
"schema": {
- "$ref": "#/components/schemas/RelatedResponseSchema"
+ "type": "string"
}
}
},
- "description": "Related column data"
+ "description": "Dashboard export"
},
"400": {
"$ref": "#/components/responses/400"
@@ -8180,6 +11586,9 @@
"404": {
"$ref": "#/components/responses/404"
},
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
"500": {
"$ref": "#/components/responses/500"
}
@@ -8189,20 +11598,25 @@
"jwt": []
}
],
- "tags": ["CSS Templates"]
+ "tags": [
+ "Dashboards"
+ ]
}
},
- "/css_template/{pk}": {
- "delete": {
- "description": "Delete CSS template",
+ "/api/v1/dashboard/favorite_status/": {
+ "get": {
+ "description": "Check favorited dashboards for current user",
"parameters": [
{
- "in": "path",
- "name": "pk",
- "required": true,
- "schema": {
- "type": "integer"
- }
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/get_fav_star_ids_schema"
+ }
+ }
+ },
+ "in": "query",
+ "name": "q"
}
],
"responses": {
@@ -8210,23 +11624,21 @@
"content": {
"application/json": {
"schema": {
- "properties": {
- "message": {
- "type": "string"
- }
- },
- "type": "object"
+ "$ref": "#/components/schemas/GetFavStarIdsSchema"
}
}
},
- "description": "Item deleted"
+ "description": "None"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
},
"404": {
"$ref": "#/components/responses/404"
},
- "422": {
- "$ref": "#/components/responses/422"
- },
"500": {
"$ref": "#/components/responses/500"
}
@@ -8236,74 +11648,45 @@
"jwt": []
}
],
- "tags": ["CSS Templates"]
- },
- "get": {
- "description": "Get a CSS template",
- "parameters": [
- {
- "in": "path",
- "name": "pk",
- "required": true,
- "schema": {
- "type": "integer"
+ "tags": [
+ "Dashboards"
+ ]
+ }
+ },
+ "/api/v1/dashboard/import/": {
+ "post": {
+ "requestBody": {
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "properties": {
+ "formData": {
+ "description": "upload file (ZIP or JSON)",
+ "format": "binary",
+ "type": "string"
+ },
+ "overwrite": {
+ "description": "overwrite existing dashboards?",
+ "type": "boolean"
+ },
+ "passwords": {
+ "description": "JSON map of passwords for each featured database in the ZIP file. If the ZIP includes a database config in the path `databases/MyDatabase.yaml`, the password should be provided in the following format: `{\"databases/MyDatabase.yaml\": \"my_password\"}`.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
}
},
- {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/get_item_schema"
- }
- }
- },
- "in": "query",
- "name": "q"
- }
- ],
+ "required": true
+ },
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
- "description_columns": {
- "properties": {
- "column_name": {
- "description": "The description for the column name. Will be translated by babel",
- "example": "A Nice description for the column",
- "type": "string"
- }
- },
- "type": "object"
- },
- "id": {
- "description": "The item id",
- "type": "string"
- },
- "label_columns": {
- "properties": {
- "column_name": {
- "description": "The label for the column name. Will be translated by babel",
- "example": "A Nice label for the column",
- "type": "string"
- }
- },
- "type": "object"
- },
- "result": {
- "$ref": "#/components/schemas/CssTemplateRestApi.get"
- },
- "show_columns": {
- "description": "A list of columns",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "show_title": {
- "description": "A title to render. Will be translated by babel",
- "example": "Show Item Details",
+ "message": {
"type": "string"
}
},
@@ -8311,7 +11694,7 @@
}
}
},
- "description": "Item from Model"
+ "description": "Dashboard import result"
},
"400": {
"$ref": "#/components/responses/400"
@@ -8319,9 +11702,6 @@
"401": {
"$ref": "#/components/responses/401"
},
- "404": {
- "$ref": "#/components/responses/404"
- },
"422": {
"$ref": "#/components/responses/422"
},
@@ -8334,46 +11714,40 @@
"jwt": []
}
],
- "tags": ["CSS Templates"]
- },
- "put": {
- "description": "Update a CSS template",
+ "tags": [
+ "Dashboards"
+ ]
+ }
+ },
+ "/api/v1/dashboard/permalink/{key}": {
+ "get": {
+ "description": "Retrives dashboard state associated with a permanent link.",
"parameters": [
{
"in": "path",
- "name": "pk",
+ "name": "key",
"required": true,
"schema": {
- "type": "integer"
+ "type": "string"
}
}
],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CssTemplateRestApi.put"
- }
- }
- },
- "description": "Model schema",
- "required": true
- },
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
- "result": {
- "$ref": "#/components/schemas/CssTemplateRestApi.put"
+ "state": {
+ "description": "The stored state",
+ "type": "object"
}
},
"type": "object"
}
}
},
- "description": "Item changed"
+ "description": "Returns the stored state."
},
"400": {
"$ref": "#/components/responses/400"
@@ -8396,18 +11770,28 @@
"jwt": []
}
],
- "tags": ["CSS Templates"]
+ "tags": [
+ "Dashboard Permanent Link"
+ ]
}
},
- "/dashboard/": {
- "delete": {
- "description": "Deletes multiple Dashboards in a bulk operation.",
+ "/api/v1/dashboard/related/{column_name}": {
+ "get": {
+ "description": "Get a list of all possible owners for a dashboard.",
"parameters": [
+ {
+ "in": "path",
+ "name": "column_name",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
{
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_delete_ids_schema"
+ "$ref": "#/components/schemas/get_related_schema"
}
}
},
@@ -8420,29 +11804,21 @@
"content": {
"application/json": {
"schema": {
- "properties": {
- "message": {
- "type": "string"
- }
- },
- "type": "object"
+ "$ref": "#/components/schemas/RelatedResponseSchema"
}
}
},
- "description": "Dashboard bulk delete"
+ "description": "Related column data"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
- "403": {
- "$ref": "#/components/responses/403"
- },
"404": {
"$ref": "#/components/responses/404"
},
- "422": {
- "$ref": "#/components/responses/422"
- },
"500": {
"$ref": "#/components/responses/500"
}
@@ -8452,21 +11828,23 @@
"jwt": []
}
],
- "tags": ["Dashboards"]
- },
+ "tags": [
+ "Dashboards"
+ ]
+ }
+ },
+ "/api/v1/dashboard/{dashboard_id}/filtersets": {
"get": {
- "description": "Get a list of dashboards, use Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.",
+ "description": "Get a dashboard's list of filter sets",
"parameters": [
{
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/get_list_schema"
- }
- }
- },
- "in": "query",
- "name": "q"
+ "description": "The id of the dashboard",
+ "in": "path",
+ "name": "dashboard_id",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
}
],
"responses": {
@@ -8474,70 +11852,42 @@
"content": {
"application/json": {
"schema": {
- "properties": {
- "count": {
- "description": "The total record count on the backend",
- "type": "number"
- },
- "description_columns": {
- "properties": {
- "column_name": {
- "description": "The description for the column name. Will be translated by babel",
- "example": "A Nice description for the column",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ids": {
- "description": "A list of item ids, useful when you don't know the column id",
- "items": {
+ "items": {
+ "properties": {
+ "description": {
+ "description": "A description field of the filter set",
"type": "string"
},
- "type": "array"
- },
- "label_columns": {
- "properties": {
- "column_name": {
- "description": "The label for the column name. Will be translated by babel",
- "example": "A Nice label for the column",
- "type": "string"
- }
- },
- "type": "object"
- },
- "list_columns": {
- "description": "A list of columns",
- "items": {
+ "json_metadata": {
+ "description": "metadata of the filter set",
"type": "string"
},
- "type": "array"
- },
- "list_title": {
- "description": "A title to render. Will be translated by babel",
- "example": "List Items",
- "type": "string"
- },
- "order_columns": {
- "description": "A list of allowed columns to sort",
- "items": {
+ "name": {
+ "description": "Name of the Filter set",
"type": "string"
},
- "type": "array"
- },
- "result": {
- "description": "The result from the get list query",
- "items": {
- "$ref": "#/components/schemas/DashboardRestApi.get_list"
+ "owner_id": {
+ "description": "A description field of the filter set",
+ "type": "integer"
},
- "type": "array"
- }
+ "owner_type": {
+ "description": "the Type of the owner ( Dashboard/User)",
+ "type": "integer"
+ },
+ "parameters": {
+ "description": "JSON schema defining the needed parameters"
+ }
+ },
+ "type": "object"
},
- "type": "object"
+ "type": "array"
}
}
},
- "description": "Items from Model"
+ "description": "FilterSets"
+ },
+ "302": {
+ "description": "Redirects to the current digest"
},
"400": {
"$ref": "#/components/responses/400"
@@ -8545,11 +11895,8 @@
"401": {
"$ref": "#/components/responses/401"
},
- "422": {
- "$ref": "#/components/responses/422"
- },
- "500": {
- "$ref": "#/components/responses/500"
+ "404": {
+ "$ref": "#/components/responses/404"
}
},
"security": [
@@ -8557,19 +11904,32 @@
"jwt": []
}
],
- "tags": ["Dashboards"]
+ "tags": [
+ "FilterSetRestApi"
+ ]
},
"post": {
- "description": "Create a new Dashboard.",
+ "description": "Create a new Dashboard's Filter Set.",
+ "parameters": [
+ {
+ "description": "The id of the dashboard",
+ "in": "path",
+ "name": "dashboard_id",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ }
+ ],
"requestBody": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/DashboardRestApi.post"
+ "$ref": "#/components/schemas/FilterSetRestApi.post"
}
}
},
- "description": "Dashboard schema",
+ "description": "Filter set schema",
"required": true
},
"responses": {
@@ -8582,14 +11942,14 @@
"type": "number"
},
"result": {
- "$ref": "#/components/schemas/DashboardRestApi.post"
+ "$ref": "#/components/schemas/FilterSetRestApi.post"
}
},
"type": "object"
}
}
},
- "description": "Dashboard added"
+ "description": "Filter set added"
},
"302": {
"description": "Redirects to the current digest"
@@ -8612,71 +11972,122 @@
"jwt": []
}
],
- "tags": ["Dashboards"]
+ "tags": [
+ "FilterSetRestApi"
+ ]
}
},
- "/dashboard/_info": {
- "get": {
- "description": "Several metadata information about dashboard API endpoints.",
+ "/api/v1/dashboard/{dashboard_id}/filtersets/{pk}": {
+ "delete": {
+ "description": "Deletes a Dashboard.",
"parameters": [
{
+ "in": "path",
+ "name": "dashboard_id",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_info_schema"
+ "properties": {
+ "message": {
+ "type": "string"
+ }
+ },
+ "type": "object"
}
}
},
- "in": "query",
- "name": "q"
+ "description": "Filter set deleted"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "403": {
+ "$ref": "#/components/responses/403"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
}
],
+ "tags": [
+ "FilterSetRestApi"
+ ]
+ },
+ "put": {
+ "description": "Changes a Dashboard's Filter set.",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "dashboard_id",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FilterSetRestApi.put"
+ }
+ }
+ },
+ "description": "Filter set schema",
+ "required": true
+ },
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
- "add_columns": {
- "type": "object"
- },
- "edit_columns": {
- "type": "object"
- },
- "filters": {
- "properties": {
- "column_name": {
- "items": {
- "properties": {
- "name": {
- "description": "The filter name. Will be translated by babel",
- "type": "string"
- },
- "operator": {
- "description": "The filter operation key to use on list filters",
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
+ "id": {
+ "type": "number"
},
- "permissions": {
- "description": "The user permissions for this API resource",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "result": {
+ "$ref": "#/components/schemas/FilterSetRestApi.put"
}
},
"type": "object"
}
}
},
- "description": "Item from Model"
+ "description": "Filter set changed"
},
"400": {
"$ref": "#/components/responses/400"
@@ -8684,6 +12095,12 @@
"401": {
"$ref": "#/components/responses/401"
},
+ "403": {
+ "$ref": "#/components/responses/403"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
"422": {
"$ref": "#/components/responses/422"
},
@@ -8696,35 +12113,43 @@
"jwt": []
}
],
- "tags": ["Dashboards"]
+ "tags": [
+ "FilterSetRestApi"
+ ]
}
},
- "/dashboard/export/": {
+ "/api/v1/dashboard/{id_or_slug}": {
"get": {
- "description": "Exports multiple Dashboards and downloads them as YAML files.",
+ "description": "Get a dashboard detail information.",
"parameters": [
{
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/get_export_ids_schema"
- }
- }
- },
- "in": "query",
- "name": "q"
+ "description": "Either the id of the dashboard, or its slug",
+ "in": "path",
+ "name": "id_or_slug",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
}
],
"responses": {
"200": {
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "properties": {
+ "result": {
+ "$ref": "#/components/schemas/DashboardGetResponseSchema"
+ }
+ },
+ "type": "object"
}
}
},
- "description": "Dashboard export"
+ "description": "Dashboard"
+ },
+ "302": {
+ "description": "Redirects to the current digest"
},
"400": {
"$ref": "#/components/responses/400"
@@ -8732,14 +12157,11 @@
"401": {
"$ref": "#/components/responses/401"
},
+ "403": {
+ "$ref": "#/components/responses/403"
+ },
"404": {
"$ref": "#/components/responses/404"
- },
- "422": {
- "$ref": "#/components/responses/422"
- },
- "500": {
- "$ref": "#/components/responses/500"
}
},
"security": [
@@ -8747,23 +12169,81 @@
"jwt": []
}
],
- "tags": ["Dashboards"]
+ "tags": [
+ "Dashboards"
+ ]
}
},
- "/dashboard/favorite_status/": {
+ "/api/v1/dashboard/{id_or_slug}/charts": {
"get": {
- "description": "Check favorited dashboards for current user",
+ "description": "Get the chart definitions for a given dashboard",
"parameters": [
{
+ "in": "path",
+ "name": "id_or_slug",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_fav_star_ids_schema"
+ "properties": {
+ "result": {
+ "items": {
+ "$ref": "#/components/schemas/ChartEntityResponseSchema"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
}
}
},
- "in": "query",
- "name": "q"
+ "description": "Dashboard chart definitions"
+ },
+ "302": {
+ "description": "Redirects to the current digest"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "403": {
+ "$ref": "#/components/responses/403"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Dashboards"
+ ]
+ }
+ },
+ "/api/v1/dashboard/{id_or_slug}/datasets": {
+ "get": {
+ "description": "Returns a list of a dashboard's datasets. Each dataset includes only the information necessary to render the dashboard's charts.",
+ "parameters": [
+ {
+ "description": "Either the id of the dashboard, or its slug",
+ "in": "path",
+ "name": "id_or_slug",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
}
],
"responses": {
@@ -8771,11 +12251,22 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/GetFavStarIdsSchema"
+ "properties": {
+ "result": {
+ "items": {
+ "$ref": "#/components/schemas/DashboardDatasetSchema"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
}
}
},
- "description": "None"
+ "description": "Dashboard dataset definitions"
+ },
+ "302": {
+ "description": "Redirects to the current digest"
},
"400": {
"$ref": "#/components/responses/400"
@@ -8783,11 +12274,11 @@
"401": {
"$ref": "#/components/responses/401"
},
+ "403": {
+ "$ref": "#/components/responses/403"
+ },
"404": {
"$ref": "#/components/responses/404"
- },
- "500": {
- "$ref": "#/components/responses/500"
}
},
"security": [
@@ -8795,36 +12286,24 @@
"jwt": []
}
],
- "tags": ["Dashboards"]
+ "tags": [
+ "Dashboards"
+ ]
}
},
- "/dashboard/import/": {
- "post": {
- "requestBody": {
- "content": {
- "multipart/form-data": {
- "schema": {
- "properties": {
- "formData": {
- "description": "upload file (ZIP or JSON)",
- "format": "binary",
- "type": "string"
- },
- "overwrite": {
- "description": "overwrite existing databases?",
- "type": "boolean"
- },
- "passwords": {
- "description": "JSON map of passwords for each file",
- "type": "string"
- }
- },
- "type": "object"
- }
+ "/api/v1/dashboard/{pk}": {
+ "delete": {
+ "description": "Deletes a Dashboard.",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
}
- },
- "required": true
- },
+ }
+ ],
"responses": {
"200": {
"content": {
@@ -8839,14 +12318,17 @@
}
}
},
- "description": "Dashboard import result"
- },
- "400": {
- "$ref": "#/components/responses/400"
+ "description": "Dashboard deleted"
},
"401": {
"$ref": "#/components/responses/401"
},
+ "403": {
+ "$ref": "#/components/responses/403"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
"422": {
"$ref": "#/components/responses/422"
},
@@ -8859,43 +12341,54 @@
"jwt": []
}
],
- "tags": ["Dashboards"]
- }
- },
- "/dashboard/related/{column_name}": {
- "get": {
- "description": "Get a list of all possible owners for a dashboard.",
+ "tags": [
+ "Dashboards"
+ ]
+ },
+ "put": {
+ "description": "Changes a Dashboard.",
"parameters": [
{
"in": "path",
- "name": "column_name",
+ "name": "pk",
"required": true,
"schema": {
- "type": "string"
+ "type": "integer"
}
- },
- {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/get_related_schema"
- }
- }
- },
- "in": "query",
- "name": "q"
}
],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DashboardRestApi.put"
+ }
+ }
+ },
+ "description": "Dashboard schema",
+ "required": true
+ },
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/RelatedResponseSchema"
+ "properties": {
+ "id": {
+ "type": "number"
+ },
+ "last_modified_time": {
+ "type": "number"
+ },
+ "result": {
+ "$ref": "#/components/schemas/DashboardRestApi.put"
+ }
+ },
+ "type": "object"
}
}
},
- "description": "Related column data"
+ "description": "Dashboard changed"
},
"400": {
"$ref": "#/components/responses/400"
@@ -8903,9 +12396,15 @@
"401": {
"$ref": "#/components/responses/401"
},
+ "403": {
+ "$ref": "#/components/responses/403"
+ },
"404": {
"$ref": "#/components/responses/404"
},
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
"500": {
"$ref": "#/components/responses/500"
}
@@ -8915,41 +12414,57 @@
"jwt": []
}
],
- "tags": ["Dashboards"]
+ "tags": [
+ "Dashboards"
+ ]
}
},
- "/dashboard/{id_or_slug}": {
- "get": {
- "description": "Get a dashboard detail information.",
+ "/api/v1/dashboard/{pk}/filter_state": {
+ "post": {
+ "description": "Stores a new value.",
"parameters": [
{
- "description": "Either the id of the dashboard, or its slug",
"in": "path",
- "name": "id_or_slug",
+ "name": "pk",
"required": true,
"schema": {
- "type": "string"
+ "type": "integer"
+ }
+ },
+ {
+ "in": "query",
+ "name": "tab_id",
+ "schema": {
+ "type": "integer"
}
}
],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TemporaryCachePostSchema"
+ }
+ }
+ },
+ "required": true
+ },
"responses": {
- "200": {
+ "201": {
"content": {
"application/json": {
"schema": {
"properties": {
- "result": {
- "$ref": "#/components/schemas/DashboardGetResponseSchema"
+ "key": {
+ "description": "The key to retrieve the value.",
+ "type": "string"
}
},
"type": "object"
}
}
},
- "description": "Dashboard"
- },
- "302": {
- "description": "Redirects to the current digest"
+ "description": "The value was stored successfully."
},
"400": {
"$ref": "#/components/responses/400"
@@ -8957,8 +12472,11 @@
"401": {
"$ref": "#/components/responses/401"
},
- "404": {
- "$ref": "#/components/responses/404"
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
}
},
"security": [
@@ -8966,16 +12484,27 @@
"jwt": []
}
],
- "tags": ["Dashboards"]
+ "tags": [
+ "Dashboard Filter State"
+ ]
}
},
- "/dashboard/{id_or_slug}/charts": {
- "get": {
- "description": "Get the chart definitions for a given dashboard",
+ "/api/v1/dashboard/{pk}/filter_state/{key}": {
+ "delete": {
+ "description": "Deletes a value.",
"parameters": [
{
"in": "path",
- "name": "id_or_slug",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "description": "The value key.",
+ "in": "path",
+ "name": "key",
"required": true,
"schema": {
"type": "string"
@@ -8988,21 +12517,16 @@
"application/json": {
"schema": {
"properties": {
- "result": {
- "items": {
- "$ref": "#/components/schemas/ChartEntityResponseSchema"
- },
- "type": "array"
+ "message": {
+ "description": "The result of the operation",
+ "type": "string"
}
},
"type": "object"
}
}
},
- "description": "Dashboard chart definitions"
- },
- "302": {
- "description": "Redirects to the current digest"
+ "description": "Deleted the stored value."
},
"400": {
"$ref": "#/components/responses/400"
@@ -9012,6 +12536,12 @@
},
"404": {
"$ref": "#/components/responses/404"
+ },
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
}
},
"security": [
@@ -9019,17 +12549,24 @@
"jwt": []
}
],
- "tags": ["Dashboards"]
- }
- },
- "/dashboard/{id_or_slug}/datasets": {
+ "tags": [
+ "Dashboard Filter State"
+ ]
+ },
"get": {
- "description": "Returns a list of a dashboard's datasets. Each dataset includes only the information necessary to render the dashboard's charts.",
+ "description": "Retrives a value.",
"parameters": [
{
- "description": "Either the id of the dashboard, or its slug",
"in": "path",
- "name": "id_or_slug",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
+ "in": "path",
+ "name": "key",
"required": true,
"schema": {
"type": "string"
@@ -9042,21 +12579,16 @@
"application/json": {
"schema": {
"properties": {
- "result": {
- "items": {
- "$ref": "#/components/schemas/DashboardDatasetSchema"
- },
- "type": "array"
+ "value": {
+ "description": "The stored value",
+ "type": "string"
}
},
"type": "object"
}
}
},
- "description": "Dashboard dataset definitions"
- },
- "302": {
- "description": "Redirects to the current digest"
+ "description": "Returns the stored value."
},
"400": {
"$ref": "#/components/responses/400"
@@ -9066,6 +12598,12 @@
},
"404": {
"$ref": "#/components/responses/404"
+ },
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
}
},
"security": [
@@ -9073,12 +12611,12 @@
"jwt": []
}
],
- "tags": ["Dashboards"]
- }
- },
- "/dashboard/{pk}": {
- "delete": {
- "description": "Deletes a Dashboard.",
+ "tags": [
+ "Dashboard Filter State"
+ ]
+ },
+ "put": {
+ "description": "Updates an existing value.",
"parameters": [
{
"in": "path",
@@ -9087,15 +12625,41 @@
"schema": {
"type": "integer"
}
+ },
+ {
+ "in": "path",
+ "name": "key",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "tab_id",
+ "schema": {
+ "type": "integer"
+ }
}
],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TemporaryCachePutSchema"
+ }
+ }
+ },
+ "required": true
+ },
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
- "message": {
+ "key": {
+ "description": "The key to retrieve the value.",
"type": "string"
}
},
@@ -9103,14 +12667,14 @@
}
}
},
- "description": "Dashboard deleted"
+ "description": "The value was stored successfully."
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
- "403": {
- "$ref": "#/components/responses/403"
- },
"404": {
"$ref": "#/components/responses/404"
},
@@ -9126,17 +12690,21 @@
"jwt": []
}
],
- "tags": ["Dashboards"]
- },
- "put": {
- "description": "Changes a Dashboard.",
+ "tags": [
+ "Dashboard Filter State"
+ ]
+ }
+ },
+ "/api/v1/dashboard/{pk}/permalink": {
+ "post": {
+ "description": "Stores a new permanent link.",
"parameters": [
{
"in": "path",
"name": "pk",
"required": true,
"schema": {
- "type": "integer"
+ "type": "string"
}
}
],
@@ -9144,31 +12712,32 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/DashboardRestApi.put"
+ "$ref": "#/components/schemas/DashboardPermalinkPostSchema"
}
}
},
- "description": "Dashboard schema",
"required": true
},
"responses": {
- "200": {
+ "201": {
"content": {
"application/json": {
"schema": {
"properties": {
- "id": {
- "type": "number"
+ "key": {
+ "description": "The key to retrieve the permanent link data.",
+ "type": "string"
},
- "result": {
- "$ref": "#/components/schemas/DashboardRestApi.put"
+ "url": {
+ "description": "permanent link.",
+ "type": "string"
}
},
"type": "object"
}
}
},
- "description": "Dashboard changed"
+ "description": "The permanent link was stored successfully."
},
"400": {
"$ref": "#/components/responses/400"
@@ -9176,12 +12745,6 @@
"401": {
"$ref": "#/components/responses/401"
},
- "403": {
- "$ref": "#/components/responses/403"
- },
- "404": {
- "$ref": "#/components/responses/404"
- },
"422": {
"$ref": "#/components/responses/422"
},
@@ -9194,10 +12757,12 @@
"jwt": []
}
],
- "tags": ["Dashboards"]
+ "tags": [
+ "Dashboard Permanent Link"
+ ]
}
},
- "/dashboard/{pk}/thumbnail/{digest}/": {
+ "/api/v1/dashboard/{pk}/thumbnail/{digest}/": {
"get": {
"description": "Compute async or get already computed dashboard thumbnail from cache.",
"parameters": [
@@ -9275,10 +12840,12 @@
"jwt": []
}
],
- "tags": ["Dashboards"]
+ "tags": [
+ "Dashboards"
+ ]
}
},
- "/database/": {
+ "/api/v1/database/": {
"get": {
"description": "Get a list of models",
"parameters": [
@@ -9382,7 +12949,9 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
},
"post": {
"description": "Create a new Database.",
@@ -9437,10 +13006,12 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
}
},
- "/database/_info": {
+ "/api/v1/database/_info": {
"get": {
"description": "Get metadata information about this API resource",
"parameters": [
@@ -9521,10 +13092,12 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
}
},
- "/database/available/": {
+ "/api/v1/database/available/": {
"get": {
"description": "Get names of databases currently available",
"responses": {
@@ -9532,45 +13105,43 @@
"content": {
"application/json": {
"schema": {
- "databases": {
- "items": {
- "properties": {
- "available_drivers": {
- "description": "Installed drivers for the engine",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "default_driver": {
- "description": "Default driver for the engine",
+ "items": {
+ "properties": {
+ "available_drivers": {
+ "description": "Installed drivers for the engine",
+ "items": {
"type": "string"
},
- "engine": {
- "description": "Name of the SQLAlchemy engine",
- "type": "string"
- },
- "name": {
- "description": "Name of the database",
- "type": "string"
- },
- "parameters": {
- "description": "JSON schema defining the needed parameters",
- "type": "object"
- },
- "preferred": {
- "description": "Is the database preferred?",
- "type": "boolean"
- },
- "sqlalchemy_uri_placeholder": {
- "description": "Example placeholder for the SQLAlchemy URI",
- "type": "string"
- }
+ "type": "array"
},
- "type": "object"
+ "default_driver": {
+ "description": "Default driver for the engine",
+ "type": "string"
+ },
+ "engine": {
+ "description": "Name of the SQLAlchemy engine",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the database",
+ "type": "string"
+ },
+ "parameters": {
+ "description": "JSON schema defining the needed parameters",
+ "type": "object"
+ },
+ "preferred": {
+ "description": "Is the database preferred?",
+ "type": "boolean"
+ },
+ "sqlalchemy_uri_placeholder": {
+ "description": "Example placeholder for the SQLAlchemy URI",
+ "type": "string"
+ }
},
- "type": "array"
- }
+ "type": "object"
+ },
+ "type": "array"
}
}
},
@@ -9588,10 +13159,12 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
}
},
- "/database/export/": {
+ "/api/v1/database/export/": {
"get": {
"description": "Download database(s) and associated dataset(s) as a zip file",
"parameters": [
@@ -9634,10 +13207,12 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
}
},
- "/database/import/": {
+ "/api/v1/database/import/": {
"post": {
"requestBody": {
"content": {
@@ -9654,7 +13229,7 @@
"type": "boolean"
},
"passwords": {
- "description": "JSON map of passwords for each file",
+ "description": "JSON map of passwords for each featured database in the ZIP file. If the ZIP includes a database config in the path `databases/MyDatabase.yaml`, the password should be provided in the following format: `{\"databases/MyDatabase.yaml\": \"my_password\"}`.",
"type": "string"
}
},
@@ -9698,10 +13273,12 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
}
},
- "/database/test_connection": {
+ "/api/v1/database/test_connection": {
"post": {
"description": "Tests a database connection",
"requestBody": {
@@ -9746,10 +13323,12 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
}
},
- "/database/validate_parameters": {
+ "/api/v1/database/validate_parameters": {
"post": {
"description": "Validates parameters used to connect to a database",
"requestBody": {
@@ -9794,10 +13373,12 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
}
},
- "/database/{pk}": {
+ "/api/v1/database/{pk}": {
"delete": {
"description": "Deletes a Database.",
"parameters": [
@@ -9847,7 +13428,9 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
},
"get": {
"description": "Get an item model",
@@ -9945,7 +13528,9 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
},
"put": {
"description": "Changes a Database.",
@@ -10013,10 +13598,12 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
}
},
- "/database/{pk}/function_names/": {
+ "/api/v1/database/{pk}/function_names/": {
"get": {
"description": "Get function names supported by a database",
"parameters": [
@@ -10055,10 +13642,12 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
}
},
- "/database/{pk}/related_objects/": {
+ "/api/v1/database/{pk}/related_objects/": {
"get": {
"description": "Get charts and dashboards count associated to a database",
"parameters": [
@@ -10097,10 +13686,12 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
}
},
- "/database/{pk}/schemas/": {
+ "/api/v1/database/{pk}/schemas/": {
"get": {
"description": "Get all schemas from a database",
"parameters": [
@@ -10154,10 +13745,12 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
}
},
- "/database/{pk}/select_star/{table_name}/": {
+ "/api/v1/database/{pk}/select_star/{table_name}/": {
"get": {
"description": "Get database select star for table",
"parameters": [
@@ -10221,10 +13814,12 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
}
},
- "/database/{pk}/select_star/{table_name}/{schema_name}/": {
+ "/api/v1/database/{pk}/select_star/{table_name}/{schema_name}/": {
"get": {
"description": "Get database select star for table",
"parameters": [
@@ -10288,10 +13883,12 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
}
},
- "/database/{pk}/table/{table_name}/{schema_name}/": {
+ "/api/v1/database/{pk}/table/{table_name}/{schema_name}/": {
"get": {
"description": "Get database table metadata",
"parameters": [
@@ -10355,10 +13952,12 @@
"jwt": []
}
],
- "tags": ["Database"]
+ "tags": [
+ "Database"
+ ]
}
},
- "/dataset/": {
+ "/api/v1/dataset/": {
"delete": {
"description": "Deletes multiple Datasets in a bulk operation.",
"parameters": [
@@ -10414,7 +14013,9 @@
"jwt": []
}
],
- "tags": ["Datasets"]
+ "tags": [
+ "Datasets"
+ ]
},
"get": {
"description": "Get a list of models",
@@ -10499,7 +14100,254 @@
}
}
},
- "description": "Items from Model"
+ "description": "Items from Model"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Datasets"
+ ]
+ },
+ "post": {
+ "description": "Create a new Dataset",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DatasetRestApi.post"
+ }
+ }
+ },
+ "description": "Dataset schema",
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "id": {
+ "type": "number"
+ },
+ "result": {
+ "$ref": "#/components/schemas/DatasetRestApi.post"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Dataset added"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Datasets"
+ ]
+ }
+ },
+ "/api/v1/dataset/_info": {
+ "get": {
+ "description": "Get metadata information about this API resource",
+ "parameters": [
+ {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/get_info_schema"
+ }
+ }
+ },
+ "in": "query",
+ "name": "q"
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "add_columns": {
+ "type": "object"
+ },
+ "edit_columns": {
+ "type": "object"
+ },
+ "filters": {
+ "properties": {
+ "column_name": {
+ "items": {
+ "properties": {
+ "name": {
+ "description": "The filter name. Will be translated by babel",
+ "type": "string"
+ },
+ "operator": {
+ "description": "The filter operation key to use on list filters",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "permissions": {
+ "description": "The user permissions for this API resource",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Item from Model"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Datasets"
+ ]
+ }
+ },
+ "/api/v1/dataset/distinct/{column_name}": {
+ "get": {
+ "parameters": [
+ {
+ "in": "path",
+ "name": "column_name",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/get_related_schema"
+ }
+ }
+ },
+ "in": "query",
+ "name": "q"
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DistincResponseSchema"
+ }
+ }
+ },
+ "description": "Distinct field data"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Datasets"
+ ]
+ }
+ },
+ "/api/v1/dataset/export/": {
+ "get": {
+ "description": "Exports multiple datasets and downloads them as YAML files",
+ "parameters": [
+ {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/get_export_ids_schema"
+ }
+ }
+ },
+ "in": "query",
+ "name": "q"
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "Dataset export"
},
"400": {
"$ref": "#/components/responses/400"
@@ -10507,8 +14355,8 @@
"401": {
"$ref": "#/components/responses/401"
},
- "422": {
- "$ref": "#/components/responses/422"
+ "404": {
+ "$ref": "#/components/responses/404"
},
"500": {
"$ref": "#/components/responses/500"
@@ -10519,39 +14367,53 @@
"jwt": []
}
],
- "tags": ["Datasets"]
- },
+ "tags": [
+ "Datasets"
+ ]
+ }
+ },
+ "/api/v1/dataset/import/": {
"post": {
- "description": "Create a new Dataset",
"requestBody": {
"content": {
- "application/json": {
+ "multipart/form-data": {
"schema": {
- "$ref": "#/components/schemas/DatasetRestApi.post"
+ "properties": {
+ "formData": {
+ "description": "upload file (ZIP or YAML)",
+ "format": "binary",
+ "type": "string"
+ },
+ "overwrite": {
+ "description": "overwrite existing datasets?",
+ "type": "boolean"
+ },
+ "passwords": {
+ "description": "JSON map of passwords for each featured database in the ZIP file. If the ZIP includes a database config in the path `databases/MyDatabase.yaml`, the password should be provided in the following format: `{\"databases/MyDatabase.yaml\": \"my_password\"}`.",
+ "type": "string"
+ }
+ },
+ "type": "object"
}
}
},
- "description": "Dataset schema",
"required": true
},
"responses": {
- "201": {
+ "200": {
"content": {
"application/json": {
"schema": {
"properties": {
- "id": {
- "type": "number"
- },
- "result": {
- "$ref": "#/components/schemas/DatasetRestApi.post"
+ "message": {
+ "type": "string"
}
},
"type": "object"
}
}
},
- "description": "Dataset added"
+ "description": "Dataset import result"
},
"400": {
"$ref": "#/components/responses/400"
@@ -10571,18 +14433,27 @@
"jwt": []
}
],
- "tags": ["Datasets"]
+ "tags": [
+ "Datasets"
+ ]
}
},
- "/dataset/_info": {
+ "/api/v1/dataset/related/{column_name}": {
"get": {
- "description": "Get metadata information about this API resource",
"parameters": [
+ {
+ "in": "path",
+ "name": "column_name",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
{
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_info_schema"
+ "$ref": "#/components/schemas/get_related_schema"
}
}
},
@@ -10590,59 +14461,78 @@
"name": "q"
}
],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/RelatedResponseSchema"
+ }
+ }
+ },
+ "description": "Related column data"
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Datasets"
+ ]
+ }
+ },
+ "/api/v1/dataset/{pk}": {
+ "delete": {
+ "description": "Deletes a Dataset",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ }
+ ],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
- "add_columns": {
- "type": "object"
- },
- "edit_columns": {
- "type": "object"
- },
- "filters": {
- "properties": {
- "column_name": {
- "items": {
- "properties": {
- "name": {
- "description": "The filter name. Will be translated by babel",
- "type": "string"
- },
- "operator": {
- "description": "The filter operation key to use on list filters",
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "permissions": {
- "description": "The user permissions for this API resource",
- "items": {
- "type": "string"
- },
- "type": "array"
+ "message": {
+ "type": "string"
}
},
"type": "object"
}
}
},
- "description": "Item from Model"
- },
- "400": {
- "$ref": "#/components/responses/400"
+ "description": "Dataset delete"
},
"401": {
"$ref": "#/components/responses/401"
},
+ "403": {
+ "$ref": "#/components/responses/403"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
"422": {
"$ref": "#/components/responses/422"
},
@@ -10655,25 +14545,26 @@
"jwt": []
}
],
- "tags": ["Datasets"]
- }
- },
- "/dataset/distinct/{column_name}": {
+ "tags": [
+ "Datasets"
+ ]
+ },
"get": {
+ "description": "Get an item model",
"parameters": [
{
"in": "path",
- "name": "column_name",
+ "name": "pk",
"required": true,
"schema": {
- "type": "string"
+ "type": "integer"
}
},
{
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_related_schema"
+ "$ref": "#/components/schemas/get_item_schema"
}
}
},
@@ -10686,11 +14577,52 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/DistincResponseSchema"
+ "properties": {
+ "description_columns": {
+ "properties": {
+ "column_name": {
+ "description": "The description for the column name. Will be translated by babel",
+ "example": "A Nice description for the column",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "id": {
+ "description": "The item id",
+ "type": "string"
+ },
+ "label_columns": {
+ "properties": {
+ "column_name": {
+ "description": "The label for the column name. Will be translated by babel",
+ "example": "A Nice label for the column",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "result": {
+ "$ref": "#/components/schemas/DatasetRestApi.get"
+ },
+ "show_columns": {
+ "description": "A list of columns",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "show_title": {
+ "description": "A title to render. Will be translated by babel",
+ "example": "Show Item Details",
+ "type": "string"
+ }
+ },
+ "type": "object"
}
}
},
- "description": "Distinct field data"
+ "description": "Item from Model"
},
"400": {
"$ref": "#/components/responses/400"
@@ -10701,6 +14633,9 @@
"404": {
"$ref": "#/components/responses/404"
},
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
"500": {
"$ref": "#/components/responses/500"
}
@@ -10710,35 +14645,58 @@
"jwt": []
}
],
- "tags": ["Datasets"]
- }
- },
- "/dataset/export/": {
- "get": {
- "description": "Exports multiple datasets and downloads them as YAML files",
+ "tags": [
+ "Datasets"
+ ]
+ },
+ "put": {
+ "description": "Changes a Dataset",
"parameters": [
{
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/get_export_ids_schema"
- }
- }
- },
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ },
+ {
"in": "query",
- "name": "q"
+ "name": "override_columns",
+ "schema": {
+ "type": "boolean"
+ }
}
],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DatasetRestApi.put"
+ }
+ }
+ },
+ "description": "Dataset schema",
+ "required": true
+ },
"responses": {
"200": {
"content": {
- "text/plain": {
+ "application/json": {
"schema": {
- "type": "string"
+ "properties": {
+ "id": {
+ "type": "number"
+ },
+ "result": {
+ "$ref": "#/components/schemas/DatasetRestApi.put"
+ }
+ },
+ "type": "object"
}
}
},
- "description": "Dataset export"
+ "description": "Dataset changed"
},
"400": {
"$ref": "#/components/responses/400"
@@ -10746,9 +14704,15 @@
"401": {
"$ref": "#/components/responses/401"
},
+ "403": {
+ "$ref": "#/components/responses/403"
+ },
"404": {
"$ref": "#/components/responses/404"
},
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
"500": {
"$ref": "#/components/responses/500"
}
@@ -10758,36 +14722,34 @@
"jwt": []
}
],
- "tags": ["Datasets"]
+ "tags": [
+ "Datasets"
+ ]
}
},
- "/dataset/import/": {
- "post": {
- "requestBody": {
- "content": {
- "multipart/form-data": {
- "schema": {
- "properties": {
- "formData": {
- "description": "upload file (ZIP or YAML)",
- "format": "binary",
- "type": "string"
- },
- "overwrite": {
- "description": "overwrite existing datasets?",
- "type": "boolean"
- },
- "passwords": {
- "description": "JSON map of passwords for each file",
- "type": "string"
- }
- },
- "type": "object"
- }
+ "/api/v1/dataset/{pk}/column/{column_id}": {
+ "delete": {
+ "description": "Delete a Dataset column",
+ "parameters": [
+ {
+ "description": "The dataset pk for this column",
+ "in": "path",
+ "name": "pk",
+ "required": true,
+ "schema": {
+ "type": "integer"
}
},
- "required": true
- },
+ {
+ "description": "The column id for this dataset",
+ "in": "path",
+ "name": "column_id",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ }
+ ],
"responses": {
"200": {
"content": {
@@ -10802,14 +14764,17 @@
}
}
},
- "description": "Dataset import result"
- },
- "400": {
- "$ref": "#/components/responses/400"
+ "description": "Column deleted"
},
"401": {
"$ref": "#/components/responses/401"
},
+ "403": {
+ "$ref": "#/components/responses/403"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
"422": {
"$ref": "#/components/responses/422"
},
@@ -10822,30 +14787,32 @@
"jwt": []
}
],
- "tags": ["Datasets"]
+ "tags": [
+ "Datasets"
+ ]
}
},
- "/dataset/related/{column_name}": {
- "get": {
+ "/api/v1/dataset/{pk}/metric/{metric_id}": {
+ "delete": {
+ "description": "Delete a Dataset metric",
"parameters": [
{
+ "description": "The dataset pk for this column",
"in": "path",
- "name": "column_name",
+ "name": "pk",
"required": true,
"schema": {
- "type": "string"
+ "type": "integer"
}
},
{
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/get_related_schema"
- }
- }
- },
- "in": "query",
- "name": "q"
+ "description": "The metric id for this dataset",
+ "in": "path",
+ "name": "metric_id",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
}
],
"responses": {
@@ -10853,21 +14820,29 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/RelatedResponseSchema"
+ "properties": {
+ "message": {
+ "type": "string"
+ }
+ },
+ "type": "object"
}
}
},
- "description": "Related column data"
- },
- "400": {
- "$ref": "#/components/responses/400"
+ "description": "Metric deleted"
},
"401": {
"$ref": "#/components/responses/401"
},
+ "403": {
+ "$ref": "#/components/responses/403"
+ },
"404": {
"$ref": "#/components/responses/404"
},
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
"500": {
"$ref": "#/components/responses/500"
}
@@ -10877,12 +14852,14 @@
"jwt": []
}
],
- "tags": ["Datasets"]
+ "tags": [
+ "Datasets"
+ ]
}
},
- "/dataset/{pk}": {
- "delete": {
- "description": "Deletes a Dataset",
+ "/api/v1/dataset/{pk}/refresh": {
+ "put": {
+ "description": "Refreshes and updates columns of a dataset",
"parameters": [
{
"in": "path",
@@ -10930,10 +14907,14 @@
"jwt": []
}
],
- "tags": ["Datasets"]
- },
+ "tags": [
+ "Datasets"
+ ]
+ }
+ },
+ "/api/v1/dataset/{pk}/related_objects": {
"get": {
- "description": "Get an item model",
+ "description": "Get charts and dashboards count associated to a dataset",
"parameters": [
{
"in": "path",
@@ -10942,62 +14923,69 @@
"schema": {
"type": "integer"
}
- },
- {
+ }
+ ],
+ "responses": {
+ "200": {
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/get_item_schema"
+ "$ref": "#/components/schemas/DatasetRelatedObjectsResponse"
}
}
},
+ "description": "Query result"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Datasets"
+ ]
+ }
+ },
+ "/api/v1/explore/form_data": {
+ "post": {
+ "description": "Stores a new form_data.",
+ "parameters": [
+ {
"in": "query",
- "name": "q"
+ "name": "tab_id",
+ "schema": {
+ "type": "integer"
+ }
}
],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FormDataPostSchema"
+ }
+ }
+ },
+ "required": true
+ },
"responses": {
- "200": {
+ "201": {
"content": {
"application/json": {
"schema": {
"properties": {
- "description_columns": {
- "properties": {
- "column_name": {
- "description": "The description for the column name. Will be translated by babel",
- "example": "A Nice description for the column",
- "type": "string"
- }
- },
- "type": "object"
- },
- "id": {
- "description": "The item id",
- "type": "string"
- },
- "label_columns": {
- "properties": {
- "column_name": {
- "description": "The label for the column name. Will be translated by babel",
- "example": "A Nice label for the column",
- "type": "string"
- }
- },
- "type": "object"
- },
- "result": {
- "$ref": "#/components/schemas/DatasetRestApi.get"
- },
- "show_columns": {
- "description": "A list of columns",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "show_title": {
- "description": "A title to render. Will be translated by babel",
- "example": "Show Item Details",
+ "key": {
+ "description": "The key to retrieve the form_data.",
"type": "string"
}
},
@@ -11005,7 +14993,7 @@
}
}
},
- "description": "Item from Model"
+ "description": "The form_data was stored successfully."
},
"400": {
"$ref": "#/components/responses/400"
@@ -11013,9 +15001,6 @@
"401": {
"$ref": "#/components/responses/401"
},
- "404": {
- "$ref": "#/components/responses/404"
- },
"422": {
"$ref": "#/components/responses/422"
},
@@ -11028,56 +15013,41 @@
"jwt": []
}
],
- "tags": ["Datasets"]
- },
- "put": {
- "description": "Changes a Dataset",
+ "tags": [
+ "Explore Form Data"
+ ]
+ }
+ },
+ "/api/v1/explore/form_data/{key}": {
+ "delete": {
+ "description": "Deletes a form_data.",
"parameters": [
{
+ "description": "The form_data key.",
"in": "path",
- "name": "pk",
+ "name": "key",
"required": true,
"schema": {
- "type": "integer"
- }
- },
- {
- "in": "query",
- "name": "override_columns",
- "schema": {
- "type": "boolean"
+ "type": "string"
}
}
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/DatasetRestApi.put"
- }
- }
- },
- "description": "Dataset schema",
- "required": true
- },
+ ],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
- "id": {
- "type": "number"
- },
- "result": {
- "$ref": "#/components/schemas/DatasetRestApi.put"
+ "message": {
+ "description": "The result of the operation",
+ "type": "string"
}
},
"type": "object"
}
}
},
- "description": "Dataset changed"
+ "description": "Deleted the stored form_data."
},
"400": {
"$ref": "#/components/responses/400"
@@ -11085,9 +15055,6 @@
"401": {
"$ref": "#/components/responses/401"
},
- "403": {
- "$ref": "#/components/responses/403"
- },
"404": {
"$ref": "#/components/responses/404"
},
@@ -11103,29 +15070,19 @@
"jwt": []
}
],
- "tags": ["Datasets"]
- }
- },
- "/dataset/{pk}/column/{column_id}": {
- "delete": {
- "description": "Delete a Dataset column",
+ "tags": [
+ "Explore Form Data"
+ ]
+ },
+ "get": {
+ "description": "Retrives a form_data.",
"parameters": [
{
- "description": "The dataset pk for this column",
- "in": "path",
- "name": "pk",
- "required": true,
- "schema": {
- "type": "integer"
- }
- },
- {
- "description": "The column id for this dataset",
"in": "path",
- "name": "column_id",
+ "name": "key",
"required": true,
"schema": {
- "type": "integer"
+ "type": "string"
}
}
],
@@ -11135,7 +15092,8 @@
"application/json": {
"schema": {
"properties": {
- "message": {
+ "form_data": {
+ "description": "The stored form_data",
"type": "string"
}
},
@@ -11143,14 +15101,14 @@
}
}
},
- "description": "Column deleted"
+ "description": "Returns the stored form_data."
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
- "403": {
- "$ref": "#/components/responses/403"
- },
"404": {
"$ref": "#/components/responses/404"
},
@@ -11166,39 +15124,47 @@
"jwt": []
}
],
- "tags": ["Datasets"]
- }
- },
- "/dataset/{pk}/metric/{metric_id}": {
- "delete": {
- "description": "Delete a Dataset metric",
+ "tags": [
+ "Explore Form Data"
+ ]
+ },
+ "put": {
+ "description": "Updates an existing form_data.",
"parameters": [
{
- "description": "The dataset pk for this column",
"in": "path",
- "name": "pk",
+ "name": "key",
"required": true,
"schema": {
- "type": "integer"
+ "type": "string"
}
},
{
- "description": "The metric id for this dataset",
- "in": "path",
- "name": "metric_id",
- "required": true,
+ "in": "query",
+ "name": "tab_id",
"schema": {
"type": "integer"
}
}
],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/FormDataPutSchema"
+ }
+ }
+ },
+ "required": true
+ },
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
- "message": {
+ "key": {
+ "description": "The key to retrieve the form_data.",
"type": "string"
}
},
@@ -11206,14 +15172,14 @@
}
}
},
- "description": "Metric deleted"
+ "description": "The form_data was stored successfully."
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
- "403": {
- "$ref": "#/components/responses/403"
- },
"404": {
"$ref": "#/components/responses/404"
},
@@ -11229,29 +15195,36 @@
"jwt": []
}
],
- "tags": ["Datasets"]
+ "tags": [
+ "Explore Form Data"
+ ]
}
},
- "/dataset/{pk}/refresh": {
- "put": {
- "description": "Refreshes and updates columns of a dataset",
- "parameters": [
- {
- "in": "path",
- "name": "pk",
- "required": true,
- "schema": {
- "type": "integer"
+ "/api/v1/explore/permalink": {
+ "post": {
+ "description": "Stores a new permanent link.",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExplorePermalinkPostSchema"
+ }
}
- }
- ],
+ },
+ "required": true
+ },
"responses": {
- "200": {
+ "201": {
"content": {
"application/json": {
"schema": {
"properties": {
- "message": {
+ "key": {
+ "description": "The key to retrieve the permanent link data.",
+ "type": "string"
+ },
+ "url": {
+ "description": "pemanent link.",
"type": "string"
}
},
@@ -11259,17 +15232,14 @@
}
}
},
- "description": "Dataset delete"
+ "description": "The permanent link was stored successfully."
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
},
- "403": {
- "$ref": "#/components/responses/403"
- },
- "404": {
- "$ref": "#/components/responses/404"
- },
"422": {
"$ref": "#/components/responses/422"
},
@@ -11282,19 +15252,21 @@
"jwt": []
}
],
- "tags": ["Datasets"]
+ "tags": [
+ "Explore Permanent Link"
+ ]
}
},
- "/dataset/{pk}/related_objects": {
+ "/api/v1/explore/permalink/{key}": {
"get": {
- "description": "Get charts and dashboards count associated to a dataset",
+ "description": "Retrives chart state associated with a permanent link.",
"parameters": [
{
"in": "path",
- "name": "pk",
+ "name": "key",
"required": true,
"schema": {
- "type": "integer"
+ "type": "string"
}
}
],
@@ -11303,11 +15275,20 @@
"content": {
"application/json": {
"schema": {
- "$ref": "#/components/schemas/DatasetRelatedObjectsResponse"
+ "properties": {
+ "state": {
+ "description": "The stored state",
+ "type": "object"
+ }
+ },
+ "type": "object"
}
}
},
- "description": "Query result"
+ "description": "Returns the stored form_data."
+ },
+ "400": {
+ "$ref": "#/components/responses/400"
},
"401": {
"$ref": "#/components/responses/401"
@@ -11315,6 +15296,9 @@
"404": {
"$ref": "#/components/responses/404"
},
+ "422": {
+ "$ref": "#/components/responses/422"
+ },
"500": {
"$ref": "#/components/responses/500"
}
@@ -11324,10 +15308,12 @@
"jwt": []
}
],
- "tags": ["Datasets"]
+ "tags": [
+ "Explore Permanent Link"
+ ]
}
},
- "/log/": {
+ "/api/v1/log/": {
"get": {
"description": "Get a list of models",
"parameters": [
@@ -11431,7 +15417,9 @@
"jwt": []
}
],
- "tags": ["LogRestApi"]
+ "tags": [
+ "LogRestApi"
+ ]
},
"post": {
"requestBody": {
@@ -11482,10 +15470,12 @@
"jwt": []
}
],
- "tags": ["LogRestApi"]
+ "tags": [
+ "LogRestApi"
+ ]
}
},
- "/log/{pk}": {
+ "/api/v1/log/{pk}": {
"get": {
"description": "Get an item model",
"parameters": [
@@ -11582,10 +15572,40 @@
"jwt": []
}
],
- "tags": ["LogRestApi"]
+ "tags": [
+ "LogRestApi"
+ ]
+ }
+ },
+ "/api/v1/me/": {
+ "get": {
+ "description": "Returns the user object corresponding to the agent making the request, or returns a 401 error if the user is unauthenticated.",
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "result": {
+ "$ref": "#/components/schemas/UserResponseSchema"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "The current user"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ }
+ },
+ "tags": [
+ "Current User"
+ ]
}
},
- "/menu/": {
+ "/api/v1/menu/": {
"get": {
"description": "Get the menu data structure. Returns a forest like structure with the menu the user has access to",
"responses": {
@@ -11641,49 +15661,12 @@
"jwt": []
}
],
- "tags": ["Menu"]
- }
- },
- "/openapi/{version}/_openapi": {
- "get": {
- "description": "Get the OpenAPI spec for a specific API version",
- "parameters": [
- {
- "in": "path",
- "name": "version",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "content": {
- "application/json": {
- "schema": {
- "type": "object"
- }
- }
- },
- "description": "The OpenAPI spec"
- },
- "404": {
- "$ref": "#/components/responses/404"
- },
- "500": {
- "$ref": "#/components/responses/500"
- }
- },
- "security": [
- {
- "jwt": []
- }
- ],
- "tags": ["OpenApi"]
+ "tags": [
+ "Menu"
+ ]
}
},
- "/query/": {
+ "/api/v1/query/": {
"get": {
"description": "Get a list of queries, use Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.",
"parameters": [
@@ -11787,10 +15770,12 @@
"jwt": []
}
],
- "tags": ["Queries"]
+ "tags": [
+ "Queries"
+ ]
}
},
- "/query/distinct/{column_name}": {
+ "/api/v1/query/distinct/{column_name}": {
"get": {
"parameters": [
{
@@ -11842,10 +15827,12 @@
"jwt": []
}
],
- "tags": ["Queries"]
+ "tags": [
+ "Queries"
+ ]
}
},
- "/query/related/{column_name}": {
+ "/api/v1/query/related/{column_name}": {
"get": {
"parameters": [
{
@@ -11897,10 +15884,12 @@
"jwt": []
}
],
- "tags": ["Queries"]
+ "tags": [
+ "Queries"
+ ]
}
},
- "/query/{pk}": {
+ "/api/v1/query/{pk}": {
"get": {
"description": "Get query detail information.",
"parameters": [
@@ -11997,10 +15986,12 @@
"jwt": []
}
],
- "tags": ["Queries"]
+ "tags": [
+ "Queries"
+ ]
}
},
- "/report/": {
+ "/api/v1/report/": {
"delete": {
"description": "Deletes multiple report schedules in a bulk operation.",
"parameters": [
@@ -12053,7 +16044,9 @@
"jwt": []
}
],
- "tags": ["Report Schedules"]
+ "tags": [
+ "Report Schedules"
+ ]
},
"get": {
"description": "Get a list of report schedules, use Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.",
@@ -12158,7 +16151,9 @@
"jwt": []
}
],
- "tags": ["Report Schedules"]
+ "tags": [
+ "Report Schedules"
+ ]
},
"post": {
"description": "Create a report schedule",
@@ -12210,10 +16205,12 @@
"jwt": []
}
],
- "tags": ["Report Schedules"]
+ "tags": [
+ "Report Schedules"
+ ]
}
},
- "/report/_info": {
+ "/api/v1/report/_info": {
"get": {
"description": "Get metadata information about this API resource",
"parameters": [
@@ -12294,10 +16291,12 @@
"jwt": []
}
],
- "tags": ["Report Schedules"]
+ "tags": [
+ "Report Schedules"
+ ]
}
},
- "/report/related/{column_name}": {
+ "/api/v1/report/related/{column_name}": {
"get": {
"parameters": [
{
@@ -12349,10 +16348,12 @@
"jwt": []
}
],
- "tags": ["Report Schedules"]
+ "tags": [
+ "Report Schedules"
+ ]
}
},
- "/report/{pk}": {
+ "/api/v1/report/{pk}": {
"delete": {
"description": "Delete a report schedule",
"parameters": [
@@ -12400,7 +16401,9 @@
"jwt": []
}
],
- "tags": ["Report Schedules"]
+ "tags": [
+ "Report Schedules"
+ ]
},
"get": {
"description": "Get a report schedule",
@@ -12498,7 +16501,9 @@
"jwt": []
}
],
- "tags": ["Report Schedules"]
+ "tags": [
+ "Report Schedules"
+ ]
},
"put": {
"description": "Update a report schedule",
@@ -12564,10 +16569,12 @@
"jwt": []
}
],
- "tags": ["Report Schedules"]
+ "tags": [
+ "Report Schedules"
+ ]
}
},
- "/report/{pk}/log/": {
+ "/api/v1/report/{pk}/log/": {
"get": {
"description": "Get a list of report schedule logs, use Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.",
"parameters": [
@@ -12641,10 +16648,12 @@
"jwt": []
}
],
- "tags": ["Report Schedules"]
+ "tags": [
+ "Report Schedules"
+ ]
}
},
- "/report/{pk}/log/{log_id}": {
+ "/api/v1/report/{pk}/log/{log_id}": {
"get": {
"description": "Get a report schedule log",
"parameters": [
@@ -12719,10 +16728,12 @@
"jwt": []
}
],
- "tags": ["Report Schedules"]
+ "tags": [
+ "Report Schedules"
+ ]
}
},
- "/saved_query/": {
+ "/api/v1/saved_query/": {
"delete": {
"description": "Deletes multiple saved queries in a bulk operation.",
"parameters": [
@@ -12772,7 +16783,9 @@
"jwt": []
}
],
- "tags": ["Queries"]
+ "tags": [
+ "Queries"
+ ]
},
"get": {
"description": "Get a list of saved queries, use Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.",
@@ -12877,7 +16890,9 @@
"jwt": []
}
],
- "tags": ["Queries"]
+ "tags": [
+ "Queries"
+ ]
},
"post": {
"description": "Create a saved query",
@@ -12929,10 +16944,12 @@
"jwt": []
}
],
- "tags": ["Queries"]
+ "tags": [
+ "Queries"
+ ]
}
},
- "/saved_query/_info": {
+ "/api/v1/saved_query/_info": {
"get": {
"description": "Get metadata information about this API resource",
"parameters": [
@@ -13013,10 +17030,12 @@
"jwt": []
}
],
- "tags": ["Queries"]
+ "tags": [
+ "Queries"
+ ]
}
},
- "/saved_query/distinct/{column_name}": {
+ "/api/v1/saved_query/distinct/{column_name}": {
"get": {
"parameters": [
{
@@ -13068,10 +17087,12 @@
"jwt": []
}
],
- "tags": ["Queries"]
+ "tags": [
+ "Queries"
+ ]
}
},
- "/saved_query/export/": {
+ "/api/v1/saved_query/export/": {
"get": {
"description": "Exports multiple saved queries and downloads them as YAML files",
"parameters": [
@@ -13117,10 +17138,12 @@
"jwt": []
}
],
- "tags": ["Queries"]
+ "tags": [
+ "Queries"
+ ]
}
},
- "/saved_query/import/": {
+ "/api/v1/saved_query/import/": {
"post": {
"requestBody": {
"content": {
@@ -13137,7 +17160,7 @@
"type": "boolean"
},
"passwords": {
- "description": "JSON map of passwords for each file",
+ "description": "JSON map of passwords for each featured database in the ZIP file. If the ZIP includes a database config in the path `databases/MyDatabase.yaml`, the password should be provided in the following format: `{\"databases/MyDatabase.yaml\": \"my_password\"}`.",
"type": "string"
}
},
@@ -13181,10 +17204,12 @@
"jwt": []
}
],
- "tags": ["Queries"]
+ "tags": [
+ "Queries"
+ ]
}
},
- "/saved_query/related/{column_name}": {
+ "/api/v1/saved_query/related/{column_name}": {
"get": {
"parameters": [
{
@@ -13236,10 +17261,12 @@
"jwt": []
}
],
- "tags": ["Queries"]
+ "tags": [
+ "Queries"
+ ]
}
},
- "/saved_query/{pk}": {
+ "/api/v1/saved_query/{pk}": {
"delete": {
"description": "Delete saved query",
"parameters": [
@@ -13283,7 +17310,9 @@
"jwt": []
}
],
- "tags": ["Queries"]
+ "tags": [
+ "Queries"
+ ]
},
"get": {
"description": "Get a saved query",
@@ -13381,7 +17410,9 @@
"jwt": []
}
],
- "tags": ["Queries"]
+ "tags": [
+ "Queries"
+ ]
},
"put": {
"description": "Update a saved query",
@@ -13443,10 +17474,12 @@
"jwt": []
}
],
- "tags": ["Queries"]
+ "tags": [
+ "Queries"
+ ]
}
},
- "/security/csrf_token/": {
+ "/api/v1/security/csrf_token/": {
"get": {
"description": "Fetch the CSRF token",
"responses": {
@@ -13477,10 +17510,59 @@
"jwt": []
}
],
- "tags": ["Security"]
+ "tags": [
+ "Security"
+ ]
+ }
+ },
+ "/api/v1/security/guest_token/": {
+ "post": {
+ "description": "Fetches a guest token",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/GuestTokenCreate"
+ }
+ }
+ },
+ "description": "Parameters for the guest token",
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "properties": {
+ "token": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "description": "Result contains the guest token"
+ },
+ "401": {
+ "$ref": "#/components/responses/401"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "Security"
+ ]
}
},
- "/security/login": {
+ "/api/v1/security/login": {
"post": {
"description": "Authenticate and get a JWT access and refresh token",
"requestBody": {
@@ -13495,7 +17577,10 @@
},
"provider": {
"description": "Choose an authentication provider",
- "enum": ["db", "ldap"],
+ "enum": [
+ "db",
+ "ldap"
+ ],
"example": "db",
"type": "string"
},
@@ -13545,10 +17630,12 @@
"$ref": "#/components/responses/500"
}
},
- "tags": ["Security"]
+ "tags": [
+ "Security"
+ ]
}
},
- "/security/refresh": {
+ "/api/v1/security/refresh": {
"post": {
"description": "Use the refresh token to get a new JWT access token",
"responses": {
@@ -13580,13 +17667,56 @@
"jwt_refresh": []
}
],
- "tags": ["Security"]
+ "tags": [
+ "Security"
+ ]
+ }
+ },
+ "/api/{version}/_openapi": {
+ "get": {
+ "description": "Get the OpenAPI spec for a specific API version",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "version",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object"
+ }
+ }
+ },
+ "description": "The OpenAPI spec"
+ },
+ "404": {
+ "$ref": "#/components/responses/404"
+ },
+ "500": {
+ "$ref": "#/components/responses/500"
+ }
+ },
+ "security": [
+ {
+ "jwt": []
+ }
+ ],
+ "tags": [
+ "OpenApi"
+ ]
}
}
},
"servers": [
{
- "url": "/api/v1"
+ "url": "http://localhost:8088"
}
]
}
diff --git a/docs/yarn.lock b/docs/yarn.lock
index 17e7b8b6a8d12..5acd9afea07f4 100644
--- a/docs/yarn.lock
+++ b/docs/yarn.lock
@@ -2,24 +2,24 @@
# yarn lockfile v1
-"@algolia/autocomplete-core@1.2.2":
- version "1.2.2"
- resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.2.2.tgz"
- integrity sha512-JOQaURze45qVa8OOFDh+ozj2a/ObSRsVyz6Zd0aiBeej+RSTqrr1hDVpGNbbXYLW26G5ujuc9QIdH+rBHn95nw==
+"@algolia/autocomplete-core@1.5.2":
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.5.2.tgz#ec0178e07b44fd74a057728ac157291b26cecf37"
+ integrity sha512-DY0bhyczFSS1b/CqJlTE/nQRtnTAHl6IemIkBy0nEWnhDzRDdtdx4p5Uuk3vwAFxwEEgi1WqKwgSSMx6DpNL4A==
dependencies:
- "@algolia/autocomplete-shared" "1.2.2"
+ "@algolia/autocomplete-shared" "1.5.2"
-"@algolia/autocomplete-preset-algolia@1.2.2":
- version "1.2.2"
- resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.2.2.tgz"
- integrity sha512-AZkh+bAMaJDzMZTelFOXJTJqkp5VPGH8W3n0B+Ggce7DdozlMRsDLguKTCQAkZ0dJ1EbBPyFL5ztL/JImB137Q==
+"@algolia/autocomplete-preset-algolia@1.5.2":
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.5.2.tgz#36c5638cc6dba6ea46a86e5a0314637ca40a77ca"
+ integrity sha512-3MRYnYQFJyovANzSX2CToS6/5cfVjbLLqFsZTKcvF3abhQzxbqwwaMBlJtt620uBUOeMzhdfasKhCc40+RHiZw==
dependencies:
- "@algolia/autocomplete-shared" "1.2.2"
+ "@algolia/autocomplete-shared" "1.5.2"
-"@algolia/autocomplete-shared@1.2.2":
- version "1.2.2"
- resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.2.2.tgz"
- integrity sha512-mLTl7d2C1xVVazHt/bqh9EE/u2lbp5YOxLDdcjILXmUqOs5HH1D4SuySblXaQG1uf28FhTqMGp35qE5wJQnqAw==
+"@algolia/autocomplete-shared@1.5.2":
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.5.2.tgz#e157f9ad624ab8fd940ff28bd2094cdf199cdd79"
+ integrity sha512-ylQAYv5H0YKMfHgVWX0j0NmL8XBcAeeeVQUmppnnMtzDbDnca6CzhKj3Q8eF9cHCgcdTDdb5K+3aKyGWA0obug==
"@algolia/cache-browser-local-storage@4.11.0":
version "4.11.0"
@@ -28,11 +28,23 @@
dependencies:
"@algolia/cache-common" "4.11.0"
+"@algolia/cache-browser-local-storage@4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.13.0.tgz#f8aa4fe31104b19d616ea392f9ed5c2ea847d964"
+ integrity sha512-nj1vHRZauTqP/bluwkRIgEADEimqojJgoTRCel5f6q8WCa9Y8QeI4bpDQP28FoeKnDRYa3J5CauDlN466jqRhg==
+ dependencies:
+ "@algolia/cache-common" "4.13.0"
+
"@algolia/cache-common@4.11.0":
version "4.11.0"
resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.11.0.tgz"
integrity sha512-lODcJRuPXqf+6mp0h6bOxPMlbNoyn3VfjBVcQh70EDP0/xExZbkpecgHyyZK4kWg+evu+mmgvTK3GVHnet/xKw==
+"@algolia/cache-common@4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.13.0.tgz#27b83fd3939d08d72261b36a07eeafc4cb4d2113"
+ integrity sha512-f9mdZjskCui/dA/fA/5a+6hZ7xnHaaZI5tM/Rw9X8rRB39SUlF/+o3P47onZ33n/AwkpSbi5QOyhs16wHd55kA==
+
"@algolia/cache-in-memory@4.11.0":
version "4.11.0"
resolved "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.11.0.tgz"
@@ -40,6 +52,13 @@
dependencies:
"@algolia/cache-common" "4.11.0"
+"@algolia/cache-in-memory@4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.13.0.tgz#10801a74550cbabb64b59ff08c56bce9c278ff2d"
+ integrity sha512-hHdc+ahPiMM92CQMljmObE75laYzNFYLrNOu0Q3/eyvubZZRtY2SUsEEgyUEyzXruNdzrkcDxFYa7YpWBJYHAg==
+ dependencies:
+ "@algolia/cache-common" "4.13.0"
+
"@algolia/client-account@4.11.0":
version "4.11.0"
resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.11.0.tgz"
@@ -49,6 +68,15 @@
"@algolia/client-search" "4.11.0"
"@algolia/transporter" "4.11.0"
+"@algolia/client-account@4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.13.0.tgz#f8646dd40d1e9e3353e10abbd5d6c293ea92a8e2"
+ integrity sha512-FzFqFt9b0g/LKszBDoEsW+dVBuUe1K3scp2Yf7q6pgHWM1WqyqUlARwVpLxqyc+LoyJkTxQftOKjyFUqddnPKA==
+ dependencies:
+ "@algolia/client-common" "4.13.0"
+ "@algolia/client-search" "4.13.0"
+ "@algolia/transporter" "4.13.0"
+
"@algolia/client-analytics@4.11.0":
version "4.11.0"
resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.11.0.tgz"
@@ -59,6 +87,16 @@
"@algolia/requester-common" "4.11.0"
"@algolia/transporter" "4.11.0"
+"@algolia/client-analytics@4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.13.0.tgz#a00bd02df45d71becb9dd4c5c993d805f2e1786d"
+ integrity sha512-klmnoq2FIiiMHImkzOm+cGxqRLLu9CMHqFhbgSy9wtXZrqb8BBUIUE2VyBe7azzv1wKcxZV2RUyNOMpFqmnRZA==
+ dependencies:
+ "@algolia/client-common" "4.13.0"
+ "@algolia/client-search" "4.13.0"
+ "@algolia/requester-common" "4.13.0"
+ "@algolia/transporter" "4.13.0"
+
"@algolia/client-common@4.11.0":
version "4.11.0"
resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.11.0.tgz"
@@ -67,6 +105,14 @@
"@algolia/requester-common" "4.11.0"
"@algolia/transporter" "4.11.0"
+"@algolia/client-common@4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.13.0.tgz#8bc373d164dbdcce38b4586912bbe162492bcb86"
+ integrity sha512-GoXfTp0kVcbgfSXOjfrxx+slSipMqGO9WnNWgeMmru5Ra09MDjrcdunsiiuzF0wua6INbIpBQFTC2Mi5lUNqGA==
+ dependencies:
+ "@algolia/requester-common" "4.13.0"
+ "@algolia/transporter" "4.13.0"
+
"@algolia/client-personalization@4.11.0":
version "4.11.0"
resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.11.0.tgz"
@@ -76,6 +122,15 @@
"@algolia/requester-common" "4.11.0"
"@algolia/transporter" "4.11.0"
+"@algolia/client-personalization@4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.13.0.tgz#10fb7af356422551f11a67222b39c52306f1512c"
+ integrity sha512-KneLz2WaehJmNfdr5yt2HQETpLaCYagRdWwIwkTqRVFCv4DxRQ2ChPVW9jeTj4YfAAhfzE6F8hn7wkQ/Jfj6ZA==
+ dependencies:
+ "@algolia/client-common" "4.13.0"
+ "@algolia/requester-common" "4.13.0"
+ "@algolia/transporter" "4.13.0"
+
"@algolia/client-search@4.11.0":
version "4.11.0"
resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.11.0.tgz"
@@ -85,11 +140,30 @@
"@algolia/requester-common" "4.11.0"
"@algolia/transporter" "4.11.0"
+"@algolia/client-search@4.13.0", "@algolia/client-search@^4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.13.0.tgz#2d8ff8e755c4a37ec89968f3f9b358eed005c7f0"
+ integrity sha512-blgCKYbZh1NgJWzeGf+caKE32mo3j54NprOf0LZVCubQb3Kx37tk1Hc8SDs9bCAE8hUvf3cazMPIg7wscSxspA==
+ dependencies:
+ "@algolia/client-common" "4.13.0"
+ "@algolia/requester-common" "4.13.0"
+ "@algolia/transporter" "4.13.0"
+
+"@algolia/events@^4.0.1":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950"
+ integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==
+
"@algolia/logger-common@4.11.0":
version "4.11.0"
resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.11.0.tgz"
integrity sha512-pRMJFeOY8hoWKIxWuGHIrqnEKN/kqKh7UilDffG/+PeEGxBuku+Wq5CfdTFG0C9ewUvn8mAJn5BhYA5k8y0Jqg==
+"@algolia/logger-common@4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.13.0.tgz#be2606e71aae618a1ff1ea9a1b5f5a74284b35a8"
+ integrity sha512-8yqXk7rMtmQJ9wZiHOt/6d4/JDEg5VCk83gJ39I+X/pwUPzIsbKy9QiK4uJ3aJELKyoIiDT1hpYVt+5ia+94IA==
+
"@algolia/logger-console@4.11.0":
version "4.11.0"
resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.11.0.tgz"
@@ -97,6 +171,13 @@
dependencies:
"@algolia/logger-common" "4.11.0"
+"@algolia/logger-console@4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.13.0.tgz#f28028a760e3d9191e28a10b12925e48f6c9afde"
+ integrity sha512-YepRg7w2/87L0vSXRfMND6VJ5d6699sFJBRWzZPOlek2p5fLxxK7O0VncYuc/IbVHEgeApvgXx0WgCEa38GVuQ==
+ dependencies:
+ "@algolia/logger-common" "4.13.0"
+
"@algolia/requester-browser-xhr@4.11.0":
version "4.11.0"
resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.11.0.tgz"
@@ -104,11 +185,23 @@
dependencies:
"@algolia/requester-common" "4.11.0"
+"@algolia/requester-browser-xhr@4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.13.0.tgz#e2483f4e8d7f09e27cd0daf6c77711d15c5a919f"
+ integrity sha512-Dj+bnoWR5MotrnjblzGKZ2kCdQi2cK/VzPURPnE616NU/il7Ypy6U6DLGZ/ZYz+tnwPa0yypNf21uqt84fOgrg==
+ dependencies:
+ "@algolia/requester-common" "4.13.0"
+
"@algolia/requester-common@4.11.0":
version "4.11.0"
resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.11.0.tgz"
integrity sha512-+cZGe/9fuYgGuxjaBC+xTGBkK7OIYdfapxhfvEf03dviLMPmhmVYFJtJlzAjQ2YmGDJpHrGgAYj3i/fbs8yhiA==
+"@algolia/requester-common@4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.13.0.tgz#47fb3464cfb26b55ba43676d13f295d812830596"
+ integrity sha512-BRTDj53ecK+gn7ugukDWOOcBRul59C4NblCHqj4Zm5msd5UnHFjd/sGX+RLOEoFMhetILAnmg6wMrRrQVac9vw==
+
"@algolia/requester-node-http@4.11.0":
version "4.11.0"
resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.11.0.tgz"
@@ -116,6 +209,13 @@
dependencies:
"@algolia/requester-common" "4.11.0"
+"@algolia/requester-node-http@4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.13.0.tgz#7d981bbd31492f51dd11820a665f9d8906793c37"
+ integrity sha512-9b+3O4QFU4azLhGMrZAr/uZPydvzOR4aEZfSL8ZrpLZ7fbbqTO0S/5EVko+QIgglRAtVwxvf8UJ1wzTD2jvKxQ==
+ dependencies:
+ "@algolia/requester-common" "4.13.0"
+
"@algolia/transporter@4.11.0":
version "4.11.0"
resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.11.0.tgz"
@@ -125,6 +225,22 @@
"@algolia/logger-common" "4.11.0"
"@algolia/requester-common" "4.11.0"
+"@algolia/transporter@4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.13.0.tgz#f6379e5329efa2127da68c914d1141f5f21dbd07"
+ integrity sha512-8tSQYE+ykQENAdeZdofvtkOr5uJ9VcQSWgRhQ9h01AehtBIPAczk/b2CLrMsw5yQZziLs5cZ3pJ3478yI+urhA==
+ dependencies:
+ "@algolia/cache-common" "4.13.0"
+ "@algolia/logger-common" "4.13.0"
+ "@algolia/requester-common" "4.13.0"
+
+"@ampproject/remapping@^2.1.0":
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34"
+ integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==
+ dependencies:
+ "@jridgewell/trace-mapping" "^0.3.0"
+
"@ant-design/colors@^6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-6.0.0.tgz#9b9366257cffcc47db42b9d0203bb592c13c0298"
@@ -183,6 +299,11 @@
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60"
integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==
+"@babel/compat-data@^7.17.7":
+ version "7.17.7"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2"
+ integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==
+
"@babel/core@7.12.9":
version "7.12.9"
resolved "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz"
@@ -226,7 +347,7 @@
semver "^6.3.0"
source-map "^0.5.0"
-"@babel/core@^7.15.5", "@babel/core@^7.16.0":
+"@babel/core@^7.15.5":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.7.tgz#db990f931f6d40cb9b87a0dc7d2adc749f1dcbcf"
integrity sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==
@@ -247,6 +368,27 @@
semver "^6.3.0"
source-map "^0.5.0"
+"@babel/core@^7.17.5":
+ version "7.17.8"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a"
+ integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==
+ dependencies:
+ "@ampproject/remapping" "^2.1.0"
+ "@babel/code-frame" "^7.16.7"
+ "@babel/generator" "^7.17.7"
+ "@babel/helper-compilation-targets" "^7.17.7"
+ "@babel/helper-module-transforms" "^7.17.7"
+ "@babel/helpers" "^7.17.8"
+ "@babel/parser" "^7.17.8"
+ "@babel/template" "^7.16.7"
+ "@babel/traverse" "^7.17.3"
+ "@babel/types" "^7.17.0"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.1.2"
+ semver "^6.3.0"
+
"@babel/generator@^7.12.5", "@babel/generator@^7.16.0":
version "7.16.0"
resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz"
@@ -265,6 +407,15 @@
jsesc "^2.5.1"
source-map "^0.5.0"
+"@babel/generator@^7.17.3", "@babel/generator@^7.17.7":
+ version "7.17.7"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad"
+ integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==
+ dependencies:
+ "@babel/types" "^7.17.0"
+ jsesc "^2.5.1"
+ source-map "^0.5.0"
+
"@babel/helper-annotate-as-pure@^7.16.0":
version "7.16.0"
resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz"
@@ -315,6 +466,16 @@
browserslist "^4.17.5"
semver "^6.3.0"
+"@babel/helper-compilation-targets@^7.17.7":
+ version "7.17.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46"
+ integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==
+ dependencies:
+ "@babel/compat-data" "^7.17.7"
+ "@babel/helper-validator-option" "^7.16.7"
+ browserslist "^4.17.5"
+ semver "^6.3.0"
+
"@babel/helper-create-class-features-plugin@^7.16.0":
version "7.16.0"
resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz"
@@ -327,6 +488,19 @@
"@babel/helper-replace-supers" "^7.16.0"
"@babel/helper-split-export-declaration" "^7.16.0"
+"@babel/helper-create-class-features-plugin@^7.16.10":
+ version "7.17.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9"
+ integrity sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.16.7"
+ "@babel/helper-environment-visitor" "^7.16.7"
+ "@babel/helper-function-name" "^7.16.7"
+ "@babel/helper-member-expression-to-functions" "^7.16.7"
+ "@babel/helper-optimise-call-expression" "^7.16.7"
+ "@babel/helper-replace-supers" "^7.16.7"
+ "@babel/helper-split-export-declaration" "^7.16.7"
+
"@babel/helper-create-class-features-plugin@^7.16.7":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz#9c5b34b53a01f2097daf10678d65135c1b9f84ba"
@@ -507,6 +681,20 @@
"@babel/traverse" "^7.16.7"
"@babel/types" "^7.16.7"
+"@babel/helper-module-transforms@^7.17.7":
+ version "7.17.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd"
+ integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.16.7"
+ "@babel/helper-module-imports" "^7.16.7"
+ "@babel/helper-simple-access" "^7.17.7"
+ "@babel/helper-split-export-declaration" "^7.16.7"
+ "@babel/helper-validator-identifier" "^7.16.7"
+ "@babel/template" "^7.16.7"
+ "@babel/traverse" "^7.17.3"
+ "@babel/types" "^7.17.0"
+
"@babel/helper-optimise-call-expression@^7.16.0":
version "7.16.0"
resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz"
@@ -589,6 +777,13 @@
dependencies:
"@babel/types" "^7.16.7"
+"@babel/helper-simple-access@^7.17.7":
+ version "7.17.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367"
+ integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==
+ dependencies:
+ "@babel/types" "^7.17.0"
+
"@babel/helper-skip-transparent-expression-wrappers@^7.16.0":
version "7.16.0"
resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz"
@@ -668,6 +863,15 @@
"@babel/traverse" "^7.16.7"
"@babel/types" "^7.16.7"
+"@babel/helpers@^7.17.8":
+ version "7.17.8"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106"
+ integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==
+ dependencies:
+ "@babel/template" "^7.16.7"
+ "@babel/traverse" "^7.17.3"
+ "@babel/types" "^7.17.0"
+
"@babel/highlight@^7.16.0":
version "7.16.0"
resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz"
@@ -691,11 +895,16 @@
resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.16.3.tgz"
integrity sha512-dcNwU1O4sx57ClvLBVFbEgx0UZWfd0JQX5X6fxFRCLHelFBGXFfSz6Y0FAq2PEwUqlqLkdVjVr4VASEOuUnLJw==
-"@babel/parser@^7.16.4", "@babel/parser@^7.16.7", "@babel/parser@^7.16.8":
+"@babel/parser@^7.16.7", "@babel/parser@^7.16.8":
version "7.16.8"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17"
integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==
+"@babel/parser@^7.17.3", "@babel/parser@^7.17.8":
+ version "7.17.8"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240"
+ integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==
+
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.0":
version "7.16.2"
resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz"
@@ -949,12 +1158,12 @@
"@babel/helper-create-class-features-plugin" "^7.16.0"
"@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-proposal-private-methods@^7.16.7":
- version "7.16.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz#e418e3aa6f86edd6d327ce84eff188e479f571e0"
- integrity sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==
+"@babel/plugin-proposal-private-methods@^7.16.11":
+ version "7.16.11"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50"
+ integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.16.7"
+ "@babel/helper-create-class-features-plugin" "^7.16.10"
"@babel/helper-plugin-utils" "^7.16.7"
"@babel/plugin-proposal-private-property-in-object@^7.16.0":
@@ -1595,10 +1804,10 @@
dependencies:
"@babel/helper-plugin-utils" "^7.16.7"
-"@babel/plugin-transform-runtime@^7.16.0":
- version "7.16.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.8.tgz#3339368701103edae708f0fba9e4bfb70a3e5872"
- integrity sha512-6Kg2XHPFnIarNweZxmzbgYnnWsXxkx9WQUVk2sksBRL80lBC1RAQV3wQagWxdCHiYHqPN+oenwNIuttlYgIbQQ==
+"@babel/plugin-transform-runtime@^7.17.0":
+ version "7.17.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz#0a2e08b5e2b2d95c4b1d3b3371a2180617455b70"
+ integrity sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==
dependencies:
"@babel/helper-module-imports" "^7.16.7"
"@babel/helper-plugin-utils" "^7.16.7"
@@ -1798,10 +2007,10 @@
core-js-compat "^3.19.0"
semver "^6.3.0"
-"@babel/preset-env@^7.16.4":
- version "7.16.8"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.8.tgz#e682fa0bcd1cf49621d64a8956318ddfb9a05af9"
- integrity sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg==
+"@babel/preset-env@^7.16.11":
+ version "7.16.11"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982"
+ integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==
dependencies:
"@babel/compat-data" "^7.16.8"
"@babel/helper-compilation-targets" "^7.16.7"
@@ -1821,7 +2030,7 @@
"@babel/plugin-proposal-object-rest-spread" "^7.16.7"
"@babel/plugin-proposal-optional-catch-binding" "^7.16.7"
"@babel/plugin-proposal-optional-chaining" "^7.16.7"
- "@babel/plugin-proposal-private-methods" "^7.16.7"
+ "@babel/plugin-proposal-private-methods" "^7.16.11"
"@babel/plugin-proposal-private-property-in-object" "^7.16.7"
"@babel/plugin-proposal-unicode-property-regex" "^7.16.7"
"@babel/plugin-syntax-async-generators" "^7.8.4"
@@ -1901,7 +2110,7 @@
"@babel/plugin-transform-react-jsx-development" "^7.16.0"
"@babel/plugin-transform-react-pure-annotations" "^7.16.0"
-"@babel/preset-react@^7.14.5", "@babel/preset-react@^7.16.0":
+"@babel/preset-react@^7.14.5", "@babel/preset-react@^7.16.7":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.7.tgz#4c18150491edc69c183ff818f9f2aecbe5d93852"
integrity sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==
@@ -1913,7 +2122,7 @@
"@babel/plugin-transform-react-jsx-development" "^7.16.7"
"@babel/plugin-transform-react-pure-annotations" "^7.16.7"
-"@babel/preset-typescript@^7.15.0", "@babel/preset-typescript@^7.16.0":
+"@babel/preset-typescript@^7.15.0", "@babel/preset-typescript@^7.16.7":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz#ab114d68bb2020afc069cd51b37ff98a046a70b9"
integrity sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==
@@ -1930,6 +2139,14 @@
core-js-pure "^3.19.0"
regenerator-runtime "^0.13.4"
+"@babel/runtime-corejs3@^7.17.2":
+ version "7.17.8"
+ resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.17.8.tgz#d7dd49fb812f29c61c59126da3792d8740d4e284"
+ integrity sha512-ZbYSUvoSF6dXZmMl/CYTMOvzIFnbGfv4W3SEHYgMvNsFTeLaF2gkGAF4K2ddmtSK4Emej+0aYcnSC6N5dPCXUQ==
+ dependencies:
+ core-js-pure "^3.20.2"
+ regenerator-runtime "^0.13.4"
+
"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.15.4", "@babel/runtime@^7.3.1", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
version "7.16.3"
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz"
@@ -1937,13 +2154,20 @@
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2":
+"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa"
integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==
dependencies:
regenerator-runtime "^0.13.4"
+"@babel/runtime@^7.17.2":
+ version "7.17.8"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2"
+ integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
"@babel/template@^7.12.7", "@babel/template@^7.16.0":
version "7.16.0"
resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz"
@@ -1993,6 +2217,22 @@
debug "^4.1.0"
globals "^11.1.0"
+"@babel/traverse@^7.17.3":
+ version "7.17.3"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57"
+ integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==
+ dependencies:
+ "@babel/code-frame" "^7.16.7"
+ "@babel/generator" "^7.17.3"
+ "@babel/helper-environment-visitor" "^7.16.7"
+ "@babel/helper-function-name" "^7.16.7"
+ "@babel/helper-hoist-variables" "^7.16.7"
+ "@babel/helper-split-export-declaration" "^7.16.7"
+ "@babel/parser" "^7.17.3"
+ "@babel/types" "^7.17.0"
+ debug "^4.1.0"
+ globals "^11.1.0"
+
"@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.16.0", "@babel/types@^7.4.4":
version "7.16.0"
resolved "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz"
@@ -2009,6 +2249,14 @@
"@babel/helper-validator-identifier" "^7.16.7"
to-fast-properties "^2.0.0"
+"@babel/types@^7.17.0":
+ version "7.17.0"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b"
+ integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.16.7"
+ to-fast-properties "^2.0.0"
+
"@braintree/sanitize-url@^5.0.2":
version "5.0.2"
resolved "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-5.0.2.tgz"
@@ -2019,77 +2267,79 @@
resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz#c3c5ae543c897caa9c2a68630bed355be5f9990f"
integrity sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ==
-"@docsearch/css@3.0.0-alpha.41":
- version "3.0.0-alpha.41"
- resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.0.0-alpha.41.tgz"
- integrity sha512-AP1jqcF/9jCrm4s0lcES3QAtHueyipKjd14L/pguk0CZYK7uI7hC0FWodmRmrgK3/HST9jiHa1waUMR6ZYedlQ==
+"@docsearch/css@3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.0.0.tgz#fe57b474802ffd706d3246eab25d52fac8aa3698"
+ integrity sha512-1kkV7tkAsiuEd0shunYRByKJe3xQDG2q7wYg24SOw1nV9/2lwEd4WrUYRJC/ukGTl2/kHeFxsaUvtiOy0y6fFA==
-"@docsearch/react@^3.0.0-alpha.39":
- version "3.0.0-alpha.41"
- resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.0.0-alpha.41.tgz"
- integrity sha512-UL0Gdter/NUea04lGuBGH0GzQ2/2q/hBfn7Rjo71rRKbjtfkQCM92leJ9tZ+9j9sFLoyuHb9XMm/B8vCjWwTEg==
+"@docsearch/react@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.0.0.tgz#d02ebdc67573412185a6a4df13bc254c7c0da491"
+ integrity sha512-yhMacqS6TVQYoBh/o603zszIb5Bl8MIXuOc6Vy617I74pirisDzzcNh0NEaYQt50fVVR3khUbeEhUEWEWipESg==
dependencies:
- "@algolia/autocomplete-core" "1.2.2"
- "@algolia/autocomplete-preset-algolia" "1.2.2"
- "@docsearch/css" "3.0.0-alpha.41"
+ "@algolia/autocomplete-core" "1.5.2"
+ "@algolia/autocomplete-preset-algolia" "1.5.2"
+ "@docsearch/css" "3.0.0"
algoliasearch "^4.0.0"
-"@docusaurus/core@2.0.0-beta.15", "@docusaurus/core@^2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.0.0-beta.15.tgz#1a3f8361803767072e56c77d60332c87e59f1ad0"
- integrity sha512-zXhhD0fApMSvq/9Pkm9DQxa//hGOXVCq9yMHiXOkI5D1tLec7PxtnaC5cLfGHljkN9cKIfRDYUVcG1gHymVfpA==
+"@docusaurus/core@2.0.0-beta.17", "@docusaurus/core@^2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.0.0-beta.17.tgz#f631aae04405de42a428a31928998242cd1d7b77"
+ integrity sha512-iNdW7CsmHNOgc4PxD9BFxa+MD8+i7ln7erOBkF3FSMMPnsKUeVqsR3rr31aLmLZRlTXMITSPLxlXwtBZa3KPCw==
dependencies:
- "@babel/core" "^7.16.0"
- "@babel/generator" "^7.16.0"
+ "@babel/core" "^7.17.5"
+ "@babel/generator" "^7.17.3"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
- "@babel/plugin-transform-runtime" "^7.16.0"
- "@babel/preset-env" "^7.16.4"
- "@babel/preset-react" "^7.16.0"
- "@babel/preset-typescript" "^7.16.0"
- "@babel/runtime" "^7.16.3"
- "@babel/runtime-corejs3" "^7.16.3"
- "@babel/traverse" "^7.16.3"
- "@docusaurus/cssnano-preset" "2.0.0-beta.15"
- "@docusaurus/logger" "2.0.0-beta.15"
- "@docusaurus/mdx-loader" "2.0.0-beta.15"
+ "@babel/plugin-transform-runtime" "^7.17.0"
+ "@babel/preset-env" "^7.16.11"
+ "@babel/preset-react" "^7.16.7"
+ "@babel/preset-typescript" "^7.16.7"
+ "@babel/runtime" "^7.17.2"
+ "@babel/runtime-corejs3" "^7.17.2"
+ "@babel/traverse" "^7.17.3"
+ "@docusaurus/cssnano-preset" "2.0.0-beta.17"
+ "@docusaurus/logger" "2.0.0-beta.17"
+ "@docusaurus/mdx-loader" "2.0.0-beta.17"
"@docusaurus/react-loadable" "5.5.2"
- "@docusaurus/utils" "2.0.0-beta.15"
- "@docusaurus/utils-common" "2.0.0-beta.15"
- "@docusaurus/utils-validation" "2.0.0-beta.15"
- "@slorber/static-site-generator-webpack-plugin" "^4.0.0"
- "@svgr/webpack" "^6.0.0"
- autoprefixer "^10.3.5"
- babel-loader "^8.2.2"
+ "@docusaurus/utils" "2.0.0-beta.17"
+ "@docusaurus/utils-common" "2.0.0-beta.17"
+ "@docusaurus/utils-validation" "2.0.0-beta.17"
+ "@slorber/static-site-generator-webpack-plugin" "^4.0.1"
+ "@svgr/webpack" "^6.2.1"
+ autoprefixer "^10.4.2"
+ babel-loader "^8.2.3"
babel-plugin-dynamic-import-node "2.3.0"
- boxen "^5.0.1"
- chokidar "^3.5.2"
- clean-css "^5.1.5"
+ boxen "^6.2.1"
+ chokidar "^3.5.3"
+ clean-css "^5.2.4"
+ cli-table3 "^0.6.1"
+ combine-promises "^1.1.0"
commander "^5.1.0"
- copy-webpack-plugin "^10.2.0"
- core-js "^3.18.0"
- css-loader "^6.5.1"
- css-minimizer-webpack-plugin "^3.3.1"
- cssnano "^5.0.8"
+ copy-webpack-plugin "^10.2.4"
+ core-js "^3.21.1"
+ css-loader "^6.6.0"
+ css-minimizer-webpack-plugin "^3.4.1"
+ cssnano "^5.0.17"
del "^6.0.0"
detect-port "^1.3.0"
escape-html "^1.0.3"
eta "^1.12.3"
file-loader "^6.2.0"
- fs-extra "^10.0.0"
- html-minifier-terser "^6.0.2"
+ fs-extra "^10.0.1"
+ html-minifier-terser "^6.1.0"
html-tags "^3.1.0"
- html-webpack-plugin "^5.4.0"
+ html-webpack-plugin "^5.5.0"
import-fresh "^3.3.0"
is-root "^2.1.0"
leven "^3.1.0"
- lodash "^4.17.20"
- mini-css-extract-plugin "^1.6.0"
+ lodash "^4.17.21"
+ mini-css-extract-plugin "^2.5.3"
nprogress "^0.2.0"
- postcss "^8.3.7"
- postcss-loader "^6.1.1"
- prompts "^2.4.1"
+ postcss "^8.4.7"
+ postcss-loader "^6.2.1"
+ prompts "^2.4.2"
react-dev-utils "^12.0.0"
- react-helmet "^6.1.0"
+ react-helmet-async "^1.2.3"
react-loadable "npm:@docusaurus/react-loadable@5.5.2"
react-loadable-ssr-addon-v5-slorber "^1.0.1"
react-router "^5.2.0"
@@ -2099,49 +2349,48 @@
rtl-detect "^1.0.4"
semver "^7.3.4"
serve-handler "^6.1.3"
- shelljs "^0.8.4"
- strip-ansi "^6.0.0"
- terser-webpack-plugin "^5.2.4"
+ shelljs "^0.8.5"
+ terser-webpack-plugin "^5.3.1"
tslib "^2.3.1"
update-notifier "^5.1.0"
url-loader "^4.1.1"
- wait-on "^6.0.0"
- webpack "^5.61.0"
- webpack-bundle-analyzer "^4.4.2"
- webpack-dev-server "^4.7.1"
+ wait-on "^6.0.1"
+ webpack "^5.69.1"
+ webpack-bundle-analyzer "^4.5.0"
+ webpack-dev-server "^4.7.4"
webpack-merge "^5.8.0"
webpackbar "^5.0.2"
-"@docusaurus/cssnano-preset@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-beta.15.tgz#033c52815c428f0f66c87eaff93ea12554ea89df"
- integrity sha512-55aYURbB5dqrx64lStNcZxDx5R6bKkAawlCB7mDKx3r+Qnp3ofGW7UExLQSCbTu3axT1vJCF5D7H6ljTRYJLtA==
+"@docusaurus/cssnano-preset@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-beta.17.tgz#f687bc6e5c8cb2139a7830dec757cfcb92dbb681"
+ integrity sha512-DoBwtLjJ9IY9/lNMHIEdo90L4NDayvU28nLgtjR2Sc6aBIMEB/3a5Ndjehnp+jZAkwcDdNASA86EkZVUyz1O1A==
dependencies:
- cssnano-preset-advanced "^5.1.4"
- postcss "^8.3.7"
- postcss-sort-media-queries "^4.1.0"
+ cssnano-preset-advanced "^5.1.12"
+ postcss "^8.4.7"
+ postcss-sort-media-queries "^4.2.1"
-"@docusaurus/logger@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.0.0-beta.15.tgz#6d17a05fb292d15fdc43b5fa90fd2a49ad5d40ce"
- integrity sha512-5bDSHCyLfMtz6QnFfICdL5mgxbGfC7DW1V+/Q17nRdpZSPZgsNKK/Esp0zdDi1oxAyEpXMXx64nLaHL7joJxIg==
+"@docusaurus/logger@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.0.0-beta.17.tgz#89c5ace3b4efd5274adb0d8919328892c4466d02"
+ integrity sha512-F9JDl06/VLg+ylsvnq9NpILSUeWtl0j4H2LtlLzX5gufEL4dGiCMlnUzYdHl7FSHSzYJ0A/R7vu0SYofsexC4w==
dependencies:
chalk "^4.1.2"
tslib "^2.3.1"
-"@docusaurus/mdx-loader@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-beta.15.tgz#da23745bc73c93338dd330dad6bbc9d9fe325553"
- integrity sha512-MVpytjDDao7hmPF1QSs9B5zoTgevZjiqjnX3FM1yjqdCv+chyUo0gnmYHjeG/4Gqu7jucp+dDdp6yQpzs4g09A==
+"@docusaurus/mdx-loader@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-beta.17.tgz#838f87f4cbf12701c4d8eb11e4f9698fb7155bf8"
+ integrity sha512-AhJ3GWRmjQYCyINHE595pff5tn3Rt83oGpdev5UT9uvG9lPYPC8nEmh1LI6c0ogfw7YkNznzxWSW4hyyVbYQ3A==
dependencies:
- "@babel/parser" "^7.16.4"
- "@babel/traverse" "^7.16.3"
- "@docusaurus/logger" "2.0.0-beta.15"
- "@docusaurus/utils" "2.0.0-beta.15"
- "@mdx-js/mdx" "^1.6.21"
+ "@babel/parser" "^7.17.3"
+ "@babel/traverse" "^7.17.3"
+ "@docusaurus/logger" "2.0.0-beta.17"
+ "@docusaurus/utils" "2.0.0-beta.17"
+ "@mdx-js/mdx" "^1.6.22"
escape-html "^1.0.3"
file-loader "^6.2.0"
- fs-extra "^10.0.0"
+ fs-extra "^10.0.1"
image-size "^1.0.1"
mdast-util-to-string "^2.0.0"
remark-emoji "^2.1.0"
@@ -2149,149 +2398,147 @@
tslib "^2.3.1"
unist-util-visit "^2.0.2"
url-loader "^4.1.1"
- webpack "^5.61.0"
+ webpack "^5.69.1"
-"@docusaurus/module-type-aliases@^2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-2.0.0-beta.15.tgz#6878fd073ac735388a00419a0af3170ba7e72318"
- integrity sha512-RqAjt2Z9n4ttqVDbgdnzIPXoNzAsUPJzf8EKPeKw8KRiMToBBHkPgmWuwvLFcO7/ZA5w1/ODLMncx9j/ZcM1CQ==
+"@docusaurus/module-type-aliases@2.0.0-beta.17", "@docusaurus/module-type-aliases@^2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-2.0.0-beta.17.tgz#73f6d34be202ac093e78769ff72613d353087cd7"
+ integrity sha512-Tu+8geC/wyygBudbSwvWIHEvt5RwyA7dEoE1JmPbgQtmqUxOZ9bgnfemwXpJW5mKuDiJASbN4of1DhbLqf4sPg==
dependencies:
- "@docusaurus/types" "2.0.0-beta.15"
+ "@docusaurus/types" "2.0.0-beta.17"
"@types/react" "*"
- "@types/react-helmet" "*"
"@types/react-router-config" "*"
"@types/react-router-dom" "*"
-
-"@docusaurus/plugin-client-redirects@^2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-2.0.0-beta.15.tgz#ccee67923e7e80ef76a995d7b495a42a1449ae2c"
- integrity sha512-FcH1y+a+Bmc5x50kZn5RvLr2a6iPiGnRK4iUP7G1eNozJC+8+93OwyZYSCdEOf2LyoVOtEq06xlfORFP2mfQDQ==
- dependencies:
- "@docusaurus/core" "2.0.0-beta.15"
- "@docusaurus/logger" "2.0.0-beta.15"
- "@docusaurus/utils" "2.0.0-beta.15"
- "@docusaurus/utils-common" "2.0.0-beta.15"
- "@docusaurus/utils-validation" "2.0.0-beta.15"
+ react-helmet-async "*"
+
+"@docusaurus/plugin-client-redirects@^2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-2.0.0-beta.17.tgz#82691c22b9e7cf69ea1f5204a1f599dd7faeedd2"
+ integrity sha512-PfITCVgENyB0j1ErwSOQ3d1dvxbBEcZxiJrlu41v5Q6GiZWWJ4wSJRpOzqZiVUotfhnBn4NmpgVfGnmGkGPK4A==
+ dependencies:
+ "@docusaurus/core" "2.0.0-beta.17"
+ "@docusaurus/logger" "2.0.0-beta.17"
+ "@docusaurus/utils" "2.0.0-beta.17"
+ "@docusaurus/utils-common" "2.0.0-beta.17"
+ "@docusaurus/utils-validation" "2.0.0-beta.17"
eta "^1.12.3"
- fs-extra "^10.0.0"
- lodash "^4.17.20"
+ fs-extra "^10.0.1"
+ lodash "^4.17.21"
tslib "^2.3.1"
-"@docusaurus/plugin-content-blog@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-beta.15.tgz#6d4bf532ad3dedb4f9fd6398b0fbe481af5b77a9"
- integrity sha512-VtEwkgkoNIS8JFPe+huBeBuJ8HG8Lq1JNYM/ItwQg/cwGAgP8EgwbEuKDn428oZKEI2PpgAuf5Gv4AzJWIes9A==
- dependencies:
- "@docusaurus/core" "2.0.0-beta.15"
- "@docusaurus/logger" "2.0.0-beta.15"
- "@docusaurus/mdx-loader" "2.0.0-beta.15"
- "@docusaurus/utils" "2.0.0-beta.15"
- "@docusaurus/utils-common" "2.0.0-beta.15"
- "@docusaurus/utils-validation" "2.0.0-beta.15"
+"@docusaurus/plugin-content-blog@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-beta.17.tgz#1d1063bfda78a80d517694567b965d5c3a70479f"
+ integrity sha512-gcX4UR+WKT4bhF8FICBQHy+ESS9iRMeaglSboTZbA/YHGax/3EuZtcPU3dU4E/HFJeZ866wgUdbLKpIpsZOidg==
+ dependencies:
+ "@docusaurus/core" "2.0.0-beta.17"
+ "@docusaurus/logger" "2.0.0-beta.17"
+ "@docusaurus/mdx-loader" "2.0.0-beta.17"
+ "@docusaurus/utils" "2.0.0-beta.17"
+ "@docusaurus/utils-common" "2.0.0-beta.17"
+ "@docusaurus/utils-validation" "2.0.0-beta.17"
cheerio "^1.0.0-rc.10"
feed "^4.2.2"
- fs-extra "^10.0.0"
- lodash "^4.17.20"
+ fs-extra "^10.0.1"
+ lodash "^4.17.21"
reading-time "^1.5.0"
remark-admonitions "^1.2.1"
tslib "^2.3.1"
utility-types "^3.10.0"
- webpack "^5.61.0"
-
-"@docusaurus/plugin-content-docs@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-beta.15.tgz#9486bba8abd2a6284e749718bf56743d8e4446f1"
- integrity sha512-HSwNZdUKz4rpJiGbFjl/OFhSleeZUSZ6E6lk98i4iL1A5u6fIm4CHsT53yp4UUOse+lFrePTFZsyqwMA4nZZYA==
- dependencies:
- "@docusaurus/core" "2.0.0-beta.15"
- "@docusaurus/logger" "2.0.0-beta.15"
- "@docusaurus/mdx-loader" "2.0.0-beta.15"
- "@docusaurus/utils" "2.0.0-beta.15"
- "@docusaurus/utils-validation" "2.0.0-beta.15"
+ webpack "^5.69.1"
+
+"@docusaurus/plugin-content-docs@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-beta.17.tgz#97f13bb458e165224db6867836e8e9637ea15921"
+ integrity sha512-YYrBpuRfTfE6NtENrpSHTJ7K7PZifn6j6hcuvdC0QKE+WD8pS+O2/Ws30yoyvHwLnAnfhvaderh1v9Kaa0/ANg==
+ dependencies:
+ "@docusaurus/core" "2.0.0-beta.17"
+ "@docusaurus/logger" "2.0.0-beta.17"
+ "@docusaurus/mdx-loader" "2.0.0-beta.17"
+ "@docusaurus/utils" "2.0.0-beta.17"
+ "@docusaurus/utils-validation" "2.0.0-beta.17"
combine-promises "^1.1.0"
- fs-extra "^10.0.0"
- import-fresh "^3.2.2"
- js-yaml "^4.0.0"
- lodash "^4.17.20"
+ fs-extra "^10.0.1"
+ import-fresh "^3.3.0"
+ js-yaml "^4.1.0"
+ lodash "^4.17.21"
remark-admonitions "^1.2.1"
- shelljs "^0.8.4"
tslib "^2.3.1"
utility-types "^3.10.0"
- webpack "^5.61.0"
-
-"@docusaurus/plugin-content-pages@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-beta.15.tgz#e488f7dcdd45cd1d46e8c2c5ff5275327a6a3c65"
- integrity sha512-N7YhW5RiOY6J228z4lOoP//qX0Q48cRtxDONZ/Ohd9C5OI2vS6TD8iQuDqOIYHxH+BshjNSsKvbJ+SMIQDwysg==
- dependencies:
- "@docusaurus/core" "2.0.0-beta.15"
- "@docusaurus/mdx-loader" "2.0.0-beta.15"
- "@docusaurus/utils" "2.0.0-beta.15"
- "@docusaurus/utils-validation" "2.0.0-beta.15"
- fs-extra "^10.0.0"
- globby "^11.0.2"
+ webpack "^5.69.1"
+
+"@docusaurus/plugin-content-pages@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-beta.17.tgz#d5955d3cc23722518a6032f830cf8c7b7aeb3d5a"
+ integrity sha512-d5x0mXTMJ44ojRQccmLyshYoamFOep2AnBe69osCDnwWMbD3Or3pnc2KMK9N7mVpQFnNFKbHNCLrX3Rv0uwEHA==
+ dependencies:
+ "@docusaurus/core" "2.0.0-beta.17"
+ "@docusaurus/mdx-loader" "2.0.0-beta.17"
+ "@docusaurus/utils" "2.0.0-beta.17"
+ "@docusaurus/utils-validation" "2.0.0-beta.17"
+ fs-extra "^10.0.1"
remark-admonitions "^1.2.1"
tslib "^2.3.1"
- webpack "^5.61.0"
+ webpack "^5.69.1"
-"@docusaurus/plugin-debug@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-beta.15.tgz#b75d706d4f9fc4146f84015097bd837d1afb7c6b"
- integrity sha512-Jth11jB/rVqPwCGdkVKSUWeXZPAr/NyPn+yeknTBk2LgQKBJ3YU5dNG0uyt0Ay+UYT01TkousPJkXhLuy4Qrsw==
+"@docusaurus/plugin-debug@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-beta.17.tgz#0185dfd5575aa940443d2cb9fab4bed3308ed3a1"
+ integrity sha512-p26fjYFRSC0esEmKo/kRrLVwXoFnzPCFDumwrImhPyqfVxbj+IKFaiXkayb2qHnyEGE/1KSDIgRF4CHt/pyhiw==
dependencies:
- "@docusaurus/core" "2.0.0-beta.15"
- "@docusaurus/utils" "2.0.0-beta.15"
- fs-extra "^10.0.0"
+ "@docusaurus/core" "2.0.0-beta.17"
+ "@docusaurus/utils" "2.0.0-beta.17"
+ fs-extra "^10.0.1"
react-json-view "^1.21.3"
tslib "^2.3.1"
-"@docusaurus/plugin-google-analytics@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-beta.15.tgz#6ffebe76d9caac5383cfb78d2baa5883c9c2df6c"
- integrity sha512-ELAnxNYiC2i7gfu/ViurNIdm1/DdnbEfVDmpffS9niQhOREM1U3jpxkz/ff1GIC6heOLyHTtini/CZBDoroVGw==
+"@docusaurus/plugin-google-analytics@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-beta.17.tgz#31ca1ef88f0f7874c6e12c642d64abe694494720"
+ integrity sha512-jvgYIhggYD1W2jymqQVAAyjPJUV1xMCn70bAzaCMxriureMWzhQ/kQMVQpop0ijTMvifOxaV9yTcL1VRXev++A==
dependencies:
- "@docusaurus/core" "2.0.0-beta.15"
- "@docusaurus/utils-validation" "2.0.0-beta.15"
+ "@docusaurus/core" "2.0.0-beta.17"
+ "@docusaurus/utils-validation" "2.0.0-beta.17"
tslib "^2.3.1"
-"@docusaurus/plugin-google-gtag@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-beta.15.tgz#4db3330d302653e8541dc3cb86a4dbfef0cc96f8"
- integrity sha512-E5Rm3+dN7i3A9V5uq5sl9xTNA3aXsLwTZEA2SpOkY571dCpd+sfVvz1lR+KRY9Fy6ZHk8PqrNImgCWfIerRuZQ==
+"@docusaurus/plugin-google-gtag@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-beta.17.tgz#e6baf8f03cea756ed2259a5356fa689388bc303d"
+ integrity sha512-1pnWHtIk1Jfeqwvr8PlcPE5SODWT1gW4TI+ptmJbJ296FjjyvL/pG0AcGEJmYLY/OQc3oz0VQ0W2ognw9jmFIw==
dependencies:
- "@docusaurus/core" "2.0.0-beta.15"
- "@docusaurus/utils-validation" "2.0.0-beta.15"
+ "@docusaurus/core" "2.0.0-beta.17"
+ "@docusaurus/utils-validation" "2.0.0-beta.17"
tslib "^2.3.1"
-"@docusaurus/plugin-sitemap@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-beta.15.tgz#0cc083d9e76041897e81b4b82bcd0ccbfa65d6e5"
- integrity sha512-PBjeQb2Qpe4uPdRefWL/eXCeYjrgNB/UArExYeUuP4wiY1dpw2unGNCvFUxv4hzJGmARoTLsnRkeYkUim809LQ==
- dependencies:
- "@docusaurus/core" "2.0.0-beta.15"
- "@docusaurus/utils" "2.0.0-beta.15"
- "@docusaurus/utils-common" "2.0.0-beta.15"
- "@docusaurus/utils-validation" "2.0.0-beta.15"
- fs-extra "^10.0.0"
- sitemap "^7.0.0"
+"@docusaurus/plugin-sitemap@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-beta.17.tgz#e1aa67ff09d9145e8e5522c4541bbcdd6365560c"
+ integrity sha512-19/PaGCsap6cjUPZPGs87yV9e1hAIyd0CTSeVV6Caega8nmOKk20FTrQGFJjZPeX8jvD9QIXcdg6BJnPxcKkaQ==
+ dependencies:
+ "@docusaurus/core" "2.0.0-beta.17"
+ "@docusaurus/utils" "2.0.0-beta.17"
+ "@docusaurus/utils-common" "2.0.0-beta.17"
+ "@docusaurus/utils-validation" "2.0.0-beta.17"
+ fs-extra "^10.0.1"
+ sitemap "^7.1.1"
tslib "^2.3.1"
-"@docusaurus/preset-classic@^2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-2.0.0-beta.15.tgz#13d2f3c4fa7c055af35541ae5e93453450efb208"
- integrity sha512-3NZIXWTAzk+kOgiB8uAbD+FZv3VFR1qkU6+TW24DRenjRnXof3CkRuldhI1QI0hILm1fuJ319QRkakV8FFtXyA==
- dependencies:
- "@docusaurus/core" "2.0.0-beta.15"
- "@docusaurus/plugin-content-blog" "2.0.0-beta.15"
- "@docusaurus/plugin-content-docs" "2.0.0-beta.15"
- "@docusaurus/plugin-content-pages" "2.0.0-beta.15"
- "@docusaurus/plugin-debug" "2.0.0-beta.15"
- "@docusaurus/plugin-google-analytics" "2.0.0-beta.15"
- "@docusaurus/plugin-google-gtag" "2.0.0-beta.15"
- "@docusaurus/plugin-sitemap" "2.0.0-beta.15"
- "@docusaurus/theme-classic" "2.0.0-beta.15"
- "@docusaurus/theme-common" "2.0.0-beta.15"
- "@docusaurus/theme-search-algolia" "2.0.0-beta.15"
+"@docusaurus/preset-classic@^2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-2.0.0-beta.17.tgz#a8fc3447aa6fe0e5f259d894cc8dd64c049c7605"
+ integrity sha512-7YUxPEgM09aZWr25/hpDEp1gPl+1KsCPV1ZTRW43sbQ9TinPm+9AKR3rHVDa8ea8MdiS7BpqCVyK+H/eiyQrUw==
+ dependencies:
+ "@docusaurus/core" "2.0.0-beta.17"
+ "@docusaurus/plugin-content-blog" "2.0.0-beta.17"
+ "@docusaurus/plugin-content-docs" "2.0.0-beta.17"
+ "@docusaurus/plugin-content-pages" "2.0.0-beta.17"
+ "@docusaurus/plugin-debug" "2.0.0-beta.17"
+ "@docusaurus/plugin-google-analytics" "2.0.0-beta.17"
+ "@docusaurus/plugin-google-gtag" "2.0.0-beta.17"
+ "@docusaurus/plugin-sitemap" "2.0.0-beta.17"
+ "@docusaurus/theme-classic" "2.0.0-beta.17"
+ "@docusaurus/theme-common" "2.0.0-beta.17"
+ "@docusaurus/theme-search-algolia" "2.0.0-beta.17"
"@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2":
version "5.5.2"
@@ -2301,122 +2548,124 @@
"@types/react" "*"
prop-types "^15.6.2"
-"@docusaurus/theme-classic@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-2.0.0-beta.15.tgz#35d04232f2d5fcb2007675339b0e6d0e8681be95"
- integrity sha512-WwNRcQvMtQ7KDhOEHFKFHxXCdoZwLg66hT3vhqNIFMfGQuPzOP91MX5LUSo1QWHhlrD3H3Og+r7Ik/fy2bf5lQ==
- dependencies:
- "@docusaurus/core" "2.0.0-beta.15"
- "@docusaurus/plugin-content-blog" "2.0.0-beta.15"
- "@docusaurus/plugin-content-docs" "2.0.0-beta.15"
- "@docusaurus/plugin-content-pages" "2.0.0-beta.15"
- "@docusaurus/theme-common" "2.0.0-beta.15"
- "@docusaurus/theme-translations" "2.0.0-beta.15"
- "@docusaurus/utils" "2.0.0-beta.15"
- "@docusaurus/utils-common" "2.0.0-beta.15"
- "@docusaurus/utils-validation" "2.0.0-beta.15"
- "@mdx-js/react" "^1.6.21"
+"@docusaurus/theme-classic@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-2.0.0-beta.17.tgz#1f7a1dd714993819f266ce422d06dd4533d4ab3a"
+ integrity sha512-xfZ9kpgqo0lP9YO4rJj79wtiQJXU6ARo5wYy10IIwiWN+lg00scJHhkmNV431b05xIUjUr0cKeH9nqZmEsQRKg==
+ dependencies:
+ "@docusaurus/core" "2.0.0-beta.17"
+ "@docusaurus/plugin-content-blog" "2.0.0-beta.17"
+ "@docusaurus/plugin-content-docs" "2.0.0-beta.17"
+ "@docusaurus/plugin-content-pages" "2.0.0-beta.17"
+ "@docusaurus/theme-common" "2.0.0-beta.17"
+ "@docusaurus/theme-translations" "2.0.0-beta.17"
+ "@docusaurus/utils" "2.0.0-beta.17"
+ "@docusaurus/utils-common" "2.0.0-beta.17"
+ "@docusaurus/utils-validation" "2.0.0-beta.17"
+ "@mdx-js/react" "^1.6.22"
clsx "^1.1.1"
copy-text-to-clipboard "^3.0.1"
infima "0.2.0-alpha.37"
- lodash "^4.17.20"
- postcss "^8.3.7"
+ lodash "^4.17.21"
+ postcss "^8.4.7"
prism-react-renderer "^1.2.1"
- prismjs "^1.23.0"
+ prismjs "^1.27.0"
react-router-dom "^5.2.0"
rtlcss "^3.3.0"
-"@docusaurus/theme-common@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-2.0.0-beta.15.tgz#5bd338d483e2c19d6d74d133572988241518398a"
- integrity sha512-+pvarmzcyECE4nWxw+dCMKRIoes0NegrRuM9+nRsUrS/E5ywsF539kpupKIEqaMjq6AuM0CJtDoHxHHPNe0KaQ==
+"@docusaurus/theme-common@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-2.0.0-beta.17.tgz#3b71bb8b0973a0cee969a1bb76794c81d597f290"
+ integrity sha512-LJBDhx+Qexn1JHBqZbE4k+7lBaV1LgpE33enXf43ShB7ebhC91d5HLHhBwgt0pih4+elZU4rG+BG/roAmsNM0g==
dependencies:
- "@docusaurus/plugin-content-blog" "2.0.0-beta.15"
- "@docusaurus/plugin-content-docs" "2.0.0-beta.15"
- "@docusaurus/plugin-content-pages" "2.0.0-beta.15"
+ "@docusaurus/module-type-aliases" "2.0.0-beta.17"
+ "@docusaurus/plugin-content-blog" "2.0.0-beta.17"
+ "@docusaurus/plugin-content-docs" "2.0.0-beta.17"
+ "@docusaurus/plugin-content-pages" "2.0.0-beta.17"
clsx "^1.1.1"
parse-numeric-range "^1.3.0"
+ prism-react-renderer "^1.3.1"
tslib "^2.3.1"
utility-types "^3.10.0"
-"@docusaurus/theme-search-algolia@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-beta.15.tgz#c3ad7fd8e27fcb3e072990031c08768c602cb9a4"
- integrity sha512-XrrQKyjOPzmEuOcdsaAn1tzNJkNMA3PC86PwPZUaah0cYPpBGptcJYDlIW4VHIrCBfkQvhvmg/B3qKF6bMMi8g==
- dependencies:
- "@docsearch/react" "^3.0.0-alpha.39"
- "@docusaurus/core" "2.0.0-beta.15"
- "@docusaurus/logger" "2.0.0-beta.15"
- "@docusaurus/theme-common" "2.0.0-beta.15"
- "@docusaurus/theme-translations" "2.0.0-beta.15"
- "@docusaurus/utils" "2.0.0-beta.15"
- "@docusaurus/utils-validation" "2.0.0-beta.15"
- algoliasearch "^4.10.5"
- algoliasearch-helper "^3.5.5"
+"@docusaurus/theme-search-algolia@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-beta.17.tgz#880fb965b71e5aa7f01d456a1a2aa8eb6c244082"
+ integrity sha512-W12XKM7QC5Jmrec359bJ7aDp5U8DNkCxjVKsMNIs8rDunBoI/N+R35ERJ0N7Bg9ONAWO6o7VkUERQsfGqdvr9w==
+ dependencies:
+ "@docsearch/react" "^3.0.0"
+ "@docusaurus/core" "2.0.0-beta.17"
+ "@docusaurus/logger" "2.0.0-beta.17"
+ "@docusaurus/theme-common" "2.0.0-beta.17"
+ "@docusaurus/theme-translations" "2.0.0-beta.17"
+ "@docusaurus/utils" "2.0.0-beta.17"
+ "@docusaurus/utils-validation" "2.0.0-beta.17"
+ algoliasearch "^4.12.1"
+ algoliasearch-helper "^3.7.0"
clsx "^1.1.1"
eta "^1.12.3"
- lodash "^4.17.20"
+ fs-extra "^10.0.1"
+ lodash "^4.17.21"
tslib "^2.3.1"
utility-types "^3.10.0"
-"@docusaurus/theme-translations@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-2.0.0-beta.15.tgz#658397ab4c0d7784043e3cec52cef7ae09d2fb59"
- integrity sha512-Lu2JDsnZaB2BcJe8Hpq5nrbS7+7bd09jT08b9vztQyvzR8PgzsthnzlLN4ilOeamRIuYJKo1pUGm0EsQBOP6Nw==
+"@docusaurus/theme-translations@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-2.0.0-beta.17.tgz#a4b84fa63befc11847da471922387aa3eb4e5626"
+ integrity sha512-oxCX6khjZH3lgdRCL0DH06KkUM/kDr9+lzB35+vY8rpFeQruVgRdi8ekPqG3+Wr0U/N+LMhcYE5BmCb6D0Fv2A==
dependencies:
- fs-extra "^10.0.0"
+ fs-extra "^10.0.1"
tslib "^2.3.1"
-"@docusaurus/types@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.0.0-beta.15.tgz#2f7b25a3686f46440204e7ad5490582a39878177"
- integrity sha512-djeZe5aDyI4lgfdLkI86pLnliFJRB1CVkcP3iA+PqXaJ3Cp4piPeBX5tZtE+0vJt2JwNATZpkzzkKbFDq5MinQ==
+"@docusaurus/types@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.0.0-beta.17.tgz#582e3d961ce4409ed17454669b3f6a7a9f696cdd"
+ integrity sha512-4o7TXu5sKlQpybfFFtsGUElBXwSpiXKsQyyWaRKj7DRBkvMtkDX6ITZNnZO9+EHfLbP/cfrokB8C/oO7mCQ5BQ==
dependencies:
commander "^5.1.0"
- joi "^17.4.2"
+ joi "^17.6.0"
querystring "0.2.1"
utility-types "^3.10.0"
- webpack "^5.61.0"
+ webpack "^5.69.1"
webpack-merge "^5.8.0"
-"@docusaurus/utils-common@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.0.0-beta.15.tgz#5549b329fc750bd5e9f24952c9e3ff7cf1f63e08"
- integrity sha512-kIGlSIvbE/oniUpUjI8GOkSpH8o4NXbYqAh9dqPn+TJ0KbEFY3fc80gzZQU+9SunCwJMJbIxIGevX9Ry+nackw==
+"@docusaurus/utils-common@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.0.0-beta.17.tgz#cefd950a7722f5f702690b4de27ea19fd65f3364"
+ integrity sha512-90WCVdj6zYzs7neEIS594qfLO78cUL6EVK1CsRHJgVkkGjcYlCQ1NwkyO7bOb+nIAwdJrPJRc2FBSpuEGxPD3w==
dependencies:
tslib "^2.3.1"
-"@docusaurus/utils-validation@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.0.0-beta.15.tgz#c664bc021194db9254eb45e6b48cb7c2af269041"
- integrity sha512-1oOVBCkRrsTXSYrBTsMdnj3a/R56zrx11rjF4xo0+dmm8C01Xw4msFtc3uA7VLX0HQvgHsk8xPzU5GERNdsNpg==
+"@docusaurus/utils-validation@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.0.0-beta.17.tgz#d7dbfc1a29768c37c0d8a6af85eb1bdfef7656df"
+ integrity sha512-5UjayUP16fDjgd52eSEhL7SlN9x60pIhyS+K7kt7RmpSLy42+4/bSr2pns2VlATmuaoNOO6iIFdB2jgSYJ6SGA==
dependencies:
- "@docusaurus/logger" "2.0.0-beta.15"
- "@docusaurus/utils" "2.0.0-beta.15"
- joi "^17.4.2"
+ "@docusaurus/logger" "2.0.0-beta.17"
+ "@docusaurus/utils" "2.0.0-beta.17"
+ joi "^17.6.0"
tslib "^2.3.1"
-"@docusaurus/utils@2.0.0-beta.15":
- version "2.0.0-beta.15"
- resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.0.0-beta.15.tgz#60868046700d5585cfa6ffc57c5f3fbed00b61fc"
- integrity sha512-xkoPmFxCBkDqbZR4U3SE752OcXtWTGgZnc/pZWxItzb1IYRGNZHrzdIr7CnI7rppriuZzsyivDGiC4Ud9MWhkA==
+"@docusaurus/utils@2.0.0-beta.17":
+ version "2.0.0-beta.17"
+ resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.0.0-beta.17.tgz#6a696e2ec5e50b2271f2d26d31562e9f3e2bc559"
+ integrity sha512-yRKGdzSc5v6M/6GyQ4omkrAHCleevwKYiIrufCJgRbOtkhYE574d8mIjjirOuA/emcyLxjh+TLtqAA5TwhIryA==
dependencies:
- "@docusaurus/logger" "2.0.0-beta.15"
- "@mdx-js/runtime" "^1.6.22"
+ "@docusaurus/logger" "2.0.0-beta.17"
"@svgr/webpack" "^6.0.0"
file-loader "^6.2.0"
- fs-extra "^10.0.0"
+ fs-extra "^10.0.1"
github-slugger "^1.4.0"
globby "^11.0.4"
gray-matter "^4.0.3"
- js-yaml "^4.0.0"
- lodash "^4.17.20"
+ js-yaml "^4.1.0"
+ lodash "^4.17.21"
micromatch "^4.0.4"
- remark-mdx-remove-exports "^1.6.22"
- remark-mdx-remove-imports "^1.6.22"
resolve-pathname "^3.0.0"
+ shelljs "^0.8.5"
tslib "^2.3.1"
url-loader "^4.1.1"
+ webpack "^5.69.1"
"@emotion/cache@^10.0.27":
version "10.0.29"
@@ -2428,7 +2677,7 @@
"@emotion/utils" "0.11.3"
"@emotion/weak-memoize" "0.2.5"
-"@emotion/core@^10.0.0", "@emotion/core@^10.0.28", "@emotion/core@^10.1.1":
+"@emotion/core@^10.0.28", "@emotion/core@^10.1.1":
version "10.3.1"
resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.3.1.tgz#4021b6d8b33b3304d48b0bb478485e7d7421c69d"
integrity sha512-447aUEjPIm0MnE6QYIaFz9VQOHSXf4Iu6EWOIqq11EAPqinkSZmfymPTmlOE3QjLv846lH4JVZBUOtwGbuQoww==
@@ -2454,7 +2703,7 @@
resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"
integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
-"@emotion/is-prop-valid@0.8.8", "@emotion/is-prop-valid@^0.8.1":
+"@emotion/is-prop-valid@0.8.8":
version "0.8.8"
resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a"
integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==
@@ -2466,11 +2715,6 @@
resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb"
integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==
-"@emotion/memoize@^0.7.1":
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.5.tgz#2c40f81449a4e554e9fc6396910ed4843ec2be50"
- integrity sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==
-
"@emotion/serialize@^0.11.15", "@emotion/serialize@^0.11.16":
version "0.11.16"
resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.16.tgz#dee05f9e96ad2fb25a5206b6d759b2d1ed3379ad"
@@ -2497,7 +2741,7 @@
"@emotion/serialize" "^0.11.15"
"@emotion/utils" "0.11.3"
-"@emotion/styled@^10.0.0", "@emotion/styled@^10.0.27":
+"@emotion/styled@^10.0.27":
version "10.3.0"
resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-10.3.0.tgz#8ee959bf75730789abb5f67f7c3ded0c30aec876"
integrity sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==
@@ -2537,9 +2781,27 @@
dependencies:
"@hapi/hoek" "^9.0.0"
-"@mdx-js/mdx@1.6.22", "@mdx-js/mdx@^1.6.21":
+"@jridgewell/resolve-uri@^3.0.3":
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c"
+ integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==
+
+"@jridgewell/sourcemap-codec@^1.4.10":
+ version "1.4.11"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec"
+ integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==
+
+"@jridgewell/trace-mapping@^0.3.0":
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3"
+ integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.0.3"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
+
+"@mdx-js/mdx@^1.6.22":
version "1.6.22"
- resolved "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz"
+ resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba"
integrity sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==
dependencies:
"@babel/core" "7.12.9"
@@ -2562,20 +2824,11 @@
unist-builder "2.0.3"
unist-util-visit "2.0.3"
-"@mdx-js/react@1.6.22", "@mdx-js/react@^1.0.0", "@mdx-js/react@^1.6.21":
+"@mdx-js/react@^1.6.22":
version "1.6.22"
resolved "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz"
integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==
-"@mdx-js/runtime@^1.6.22":
- version "1.6.22"
- resolved "https://registry.npmjs.org/@mdx-js/runtime/-/runtime-1.6.22.tgz"
- integrity sha512-p17spaO2+55VLCuxXA3LVHC4phRx60NR2XMdZ+qgVU1lKvEX4y88dmFNOzGDCPLJ03IZyKrJ/rPWWRiBrd9JrQ==
- dependencies:
- "@mdx-js/mdx" "1.6.22"
- "@mdx-js/react" "1.6.22"
- buble-jsx-only "^0.19.8"
-
"@mdx-js/util@1.6.22":
version "1.6.22"
resolved "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz"
@@ -2612,10 +2865,10 @@
resolved "https://registry.yarnpkg.com/@saucelabs/theme-github-codeblock/-/theme-github-codeblock-0.1.1.tgz#d2caa3fbf56c38ae2fe974871f1188226bb57d92"
integrity sha512-iHzODYjcUAYI4eJzLrNCw/Iq9SWxCKB/cMgEKHjRmNMb2NKch1dsI2ZSCg8lNedIPmOaRfqHT29hLyMoc/5Wpg==
-"@sideway/address@^4.1.0":
- version "4.1.2"
- resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.2.tgz"
- integrity sha512-idTz8ibqWFrPU8kMirL0CoPH/A29XOzzAzpyN3zQ4kAWnzmNfFmRaoMNN6VI8ske5M73HZyhIaW4OuSFIdM4oA==
+"@sideway/address@^4.1.3":
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0"
+ integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==
dependencies:
"@hapi/hoek" "^9.0.0"
@@ -2634,116 +2887,16 @@
resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz"
integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
-"@slorber/static-site-generator-webpack-plugin@^4.0.0":
- version "4.0.1"
- resolved "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.1.tgz"
- integrity sha512-PSv4RIVO1Y3kvHxjvqeVisk3E9XFoO04uwYBDWe217MFqKspplYswTuKLiJu0aLORQWzuQjfVsSlLPojwfYsLw==
+"@slorber/static-site-generator-webpack-plugin@^4.0.1":
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.3.tgz#79c99c35761a06fd5317e720172518b60af37e64"
+ integrity sha512-bKSMNTSFp67QrMZQby0X1QpD8XJC1De5Qh7S/DsEeojWnAOSD+VwEYNC0guhlDBTZxUdvgx0CpMaVwnCHSoWmw==
dependencies:
bluebird "^3.7.1"
cheerio "^0.22.0"
- eval "^0.1.4"
- url "^0.11.0"
+ eval "0.1.6"
webpack-sources "^1.4.3"
-"@styled-system/background@^5.1.2":
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/@styled-system/background/-/background-5.1.2.tgz#75c63d06b497ab372b70186c0bf608d62847a2ba"
- integrity sha512-jtwH2C/U6ssuGSvwTN3ri/IyjdHb8W9X/g8Y0JLcrH02G+BW3OS8kZdHphF1/YyRklnrKrBT2ngwGUK6aqqV3A==
- dependencies:
- "@styled-system/core" "^5.1.2"
-
-"@styled-system/border@^5.1.5":
- version "5.1.5"
- resolved "https://registry.yarnpkg.com/@styled-system/border/-/border-5.1.5.tgz#0493d4332d2b59b74bb0d57d08c73eb555761ba6"
- integrity sha512-JvddhNrnhGigtzWRCVuAHepniyVi6hBlimxWDVAdcTuk7aRn9BYJUwfHslURtwYFsF5FoEs8Zmr1oZq2M1AP0A==
- dependencies:
- "@styled-system/core" "^5.1.2"
-
-"@styled-system/color@^5.1.2":
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/@styled-system/color/-/color-5.1.2.tgz#b8d6b4af481faabe4abca1a60f8daa4ccc2d9f43"
- integrity sha512-1kCkeKDZkt4GYkuFNKc7vJQMcOmTl3bJY3YBUs7fCNM6mMYJeT1pViQ2LwBSBJytj3AB0o4IdLBoepgSgGl5MA==
- dependencies:
- "@styled-system/core" "^5.1.2"
-
-"@styled-system/core@^5.1.2":
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/@styled-system/core/-/core-5.1.2.tgz#b8b7b86455d5a0514f071c4fa8e434b987f6a772"
- integrity sha512-XclBDdNIy7OPOsN4HBsawG2eiWfCcuFt6gxKn1x4QfMIgeO6TOlA2pZZ5GWZtIhCUqEPTgIBta6JXsGyCkLBYw==
- dependencies:
- object-assign "^4.1.1"
-
-"@styled-system/css@^5.1.5":
- version "5.1.5"
- resolved "https://registry.yarnpkg.com/@styled-system/css/-/css-5.1.5.tgz#0460d5f3ff962fa649ea128ef58d9584f403bbbc"
- integrity sha512-XkORZdS5kypzcBotAMPBoeckDs9aSZVkvrAlq5K3xP8IMAUek+x2O4NtwoSgkYkWWzVBu6DGdFZLR790QWGG+A==
-
-"@styled-system/flexbox@^5.1.2":
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/@styled-system/flexbox/-/flexbox-5.1.2.tgz#077090f43f61c3852df63da24e4108087a8beecf"
- integrity sha512-6hHV52+eUk654Y1J2v77B8iLeBNtc+SA3R4necsu2VVinSD7+XY5PCCEzBFaWs42dtOEDIa2lMrgL0YBC01mDQ==
- dependencies:
- "@styled-system/core" "^5.1.2"
-
-"@styled-system/grid@^5.1.2":
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/@styled-system/grid/-/grid-5.1.2.tgz#7165049877732900b99cd00759679fbe45c6c573"
- integrity sha512-K3YiV1KyHHzgdNuNlaw8oW2ktMuGga99o1e/NAfTEi5Zsa7JXxzwEnVSDSBdJC+z6R8WYTCYRQC6bkVFcvdTeg==
- dependencies:
- "@styled-system/core" "^5.1.2"
-
-"@styled-system/layout@^5.1.2":
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/@styled-system/layout/-/layout-5.1.2.tgz#12d73e79887e10062f4dbbbc2067462eace42339"
- integrity sha512-wUhkMBqSeacPFhoE9S6UF3fsMEKFv91gF4AdDWp0Aym1yeMPpqz9l9qS/6vjSsDPF7zOb5cOKC3tcKKOMuDCPw==
- dependencies:
- "@styled-system/core" "^5.1.2"
-
-"@styled-system/position@^5.1.2":
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/@styled-system/position/-/position-5.1.2.tgz#56961266566836f57a24d8e8e33ce0c1adb59dd3"
- integrity sha512-60IZfMXEOOZe3l1mCu6sj/2NAyUmES2kR9Kzp7s2D3P4qKsZWxD1Se1+wJvevb+1TP+ZMkGPEYYXRyU8M1aF5A==
- dependencies:
- "@styled-system/core" "^5.1.2"
-
-"@styled-system/shadow@^5.1.2":
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/@styled-system/shadow/-/shadow-5.1.2.tgz#beddab28d7de03cd0177a87ac4ed3b3b6d9831fd"
- integrity sha512-wqniqYb7XuZM7K7C0d1Euxc4eGtqEe/lvM0WjuAFsQVImiq6KGT7s7is+0bNI8O4Dwg27jyu4Lfqo/oIQXNzAg==
- dependencies:
- "@styled-system/core" "^5.1.2"
-
-"@styled-system/should-forward-prop@^5.1.2":
- version "5.1.5"
- resolved "https://registry.yarnpkg.com/@styled-system/should-forward-prop/-/should-forward-prop-5.1.5.tgz#c392008c6ae14a6eb78bf1932733594f7f7e5c76"
- integrity sha512-+rPRomgCGYnUIaFabDoOgpSDc4UUJ1KsmlnzcEp0tu5lFrBQKgZclSo18Z1URhaZm7a6agGtS5Xif7tuC2s52Q==
- dependencies:
- "@emotion/is-prop-valid" "^0.8.1"
- "@emotion/memoize" "^0.7.1"
- styled-system "^5.1.5"
-
-"@styled-system/space@^5.1.2":
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/@styled-system/space/-/space-5.1.2.tgz#38925d2fa29a41c0eb20e65b7c3efb6e8efce953"
- integrity sha512-+zzYpR8uvfhcAbaPXhH8QgDAV//flxqxSjHiS9cDFQQUSznXMQmxJegbhcdEF7/eNnJgHeIXv1jmny78kipgBA==
- dependencies:
- "@styled-system/core" "^5.1.2"
-
-"@styled-system/typography@^5.1.2":
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/@styled-system/typography/-/typography-5.1.2.tgz#65fb791c67d50cd2900d234583eaacdca8c134f7"
- integrity sha512-BxbVUnN8N7hJ4aaPOd7wEsudeT7CxarR+2hns8XCX1zp0DFfbWw4xYa/olA0oQaqx7F1hzDg+eRaGzAJbF+jOg==
- dependencies:
- "@styled-system/core" "^5.1.2"
-
-"@styled-system/variant@^5.1.5":
- version "5.1.5"
- resolved "https://registry.yarnpkg.com/@styled-system/variant/-/variant-5.1.5.tgz#8446d8aad06af3a4c723d717841df2dbe4ddeafd"
- integrity sha512-Yn8hXAFoWIro8+Q5J8YJd/mP85Teiut3fsGVR9CAxwgNfIAiqlYxsk5iHU7VHJks/0KjL4ATSjmbtCDC/4l1qw==
- dependencies:
- "@styled-system/core" "^5.1.2"
- "@styled-system/css" "^5.1.5"
-
"@superset-ui/style@^0.14.23":
version "0.14.23"
resolved "https://registry.yarnpkg.com/@superset-ui/style/-/style-0.14.23.tgz#f50a2b35ac75e0c08e39347905b25b5f9a4cd5cc"
@@ -2879,6 +3032,15 @@
camelcase "^6.2.0"
cosmiconfig "^7.0.1"
+"@svgr/core@^6.2.1":
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/@svgr/core/-/core-6.2.1.tgz#195de807a9f27f9e0e0d678e01084b05c54fdf61"
+ integrity sha512-NWufjGI2WUyrg46mKuySfviEJ6IxHUOm/8a3Ph38VCWSp+83HBraCQrpEM3F3dB6LBs5x8OElS8h3C0oOJaJAA==
+ dependencies:
+ "@svgr/plugin-jsx" "^6.2.1"
+ camelcase "^6.2.0"
+ cosmiconfig "^7.0.1"
+
"@svgr/hast-util-to-babel-ast@^5.5.0":
version "5.5.0"
resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz"
@@ -2894,6 +3056,14 @@
"@babel/types" "^7.15.6"
entities "^3.0.1"
+"@svgr/hast-util-to-babel-ast@^6.2.1":
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.2.1.tgz#ae065567b74cbe745afae617053adf9a764bea25"
+ integrity sha512-pt7MMkQFDlWJVy9ULJ1h+hZBDGFfSCwlBNW1HkLnVi7jUhyEXUaGYWi1x6bM2IXuAR9l265khBT4Av4lPmaNLQ==
+ dependencies:
+ "@babel/types" "^7.15.6"
+ entities "^3.0.1"
+
"@svgr/plugin-jsx@^5.5.0":
version "5.5.0"
resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz"
@@ -2914,6 +3084,16 @@
"@svgr/hast-util-to-babel-ast" "^6.0.0"
svg-parser "^2.0.2"
+"@svgr/plugin-jsx@^6.2.1":
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-6.2.1.tgz#5668f1d2aa18c2f1bb7a1fc9f682d3f9aed263bd"
+ integrity sha512-u+MpjTsLaKo6r3pHeeSVsh9hmGRag2L7VzApWIaS8imNguqoUwDq/u6U/NDmYs/KAsrmtBjOEaAAPbwNGXXp1g==
+ dependencies:
+ "@babel/core" "^7.15.5"
+ "@svgr/babel-preset" "^6.2.0"
+ "@svgr/hast-util-to-babel-ast" "^6.2.1"
+ svg-parser "^2.0.2"
+
"@svgr/plugin-svgo@^5.5.0":
version "5.5.0"
resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz"
@@ -2960,6 +3140,20 @@
"@svgr/plugin-jsx" "^6.2.0"
"@svgr/plugin-svgo" "^6.2.0"
+"@svgr/webpack@^6.2.1":
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-6.2.1.tgz#ef5d51c1b6be4e7537fb9f76b3f2b2e22b63c58d"
+ integrity sha512-h09ngMNd13hnePwgXa+Y5CgOjzlCvfWLHg+MBnydEedAnuLRzUHUJmGS3o2OsrhxTOOqEsPOFt5v/f6C5Qulcw==
+ dependencies:
+ "@babel/core" "^7.15.5"
+ "@babel/plugin-transform-react-constant-elements" "^7.14.5"
+ "@babel/preset-env" "^7.15.6"
+ "@babel/preset-react" "^7.14.5"
+ "@babel/preset-typescript" "^7.15.0"
+ "@svgr/core" "^6.2.1"
+ "@svgr/plugin-jsx" "^6.2.1"
+ "@svgr/plugin-svgo" "^6.2.0"
+
"@szmarczak/http-timer@^1.1.2":
version "1.1.2"
resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz"
@@ -2967,61 +3161,6 @@
dependencies:
defer-to-connect "^1.0.1"
-"@theme-ui/color-modes@0.3.5":
- version "0.3.5"
- resolved "https://registry.yarnpkg.com/@theme-ui/color-modes/-/color-modes-0.3.5.tgz#e280d1ff8be9f648c161b899e5049cb45a73cb90"
- integrity sha512-3n5ExAnp1gAuVVFdGF2rRLyrVsa7qtmUXx+gj1wPJsADq23EE4ctkppC+aIfPFxT196WhR8fjErrVuO7Rh+wAg==
- dependencies:
- "@emotion/core" "^10.0.0"
- "@theme-ui/core" "0.3.5"
- "@theme-ui/css" "0.3.5"
- deepmerge "^4.2.2"
-
-"@theme-ui/components@0.3.5":
- version "0.3.5"
- resolved "https://registry.yarnpkg.com/@theme-ui/components/-/components-0.3.5.tgz#cd0b5a1292f88b3df2c5b6b299b0a6cdc6da52e5"
- integrity sha512-RdWwnN43H1Tq80lGCu6icNuYCWoHHNtwH+LJGaGfiPkv/uMXWrwzKPLMiAuYM5b3ofKtmdaAcxZLjqAld97jkw==
- dependencies:
- "@emotion/core" "^10.0.0"
- "@emotion/styled" "^10.0.0"
- "@styled-system/color" "^5.1.2"
- "@styled-system/should-forward-prop" "^5.1.2"
- "@styled-system/space" "^5.1.2"
- "@theme-ui/css" "0.3.5"
-
-"@theme-ui/core@0.3.5":
- version "0.3.5"
- resolved "https://registry.yarnpkg.com/@theme-ui/core/-/core-0.3.5.tgz#096ded31193bfe83c50d09eca0fb086cab2ac7e1"
- integrity sha512-80gbG4BW0ZQgZ8TWSG7vY72uXDxmkI/GttjpJee7AJlWVrPh7RCD2E3cuFPjqXzt7o4BJ9lZSHmTXcLzixNtRw==
- dependencies:
- "@emotion/core" "^10.0.0"
- "@theme-ui/css" "0.3.5"
- deepmerge "^4.2.2"
-
-"@theme-ui/css@0.3.5":
- version "0.3.5"
- resolved "https://registry.yarnpkg.com/@theme-ui/css/-/css-0.3.5.tgz#cfd228c74bcc7840a7fe9e507858486ee4d403dc"
- integrity sha512-XqsyXmifbnHOui1flSq4V7Lb3U+06Dbn2Q/leyr/cRd6Xgc0naiztdmD0MbXNvxgU51a2Ur9hyP4PnO5wE0yRg==
-
-"@theme-ui/mdx@0.3.5":
- version "0.3.5"
- resolved "https://registry.yarnpkg.com/@theme-ui/mdx/-/mdx-0.3.5.tgz#60d26102dcc8b2095269de461dcf8f51fa18cf4c"
- integrity sha512-KMf5kkEcItQ3qIj7dston/kBOZc82ST2R0pUcyk/u8ZclX4ingRtZkMxm2zpmxybzdSUY3DIKf2MTK9CxUSpOQ==
- dependencies:
- "@emotion/core" "^10.0.0"
- "@emotion/styled" "^10.0.0"
- "@mdx-js/react" "^1.0.0"
-
-"@theme-ui/theme-provider@0.3.5":
- version "0.3.5"
- resolved "https://registry.yarnpkg.com/@theme-ui/theme-provider/-/theme-provider-0.3.5.tgz#98ad67d8e2e38a6347ea604878202f49fea38088"
- integrity sha512-C1kVsGyrh/pqO/j4+KSF5IvVW1DOnZoQmpaJ9EjyU4bqY0PCTZfuNdNPfydKaDWiYxrKGXKBeX0xjvLLU6R0zQ==
- dependencies:
- "@emotion/core" "^10.0.0"
- "@theme-ui/color-modes" "0.3.5"
- "@theme-ui/core" "0.3.5"
- "@theme-ui/mdx" "0.3.5"
-
"@trysound/sax@0.2.0":
version "0.2.0"
resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz"
@@ -3070,6 +3209,14 @@
"@types/eslint" "*"
"@types/estree" "*"
+"@types/eslint-scope@^3.7.3":
+ version "3.7.3"
+ resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224"
+ integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==
+ dependencies:
+ "@types/eslint" "*"
+ "@types/estree" "*"
+
"@types/eslint@*":
version "7.28.2"
resolved "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.2.tgz"
@@ -3083,6 +3230,11 @@
resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz"
integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==
+"@types/estree@^0.0.51":
+ version "0.0.51"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40"
+ integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==
+
"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18":
version "4.17.28"
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8"
@@ -3156,10 +3308,10 @@
resolved "https://registry.npmjs.org/@types/node/-/node-16.11.7.tgz"
integrity sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==
-"@types/node@^15.0.1":
- version "15.14.9"
- resolved "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz"
- integrity sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==
+"@types/node@^17.0.5":
+ version "17.0.23"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.23.tgz#3b41a6e643589ac6442bdbd7a4a3ded62f33f7da"
+ integrity sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==
"@types/parse-json@^4.0.0":
version "4.0.0"
@@ -3191,13 +3343,6 @@
resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
-"@types/react-helmet@*":
- version "6.1.4"
- resolved "https://registry.npmjs.org/@types/react-helmet/-/react-helmet-6.1.4.tgz"
- integrity sha512-jyx50RNZXVaTGHY3MsoRPNpeiVk8b0XTPgD/O6KHF6COTDnG/+lRjPYvTK5nfWtR3xDOux0w6bHLAsaHo2ZLTA==
- dependencies:
- "@types/react" "*"
-
"@types/react-redux@^7.1.20":
version "7.1.20"
resolved "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.20.tgz"
@@ -3243,6 +3388,15 @@
"@types/scheduler" "*"
csstype "^3.0.2"
+"@types/react@^17.0.42":
+ version "17.0.42"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.42.tgz#8242b9219bf8a911c47f248e327206fea3f4ee5a"
+ integrity sha512-nuab3x3CpJ7VFeNA+3HTUuEkvClYHXqWtWd7Ud6AZYW7Z3NH9WKtgU+tFB0ZLcHq+niB/HnzLcaZPqMJ95+k5Q==
+ dependencies:
+ "@types/prop-types" "*"
+ "@types/scheduler" "*"
+ csstype "^3.0.2"
+
"@types/retry@^0.12.0":
version "0.12.1"
resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz"
@@ -3433,36 +3587,26 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7:
mime-types "~2.1.24"
negotiator "0.6.2"
-acorn-dynamic-import@^4.0.0:
- version "4.0.0"
- resolved "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz"
- integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==
-
acorn-import-assertions@^1.7.6:
version "1.8.0"
resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz"
integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==
-acorn-jsx@^5.0.1:
- version "5.3.2"
- resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
- integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
-
acorn-walk@^8.0.0:
version "8.2.0"
resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz"
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
-acorn@^6.1.1:
- version "6.4.2"
- resolved "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz"
- integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
-
acorn@^8.0.4, acorn@^8.4.1:
version "8.5.0"
resolved "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz"
integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==
+acorn@^8.5.0:
+ version "8.7.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf"
+ integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
+
address@^1.0.1, address@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/address/-/address-1.1.2.tgz"
@@ -3515,14 +3659,14 @@ ajv@^8.0.0, ajv@^8.8.0:
require-from-string "^2.0.2"
uri-js "^4.2.2"
-algoliasearch-helper@^3.5.5:
- version "3.6.2"
- resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.6.2.tgz"
- integrity sha512-Xx0NOA6k4ySn+R2l3UMSONAaMkyfmrZ3AP1geEMo32MxDJQJesZABZYsldO9fa6FKQxH91afhi4hO1G0Zc2opg==
+algoliasearch-helper@^3.7.0:
+ version "3.7.4"
+ resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.7.4.tgz#3812ea161da52463ec88da52612c9a363c1b181d"
+ integrity sha512-KmJrsHVm5TmxZ9Oj53XdXuM4CQeu7eVFnB15tpSFt+7is1d1yVCv3hxCLMqYSw/rH42ccv013miQpRr268P8vw==
dependencies:
- events "^1.1.1"
+ "@algolia/events" "^4.0.1"
-algoliasearch@^4.0.0, algoliasearch@^4.10.5:
+algoliasearch@^4.0.0:
version "4.11.0"
resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.11.0.tgz"
integrity sha512-IXRj8kAP2WrMmj+eoPqPc6P7Ncq1yZkFiyDrjTBObV1ADNL8Z/KdZ+dWC5MmYcBLAbcB/mMCpak5N/D1UIZvsA==
@@ -3542,12 +3686,32 @@ algoliasearch@^4.0.0, algoliasearch@^4.10.5:
"@algolia/requester-node-http" "4.11.0"
"@algolia/transporter" "4.11.0"
+algoliasearch@^4.12.1:
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.13.0.tgz#e36611fda82b1fc548c156ae7929a7f486e4b663"
+ integrity sha512-oHv4faI1Vl2s+YC0YquwkK/TsaJs79g2JFg5FDm2rKN12VItPTAeQ7hyJMHarOPPYuCnNC5kixbtcqvb21wchw==
+ dependencies:
+ "@algolia/cache-browser-local-storage" "4.13.0"
+ "@algolia/cache-common" "4.13.0"
+ "@algolia/cache-in-memory" "4.13.0"
+ "@algolia/client-account" "4.13.0"
+ "@algolia/client-analytics" "4.13.0"
+ "@algolia/client-common" "4.13.0"
+ "@algolia/client-personalization" "4.13.0"
+ "@algolia/client-search" "4.13.0"
+ "@algolia/logger-common" "4.13.0"
+ "@algolia/logger-console" "4.13.0"
+ "@algolia/requester-browser-xhr" "4.13.0"
+ "@algolia/requester-common" "4.13.0"
+ "@algolia/requester-node-http" "4.13.0"
+ "@algolia/transporter" "4.13.0"
+
alphanum-sort@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz"
integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
-ansi-align@^3.0.0:
+ansi-align@^3.0.0, ansi-align@^3.0.1:
version "3.0.1"
resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz"
integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==
@@ -3583,10 +3747,15 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
dependencies:
color-convert "^2.0.1"
-antd@^4.8.0:
- version "4.18.5"
- resolved "https://registry.yarnpkg.com/antd/-/antd-4.18.5.tgz#e5ffbe238fd6fdfcd1ed39ba96e4b1bd5f589757"
- integrity sha512-5fN3C2lWAzonhOYYlNpzIw2OHl7vxFZ+4cJ7DK/XZrV+75OY61Y+OkanqMJwrFtDDamIez35OM7cAezGko9tew==
+ansi-styles@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3"
+ integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==
+
+antd@^4.19.3:
+ version "4.19.3"
+ resolved "https://registry.yarnpkg.com/antd/-/antd-4.19.3.tgz#2b6bb938bda9850c797db59c8923f3c8a14a6693"
+ integrity sha512-q4oT2lIM0Fb60MfcdtjH6LFQcmo5MuM27PN3nJMsRG1FeiQ9n+OPFlkQSdtb0ZWFIFjTH3p0W02T6SbB2U7ChQ==
dependencies:
"@ant-design/colors" "^6.0.0"
"@ant-design/icons" "^4.7.0"
@@ -3603,24 +3772,25 @@ antd@^4.8.0:
rc-collapse "~3.1.0"
rc-dialog "~8.6.0"
rc-drawer "~4.4.2"
- rc-dropdown "~3.2.0"
- rc-field-form "~1.22.0-2"
+ rc-dropdown "~3.3.2"
+ rc-field-form "~1.24.0"
rc-image "~5.2.5"
+ rc-input "~0.0.1-alpha.5"
rc-input-number "~7.3.0"
rc-mentions "~1.6.1"
- rc-menu "~9.2.1"
+ rc-menu "~9.3.2"
rc-motion "^2.4.4"
rc-notification "~4.5.7"
rc-pagination "~3.1.9"
- rc-picker "~2.5.17"
+ rc-picker "~2.6.4"
rc-progress "~3.2.1"
rc-rate "~2.9.0"
rc-resize-observer "^1.2.0"
- rc-select "~14.0.0-alpha.15"
- rc-slider "~9.7.4"
+ rc-select "~14.0.2"
+ rc-slider "~10.0.0-alpha.4"
rc-steps "~4.1.0"
rc-switch "~3.2.0"
- rc-table "~7.22.2"
+ rc-table "~7.23.0"
rc-tabs "~11.10.0"
rc-textarea "~0.3.0"
rc-tooltip "~5.1.1"
@@ -3628,7 +3798,7 @@ antd@^4.8.0:
rc-tree-select "~5.1.1"
rc-trigger "^5.2.10"
rc-upload "~4.3.0"
- rc-util "^5.14.0"
+ rc-util "^5.19.3"
scroll-into-view-if-needed "^2.2.25"
anymatch@~3.1.2:
@@ -3710,7 +3880,7 @@ autolinker@^3.11.0:
dependencies:
tslib "^1.9.3"
-autoprefixer@^10.3.5, autoprefixer@^10.3.7:
+autoprefixer@^10.3.7:
version "10.4.0"
resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.0.tgz"
integrity sha512-7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA==
@@ -3722,20 +3892,32 @@ autoprefixer@^10.3.5, autoprefixer@^10.3.7:
picocolors "^1.0.0"
postcss-value-parser "^4.1.0"
-axios@^0.21.1:
- version "0.21.4"
- resolved "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz"
- integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
+autoprefixer@^10.4.2:
+ version "10.4.4"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.4.tgz#3e85a245b32da876a893d3ac2ea19f01e7ea5a1e"
+ integrity sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==
dependencies:
- follow-redirects "^1.14.0"
+ browserslist "^4.20.2"
+ caniuse-lite "^1.0.30001317"
+ fraction.js "^4.2.0"
+ normalize-range "^0.1.2"
+ picocolors "^1.0.0"
+ postcss-value-parser "^4.2.0"
-babel-loader@^8.2.2:
- version "8.2.3"
- resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz"
- integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==
+axios@^0.25.0:
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz#349cfbb31331a9b4453190791760a8d35b093e0a"
+ integrity sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==
+ dependencies:
+ follow-redirects "^1.14.7"
+
+babel-loader@^8.2.3:
+ version "8.2.4"
+ resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.4.tgz#95f5023c791b2e9e2ca6f67b0984f39c82ff384b"
+ integrity sha512-8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A==
dependencies:
find-cache-dir "^3.3.1"
- loader-utils "^1.4.0"
+ loader-utils "^2.0.0"
make-dir "^3.1.0"
schema-utils "^2.6.5"
@@ -3919,7 +4101,7 @@ boolbase@^1.0.0, boolbase@~1.0.0:
resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
-boxen@^5.0.0, boxen@^5.0.1:
+boxen@^5.0.0:
version "5.1.2"
resolved "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz"
integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==
@@ -3933,6 +4115,20 @@ boxen@^5.0.0, boxen@^5.0.1:
widest-line "^3.1.0"
wrap-ansi "^7.0.0"
+boxen@^6.2.1:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/boxen/-/boxen-6.2.1.tgz#b098a2278b2cd2845deef2dff2efc38d329b434d"
+ integrity sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==
+ dependencies:
+ ansi-align "^3.0.1"
+ camelcase "^6.2.0"
+ chalk "^4.1.2"
+ cli-boxes "^3.0.0"
+ string-width "^5.0.1"
+ type-fest "^2.5.0"
+ widest-line "^4.0.1"
+ wrap-ansi "^8.0.1"
+
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -3981,24 +4177,22 @@ browserslist@^4.19.1:
node-releases "^2.0.1"
picocolors "^1.0.0"
+browserslist@^4.20.2:
+ version "4.20.2"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88"
+ integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==
+ dependencies:
+ caniuse-lite "^1.0.30001317"
+ electron-to-chromium "^1.4.84"
+ escalade "^3.1.1"
+ node-releases "^2.0.2"
+ picocolors "^1.0.0"
+
btoa@^1.2.1:
version "1.2.1"
resolved "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz"
integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==
-buble-jsx-only@^0.19.8:
- version "0.19.8"
- resolved "https://registry.npmjs.org/buble-jsx-only/-/buble-jsx-only-0.19.8.tgz"
- integrity sha512-7AW19pf7PrKFnGTEDzs6u9+JZqQwM1VnLS19OlqYDhXomtFFknnoQJAPHeg84RMFWAvOhYrG7harizJNwUKJsA==
- dependencies:
- acorn "^6.1.1"
- acorn-dynamic-import "^4.0.0"
- acorn-jsx "^5.0.1"
- chalk "^2.4.2"
- magic-string "^0.25.3"
- minimist "^1.2.0"
- regexpu-core "^4.5.4"
-
buffer-from@^1.0.0:
version "1.1.2"
resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz"
@@ -4096,12 +4290,17 @@ caniuse-lite@^1.0.30001312:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f"
integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==
+caniuse-lite@^1.0.30001317:
+ version "1.0.30001320"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz#8397391bec389b8ccce328636499b7284ee13285"
+ integrity sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==
+
ccount@^1.0.0, ccount@^1.0.3:
version "1.1.0"
resolved "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz"
integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==
-chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
+chalk@^2.0.0, chalk@^2.4.1:
version "2.4.2"
resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -4179,7 +4378,7 @@ cheerio@^1.0.0-rc.10:
parse5-htmlparser2-tree-adapter "^6.0.1"
tslib "^2.2.0"
-chokidar@^3.4.2, chokidar@^3.5.2:
+chokidar@^3.4.2:
version "3.5.2"
resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz"
integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
@@ -4231,6 +4430,13 @@ clean-css@^5.1.5:
dependencies:
source-map "~0.6.0"
+clean-css@^5.2.2, clean-css@^5.2.4:
+ version "5.2.4"
+ resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.2.4.tgz#982b058f8581adb2ae062520808fb2429bd487a4"
+ integrity sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==
+ dependencies:
+ source-map "~0.6.0"
+
clean-stack@^2.0.0:
version "2.2.0"
resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz"
@@ -4241,6 +4447,20 @@ cli-boxes@^2.2.1:
resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz"
integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
+cli-boxes@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145"
+ integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==
+
+cli-table3@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.1.tgz#36ce9b7af4847f288d3cdd081fbd09bf7bd237b8"
+ integrity sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==
+ dependencies:
+ string-width "^4.2.0"
+ optionalDependencies:
+ colors "1.4.0"
+
clone-deep@^4.0.1:
version "4.0.1"
resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz"
@@ -4310,6 +4530,11 @@ colorette@^2.0.10:
resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz"
integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==
+colors@1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
+ integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
+
combine-promises@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/combine-promises/-/combine-promises-1.1.0.tgz"
@@ -4335,7 +4560,7 @@ commander@^7.2.0:
resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz"
integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
-commander@^8.1.0:
+commander@^8.1.0, commander@^8.3.0:
version "8.3.0"
resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz"
integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
@@ -4448,7 +4673,7 @@ copy-to-clipboard@^3, copy-to-clipboard@^3.2.0:
dependencies:
toggle-selection "^1.0.6"
-copy-webpack-plugin@^10.2.0:
+copy-webpack-plugin@^10.2.4:
version "10.2.4"
resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz#6c854be3fdaae22025da34b9112ccf81c63308fe"
integrity sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==
@@ -4481,10 +4706,15 @@ core-js-pure@^3.19.0:
resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.19.1.tgz"
integrity sha512-Q0Knr8Es84vtv62ei6/6jXH/7izKmOrtrxH9WJTHLCMAVeU+8TF8z8Nr08CsH4Ot0oJKzBzJJL9SJBYIv7WlfQ==
-core-js@^3.18.0:
- version "3.19.1"
- resolved "https://registry.npmjs.org/core-js/-/core-js-3.19.1.tgz"
- integrity sha512-Tnc7E9iKd/b/ff7GFbhwPVzJzPztGrChB8X8GLqoYGdEOG8IpLnK1xPyo3ZoO3HsK6TodJS58VGPOxA+hLHQMg==
+core-js-pure@^3.20.2:
+ version "3.21.1"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.21.1.tgz#8c4d1e78839f5f46208de7230cebfb72bc3bdb51"
+ integrity sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==
+
+core-js@^3.21.1:
+ version "3.21.1"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.1.tgz#f2e0ddc1fc43da6f904706e8e955bc19d06a0d94"
+ integrity sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig==
core-util-is@~1.0.0:
version "1.0.3"
@@ -4546,13 +4776,13 @@ css-declaration-sorter@^6.0.3:
dependencies:
timsort "^0.3.0"
-css-loader@^6.5.1:
- version "6.6.0"
- resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.6.0.tgz#c792ad5510bd1712618b49381bd0310574fafbd3"
- integrity sha512-FK7H2lisOixPT406s5gZM1S3l8GrfhEBT3ZiL2UX1Ng1XWs0y2GPllz/OTyvbaHe12VgQrIXIzuEGVlbUhodqg==
+css-loader@^6.6.0:
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.1.tgz#e98106f154f6e1baf3fc3bc455cb9981c1d5fd2e"
+ integrity sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==
dependencies:
icss-utils "^5.1.0"
- postcss "^8.4.5"
+ postcss "^8.4.7"
postcss-modules-extract-imports "^3.0.0"
postcss-modules-local-by-default "^4.0.0"
postcss-modules-scope "^3.0.0"
@@ -4560,7 +4790,7 @@ css-loader@^6.5.1:
postcss-value-parser "^4.2.0"
semver "^7.3.5"
-css-minimizer-webpack-plugin@^3.3.1:
+css-minimizer-webpack-plugin@^3.4.1:
version "3.4.1"
resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f"
integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==
@@ -4649,17 +4879,17 @@ cssesc@^3.0.0:
resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz"
integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
-cssnano-preset-advanced@^5.1.4:
- version "5.1.6"
- resolved "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.1.6.tgz"
- integrity sha512-rkuQ16aS/0zNaTNbJIw/IOhwboqWfBfsmUnchP1qR54ml5lP2qSu8s3Ux7khNBHAi08FTMQq1819/RpDgawXNQ==
+cssnano-preset-advanced@^5.1.12:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.1.tgz#f4fa7006aab67e354289b3efd512c93a272b3874"
+ integrity sha512-kfCknalY5VX/JKJ3Iri5/5rhZmQIqkbqgXsA6oaTnfA4flY/tt+w0hMxbExr0/fVuJL8w56j211op+pkQoNzoQ==
dependencies:
autoprefixer "^10.3.7"
- cssnano-preset-default "^5.1.6"
- postcss-discard-unused "^5.0.1"
- postcss-merge-idents "^5.0.1"
- postcss-reduce-idents "^5.0.1"
- postcss-zindex "^5.0.1"
+ cssnano-preset-default "^5.2.5"
+ postcss-discard-unused "^5.1.0"
+ postcss-merge-idents "^5.1.1"
+ postcss-reduce-idents "^5.2.0"
+ postcss-zindex "^5.1.0"
cssnano-preset-default@^5.1.6:
version "5.1.6"
@@ -4696,12 +4926,61 @@ cssnano-preset-default@^5.1.6:
postcss-svgo "^5.0.3"
postcss-unique-selectors "^5.0.1"
+cssnano-preset-default@^5.2.5:
+ version "5.2.5"
+ resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.5.tgz#267ded811a3e1664d78707f5355fcd89feeb38ac"
+ integrity sha512-WopL7PzN7sos3X8B54/QGl+CZUh1f0qN4ds+y2d5EPwRSSc3jsitVw81O+Uyop0pXyOfPfZxnc+LmA8w/Ki/WQ==
+ dependencies:
+ css-declaration-sorter "^6.0.3"
+ cssnano-utils "^3.1.0"
+ postcss-calc "^8.2.3"
+ postcss-colormin "^5.3.0"
+ postcss-convert-values "^5.1.0"
+ postcss-discard-comments "^5.1.1"
+ postcss-discard-duplicates "^5.1.0"
+ postcss-discard-empty "^5.1.1"
+ postcss-discard-overridden "^5.1.0"
+ postcss-merge-longhand "^5.1.3"
+ postcss-merge-rules "^5.1.1"
+ postcss-minify-font-values "^5.1.0"
+ postcss-minify-gradients "^5.1.1"
+ postcss-minify-params "^5.1.2"
+ postcss-minify-selectors "^5.2.0"
+ postcss-normalize-charset "^5.1.0"
+ postcss-normalize-display-values "^5.1.0"
+ postcss-normalize-positions "^5.1.0"
+ postcss-normalize-repeat-style "^5.1.0"
+ postcss-normalize-string "^5.1.0"
+ postcss-normalize-timing-functions "^5.1.0"
+ postcss-normalize-unicode "^5.1.0"
+ postcss-normalize-url "^5.1.0"
+ postcss-normalize-whitespace "^5.1.1"
+ postcss-ordered-values "^5.1.1"
+ postcss-reduce-initial "^5.1.0"
+ postcss-reduce-transforms "^5.1.0"
+ postcss-svgo "^5.1.0"
+ postcss-unique-selectors "^5.1.1"
+
cssnano-utils@^2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz"
integrity sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==
-cssnano@^5.0.6, cssnano@^5.0.8:
+cssnano-utils@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861"
+ integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==
+
+cssnano@^5.0.17:
+ version "5.1.5"
+ resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.5.tgz#5f3f519538c7f1c182c527096892243db3e17397"
+ integrity sha512-VZO1e+bRRVixMeia1zKagrv0lLN1B/r/u12STGNNUFxnp97LIFgZHQa0JxqlwEkvzUyA9Oz/WnCTAFkdEbONmg==
+ dependencies:
+ cssnano-preset-default "^5.2.5"
+ lilconfig "^2.0.3"
+ yaml "^1.10.2"
+
+cssnano@^5.0.6:
version "5.0.10"
resolved "https://registry.npmjs.org/cssnano/-/cssnano-5.0.10.tgz"
integrity sha512-YfNhVJJ04imffOpbPbXP2zjIoByf0m8E2c/s/HnvSvjXgzXMfgopVjAEGvxYOjkOpWuRQDg/OZFjO7WW94Ri8w==
@@ -5015,6 +5294,11 @@ duplexer@^0.1.2:
resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz"
integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
+eastasianwidth@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
+ integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
+
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
@@ -5035,6 +5319,11 @@ electron-to-chromium@^1.4.71:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz#17056914465da0890ce00351a3b946fd4cd51ff6"
integrity sha512-Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw==
+electron-to-chromium@^1.4.84:
+ version "1.4.92"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.92.tgz#88996e9aceb3a500710fd439abfa89b6cc1ac56c"
+ integrity sha512-YAVbvQIcDE/IJ/vzDMjD484/hsRbFPW2qXJPaYTfOhtligmfYEYOep+5QojpaEU9kq6bMvNeC2aG7arYvTHYsA==
+
emitter-component@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/emitter-component/-/emitter-component-1.1.1.tgz#065e2dbed6959bf470679edabeaf7981d1003ab6"
@@ -5045,6 +5334,11 @@ emoji-regex@^8.0.0:
resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+emoji-regex@^9.2.2:
+ version "9.2.2"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
+ integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
+
emojis-list@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz"
@@ -5084,6 +5378,14 @@ enhanced-resolve@^5.8.3:
graceful-fs "^4.2.4"
tapable "^2.2.0"
+enhanced-resolve@^5.9.2:
+ version "5.9.2"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz#0224dcd6a43389ebfb2d55efee517e5466772dd9"
+ integrity sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==
+ dependencies:
+ graceful-fs "^4.2.4"
+ tapable "^2.2.0"
+
entities@^1.1.1, entities@~1.1.1:
version "1.1.2"
resolved "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz"
@@ -5252,9 +5554,9 @@ etag@~1.8.1:
resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
-eval@^0.1.4:
+eval@0.1.6:
version "0.1.6"
- resolved "https://registry.npmjs.org/eval/-/eval-0.1.6.tgz"
+ resolved "https://registry.yarnpkg.com/eval/-/eval-0.1.6.tgz#9620d7d8c85515e97e6b47c5814f46ae381cb3cc"
integrity sha512-o0XUw+5OGkXw4pJZzQoXUk+H87DHuC+7ZE//oSrRGtatTmr12oTnLfg6QOq9DyTt0c/p4TwzgmkKrBzWTSizyQ==
dependencies:
require-like ">= 0.1.1"
@@ -5272,11 +5574,6 @@ eventemitter3@^4.0.0:
resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz"
integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
-events@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/events/-/events-1.1.1.tgz"
- integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=
-
events@^3.2.0:
version "3.3.0"
resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz"
@@ -5527,11 +5824,16 @@ flux@^4.0.1:
fbemitter "^3.0.0"
fbjs "^3.0.0"
-follow-redirects@^1.0.0, follow-redirects@^1.14.0:
+follow-redirects@^1.0.0:
version "1.14.8"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc"
integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==
+follow-redirects@^1.14.7:
+ version "1.14.9"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7"
+ integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==
+
fork-ts-checker-webpack-plugin@^6.5.0:
version "6.5.0"
resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.0.tgz#0282b335fa495a97e167f69018f566ea7d2a2b5e"
@@ -5579,15 +5881,20 @@ fraction.js@^4.1.1:
resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz"
integrity sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==
+fraction.js@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950"
+ integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
+
fresh@0.5.2:
version "0.5.2"
resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
-fs-extra@^10.0.0:
- version "10.0.0"
- resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz"
- integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==
+fs-extra@^10.0.1:
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.1.tgz#27de43b4320e833f6867cc044bfce29fdf0ef3b8"
+ integrity sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==
dependencies:
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
@@ -5738,7 +6045,7 @@ globals@^11.1.0:
resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-globby@^11.0.1, globby@^11.0.2, globby@^11.0.4:
+globby@^11.0.1, globby@^11.0.4:
version "11.0.4"
resolved "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz"
integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==
@@ -5784,6 +6091,11 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4,
resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz"
integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==
+graceful-fs@^4.2.9:
+ version "4.2.9"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
+ integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
+
gray-matter@^4.0.3:
version "4.0.3"
resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz"
@@ -5991,6 +6303,19 @@ html-minifier-terser@^6.0.2:
relateurl "^0.2.7"
terser "^5.7.2"
+html-minifier-terser@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab"
+ integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==
+ dependencies:
+ camel-case "^4.1.2"
+ clean-css "^5.2.2"
+ commander "^8.3.0"
+ he "^1.2.0"
+ param-case "^3.0.4"
+ relateurl "^0.2.7"
+ terser "^5.10.0"
+
html-tags@^3.1.0:
version "3.1.0"
resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz"
@@ -6001,9 +6326,9 @@ html-void-elements@^1.0.0:
resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz"
integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==
-html-webpack-plugin@^5.4.0:
+html-webpack-plugin@^5.5.0:
version "5.5.0"
- resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz"
+ resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz#c3911936f57681c1f9f4d8b68c158cd9dfe52f50"
integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==
dependencies:
"@types/html-minifier-terser" "^6.0.0"
@@ -6150,7 +6475,7 @@ immutable@^3.x.x:
resolved "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz"
integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=
-import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.2.2, import-fresh@^3.3.0:
+import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0:
version "3.3.0"
resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz"
integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
@@ -6225,7 +6550,7 @@ interpret@^1.0.0:
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
-invariant@^2.2.2:
+invariant@^2.2.2, invariant@^2.2.4:
version "2.2.4"
resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz"
integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
@@ -6575,14 +6900,23 @@ jest-worker@^27.0.2, jest-worker@^27.0.6:
merge-stream "^2.0.0"
supports-color "^8.0.0"
-joi@^17.4.0, joi@^17.4.2:
- version "17.4.2"
- resolved "https://registry.npmjs.org/joi/-/joi-17.4.2.tgz"
- integrity sha512-Lm56PP+n0+Z2A2rfRvsfWVDXGEWjXxatPopkQ8qQ5mxCEhwHG+Ettgg5o98FFaxilOxozoa14cFhrE/hOzh/Nw==
+jest-worker@^27.4.5:
+ version "27.5.1"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0"
+ integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
+ dependencies:
+ "@types/node" "*"
+ merge-stream "^2.0.0"
+ supports-color "^8.0.0"
+
+joi@^17.6.0:
+ version "17.6.0"
+ resolved "https://registry.yarnpkg.com/joi/-/joi-17.6.0.tgz#0bb54f2f006c09a96e75ce687957bd04290054b2"
+ integrity sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==
dependencies:
"@hapi/hoek" "^9.0.0"
"@hapi/topo" "^5.0.0"
- "@sideway/address" "^4.1.0"
+ "@sideway/address" "^4.1.3"
"@sideway/formula" "^3.0.0"
"@sideway/pinpoint" "^2.0.0"
@@ -6596,7 +6930,7 @@ js-file-download@^0.4.12:
resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-js-yaml@=4.1.0, js-yaml@^4.0.0, js-yaml@^4.1.0:
+js-yaml@=4.1.0, js-yaml@^4.1.0:
version "4.1.0"
resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz"
integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
@@ -6653,13 +6987,6 @@ json2mq@^0.2.0:
dependencies:
string-convert "^0.2.0"
-json5@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz"
- integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
- dependencies:
- minimist "^1.2.0"
-
json5@^2.1.2:
version "2.2.0"
resolved "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz"
@@ -6693,9 +7020,9 @@ kleur@^3.0.3:
resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz"
integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
-klona@^2.0.4:
+klona@^2.0.5:
version "2.0.5"
- resolved "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz"
+ resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc"
integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==
latest-version@^5.1.0:
@@ -6725,15 +7052,6 @@ loader-runner@^4.2.0:
resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz"
integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==
-loader-utils@^1.4.0:
- version "1.4.0"
- resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz"
- integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
- dependencies:
- big.js "^5.2.2"
- emojis-list "^3.0.0"
- json5 "^1.0.1"
-
loader-utils@^2.0.0:
version "2.0.2"
resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz"
@@ -6906,13 +7224,6 @@ lru-queue@^0.1.0:
dependencies:
es5-ext "~0.10.2"
-magic-string@^0.25.3:
- version "0.25.7"
- resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz"
- integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
- dependencies:
- sourcemap-codec "^1.4.4"
-
make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0:
version "3.1.0"
resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz"
@@ -7091,14 +7402,12 @@ mini-create-react-context@^0.4.0:
"@babel/runtime" "^7.12.1"
tiny-warning "^1.0.3"
-mini-css-extract-plugin@^1.6.0:
- version "1.6.2"
- resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz"
- integrity sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==
+mini-css-extract-plugin@^2.5.3:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz#578aebc7fc14d32c0ad304c2c34f08af44673f5e"
+ integrity sha512-ndG8nxCEnAemsg4FSgS+yNyHKgkTB4nPKqCOgh65j3/30qqC5RaSQQXMm++Y6sb6E1zRSxPkztj9fqxhS1Eo6w==
dependencies:
- loader-utils "^2.0.0"
- schema-utils "^3.0.0"
- webpack-sources "^1.1.0"
+ schema-utils "^4.0.0"
minimalistic-assert@^1.0.0:
version "1.0.1"
@@ -7169,7 +7478,7 @@ multicast-dns@^6.0.1:
dns-packet "^1.3.1"
thunky "^1.0.2"
-nanoid@^3.1.30, nanoid@^3.2.0:
+nanoid@^3.1.30, nanoid@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35"
integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==
@@ -7611,6 +7920,14 @@ postcss-calc@^8.0.0:
postcss-selector-parser "^6.0.2"
postcss-value-parser "^4.0.2"
+postcss-calc@^8.2.3:
+ version "8.2.4"
+ resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5"
+ integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==
+ dependencies:
+ postcss-selector-parser "^6.0.9"
+ postcss-value-parser "^4.2.0"
+
postcss-colormin@^5.2.1:
version "5.2.1"
resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.1.tgz"
@@ -7621,6 +7938,16 @@ postcss-colormin@^5.2.1:
colord "^2.9.1"
postcss-value-parser "^4.1.0"
+postcss-colormin@^5.3.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz#3cee9e5ca62b2c27e84fce63affc0cfb5901956a"
+ integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==
+ dependencies:
+ browserslist "^4.16.6"
+ caniuse-api "^3.0.0"
+ colord "^2.9.1"
+ postcss-value-parser "^4.2.0"
+
postcss-convert-values@^5.0.2:
version "5.0.2"
resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz"
@@ -7628,49 +7955,76 @@ postcss-convert-values@^5.0.2:
dependencies:
postcss-value-parser "^4.1.0"
+postcss-convert-values@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz#f8d3abe40b4ce4b1470702a0706343eac17e7c10"
+ integrity sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
postcss-discard-comments@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz"
integrity sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==
+postcss-discard-comments@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz#e90019e1a0e5b99de05f63516ce640bd0df3d369"
+ integrity sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==
+
postcss-discard-duplicates@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz"
integrity sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==
+postcss-discard-duplicates@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848"
+ integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==
+
postcss-discard-empty@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz"
integrity sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==
+postcss-discard-empty@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c"
+ integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==
+
postcss-discard-overridden@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz"
integrity sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==
-postcss-discard-unused@^5.0.1:
- version "5.0.1"
- resolved "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.0.1.tgz"
- integrity sha512-tD6xR/xyZTwfhKYRw0ylfCY8wbfhrjpKAMnDKRTLMy2fNW5hl0hoV6ap5vo2JdCkuHkP3CHw72beO4Y8pzFdww==
+postcss-discard-overridden@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e"
+ integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==
+
+postcss-discard-unused@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz#8974e9b143d887677304e558c1166d3762501142"
+ integrity sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==
dependencies:
postcss-selector-parser "^6.0.5"
-postcss-loader@^6.1.1:
- version "6.2.0"
- resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.0.tgz"
- integrity sha512-H9hv447QjQJVDbHj3OUdciyAXY3v5+UDduzEytAlZCVHCpNAAg/mCSwhYYqZr9BiGYhmYspU8QXxZwiHTLn3yA==
+postcss-loader@^6.2.1:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef"
+ integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==
dependencies:
cosmiconfig "^7.0.0"
- klona "^2.0.4"
+ klona "^2.0.5"
semver "^7.3.5"
-postcss-merge-idents@^5.0.1:
- version "5.0.1"
- resolved "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.0.1.tgz"
- integrity sha512-xu8ueVU0RszbI2gKkxR6mluupsOSSLvt8q4gA2fcKFkA+x6SlH3cb4cFHpDvcRCNFbUmCR/VUub+Y6zPOjPx+Q==
+postcss-merge-idents@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz#7753817c2e0b75d0853b56f78a89771e15ca04a1"
+ integrity sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==
dependencies:
- cssnano-utils "^2.0.1"
- postcss-value-parser "^4.1.0"
+ cssnano-utils "^3.1.0"
+ postcss-value-parser "^4.2.0"
postcss-merge-longhand@^5.0.3:
version "5.0.3"
@@ -7681,6 +8035,14 @@ postcss-merge-longhand@^5.0.3:
postcss-value-parser "^4.1.0"
stylehacks "^5.0.1"
+postcss-merge-longhand@^5.1.3:
+ version "5.1.3"
+ resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.3.tgz#a49e2be6237316e3b55e329e0a8da15d1f9f47ab"
+ integrity sha512-lX8GPGvZ0iGP/IboM7HXH5JwkXvXod1Rr8H8ixwiA372hArk0zP4ZcCy4z4Prg/bfNlbbTf0KCOjCF9kKnpP/w==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+ stylehacks "^5.1.0"
+
postcss-merge-rules@^5.0.2:
version "5.0.2"
resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz"
@@ -7692,6 +8054,16 @@ postcss-merge-rules@^5.0.2:
postcss-selector-parser "^6.0.5"
vendors "^1.0.3"
+postcss-merge-rules@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz#d327b221cd07540bcc8d9ff84446d8b404d00162"
+ integrity sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww==
+ dependencies:
+ browserslist "^4.16.6"
+ caniuse-api "^3.0.0"
+ cssnano-utils "^3.1.0"
+ postcss-selector-parser "^6.0.5"
+
postcss-minify-font-values@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz"
@@ -7699,6 +8071,13 @@ postcss-minify-font-values@^5.0.1:
dependencies:
postcss-value-parser "^4.1.0"
+postcss-minify-font-values@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b"
+ integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
postcss-minify-gradients@^5.0.3:
version "5.0.3"
resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.3.tgz"
@@ -7708,6 +8087,15 @@ postcss-minify-gradients@^5.0.3:
cssnano-utils "^2.0.1"
postcss-value-parser "^4.1.0"
+postcss-minify-gradients@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c"
+ integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==
+ dependencies:
+ colord "^2.9.1"
+ cssnano-utils "^3.1.0"
+ postcss-value-parser "^4.2.0"
+
postcss-minify-params@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz"
@@ -7719,6 +8107,15 @@ postcss-minify-params@^5.0.1:
postcss-value-parser "^4.1.0"
uniqs "^2.0.0"
+postcss-minify-params@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.2.tgz#77e250780c64198289c954884ebe3ee4481c3b1c"
+ integrity sha512-aEP+p71S/urY48HWaRHasyx4WHQJyOYaKpQ6eXl8k0kxg66Wt/30VR6/woh8THgcpRbonJD5IeD+CzNhPi1L8g==
+ dependencies:
+ browserslist "^4.16.6"
+ cssnano-utils "^3.1.0"
+ postcss-value-parser "^4.2.0"
+
postcss-minify-selectors@^5.1.0:
version "5.1.0"
resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz"
@@ -7727,6 +8124,13 @@ postcss-minify-selectors@^5.1.0:
alphanum-sort "^1.0.2"
postcss-selector-parser "^6.0.5"
+postcss-minify-selectors@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz#17c2be233e12b28ffa8a421a02fc8b839825536c"
+ integrity sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==
+ dependencies:
+ postcss-selector-parser "^6.0.5"
+
postcss-modules-extract-imports@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz"
@@ -7760,6 +8164,11 @@ postcss-normalize-charset@^5.0.1:
resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz"
integrity sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==
+postcss-normalize-charset@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed"
+ integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==
+
postcss-normalize-display-values@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz"
@@ -7768,6 +8177,13 @@ postcss-normalize-display-values@^5.0.1:
cssnano-utils "^2.0.1"
postcss-value-parser "^4.1.0"
+postcss-normalize-display-values@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8"
+ integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
postcss-normalize-positions@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz"
@@ -7775,6 +8191,13 @@ postcss-normalize-positions@^5.0.1:
dependencies:
postcss-value-parser "^4.1.0"
+postcss-normalize-positions@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz#902a7cb97cf0b9e8b1b654d4a43d451e48966458"
+ integrity sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
postcss-normalize-repeat-style@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz"
@@ -7783,6 +8206,13 @@ postcss-normalize-repeat-style@^5.0.1:
cssnano-utils "^2.0.1"
postcss-value-parser "^4.1.0"
+postcss-normalize-repeat-style@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz#f6d6fd5a54f51a741cc84a37f7459e60ef7a6398"
+ integrity sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
postcss-normalize-string@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz"
@@ -7790,6 +8220,13 @@ postcss-normalize-string@^5.0.1:
dependencies:
postcss-value-parser "^4.1.0"
+postcss-normalize-string@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228"
+ integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
postcss-normalize-timing-functions@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz"
@@ -7798,6 +8235,13 @@ postcss-normalize-timing-functions@^5.0.1:
cssnano-utils "^2.0.1"
postcss-value-parser "^4.1.0"
+postcss-normalize-timing-functions@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb"
+ integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
postcss-normalize-unicode@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz"
@@ -7806,6 +8250,14 @@ postcss-normalize-unicode@^5.0.1:
browserslist "^4.16.0"
postcss-value-parser "^4.1.0"
+postcss-normalize-unicode@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz#3d23aede35e160089a285e27bf715de11dc9db75"
+ integrity sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==
+ dependencies:
+ browserslist "^4.16.6"
+ postcss-value-parser "^4.2.0"
+
postcss-normalize-url@^5.0.2:
version "5.0.2"
resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz"
@@ -7815,6 +8267,14 @@ postcss-normalize-url@^5.0.2:
normalize-url "^6.0.1"
postcss-value-parser "^4.1.0"
+postcss-normalize-url@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc"
+ integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==
+ dependencies:
+ normalize-url "^6.0.1"
+ postcss-value-parser "^4.2.0"
+
postcss-normalize-whitespace@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz"
@@ -7822,6 +8282,13 @@ postcss-normalize-whitespace@^5.0.1:
dependencies:
postcss-value-parser "^4.1.0"
+postcss-normalize-whitespace@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa"
+ integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
postcss-ordered-values@^5.0.2:
version "5.0.2"
resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz"
@@ -7830,12 +8297,20 @@ postcss-ordered-values@^5.0.2:
cssnano-utils "^2.0.1"
postcss-value-parser "^4.1.0"
-postcss-reduce-idents@^5.0.1:
- version "5.0.1"
- resolved "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.0.1.tgz"
- integrity sha512-6Rw8iIVFbqtaZExgWK1rpVgP7DPFRPh0DDFZxJ/ADNqPiH10sPCoq5tgo6kLiTyfh9sxjKYjXdc8udLEcPOezg==
+postcss-ordered-values@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz#0b41b610ba02906a3341e92cab01ff8ebc598adb"
+ integrity sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==
dependencies:
- postcss-value-parser "^4.1.0"
+ cssnano-utils "^3.1.0"
+ postcss-value-parser "^4.2.0"
+
+postcss-reduce-idents@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz#c89c11336c432ac4b28792f24778859a67dfba95"
+ integrity sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==
+ dependencies:
+ postcss-value-parser "^4.2.0"
postcss-reduce-initial@^5.0.1:
version "5.0.1"
@@ -7845,6 +8320,14 @@ postcss-reduce-initial@^5.0.1:
browserslist "^4.16.0"
caniuse-api "^3.0.0"
+postcss-reduce-initial@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz#fc31659ea6e85c492fb2a7b545370c215822c5d6"
+ integrity sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==
+ dependencies:
+ browserslist "^4.16.6"
+ caniuse-api "^3.0.0"
+
postcss-reduce-transforms@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz"
@@ -7853,6 +8336,13 @@ postcss-reduce-transforms@^5.0.1:
cssnano-utils "^2.0.1"
postcss-value-parser "^4.1.0"
+postcss-reduce-transforms@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9"
+ integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5:
version "6.0.6"
resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz"
@@ -7861,10 +8351,18 @@ postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector
cssesc "^3.0.0"
util-deprecate "^1.0.2"
-postcss-sort-media-queries@^4.1.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.1.0.tgz"
- integrity sha512-pPiw94cMOqGFSlp4QGzOKrhYr8O3VyMNQnb7qlGM25H4EDEii3iKtIUMoFe5gKiCEAt/Iyk2ah47eoRhGqSBGA==
+postcss-selector-parser@^6.0.9:
+ version "6.0.9"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f"
+ integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==
+ dependencies:
+ cssesc "^3.0.0"
+ util-deprecate "^1.0.2"
+
+postcss-sort-media-queries@^4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/postcss-sort-media-queries/-/postcss-sort-media-queries-4.2.1.tgz#a99bae69ef1098ee3b64a5fa94d258ec240d0355"
+ integrity sha512-9VYekQalFZ3sdgcTjXMa0dDjsfBVHXlraYJEMiOJ/2iMmI2JGCMavP16z3kWOaRu8NSaJCTgVpB/IVpH5yT9YQ==
dependencies:
sort-css-media-queries "2.0.4"
@@ -7876,6 +8374,14 @@ postcss-svgo@^5.0.3:
postcss-value-parser "^4.1.0"
svgo "^2.7.0"
+postcss-svgo@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d"
+ integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+ svgo "^2.7.0"
+
postcss-unique-selectors@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz"
@@ -7885,6 +8391,13 @@ postcss-unique-selectors@^5.0.1:
postcss-selector-parser "^6.0.5"
uniqs "^2.0.0"
+postcss-unique-selectors@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6"
+ integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==
+ dependencies:
+ postcss-selector-parser "^6.0.5"
+
postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0:
version "4.1.0"
resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz"
@@ -7895,12 +8408,12 @@ postcss-value-parser@^4.2.0:
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-postcss-zindex@^5.0.1:
- version "5.0.1"
- resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.0.1.tgz"
- integrity sha512-nwgtJJys+XmmSGoYCcgkf/VczP8Mp/0OfSv3v0+fw0uABY4yxw+eFs0Xp9nAZHIKnS5j+e9ywQ+RD+ONyvl5pA==
+postcss-zindex@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-5.1.0.tgz#4a5c7e5ff1050bd4c01d95b1847dfdcc58a496ff"
+ integrity sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==
-postcss@^8.3.11, postcss@^8.3.5, postcss@^8.3.7:
+postcss@^8.3.11, postcss@^8.3.5:
version "8.3.11"
resolved "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz"
integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==
@@ -7909,12 +8422,12 @@ postcss@^8.3.11, postcss@^8.3.5, postcss@^8.3.7:
picocolors "^1.0.0"
source-map-js "^0.6.2"
-postcss@^8.4.5:
- version "8.4.6"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.6.tgz#c5ff3c3c457a23864f32cb45ac9b741498a09ae1"
- integrity sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==
+postcss@^8.4.7:
+ version "8.4.12"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905"
+ integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==
dependencies:
- nanoid "^3.2.0"
+ nanoid "^3.3.1"
picocolors "^1.0.0"
source-map-js "^1.0.2"
@@ -7941,11 +8454,21 @@ prism-react-renderer@^1.2.1:
resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.2.1.tgz"
integrity sha512-w23ch4f75V1Tnz8DajsYKvY5lF7H1+WvzvLUcF0paFxkTHSp42RS0H5CttdN2Q8RR3DRGZ9v5xD/h3n8C8kGmg==
-prismjs@^1.23.0, prismjs@^1.25.0, prismjs@~1.25.0:
+prism-react-renderer@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.3.1.tgz#88fc9d0df6bed06ca2b9097421349f8c2f24e30d"
+ integrity sha512-xUeDMEz074d0zc5y6rxiMp/dlC7C+5IDDlaEUlcBOFE2wddz7hz5PNupb087mPwTt7T9BrFmewObfCBuf/LKwQ==
+
+prismjs@^1.25.0, prismjs@~1.25.0:
version "1.25.0"
resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.25.0.tgz"
integrity sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg==
+prismjs@^1.27.0:
+ version "1.27.0"
+ resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057"
+ integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==
+
process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
@@ -7958,7 +8481,7 @@ promise@^7.1.1:
dependencies:
asap "~2.0.3"
-prompts@^2.4.1, prompts@^2.4.2:
+prompts@^2.4.2:
version "2.4.2"
resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz"
integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
@@ -8167,19 +8690,20 @@ rc-dropdown@^3.2.0:
classnames "^2.2.6"
rc-trigger "^5.0.4"
-rc-dropdown@~3.2.0:
- version "3.2.5"
- resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-3.2.5.tgz#c211e571d29d15e7f725b5a75fc8c7f371fc3348"
- integrity sha512-dVO2eulOSbEf+F4OyhCY5iGiMVhUYY/qeXxL7Ex2jDBt/xc89jU07mNoowV6aWxwVOc70pxEINff0oM2ogjluA==
+rc-dropdown@~3.3.2:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-3.3.3.tgz#17ba32ebd066ae397b00e9e4d570c7c21daed88f"
+ integrity sha512-UNe68VpvtrpU0CS4jh5hD4iGqzi4Pdp7uOya6+H3QIEZxe7K+Xs11BNjZm6W4MaL0jTmzUj+bxvnq5bP3rRoVQ==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.6"
rc-trigger "^5.0.4"
+ rc-util "^5.17.0"
-rc-field-form@~1.22.0-2:
- version "1.22.1"
- resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.22.1.tgz#0bd2f4e730ff2f071529d00bef28e062362890f5"
- integrity sha512-LweU7nBeqmC5r3HDUjRprcOXXobHXp/TGIxD7ppBq5FX6Iptt3ibdpRVg4RSyNulBNGHOuknHlRcguuIpvVMVg==
+rc-field-form@~1.24.0:
+ version "1.24.0"
+ resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.24.0.tgz#2510a5c34713831ddcb412d4560be9057fc0dc5e"
+ integrity sha512-5beNBU5gEyi8YRYyqbTWSu5hO0jZQN0AWpY3U7TcllUKrDLcZZdRXuAOpyxJQcttWFs+UAFsbcRAUtnOGBjl7w==
dependencies:
"@babel/runtime" "^7.8.4"
async-validator "^4.0.2"
@@ -8204,6 +8728,15 @@ rc-input-number@~7.3.0:
classnames "^2.2.5"
rc-util "^5.9.8"
+rc-input@~0.0.1-alpha.5:
+ version "0.0.1-alpha.6"
+ resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-0.0.1-alpha.6.tgz#b9bcfb41251ca07aa183c03a3574fbc14fa2e426"
+ integrity sha512-kgpmbxa9vp6kPLW7IP5/Lf6wuaMq+pUq+dPz98vIM58h4wkEKgBQlkMIg9OCEVQIiR8rEPEoe4dO2fc9R0aypQ==
+ dependencies:
+ "@babel/runtime" "^7.11.1"
+ classnames "^2.2.1"
+ rc-util "^5.18.1"
+
rc-mentions@~1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-1.6.1.tgz#46035027d64aa33ef840ba0fbd411871e34617ae"
@@ -8216,7 +8749,7 @@ rc-mentions@~1.6.1:
rc-trigger "^5.0.4"
rc-util "^5.0.1"
-rc-menu@^9.0.0:
+rc-menu@^9.0.0, rc-menu@~9.3.2:
version "9.3.2"
resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.3.2.tgz#bb842d37ebf71da912bea201cf7ef0a27267ad49"
integrity sha512-h3m45oY1INZyqphGELkdT0uiPnFzxkML8m0VMhJnk2fowtqfiT7F5tJLT3znEVaPIY80vMy1bClCkgq8U91CzQ==
@@ -8229,19 +8762,6 @@ rc-menu@^9.0.0:
rc-util "^5.12.0"
shallowequal "^1.1.0"
-rc-menu@~9.2.1:
- version "9.2.1"
- resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.2.1.tgz#6fbe47f4846363bb81a5a21f0960026c3ada497a"
- integrity sha512-UbEtn3rflJ8zS+etYGTVQuzy7Fm+yWXR5c0Rl6ecNTS/dPknRyWAyhJcbeR0Hu1+RdQT+0VCqrUPrgKnm4iY+w==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "2.x"
- rc-motion "^2.4.3"
- rc-overflow "^1.2.0"
- rc-trigger "^5.1.2"
- rc-util "^5.12.0"
- shallowequal "^1.1.0"
-
rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4:
version "2.4.4"
resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.4.4.tgz#e995d5fa24fc93065c24f714857cf2677d655bb0"
@@ -8279,10 +8799,10 @@ rc-pagination@~3.1.9:
"@babel/runtime" "^7.10.1"
classnames "^2.2.1"
-rc-picker@~2.5.17:
- version "2.5.19"
- resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-2.5.19.tgz#73d07546fac3992f0bfabf2789654acada39e46f"
- integrity sha512-u6myoCu/qiQ0vLbNzSzNrzTQhs7mldArCpPHrEI6OUiifs+IPXmbesqSm0zilJjfzrZJLgYeyyOMSznSlh0GKA==
+rc-picker@~2.6.4:
+ version "2.6.5"
+ resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-2.6.5.tgz#a7cf8eb0723ec81e379c784c4b798b7fe076dd8c"
+ integrity sha512-4pcg0PgEz4YXBfdwMuHIKaRWaADm3k3g0NtoPIgeGM+VVeOBdUowTx0YSXnT8mQEXcE9lWXX+ZX3biAzQwDM1w==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.1"
@@ -8321,7 +8841,7 @@ rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.2.0:
rc-util "^5.15.0"
resize-observer-polyfill "^1.5.1"
-rc-select@~14.0.0-alpha.15, rc-select@~14.0.0-alpha.23, rc-select@~14.0.0-alpha.8:
+rc-select@~14.0.0-alpha.23, rc-select@~14.0.0-alpha.8:
version "14.0.0-alpha.25"
resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.0.0-alpha.25.tgz#9e6ca83b090e020a730fdfdab07c1050549426e4"
integrity sha512-U9AMzXsOCCdtn96YIZdUrYbxk+5u6uWUCaYH2129X3FTjQITqAjEPYHfPcxU/G7+lwiD0pIaU95W0NMkg+26qw==
@@ -8334,15 +8854,28 @@ rc-select@~14.0.0-alpha.15, rc-select@~14.0.0-alpha.23, rc-select@~14.0.0-alpha.
rc-util "^5.16.1"
rc-virtual-list "^3.2.0"
-rc-slider@~9.7.4:
- version "9.7.5"
- resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-9.7.5.tgz#193141c68e99b1dc3b746daeb6bf852946f5b7f4"
- integrity sha512-LV/MWcXFjco1epPbdw1JlLXlTgmWpB9/Y/P2yinf8Pg3wElHxA9uajN21lJiWtZjf5SCUekfSP6QMJfDo4t1hg==
+rc-select@~14.0.2:
+ version "14.0.5"
+ resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.0.5.tgz#145c42e7fd66a7fc6c5c56f6b0cf35d8b50f9e23"
+ integrity sha512-5X1bcktpE9++7Ef9Uq7f35kobGBNnddaDhkECjeICWIkCsl9xfYtujQiK1YEYXO5EIYoTVLV30PwN/E3mWAKOQ==
+ dependencies:
+ "@babel/runtime" "^7.10.1"
+ classnames "2.x"
+ rc-motion "^2.0.1"
+ rc-overflow "^1.0.0"
+ rc-trigger "^5.0.4"
+ rc-util "^5.16.1"
+ rc-virtual-list "^3.2.0"
+
+rc-slider@~10.0.0-alpha.4:
+ version "10.0.0-alpha.6"
+ resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.0.0-alpha.6.tgz#d1f0098a2044a0063c912d049a1309e3357404d6"
+ integrity sha512-4tMChJ3lzX0qlttcXqJ2xecQ+CmZYPXJGDOvPnIS5YWsiSl452vt377/l8A1ZnwjwKAAy2V6nrOXNdqPP2Tq7w==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.5"
rc-tooltip "^5.0.1"
- rc-util "^5.16.1"
+ rc-util "^5.18.1"
shallowequal "^1.1.0"
rc-steps@~4.1.0:
@@ -8363,10 +8896,10 @@ rc-switch@~3.2.0:
classnames "^2.2.1"
rc-util "^5.0.1"
-rc-table@~7.22.2:
- version "7.22.2"
- resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.22.2.tgz#218f3f53bc91660560a344c8290a91a841a60b0a"
- integrity sha512-Ng2gNkGi6ybl6dzneRn2H4Gp8XhIbRa5rXQ7ZhZcgWVmfVMok70UHGPXcf68tXW6O0/qckTf/eOVsoviSvK4sw==
+rc-table@~7.23.0:
+ version "7.23.2"
+ resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.23.2.tgz#f6f906e8fafb05ddbfdd69d450feb875ce260a7b"
+ integrity sha512-opc2IBJOetsPSdNI+u1Lh9yY4Ks+EMgo1oJzZN+yIV4fRcgP81tHtxdPOVvXPFI4rUMO8CKnmHbGPU7jxMRAeg==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.2.5"
@@ -8456,6 +8989,15 @@ rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.0.7, rc-util@^5.12.0, rc-util@^5.14.0
react-is "^16.12.0"
shallowequal "^1.1.0"
+rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.19.3:
+ version "5.19.3"
+ resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.19.3.tgz#5f6aa854820f6d5824451d80771035b013eaf6d8"
+ integrity sha512-S28epi9E2s7Nir05q8Ffl3hzDLwkavTGi0PGH1cTqCmkpG1AeBEuZgQDpksYeU6IgHcds5hWIPE5PUcdFiZl8w==
+ dependencies:
+ "@babel/runtime" "^7.12.5"
+ react-is "^16.12.0"
+ shallowequal "^1.1.0"
+
rc-virtual-list@^3.2.0, rc-virtual-list@^3.4.1:
version "3.4.2"
resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.4.2.tgz#1078327aa7230b5e456d679ed2ce99f3c036ebd1"
@@ -8545,9 +9087,9 @@ react-error-overlay@^6.0.10:
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.10.tgz#0fe26db4fa85d9dbb8624729580e90e7159a59a6"
integrity sha512-mKR90fX7Pm5seCOfz8q9F+66VCc1PGsWSBxKbITjfKVQHMNF2zudxHnMdJiB1fRCb+XsbQV9sO9DCkgsMQgBIA==
-react-fast-compare@^3.1.1:
+react-fast-compare@^3.2.0:
version "3.2.0"
- resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz"
+ resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb"
integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==
react-github-btn@^1.2.0:
@@ -8557,15 +9099,16 @@ react-github-btn@^1.2.0:
dependencies:
github-buttons "^2.8.0"
-react-helmet@^6.1.0:
- version "6.1.0"
- resolved "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz"
- integrity sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==
+react-helmet-async@*, react-helmet-async@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-1.2.3.tgz#57326a69304ea3293036eafb49475e9ba454cb37"
+ integrity sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==
dependencies:
- object-assign "^4.1.1"
+ "@babel/runtime" "^7.12.5"
+ invariant "^2.2.4"
prop-types "^15.7.2"
- react-fast-compare "^3.1.1"
- react-side-effect "^2.1.0"
+ react-fast-compare "^3.2.0"
+ shallowequal "^1.1.0"
react-immutable-proptypes@2.2.0:
version "2.2.0"
@@ -8668,11 +9211,6 @@ react-router@5.2.1, react-router@^5.2.0:
tiny-invariant "^1.0.2"
tiny-warning "^1.0.0"
-react-side-effect@^2.1.0:
- version "2.1.1"
- resolved "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.1.tgz"
- integrity sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==
-
react-syntax-highlighter@^15.4.5:
version "15.4.5"
resolved "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.4.5.tgz"
@@ -8802,7 +9340,7 @@ regexp.prototype.flags@^1.2.0:
call-bind "^1.0.2"
define-properties "^1.1.3"
-regexpu-core@^4.5.4, regexpu-core@^4.7.1:
+regexpu-core@^4.7.1:
version "4.8.0"
resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz"
integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==
@@ -8877,20 +9415,6 @@ remark-footnotes@2.0.0:
resolved "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz"
integrity sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==
-remark-mdx-remove-exports@^1.6.22:
- version "1.6.22"
- resolved "https://registry.npmjs.org/remark-mdx-remove-exports/-/remark-mdx-remove-exports-1.6.22.tgz"
- integrity sha512-7g2uiTmTGfz5QyVb+toeX25frbk1Y6yd03RXGPtqx0+DVh86Gb7MkNYbk7H2X27zdZ3CQv1W/JqlFO0Oo8IxVA==
- dependencies:
- unist-util-remove "2.0.0"
-
-remark-mdx-remove-imports@^1.6.22:
- version "1.6.22"
- resolved "https://registry.npmjs.org/remark-mdx-remove-imports/-/remark-mdx-remove-imports-1.6.22.tgz"
- integrity sha512-lmjAXD8Ltw0TsvBzb45S+Dxx7LTJAtDaMneMAv8LAUIPEyYoKkmGbmVsiF0/pY6mhM1Q16swCmu1TN+ie/vn/A==
- dependencies:
- unist-util-remove "2.0.0"
-
remark-mdx@1.6.22:
version "1.6.22"
resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz"
@@ -9056,12 +9580,12 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
-rxjs@^7.1.0:
- version "7.4.0"
- resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.4.0.tgz"
- integrity sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==
+rxjs@^7.5.4:
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f"
+ integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==
dependencies:
- tslib "~2.1.0"
+ tslib "^2.1.0"
safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
@@ -9306,7 +9830,7 @@ shell-quote@^1.7.3:
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123"
integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==
-shelljs@^0.8.4:
+shelljs@^0.8.5:
version "0.8.5"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c"
integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==
@@ -9343,12 +9867,12 @@ sisteransi@^1.0.5:
resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz"
integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
-sitemap@^7.0.0:
- version "7.0.0"
- resolved "https://registry.npmjs.org/sitemap/-/sitemap-7.0.0.tgz"
- integrity sha512-Ud0jrRQO2k7fEtPAM+cQkBKoMvxQyPKNXKDLn8tRVHxRCsdDQ2JZvw+aZ5IRYYQVAV9iGxEar6boTwZzev+x3g==
+sitemap@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.1.1.tgz#eeed9ad6d95499161a3eadc60f8c6dce4bea2bef"
+ integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==
dependencies:
- "@types/node" "^15.0.1"
+ "@types/node" "^17.0.5"
"@types/sax" "^1.2.1"
arg "^5.0.0"
sax "^1.2.4"
@@ -9415,11 +9939,6 @@ source-map@~0.7.2:
resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz"
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
-sourcemap-codec@^1.4.4:
- version "1.4.8"
- resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz"
- integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
-
space-separated-tokens@^1.0.0:
version "1.1.5"
resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz"
@@ -9485,7 +10004,7 @@ string-convert@^0.2.0:
resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97"
integrity sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=
-string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.2:
+string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2:
version "4.2.3"
resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -9494,6 +10013,15 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.2:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
+string-width@^5.0.1:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
+ integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
+ dependencies:
+ eastasianwidth "^0.2.0"
+ emoji-regex "^9.2.2"
+ strip-ansi "^7.0.1"
+
string.prototype.trimend@^1.0.4:
version "1.0.4"
resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz"
@@ -9540,7 +10068,7 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1:
dependencies:
ansi-regex "^5.0.1"
-strip-ansi@^7.0.0:
+strip-ansi@^7.0.0, strip-ansi@^7.0.1:
version "7.0.1"
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz"
integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==
@@ -9574,25 +10102,6 @@ style-to-object@0.3.0, style-to-object@^0.3.0:
dependencies:
inline-style-parser "0.1.1"
-styled-system@^5.1.5:
- version "5.1.5"
- resolved "https://registry.yarnpkg.com/styled-system/-/styled-system-5.1.5.tgz#e362d73e1dbb5641a2fd749a6eba1263dc85075e"
- integrity sha512-7VoD0o2R3RKzOzPK0jYrVnS8iJdfkKsQJNiLRDjikOpQVqQHns/DXWaPZOH4tIKkhAT7I6wIsy9FWTWh2X3q+A==
- dependencies:
- "@styled-system/background" "^5.1.2"
- "@styled-system/border" "^5.1.5"
- "@styled-system/color" "^5.1.2"
- "@styled-system/core" "^5.1.2"
- "@styled-system/flexbox" "^5.1.2"
- "@styled-system/grid" "^5.1.2"
- "@styled-system/layout" "^5.1.2"
- "@styled-system/position" "^5.1.2"
- "@styled-system/shadow" "^5.1.2"
- "@styled-system/space" "^5.1.2"
- "@styled-system/typography" "^5.1.2"
- "@styled-system/variant" "^5.1.5"
- object-assign "^4.1.1"
-
stylehacks@^5.0.1:
version "5.0.1"
resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz"
@@ -9601,6 +10110,14 @@ stylehacks@^5.0.1:
browserslist "^4.16.0"
postcss-selector-parser "^6.0.4"
+stylehacks@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.0.tgz#a40066490ca0caca04e96c6b02153ddc39913520"
+ integrity sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==
+ dependencies:
+ browserslist "^4.16.6"
+ postcss-selector-parser "^6.0.4"
+
supports-color@^5.3.0:
version "5.5.0"
resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
@@ -9732,7 +10249,7 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0:
resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz"
integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
-terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.4:
+terser-webpack-plugin@^5.1.3:
version "5.2.5"
resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz"
integrity sha512-3luOVHku5l0QBeYS8r4CdHYWEGMmIj3H1U64jgkdZzECcSOJAyJ9TjuqcQZvw1Y+4AOBN9SeYJPJmFn2cM4/2g==
@@ -9743,6 +10260,27 @@ terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.4:
source-map "^0.6.1"
terser "^5.7.2"
+terser-webpack-plugin@^5.3.1:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz#0320dcc270ad5372c1e8993fabbd927929773e54"
+ integrity sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==
+ dependencies:
+ jest-worker "^27.4.5"
+ schema-utils "^3.1.1"
+ serialize-javascript "^6.0.0"
+ source-map "^0.6.1"
+ terser "^5.7.2"
+
+terser@^5.10.0:
+ version "5.12.1"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c"
+ integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==
+ dependencies:
+ acorn "^8.5.0"
+ commander "^2.20.0"
+ source-map "~0.7.2"
+ source-map-support "~0.5.20"
+
terser@^5.7.2:
version "5.9.0"
resolved "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz"
@@ -9757,18 +10295,6 @@ text-table@^0.2.0:
resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
-theme-ui@^0.3.1:
- version "0.3.5"
- resolved "https://registry.yarnpkg.com/theme-ui/-/theme-ui-0.3.5.tgz#db29a4df0ad6cbf0fde42aab1cd9941c4b813efc"
- integrity sha512-yxooGhvkdjFDotDeIFehKo5k6NnLZ3gsLSe8EDe2aDcoWqg1mZjkjjr8EYtVCrK3mk/tYz97AT5BpEnUfamNCQ==
- dependencies:
- "@theme-ui/color-modes" "0.3.5"
- "@theme-ui/components" "0.3.5"
- "@theme-ui/core" "0.3.5"
- "@theme-ui/css" "0.3.5"
- "@theme-ui/mdx" "0.3.5"
- "@theme-ui/theme-provider" "0.3.5"
-
thunky@^1.0.2:
version "1.1.0"
resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz"
@@ -9859,21 +10385,21 @@ tslib@^1.9.3:
resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-tslib@^2.0.3, tslib@^2.2.0, tslib@^2.3.1:
+tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.1:
version "2.3.1"
resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz"
integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
-tslib@~2.1.0:
- version "2.1.0"
- resolved "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz"
- integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==
-
type-fest@^0.20.2:
version "0.20.2"
resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
+type-fest@^2.5.0:
+ version "2.12.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.12.1.tgz#d2be8f50bf5f8f0a5fd916d29bf3e98c17e960be"
+ integrity sha512-AiknQSEqKVGDDjtZqeKrUoTlcj7FKhupmnVUgz6KoOKtvMwRGE6hUNJ/nVear+h7fnUPO1q/htSkYKb1pyntkQ==
+
type-is@~1.6.17, type-is@~1.6.18:
version "1.6.18"
resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
@@ -10012,13 +10538,6 @@ unist-util-remove-position@^2.0.0:
dependencies:
unist-util-visit "^2.0.0"
-unist-util-remove@2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.0.0.tgz"
- integrity sha512-HwwWyNHKkeg/eXRnE11IpzY8JT55JNM1YCwwU9YNCnfzk6s8GhPXrVBBZWiwLeATJbI7euvoGSzcy9M29UeW3g==
- dependencies:
- unist-util-is "^4.0.0"
-
unist-util-remove@^2.0.0:
version "2.1.0"
resolved "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz"
@@ -10116,7 +10635,7 @@ url-parse@^1.5.3:
querystringify "^2.1.1"
requires-port "^1.0.0"
-url@^0.11.0, url@~0.11.0:
+url@~0.11.0:
version "0.11.0"
resolved "https://registry.npmjs.org/url/-/url-0.11.0.tgz"
integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
@@ -10216,16 +10735,16 @@ vfile@^4.0.0:
unist-util-stringify-position "^2.0.0"
vfile-message "^2.0.0"
-wait-on@^6.0.0:
- version "6.0.0"
- resolved "https://registry.npmjs.org/wait-on/-/wait-on-6.0.0.tgz"
- integrity sha512-tnUJr9p5r+bEYXPUdRseolmz5XqJTTj98JgOsfBn7Oz2dxfE2g3zw1jE+Mo8lopM3j3et/Mq1yW7kKX6qw7RVw==
+wait-on@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-6.0.1.tgz#16bbc4d1e4ebdd41c5b4e63a2e16dbd1f4e5601e"
+ integrity sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==
dependencies:
- axios "^0.21.1"
- joi "^17.4.0"
+ axios "^0.25.0"
+ joi "^17.6.0"
lodash "^4.17.21"
minimist "^1.2.5"
- rxjs "^7.1.0"
+ rxjs "^7.5.4"
watchpack@^2.2.0:
version "2.2.0"
@@ -10235,6 +10754,14 @@ watchpack@^2.2.0:
glob-to-regexp "^0.4.1"
graceful-fs "^4.1.2"
+watchpack@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25"
+ integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==
+ dependencies:
+ glob-to-regexp "^0.4.1"
+ graceful-fs "^4.1.2"
+
wbuf@^1.1.0, wbuf@^1.7.3:
version "1.7.3"
resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz"
@@ -10252,9 +10779,9 @@ web-streams-polyfill@4.0.0-beta.1:
resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.1.tgz"
integrity sha512-3ux37gEX670UUphBF9AMCq8XM6iQ8Ac6A+DSRRjDoRBm1ufCkaCDdNVbaqq60PsEkdNlLKrGtv/YBP4EJXqNtQ==
-webpack-bundle-analyzer@^4.4.2:
+webpack-bundle-analyzer@^4.5.0:
version "4.5.0"
- resolved "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz"
+ resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz#1b0eea2947e73528754a6f9af3e91b2b6e0f79d5"
integrity sha512-GUMZlM3SKwS8Z+CKeIFx7CVoHn3dXFcUAjT/dcZQQmfSZGvitPfMob2ipjai7ovFFqPvTqkEZ/leL4O0YOdAYQ==
dependencies:
acorn "^8.0.4"
@@ -10278,7 +10805,7 @@ webpack-dev-middleware@^5.3.1:
range-parser "^1.2.1"
schema-utils "^4.0.0"
-webpack-dev-server@^4.7.1:
+webpack-dev-server@^4.7.4:
version "4.7.4"
resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz#d0ef7da78224578384e795ac228d8efb63d5f945"
integrity sha512-nfdsb02Zi2qzkNmgtZjkrMOcXnYZ6FLKcQwpxT7MvmHKc+oTtDsBju8j+NMyAygZ9GW1jMEUpy3itHtqgEhe1A==
@@ -10322,7 +10849,7 @@ webpack-merge@^5.8.0:
clone-deep "^4.0.1"
wildcard "^2.0.0"
-webpack-sources@^1.1.0, webpack-sources@^1.4.3:
+webpack-sources@^1.4.3:
version "1.4.3"
resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz"
integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
@@ -10335,6 +10862,11 @@ webpack-sources@^3.2.0:
resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.1.tgz"
integrity sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA==
+webpack-sources@^3.2.3:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
+ integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
+
webpack@^5.61.0:
version "5.64.0"
resolved "https://registry.npmjs.org/webpack/-/webpack-5.64.0.tgz"
@@ -10365,6 +10897,36 @@ webpack@^5.61.0:
watchpack "^2.2.0"
webpack-sources "^3.2.0"
+webpack@^5.69.1:
+ version "5.70.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.70.0.tgz#3461e6287a72b5e6e2f4872700bc8de0d7500e6d"
+ integrity sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==
+ dependencies:
+ "@types/eslint-scope" "^3.7.3"
+ "@types/estree" "^0.0.51"
+ "@webassemblyjs/ast" "1.11.1"
+ "@webassemblyjs/wasm-edit" "1.11.1"
+ "@webassemblyjs/wasm-parser" "1.11.1"
+ acorn "^8.4.1"
+ acorn-import-assertions "^1.7.6"
+ browserslist "^4.14.5"
+ chrome-trace-event "^1.0.2"
+ enhanced-resolve "^5.9.2"
+ es-module-lexer "^0.9.0"
+ eslint-scope "5.1.1"
+ events "^3.2.0"
+ glob-to-regexp "^0.4.1"
+ graceful-fs "^4.2.9"
+ json-parse-better-errors "^1.0.2"
+ loader-runner "^4.2.0"
+ mime-types "^2.1.27"
+ neo-async "^2.6.2"
+ schema-utils "^3.1.0"
+ tapable "^2.1.1"
+ terser-webpack-plugin "^5.1.3"
+ watchpack "^2.3.1"
+ webpack-sources "^3.2.3"
+
webpackbar@^5.0.2:
version "5.0.2"
resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-5.0.2.tgz#d3dd466211c73852741dfc842b7556dcbc2b0570"
@@ -10421,6 +10983,13 @@ widest-line@^3.1.0:
dependencies:
string-width "^4.0.0"
+widest-line@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-4.0.1.tgz#a0fc673aaba1ea6f0a0d35b3c2795c9a9cc2ebf2"
+ integrity sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==
+ dependencies:
+ string-width "^5.0.1"
+
wildcard@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz"
@@ -10435,6 +11004,15 @@ wrap-ansi@^7.0.0:
string-width "^4.1.0"
strip-ansi "^6.0.0"
+wrap-ansi@^8.0.1:
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.0.1.tgz#2101e861777fec527d0ea90c57c6b03aac56a5b3"
+ integrity sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==
+ dependencies:
+ ansi-styles "^6.1.0"
+ string-width "^5.0.1"
+ strip-ansi "^7.0.1"
+
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
diff --git a/requirements/base.txt b/requirements/base.txt
index dd2c70aa03de2..6162303b05e1b 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -11,7 +11,7 @@ aiohttp==3.7.4.post0
# via slackclient
alembic==1.6.5
# via flask-migrate
-amqp==2.6.1
+amqp==5.1.0
# via kombu
apispec[yaml]==3.3.2
# via flask-appbuilder
@@ -33,17 +33,27 @@ brotli==1.0.9
# via flask-compress
cachelib==0.4.1
# via apache-superset
-celery==4.4.7
+celery==5.2.2
# via apache-superset
cffi==1.14.6
# via cryptography
chardet==4.0.0
# via aiohttp
-click==7.1.2
+click==8.0.4
# via
# apache-superset
+ # celery
+ # click-didyoumean
+ # click-plugins
+ # click-repl
# flask
# flask-appbuilder
+click-didyoumean==0.3.0
+ # via celery
+click-plugins==1.1.1
+ # via celery
+click-repl==0.2.0
+ # via celery
colorama==0.4.4
# via
# apache-superset
@@ -56,15 +66,13 @@ croniter==1.0.15
# via apache-superset
cryptography==3.4.7
# via apache-superset
-defusedxml==0.7.1
- # via python3-openid
deprecation==2.1.0
# via apache-superset
dnspython==2.1.0
# via email-validator
email-validator==1.1.3
# via flask-appbuilder
-flask==1.1.4
+flask==2.0.3
# via
# apache-superset
# flask-appbuilder
@@ -74,10 +82,9 @@ flask==1.1.4
# flask-jwt-extended
# flask-login
# flask-migrate
- # flask-openid
# flask-sqlalchemy
# flask-wtf
-flask-appbuilder==3.4.5
+flask-appbuilder==4.0.0
# via apache-superset
flask-babel==1.0.0
# via flask-appbuilder
@@ -85,14 +92,12 @@ flask-caching==1.10.1
# via apache-superset
flask-compress==1.10.1
# via apache-superset
-flask-jwt-extended==3.25.1
+flask-jwt-extended==4.3.1
# via flask-appbuilder
flask-login==0.4.1
# via flask-appbuilder
flask-migrate==3.1.0
# via apache-superset
-flask-openid==1.3.0
- # via flask-appbuilder
flask-sqlalchemy==2.5.1
# via
# flask-appbuilder
@@ -113,6 +118,8 @@ graphlib-backport==1.0.3
# via apache-superset
gunicorn==20.1.0
# via apache-superset
+hashids==1.3.1
+ # via apache-superset
holidays==0.10.3
# via apache-superset
humanize==3.11.0
@@ -123,18 +130,17 @@ idna==3.2
# yarl
isodate==0.6.0
# via apache-superset
-itsdangerous==1.1.0
+itsdangerous==2.1.1
# via
- # apache-superset
# flask
# flask-wtf
-jinja2==2.11.3
+jinja2==3.0.3
# via
# flask
# flask-babel
jsonschema==3.2.0
# via flask-appbuilder
-kombu==4.6.11
+kombu==5.2.4
# via celery
korean-lunar-calendar==0.2.1
# via holidays
@@ -180,11 +186,13 @@ polyline==1.4.0
# via apache-superset
prison==0.2.1
# via flask-appbuilder
+prompt-toolkit==3.0.28
+ # via click-repl
pyarrow==5.0.0
# via apache-superset
pycparser==2.20
# via cffi
-pyjwt==1.7.1
+pyjwt==2.2.0
# via
# apache-superset
# flask-appbuilder
@@ -213,9 +221,7 @@ python-editor==1.0.4
# via alembic
python-geohash==0.8.5
# via apache-superset
-python3-openid==3.2.0
- # via flask-openid
-pytz==2021.1
+pytz==2021.3
# via
# babel
# celery
@@ -237,7 +243,7 @@ simplejson==3.17.3
six==1.16.0
# via
# bleach
- # flask-jwt-extended
+ # click-repl
# flask-talisman
# holidays
# isodate
@@ -273,13 +279,16 @@ typing-extensions==3.10.0.0
# apache-superset
urllib3==1.26.6
# via selenium
-vine==1.3.0
+vine==5.0.0
# via
# amqp
# celery
+ # kombu
+wcwidth==0.2.5
+ # via prompt-toolkit
webencodings==0.5.1
# via bleach
-werkzeug==1.0.1
+werkzeug==2.0.3
# via
# flask
# flask-jwt-extended
diff --git a/requirements/integration.in b/requirements/integration.in
index 763cb936e0f0a..eff495d881314 100644
--- a/requirements/integration.in
+++ b/requirements/integration.in
@@ -18,4 +18,4 @@ pip-compile-multi!=1.5.9
pre-commit
tox
py>=1.10.0
-click==7.1.2
+click
diff --git a/requirements/integration.txt b/requirements/integration.txt
index 79431b5dd57c5..edc39fb151267 100644
--- a/requirements/integration.txt
+++ b/requirements/integration.txt
@@ -1,4 +1,4 @@
-# SHA1:03eb2d96afe21f1bda1ab33b4cf84e670a1efe21
+# SHA1:8e2dd1e795bcad7451376b3653eb03465e4f05d3
#
# This file is autogenerated by pip-compile-multi
# To update, run:
@@ -9,7 +9,7 @@ backports.entry-points-selectable==1.1.0
# via virtualenv
cfgv==3.3.0
# via pre-commit
-click==7.1.2
+click==8.0.4
# via
# -r requirements/integration.in
# pip-compile-multi
diff --git a/requirements/testing.txt b/requirements/testing.txt
index a02d250526edc..3b1ce021873f5 100644
--- a/requirements/testing.txt
+++ b/requirements/testing.txt
@@ -116,8 +116,6 @@ pexpect==4.8.0
# via ipython
pickleshare==0.7.5
# via ipython
-prompt-toolkit==3.0.19
- # via ipython
proto-plus==1.19.7
# via
# google-cloud-bigquery
@@ -178,8 +176,6 @@ trino==0.306
# via sqlalchemy-trino
typing-inspect==0.7.1
# via libcst
-wcwidth==0.2.5
- # via prompt-toolkit
websocket-client==1.2.0
# via docker
diff --git a/scripts/benchmark_migration.py b/scripts/benchmark_migration.py
index 27670b5d4d729..baae8befec1bc 100644
--- a/scripts/benchmark_migration.py
+++ b/scripts/benchmark_migration.py
@@ -102,7 +102,10 @@ def find_models(module: ModuleType) -> List[Type[Model]]:
while tables:
table = tables.pop()
seen.add(table)
- model = getattr(Base.classes, table)
+ try:
+ model = getattr(Base.classes, table)
+ except AttributeError:
+ continue
model.__tablename__ = table
models.append(model)
diff --git a/scripts/cancel_github_workflows.py b/scripts/cancel_github_workflows.py
index 90087fa4f7366..720dc05cbef22 100755
--- a/scripts/cancel_github_workflows.py
+++ b/scripts/cancel_github_workflows.py
@@ -60,7 +60,8 @@ def request(
def list_runs(
- repo: str, params: Optional[Dict[str, str]] = None,
+ repo: str,
+ params: Optional[Dict[str, str]] = None,
) -> Iterator[Dict[str, Any]]:
"""List all github workflow runs.
Returns:
@@ -193,7 +194,11 @@ def cancel_github_workflows(
if branch and ":" in branch:
[user, branch] = branch.split(":", 2)
runs = get_runs(
- repo, branch=branch, user=user, statuses=statuses, events=events,
+ repo,
+ branch=branch,
+ user=user,
+ statuses=statuses,
+ events=events,
)
# sort old jobs to the front, so to cancel older jobs first
diff --git a/scripts/tests/run.sh b/scripts/tests/run.sh
index 9f78318b72b51..24233010107dd 100755
--- a/scripts/tests/run.sh
+++ b/scripts/tests/run.sh
@@ -138,5 +138,5 @@ fi
if [ $RUN_TESTS -eq 1 ]
then
- pytest -x -s "${TEST_MODULE}"
+ pytest --durations=0 --maxfail=1 "${TEST_MODULE}"
fi
diff --git a/setup.cfg b/setup.cfg
index 7f2f83c18e7db..6f667677ec810 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -41,7 +41,7 @@ disallow_untyped_calls = true
disallow_untyped_defs = true
ignore_missing_imports = true
no_implicit_optional = true
-warn_unused_ignores = true
+warn_unused_ignores = false
[mypy-superset.migrations.versions.*]
ignore_errors = true
diff --git a/setup.py b/setup.py
index 980fde8a83639..c7cdd2acd2185 100644
--- a/setup.py
+++ b/setup.py
@@ -23,8 +23,8 @@
from setuptools import find_packages, setup
BASE_DIR = os.path.abspath(os.path.dirname(__file__))
-
PACKAGE_JSON = os.path.join(BASE_DIR, "superset-frontend", "package.json")
+
with open(PACKAGE_JSON, "r") as package_file:
version_string = json.load(package_file)["version"]
@@ -70,15 +70,15 @@ def get_git_sha() -> str:
"backoff>=1.8.0",
"bleach>=3.0.2, <4.0.0",
"cachelib>=0.4.1,<0.5",
- "celery>=4.3.0, <5.0.0, !=4.4.1",
- "click<8",
+ "celery>=5.2.2, <6.0.0",
+ "click>=8.0.3",
"colorama",
"croniter>=0.3.28",
"cron-descriptor",
"cryptography>=3.3.2",
"deprecation>=2.1.0, <2.2.0",
- "flask>=1.1.0, <2.0.0",
- "flask-appbuilder>=3.4.5, <4.0.0",
+ "flask>=2.0.0, <3.0.0",
+ "flask-appbuilder>=4.0.0, <5.0.0",
"flask-caching>=1.10.0",
"flask-compress",
"flask-talisman",
@@ -88,9 +88,9 @@ def get_git_sha() -> str:
"geopy",
"graphlib-backport",
"gunicorn>=20.1.0",
+ "hashids>=1.3.1, <2",
"holidays==0.10.3", # PINNED! https://github.com/dr-prodigy/python-holidays/issues/406
"humanize",
- "itsdangerous>=1.0.0, <2.0.0", # https://github.com/apache/superset/pull/14627
"isodate",
"markdown>=3.0",
"msgpack>=1.0.0, <1.1",
@@ -104,13 +104,14 @@ def get_git_sha() -> str:
"python-geohash",
"pyarrow>=5.0.0, <6.0",
"pyyaml>=5.4",
- "PyJWT>=1.7.1, <2",
+ "PyJWT>=2.0.0, <2.3.0",
"redis",
"selenium>=3.141.0",
"simplejson>=3.15.0",
"slackclient==2.5.0", # PINNED! slack changes file upload api in the future versions
"sqlalchemy>=1.3.16, <1.4, !=1.3.21",
"sqlalchemy-utils>=0.37.8, <0.38",
+ "sqloxide==0.1.15",
"sqlparse==0.3.0", # PINNED! see https://github.com/andialbrecht/sqlparse/issues/562
"tabulate==0.8.9",
# needed to support Literal (3.8) and TypeGuard (3.10)
diff --git a/superset-embedded-sdk/package-lock.json b/superset-embedded-sdk/package-lock.json
index f440d613dfe91..cd52282c71c47 100644
--- a/superset-embedded-sdk/package-lock.json
+++ b/superset-embedded-sdk/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@superset-ui/embedded-sdk",
- "version": "0.1.0-alpha.3",
+ "version": "0.1.0-alpha.6",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@superset-ui/embedded-sdk",
- "version": "0.1.0-alpha.3",
+ "version": "0.1.0-alpha.6",
"license": "Apache-2.0",
"dependencies": {
"@superset-ui/switchboard": "^0.18.26-0"
diff --git a/superset-embedded-sdk/package.json b/superset-embedded-sdk/package.json
index 5bc4a287855e0..88642e72327f3 100644
--- a/superset-embedded-sdk/package.json
+++ b/superset-embedded-sdk/package.json
@@ -1,6 +1,6 @@
{
"name": "@superset-ui/embedded-sdk",
- "version": "0.1.0-alpha.5",
+ "version": "0.1.0-alpha.6",
"description": "SDK for embedding resources from Superset into your own application",
"access": "public",
"keywords": [
diff --git a/superset-embedded-sdk/src/index.ts b/superset-embedded-sdk/src/index.ts
index f6bebe54436cf..34932bd6250d7 100644
--- a/superset-embedded-sdk/src/index.ts
+++ b/superset-embedded-sdk/src/index.ts
@@ -104,6 +104,7 @@ export async function embedDashboard({
iframe.sandbox.add("allow-same-origin"); // needed for postMessage to work
iframe.sandbox.add("allow-scripts"); // obviously the iframe needs scripts
iframe.sandbox.add("allow-presentation"); // for fullscreen charts
+ iframe.sandbox.add("allow-downloads"); // for downloading charts as image
// add these ones if it turns out we need them:
// iframe.sandbox.add("allow-top-navigation");
// iframe.sandbox.add("allow-forms");
diff --git a/superset-frontend/.eslintrc.js b/superset-frontend/.eslintrc.js
index a1d1102694664..facd3431f4367 100644
--- a/superset-frontend/.eslintrc.js
+++ b/superset-frontend/.eslintrc.js
@@ -67,7 +67,7 @@ module.exports = {
version: 'detect',
},
},
- plugins: ['prettier', 'react', 'file-progress'],
+ plugins: ['prettier', 'react', 'file-progress', 'theme-colors'],
overrides: [
{
files: ['*.ts', '*.tsx'],
@@ -183,8 +183,27 @@ module.exports = {
'max-classes-per-file': 0,
},
},
+ {
+ files: [
+ '*.test.ts',
+ '*.test.tsx',
+ '*.test.js',
+ '*.test.jsx',
+ '*.stories.tsx',
+ '*.stories.jsx',
+ 'fixtures.*',
+ 'cypress-base/cypress/**/*',
+ 'Stories.tsx',
+ 'packages/superset-ui-core/src/style/index.tsx',
+ ],
+ rules: {
+ 'theme-colors/no-literal-colors': 0,
+ 'no-restricted-imports': 0,
+ },
+ },
],
rules: {
+ 'theme-colors/no-literal-colors': 1,
camelcase: [
'error',
{
diff --git a/superset-frontend/.storybook/main.js b/superset-frontend/.storybook/main.js
index a344d20f4c292..caa68983579ab 100644
--- a/superset-frontend/.storybook/main.js
+++ b/superset-frontend/.storybook/main.js
@@ -33,6 +33,7 @@ module.exports = {
'@storybook/addon-knobs',
'storybook-addon-paddings',
],
+ staticDirs: ['../src/assets/images'],
webpackFinal: config => ({
...config,
module: {
diff --git a/superset-frontend/package-lock.json b/superset-frontend/package-lock.json
index fbdb99125958d..59582524ea16a 100644
--- a/superset-frontend/package-lock.json
+++ b/superset-frontend/package-lock.json
@@ -159,15 +159,15 @@
"@emotion/jest": "^11.3.0",
"@hot-loader/react-dom": "^16.13.0",
"@istanbuljs/nyc-config-typescript": "^1.0.1",
- "@storybook/addon-actions": "^6.3.12",
- "@storybook/addon-essentials": "^6.3.12",
+ "@storybook/addon-actions": "^6.4.19",
+ "@storybook/addon-essentials": "^6.4.19",
"@storybook/addon-knobs": "^6.3.1",
- "@storybook/addon-links": "^6.3.12",
- "@storybook/addons": "^6.3.12",
- "@storybook/builder-webpack5": "^6.3.12",
- "@storybook/client-api": "^6.3.12",
- "@storybook/manager-webpack5": "^6.3.12",
- "@storybook/react": "^6.3.12",
+ "@storybook/addon-links": "^6.4.19",
+ "@storybook/addons": "^6.4.19",
+ "@storybook/builder-webpack5": "^6.4.19",
+ "@storybook/client-api": "^6.4.19",
+ "@storybook/manager-webpack5": "^6.4.19",
+ "@storybook/react": "^6.4.19",
"@svgr/webpack": "^5.5.0",
"@testing-library/dom": "^7.29.4",
"@testing-library/jest-dom": "^5.11.6",
@@ -232,6 +232,7 @@
"eslint-plugin-react": "^7.22.0",
"eslint-plugin-react-hooks": "^4.2.0",
"eslint-plugin-testing-library": "^3.10.1",
+ "eslint-plugin-theme-colors": "file:tools/eslint-plugin-theme-colors",
"exports-loader": "^0.7.0",
"fetch-mock": "^7.7.3",
"fork-ts-checker-webpack-plugin": "^6.3.3",
@@ -277,6 +278,18 @@
"npm": "^7.5.4"
}
},
+ "buildtools/eslint-plugin-theme-colors": {
+ "version": "1.0.0",
+ "extraneous": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "lodash": "^4.17.21"
+ },
+ "engines": {
+ "node": "^16.9.1",
+ "npm": "^7.5.4"
+ }
+ },
"node_modules/@actions/core": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.6.0.tgz",
@@ -5276,7 +5289,6 @@
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
"integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
- "dev": true,
"dependencies": {
"@types/istanbul-lib-coverage": "^2.0.0",
"@types/istanbul-reports": "^3.0.0",
@@ -5292,7 +5304,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz",
"integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==",
- "dev": true,
"dependencies": {
"@types/istanbul-lib-report": "*"
}
@@ -6279,35 +6290,6 @@
"node": ">=10"
}
},
- "node_modules/@lerna/create/node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@lerna/create/node_modules/ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/@lerna/create/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -7331,35 +7313,6 @@
"node": ">= 10.18.0"
}
},
- "node_modules/@lerna/project/node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@lerna/project/node_modules/ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/@lerna/project/node_modules/load-json-file": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz",
@@ -7402,15 +7355,6 @@
"node": ">=8"
}
},
- "node_modules/@lerna/project/node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@lerna/project/node_modules/strip-bom": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
@@ -8632,9 +8576,9 @@
}
},
"node_modules/@mdx-js/mdx/node_modules/debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dependencies": {
"ms": "2.1.2"
},
@@ -9941,93 +9885,6 @@
"@octokit/openapi-types": "^11.2.0"
}
},
- "node_modules/@pmmmwh/react-refresh-webpack-plugin": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz",
- "integrity": "sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==",
- "dependencies": {
- "ansi-html": "^0.0.7",
- "error-stack-parser": "^2.0.6",
- "html-entities": "^1.2.1",
- "native-url": "^0.2.6",
- "schema-utils": "^2.6.5",
- "source-map": "^0.7.3"
- },
- "engines": {
- "node": ">= 10.x"
- },
- "peerDependencies": {
- "@types/webpack": "4.x",
- "react-refresh": ">=0.8.3 <0.10.0",
- "sockjs-client": "^1.4.0",
- "type-fest": "^0.13.1",
- "webpack": ">=4.43.0 <6.0.0",
- "webpack-dev-server": "3.x",
- "webpack-hot-middleware": "2.x",
- "webpack-plugin-serve": "0.x || 1.x"
- },
- "peerDependenciesMeta": {
- "@types/webpack": {
- "optional": true
- },
- "sockjs-client": {
- "optional": true
- },
- "type-fest": {
- "optional": true
- },
- "webpack-dev-server": {
- "optional": true
- },
- "webpack-hot-middleware": {
- "optional": true
- },
- "webpack-plugin-serve": {
- "optional": true
- }
- }
- },
- "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/ansi-html": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
- "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
- "engines": [
- "node >= 0.8.0"
- ],
- "bin": {
- "ansi-html": "bin/ansi-html"
- }
- },
- "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/html-entities": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz",
- "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA=="
- },
- "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/schema-utils": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
- "dependencies": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 8.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/@polka/url": {
"version": "1.0.0-next.20",
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.20.tgz",
@@ -10155,16 +10012,16 @@
"dev": true
},
"node_modules/@storybook/addon-actions": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.4.9.tgz",
- "integrity": "sha512-L1N66p/vr+wPUBfrH3qffjNAcWSS/wvuL370T7cWxALA9LLA8yY9U2EpITc5btuCC5QOxApCeyHkFnrBhNa94g==",
- "dependencies": {
- "@storybook/addons": "6.4.9",
- "@storybook/api": "6.4.9",
- "@storybook/components": "6.4.9",
- "@storybook/core-events": "6.4.9",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.4.19.tgz",
+ "integrity": "sha512-GpSvP8xV8GfNkmtGJjfCgaOx6mbjtyTK0aT9FqX9pU0s+KVMmoCTrBh43b7dWrwxxas01yleBK9VpYggzhi/Fw==",
+ "dependencies": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
"@storybook/csf": "0.0.2--canary.87bc651.0",
- "@storybook/theming": "6.4.9",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
@@ -10195,110 +10052,18 @@
}
}
},
- "node_modules/@storybook/addon-actions/node_modules/@storybook/addons": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.4.9.tgz",
- "integrity": "sha512-y+oiN2zd+pbRWwkf6aQj4tPDFn+rQkrv7fiVoMxsYub+kKyZ3CNOuTSJH+A1A+eBL6DmzocChUyO6jvZFuh6Dg==",
- "dependencies": {
- "@storybook/api": "6.4.9",
- "@storybook/channels": "6.4.9",
- "@storybook/client-logger": "6.4.9",
- "@storybook/core-events": "6.4.9",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
- "@storybook/router": "6.4.9",
- "@storybook/theming": "6.4.9",
- "@types/webpack-env": "^1.16.0",
- "core-js": "^3.8.2",
- "global": "^4.4.0",
- "regenerator-runtime": "^0.13.7"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0"
- }
- },
- "node_modules/@storybook/addon-actions/node_modules/@storybook/addons/node_modules/@storybook/router": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.9.tgz",
- "integrity": "sha512-GT2KtVHo/mBjxDBFB5ZtVJVf8vC+3p5kRlQC4jao68caVp7H24ikPOkcY54VnQwwe4A1aXpGbJXUyTisEPFlhQ==",
- "dependencies": {
- "@storybook/client-logger": "6.4.9",
- "core-js": "^3.8.2",
- "fast-deep-equal": "^3.1.3",
- "global": "^4.4.0",
- "history": "5.0.0",
- "lodash": "^4.17.21",
- "memoizerific": "^1.11.3",
- "qs": "^6.10.0",
- "react-router": "^6.0.0",
- "react-router-dom": "^6.0.0",
- "ts-dedent": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0"
- }
- },
- "node_modules/@storybook/addon-actions/node_modules/@storybook/addons/node_modules/@storybook/router/node_modules/react-router": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.1.tgz",
- "integrity": "sha512-2fG0udBtxou9lXtK97eJeET2ki5//UWfQSl1rlJ7quwe6jrktK9FCCc8dQb5QY6jAv3jua8bBQRhhDOM/kVRsg==",
- "dependencies": {
- "history": "^5.2.0"
- },
- "peerDependencies": {
- "react": ">=16.8"
- }
- },
- "node_modules/@storybook/addon-actions/node_modules/@storybook/addons/node_modules/@storybook/router/node_modules/react-router-dom": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.1.tgz",
- "integrity": "sha512-I6Zax+/TH/cZMDpj3/4Fl2eaNdcvoxxHoH1tYOREsQ22OKDYofGebrNm6CTPUcvLvZm63NL/vzCYdjf9CUhqmA==",
- "dependencies": {
- "history": "^5.2.0",
- "react-router": "6.2.1"
- },
- "peerDependencies": {
- "react": ">=16.8",
- "react-dom": ">=16.8"
- }
- },
- "node_modules/@storybook/addon-actions/node_modules/@storybook/addons/node_modules/@storybook/router/node_modules/react-router-dom/node_modules/history": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/history/-/history-5.2.0.tgz",
- "integrity": "sha512-uPSF6lAJb3nSePJ43hN3eKj1dTWpN9gMod0ZssbFTIsen+WehTmEadgL+kg78xLJFdRfrrC//SavDzmRVdE+Ig==",
- "dependencies": {
- "@babel/runtime": "^7.7.6"
- }
- },
- "node_modules/@storybook/addon-actions/node_modules/@storybook/addons/node_modules/@storybook/router/node_modules/react-router/node_modules/history": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/history/-/history-5.2.0.tgz",
- "integrity": "sha512-uPSF6lAJb3nSePJ43hN3eKj1dTWpN9gMod0ZssbFTIsen+WehTmEadgL+kg78xLJFdRfrrC//SavDzmRVdE+Ig==",
- "dependencies": {
- "@babel/runtime": "^7.7.6"
- }
- },
"node_modules/@storybook/addon-actions/node_modules/@storybook/api": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.9.tgz",
- "integrity": "sha512-U+YKcDQg8xal9sE5eSMXB9vcqk8fD1pSyewyAjjbsW5hV0B3L3i4u7z/EAD9Ujbnor+Cvxq+XGvp+Qnc5Gd40A==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
"dependencies": {
- "@storybook/channels": "6.4.9",
- "@storybook/client-logger": "6.4.9",
- "@storybook/core-events": "6.4.9",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
"@storybook/csf": "0.0.2--canary.87bc651.0",
- "@storybook/router": "6.4.9",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.4.9",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
@@ -10320,11 +10085,11 @@
}
},
"node_modules/@storybook/addon-actions/node_modules/@storybook/api/node_modules/@storybook/router": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.9.tgz",
- "integrity": "sha512-GT2KtVHo/mBjxDBFB5ZtVJVf8vC+3p5kRlQC4jao68caVp7H24ikPOkcY54VnQwwe4A1aXpGbJXUyTisEPFlhQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"dependencies": {
- "@storybook/client-logger": "6.4.9",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
@@ -10346,9 +10111,9 @@
}
},
"node_modules/@storybook/addon-actions/node_modules/@storybook/api/node_modules/@storybook/router/node_modules/react-router": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.1.tgz",
- "integrity": "sha512-2fG0udBtxou9lXtK97eJeET2ki5//UWfQSl1rlJ7quwe6jrktK9FCCc8dQb5QY6jAv3jua8bBQRhhDOM/kVRsg==",
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
"dependencies": {
"history": "^5.2.0"
},
@@ -10357,12 +10122,12 @@
}
},
"node_modules/@storybook/addon-actions/node_modules/@storybook/api/node_modules/@storybook/router/node_modules/react-router-dom": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.1.tgz",
- "integrity": "sha512-I6Zax+/TH/cZMDpj3/4Fl2eaNdcvoxxHoH1tYOREsQ22OKDYofGebrNm6CTPUcvLvZm63NL/vzCYdjf9CUhqmA==",
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
"dependencies": {
"history": "^5.2.0",
- "react-router": "6.2.1"
+ "react-router": "6.2.2"
},
"peerDependencies": {
"react": ">=16.8",
@@ -10370,25 +10135,25 @@
}
},
"node_modules/@storybook/addon-actions/node_modules/@storybook/api/node_modules/@storybook/router/node_modules/react-router-dom/node_modules/history": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/history/-/history-5.2.0.tgz",
- "integrity": "sha512-uPSF6lAJb3nSePJ43hN3eKj1dTWpN9gMod0ZssbFTIsen+WehTmEadgL+kg78xLJFdRfrrC//SavDzmRVdE+Ig==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
"dependencies": {
"@babel/runtime": "^7.7.6"
}
},
"node_modules/@storybook/addon-actions/node_modules/@storybook/api/node_modules/@storybook/router/node_modules/react-router/node_modules/history": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/history/-/history-5.2.0.tgz",
- "integrity": "sha512-uPSF6lAJb3nSePJ43hN3eKj1dTWpN9gMod0ZssbFTIsen+WehTmEadgL+kg78xLJFdRfrrC//SavDzmRVdE+Ig==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
"dependencies": {
"@babel/runtime": "^7.7.6"
}
},
"node_modules/@storybook/addon-actions/node_modules/@storybook/channels": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.9.tgz",
- "integrity": "sha512-DNW1qDg+1WFS2aMdGh658WJXh8xBXliO5KAn0786DKcWCsKjfsPPQg/QCHczHK0+s5SZyzQT5aOBb4kTRHELQA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"dependencies": {
"core-js": "^3.8.2",
"ts-dedent": "^2.0.0",
@@ -10400,9 +10165,9 @@
}
},
"node_modules/@storybook/addon-actions/node_modules/@storybook/client-logger": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.9.tgz",
- "integrity": "sha512-BVagmmHcuKDZ/XROADfN3tiolaDW2qG0iLmDhyV1gONnbGE6X5Qm19Jt2VYu3LvjKF1zMPSWm4mz7HtgdwKbuQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"dependencies": {
"core-js": "^3.8.2",
"global": "^4.4.0"
@@ -10413,14 +10178,14 @@
}
},
"node_modules/@storybook/addon-actions/node_modules/@storybook/components": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.9.tgz",
- "integrity": "sha512-uOUR97S6kjptkMCh15pYNM1vAqFXtpyneuonmBco5vADJb3ds0n2a8NeVd+myIbhIXn55x0OHKiSwBH/u7swCQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dependencies": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.4.9",
+ "@storybook/client-logger": "6.4.19",
"@storybook/csf": "0.0.2--canary.87bc651.0",
- "@storybook/theming": "6.4.9",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -10467,9 +10232,9 @@
}
},
"node_modules/@storybook/addon-actions/node_modules/@storybook/core-events": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.9.tgz",
- "integrity": "sha512-YhU2zJr6wzvh5naYYuy/0UKNJ/SaXu73sIr0Tx60ur3bL08XkRg7eZ9vBhNBTlAa35oZqI0iiGCh0ljiX7yEVQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"dependencies": {
"core-js": "^3.8.2"
},
@@ -10487,14 +10252,14 @@
}
},
"node_modules/@storybook/addon-actions/node_modules/@storybook/theming": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.9.tgz",
- "integrity": "sha512-Do6GH6nKjxfnBg6djcIYAjss5FW9SRKASKxLYxX2RyWJBpz0m/8GfcGcRyORy0yFTk6jByA3Hs+WFH3GnEbWkw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dependencies": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.4.9",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -10566,20 +10331,20 @@
}
},
"node_modules/@storybook/addon-actions/node_modules/polished": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.3.tgz",
- "integrity": "sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.4.tgz",
+ "integrity": "sha512-Nq5Mbza+Auo7N3sQb1QMFaQiDO+4UexWuSGR7Cjb4Sw11SZIJcrrFtiZ+L0jT9MBsUsxDboHVASbCLbE1rnECg==",
"dependencies": {
- "@babel/runtime": "^7.14.0"
+ "@babel/runtime": "^7.16.7"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@storybook/addon-actions/node_modules/qs": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.2.tgz",
- "integrity": "sha512-mSIdjzqznWgfd4pMii7sHtaYF8rx8861hBO80SraY5GT0XQibWZWJSid0avzHGkDIZLImux2S5mXO0Hfct2QCw==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"dependencies": {
"side-channel": "^1.0.4"
},
@@ -10599,24 +10364,24 @@
}
},
"node_modules/@storybook/addon-essentials": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-6.3.12.tgz",
- "integrity": "sha512-PK0pPE0xkq00kcbBcFwu/5JGHQTu4GvLIHfwwlEGx6GWNQ05l6Q+1Z4nE7xJGv2PSseSx3CKcjn8qykNLe6O6g==",
- "dev": true,
- "dependencies": {
- "@storybook/addon-actions": "6.3.12",
- "@storybook/addon-backgrounds": "6.3.12",
- "@storybook/addon-controls": "6.3.12",
- "@storybook/addon-docs": "6.3.12",
- "@storybook/addon-measure": "^2.0.0",
- "@storybook/addon-toolbars": "6.3.12",
- "@storybook/addon-viewport": "6.3.12",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/node-logger": "6.3.12",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-6.4.19.tgz",
+ "integrity": "sha512-vbV8sjepMVEuwhTDBHjO3E6vXluG7RiEeozV1QVuS9lGhjQdvUPdZ9rDNUcP6WHhTdEkS/ffTMaGIy1v8oZd7g==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/addon-actions": "6.4.19",
+ "@storybook/addon-backgrounds": "6.4.19",
+ "@storybook/addon-controls": "6.4.19",
+ "@storybook/addon-docs": "6.4.19",
+ "@storybook/addon-measure": "6.4.19",
+ "@storybook/addon-outline": "6.4.19",
+ "@storybook/addon-toolbars": "6.4.19",
+ "@storybook/addon-viewport": "6.4.19",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
"core-js": "^3.8.2",
"regenerator-runtime": "^0.13.7",
- "storybook-addon-outline": "^1.4.1",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -10625,8 +10390,8 @@
},
"peerDependencies": {
"@babel/core": "^7.9.6",
- "@storybook/vue": "6.3.12",
- "@storybook/web-components": "6.3.12",
+ "@storybook/vue": "6.4.19",
+ "@storybook/web-components": "6.4.19",
"babel-loader": "^8.0.0",
"lit-html": "^1.4.1 || ^2.0.0-rc.3",
"react": "^16.8.0 || ^17.0.0",
@@ -10654,29 +10419,31 @@
}
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-actions": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.3.12.tgz",
- "integrity": "sha512-mzuN4Ano4eyicwycM2PueGzzUCAEzt9/6vyptWEIVJu0sjK0J9KtBRlqFi1xGQxmCfimDR/n/vWBBkc7fp2uJA==",
+ "node_modules/@storybook/addon-essentials/node_modules/@base2/pretty-print-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz",
+ "integrity": "sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==",
+ "dev": true
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-backgrounds": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-6.4.19.tgz",
+ "integrity": "sha512-yn8MTE7lctO48Rdw+DmmA1wKdf5eyAbA/vrug5ske/U2WPgGc65sApzwT8BItZfuyAMjuT5RnCWwd7o6hGRgGQ==",
"dev": true,
"dependencies": {
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/theming": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
- "fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "polished": "^4.0.5",
- "prop-types": "^15.7.2",
- "react-inspector": "^5.1.0",
+ "memoizerific": "^1.11.3",
"regenerator-runtime": "^0.13.7",
"ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2",
- "uuid-browser": "^3.1.0"
+ "util-deprecate": "^1.0.2"
},
"funding": {
"type": "opencollective",
@@ -10695,16 +10462,16 @@
}
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-actions/node_modules/@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-backgrounds/node_modules/@storybook/components": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dev": true,
"dependencies": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -10712,7 +10479,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -10735,7 +10502,7 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-actions/node_modules/@storybook/components/node_modules/react-syntax-highlighter": {
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-backgrounds/node_modules/@storybook/components/node_modules/react-syntax-highlighter": {
"version": "13.5.3",
"resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
"integrity": "sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==",
@@ -10751,16 +10518,16 @@
"react": ">= 0.14.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-actions/node_modules/@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-backgrounds/node_modules/@storybook/theming": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dev": true,
"dependencies": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -10779,7 +10546,7 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-actions/node_modules/@storybook/theming/node_modules/@emotion/styled": {
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-backgrounds/node_modules/@storybook/theming/node_modules/@emotion/styled": {
"version": "10.3.0",
"resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
"integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
@@ -10793,7 +10560,7 @@
"react": ">=16.3.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-actions/node_modules/@storybook/theming/node_modules/@emotion/styled/node_modules/@emotion/styled-base": {
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-backgrounds/node_modules/@storybook/theming/node_modules/@emotion/styled/node_modules/@emotion/styled-base": {
"version": "10.3.0",
"resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
"integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
@@ -10809,24 +10576,24 @@
"react": ">=16.3.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-backgrounds": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-6.3.12.tgz",
- "integrity": "sha512-51cHBx0HV7K/oRofJ/1pE05qti6sciIo8m4iPred1OezXIrJ/ckzP+gApdaUdzgcLAr6/MXQWLk0sJuImClQ6w==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-6.4.19.tgz",
+ "integrity": "sha512-JHi5z9i6NsgQLfG5WOeQE1AyOrM+QJLrjT+uOYx40bq+OC1yWHH7qHiphPP8kjJJhCZlaQk1qqXYkkQXgaeHSw==",
"dev": true,
"dependencies": {
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/theming": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/store": "6.4.19",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
- "global": "^4.4.0",
- "memoizerific": "^1.11.3",
- "regenerator-runtime": "^0.13.7",
- "ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2"
+ "lodash": "^4.17.21",
+ "ts-dedent": "^2.0.0"
},
"funding": {
"type": "opencollective",
@@ -10845,16 +10612,16 @@
}
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-backgrounds/node_modules/@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls/node_modules/@storybook/components": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dev": true,
"dependencies": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -10862,7 +10629,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -10885,7 +10652,7 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-backgrounds/node_modules/@storybook/components/node_modules/react-syntax-highlighter": {
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls/node_modules/@storybook/components/node_modules/react-syntax-highlighter": {
"version": "13.5.3",
"resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
"integrity": "sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==",
@@ -10901,62 +10668,61 @@
"react": ">= 0.14.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-backgrounds/node_modules/@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls/node_modules/@storybook/core-common": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.4.19.tgz",
+ "integrity": "sha512-X1pJJkO48DFxl6iyEemIKqRkJ7j9/cBh3BRBUr+xZHXBvnD0GKDXIocwh0PjSxSC6XSu3UCQnqtKi3PbjRl8Dg==",
"dev": true,
"dependencies": {
- "@emotion/core": "^10.1.1",
- "@emotion/is-prop-valid": "^0.8.6",
- "@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@babel/core": "^7.12.10",
+ "@babel/plugin-proposal-class-properties": "^7.12.1",
+ "@babel/plugin-proposal-decorators": "^7.12.12",
+ "@babel/plugin-proposal-export-default-from": "^7.12.1",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
+ "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
+ "@babel/plugin-proposal-optional-chaining": "^7.12.7",
+ "@babel/plugin-proposal-private-methods": "^7.12.1",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-transform-arrow-functions": "^7.12.1",
+ "@babel/plugin-transform-block-scoping": "^7.12.12",
+ "@babel/plugin-transform-classes": "^7.12.1",
+ "@babel/plugin-transform-destructuring": "^7.12.1",
+ "@babel/plugin-transform-for-of": "^7.12.1",
+ "@babel/plugin-transform-parameters": "^7.12.1",
+ "@babel/plugin-transform-shorthand-properties": "^7.12.1",
+ "@babel/plugin-transform-spread": "^7.12.1",
+ "@babel/preset-env": "^7.12.11",
+ "@babel/preset-react": "^7.12.10",
+ "@babel/preset-typescript": "^7.12.7",
+ "@babel/register": "^7.12.1",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/semver": "^7.3.2",
+ "@types/node": "^14.0.10",
+ "@types/pretty-hrtime": "^1.0.0",
+ "babel-loader": "^8.0.0",
+ "babel-plugin-macros": "^3.0.1",
+ "babel-plugin-polyfill-corejs3": "^0.1.0",
+ "chalk": "^4.1.0",
"core-js": "^3.8.2",
- "deep-object-diff": "^1.1.0",
- "emotion-theming": "^10.0.27",
- "global": "^4.4.0",
- "memoizerific": "^1.11.3",
- "polished": "^4.0.5",
+ "express": "^4.17.1",
+ "file-system-cache": "^1.0.5",
+ "find-up": "^5.0.0",
+ "fork-ts-checker-webpack-plugin": "^6.0.4",
+ "fs-extra": "^9.0.1",
+ "glob": "^7.1.6",
+ "handlebars": "^4.7.7",
+ "interpret": "^2.2.0",
+ "json5": "^2.1.3",
+ "lazy-universal-dotenv": "^3.0.1",
+ "picomatch": "^2.3.0",
+ "pkg-dir": "^5.0.0",
+ "pretty-hrtime": "^1.0.3",
"resolve-from": "^5.0.0",
- "ts-dedent": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-backgrounds/node_modules/@storybook/theming/node_modules/@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
- "dev": true,
- "dependencies": {
- "@emotion/styled-base": "^10.0.27",
- "babel-plugin-emotion": "^10.0.27"
- },
- "peerDependencies": {
- "@emotion/core": "^10.0.27",
- "react": ">=16.3.0"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-6.3.12.tgz",
- "integrity": "sha512-WO/PbygE4sDg3BbstJ49q0uM3Xu5Nw4lnHR5N4hXSvRAulZt1d1nhphRTHjfX+CW+uBcfzkq9bksm6nKuwmOyw==",
- "dev": true,
- "dependencies": {
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/theming": "6.3.12",
- "core-js": "^3.8.2",
- "ts-dedent": "^2.0.0"
+ "slash": "^3.0.0",
+ "telejson": "^5.3.2",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2",
+ "webpack": "4"
},
"funding": {
"type": "opencollective",
@@ -10967,42 +10733,30 @@
"react-dom": "^16.8.0 || ^17.0.0"
},
"peerDependenciesMeta": {
- "react": {
- "optional": true
- },
- "react-dom": {
+ "typescript": {
"optional": true
}
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls/node_modules/@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls/node_modules/@storybook/store": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.4.19.tgz",
+ "integrity": "sha512-N9/ZjemRHGfT3InPIbqQqc6snkcfnf3Qh9oOr0smbfaVGJol//KOX65kzzobtzFcid0WxtTDZ3HmgFVH+GvuhQ==",
"dev": true,
"dependencies": {
- "@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
- "@types/color-convert": "^2.0.0",
- "@types/overlayscrollbars": "^1.12.0",
- "@types/react-syntax-highlighter": "11.0.5",
- "color-convert": "^2.0.1",
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^7.1.3",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "overlayscrollbars": "^1.13.1",
- "polished": "^4.0.5",
- "prop-types": "^15.7.2",
- "react-colorful": "^5.1.2",
- "react-popper-tooltip": "^3.1.1",
- "react-syntax-highlighter": "^13.5.3",
- "react-textarea-autosize": "^8.3.0",
"regenerator-runtime": "^0.13.7",
+ "slash": "^3.0.0",
+ "stable": "^0.1.8",
+ "synchronous-promise": "^2.0.15",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2"
},
@@ -11015,32 +10769,16 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls/node_modules/@storybook/components/node_modules/react-syntax-highlighter": {
- "version": "13.5.3",
- "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
- "integrity": "sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==",
- "dev": true,
- "dependencies": {
- "@babel/runtime": "^7.3.1",
- "highlight.js": "^10.1.1",
- "lowlight": "^1.14.0",
- "prismjs": "^1.21.0",
- "refractor": "^3.1.0"
- },
- "peerDependencies": {
- "react": ">= 0.14.0"
- }
- },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls/node_modules/@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dev": true,
"dependencies": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -11060,12 +10798,12 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls/node_modules/@storybook/theming/node_modules/@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dev": true,
"dependencies": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
},
"peerDependencies": {
@@ -11073,10 +10811,151 @@
"react": ">=16.3.0"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls/node_modules/@storybook/theming/node_modules/@emotion/styled/node_modules/@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.28",
+ "react": ">=16.3.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls/node_modules/acorn": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
+ "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls/node_modules/babel-plugin-macros": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
+ "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "cosmiconfig": "^7.0.0",
+ "resolve": "^1.19.0"
+ },
+ "engines": {
+ "node": ">=10",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls/node_modules/loader-utils": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+ "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "dev": true,
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls/node_modules/loader-utils/node_modules/json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "dependencies": {
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls/node_modules/terser-webpack-plugin": {
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
+ "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
+ "dev": true,
+ "dependencies": {
+ "cacache": "^12.0.2",
+ "find-cache-dir": "^2.1.0",
+ "is-wsl": "^1.1.0",
+ "schema-utils": "^1.0.0",
+ "serialize-javascript": "^4.0.0",
+ "source-map": "^0.6.1",
+ "terser": "^4.1.2",
+ "webpack-sources": "^1.4.0",
+ "worker-farm": "^1.7.0"
+ },
+ "engines": {
+ "node": ">= 6.9.0"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-controls/node_modules/webpack": {
+ "version": "4.46.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
+ "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-module-context": "1.9.0",
+ "@webassemblyjs/wasm-edit": "1.9.0",
+ "@webassemblyjs/wasm-parser": "1.9.0",
+ "acorn": "^6.4.1",
+ "ajv": "^6.10.2",
+ "ajv-keywords": "^3.4.1",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^4.5.0",
+ "eslint-scope": "^4.0.3",
+ "json-parse-better-errors": "^1.0.2",
+ "loader-runner": "^2.4.0",
+ "loader-utils": "^1.2.3",
+ "memory-fs": "^0.4.1",
+ "micromatch": "^3.1.10",
+ "mkdirp": "^0.5.3",
+ "neo-async": "^2.6.1",
+ "node-libs-browser": "^2.2.1",
+ "schema-utils": "^1.0.0",
+ "tapable": "^1.1.3",
+ "terser-webpack-plugin": "^1.4.3",
+ "watchpack": "^1.7.4",
+ "webpack-sources": "^1.4.1"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=6.11.5"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ },
+ "webpack-command": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-6.3.12.tgz",
- "integrity": "sha512-iUrqJBMTOn2PgN8AWNQkfxfIPkh8pEg27t8UndMgfOpeGK/VWGw2UEifnA82flvntcilT4McxmVbRHkeBY9K5A==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-6.4.19.tgz",
+ "integrity": "sha512-OEPyx/5ZXmZOPqIAWoPjlIP8Q/YfNjAmBosA8tmA8t5KCSiq/vpLcAvQhxqK6n0wk/B8Xp67Z8RpLfXjU8R3tw==",
"dev": true,
"dependencies": {
"@babel/core": "^7.12.10",
@@ -11088,20 +10967,21 @@
"@mdx-js/loader": "^1.6.22",
"@mdx-js/mdx": "^1.6.22",
"@mdx-js/react": "^1.6.22",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/builder-webpack4": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/csf-tools": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/postinstall": "6.3.12",
- "@storybook/source-loader": "6.3.12",
- "@storybook/theming": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/builder-webpack4": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf-tools": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/postinstall": "6.4.19",
+ "@storybook/preview-web": "6.4.19",
+ "@storybook/source-loader": "6.4.19",
+ "@storybook/store": "6.4.19",
+ "@storybook/theming": "6.4.19",
"acorn": "^7.4.1",
"acorn-jsx": "^5.3.1",
"acorn-walk": "^7.2.0",
@@ -11113,11 +10993,12 @@
"html-tags": "^3.1.0",
"js-string-escape": "^1.0.1",
"loader-utils": "^2.0.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
+ "nanoid": "^3.1.23",
"p-limit": "^3.1.0",
- "prettier": "~2.2.1",
+ "prettier": ">=2.2.1 <=2.3.0",
"prop-types": "^15.7.2",
- "react-element-to-jsx-string": "^14.3.2",
+ "react-element-to-jsx-string": "^14.3.4",
"regenerator-runtime": "^0.13.7",
"remark-external-links": "^8.0.0",
"remark-slug": "^6.0.0",
@@ -11129,12 +11010,14 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "@storybook/angular": "6.3.12",
- "@storybook/vue": "6.3.12",
- "@storybook/vue3": "6.3.12",
- "@storybook/web-components": "6.3.12",
- "lit": "^2.0.0-rc.1",
- "lit-html": "^1.4.1 || ^2.0.0-rc.3",
+ "@storybook/angular": "6.4.19",
+ "@storybook/html": "6.4.19",
+ "@storybook/react": "6.4.19",
+ "@storybook/vue": "6.4.19",
+ "@storybook/vue3": "6.4.19",
+ "@storybook/web-components": "6.4.19",
+ "lit": "^2.0.0",
+ "lit-html": "^1.4.1 || ^2.0.0",
"react": "^16.8.0 || ^17.0.0",
"react-dom": "^16.8.0 || ^17.0.0",
"svelte": "^3.31.2",
@@ -11146,6 +11029,12 @@
"@storybook/angular": {
"optional": true
},
+ "@storybook/html": {
+ "optional": true
+ },
+ "@storybook/react": {
+ "optional": true
+ },
"@storybook/vue": {
"optional": true
},
@@ -11195,9 +11084,9 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.3.12.tgz",
- "integrity": "sha512-Dlm5Fc1svqpFDnVPZdAaEBiM/IDZHMV3RfEGbUTY/ZC0q8b/Ug1czzp/w0aTIjOFRuBDcG6IcplikaqHL8CJLg==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.4.19.tgz",
+ "integrity": "sha512-wxA6SMH11duc9D53aeVVBwrVRemFIoxHp/dOugkkg6ZZFAb4ZmWzf/ENc3vQIZdZpfNRi7IZIZEOfoHc994cmw==",
"dev": true,
"dependencies": {
"@babel/core": "^7.12.10",
@@ -11221,34 +11110,34 @@
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channel-postmessage": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/preview-web": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@storybook/ui": "6.3.12",
+ "@storybook/store": "6.4.19",
+ "@storybook/theming": "6.4.19",
+ "@storybook/ui": "6.4.19",
"@types/node": "^14.0.10",
"@types/webpack": "^4.41.26",
"autoprefixer": "^9.8.6",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^2.8.0",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"case-sensitive-paths-webpack-plugin": "^2.3.0",
"core-js": "^3.8.2",
"css-loader": "^3.6.0",
- "dotenv-webpack": "^1.8.0",
"file-loader": "^6.2.0",
"find-up": "^5.0.0",
"fork-ts-checker-webpack-plugin": "^4.1.6",
- "fs-extra": "^9.0.1",
"glob": "^7.1.6",
"glob-promise": "^3.4.0",
"global": "^4.4.0",
@@ -11258,7 +11147,6 @@
"postcss-flexbugs-fixes": "^4.2.1",
"postcss-loader": "^4.2.0",
"raw-loader": "^4.0.2",
- "react-dev-utils": "^11.0.3",
"stable": "^0.1.8",
"style-loader": "^1.3.0",
"terser-webpack-plugin": "^4.2.3",
@@ -11268,7 +11156,7 @@
"webpack": "4",
"webpack-dev-middleware": "^3.7.3",
"webpack-filter-warnings-plugin": "^1.2.1",
- "webpack-hot-middleware": "^2.25.0",
+ "webpack-hot-middleware": "^2.25.1",
"webpack-virtual-modules": "^0.2.2"
},
"funding": {
@@ -11286,9 +11174,9 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/@storybook/core-common": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.3.12.tgz",
- "integrity": "sha512-xlHs2QXELq/moB4MuXjYOczaxU64BIseHsnFBLyboJYN6Yso3qihW5RB7cuJlGohkjb4JwY74dvfT4Ww66rkBA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.4.19.tgz",
+ "integrity": "sha512-X1pJJkO48DFxl6iyEemIKqRkJ7j9/cBh3BRBUr+xZHXBvnD0GKDXIocwh0PjSxSC6XSu3UCQnqtKi3PbjRl8Dg==",
"dev": true,
"dependencies": {
"@babel/core": "^7.12.10",
@@ -11312,13 +11200,11 @@
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.1",
- "@storybook/node-logger": "6.3.12",
+ "@storybook/node-logger": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@types/glob-base": "^0.3.0",
- "@types/micromatch": "^4.0.1",
"@types/node": "^14.0.10",
"@types/pretty-hrtime": "^1.0.0",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^3.0.1",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"chalk": "^4.1.0",
@@ -11327,15 +11213,18 @@
"file-system-cache": "^1.0.5",
"find-up": "^5.0.0",
"fork-ts-checker-webpack-plugin": "^6.0.4",
+ "fs-extra": "^9.0.1",
"glob": "^7.1.6",
- "glob-base": "^0.3.0",
+ "handlebars": "^4.7.7",
"interpret": "^2.2.0",
"json5": "^2.1.3",
"lazy-universal-dotenv": "^3.0.1",
- "micromatch": "^4.0.2",
+ "picomatch": "^2.3.0",
"pkg-dir": "^5.0.0",
"pretty-hrtime": "^1.0.3",
"resolve-from": "^5.0.0",
+ "slash": "^3.0.0",
+ "telejson": "^5.3.2",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
"webpack": "4"
@@ -11370,9 +11259,9 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/@storybook/core-common/node_modules/fork-ts-checker-webpack-plugin": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.4.0.tgz",
- "integrity": "sha512-3I3wFkc4DbzaUDPWEi96wdYGu4EKtxBafhZYm0o4mX51d9bphAY4P3mBl8K5mFXFJqVzHfmdbm9kLGnm7vwwBg==",
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.0.tgz",
+ "integrity": "sha512-cS178Y+xxtIjEUorcHddKS7yCMlrDPV31mt47blKKRfMd70Kxu5xruAFE2o9sDY6wVC5deuob/u/alD04YYHnw==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.8.3",
@@ -11424,19 +11313,6 @@
"node": ">=8"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/@storybook/core-common/node_modules/micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/@storybook/core-common/node_modules/schema-utils": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
@@ -11471,20 +11347,21 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"dev": true,
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -11496,23 +11373,66 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/@storybook/router/node_modules/react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "dev": true,
+ "dependencies": {
+ "history": "^5.2.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/@storybook/router/node_modules/react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "dev": true,
+ "dependencies": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/@storybook/router/node_modules/react-router-dom/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/@storybook/router/node_modules/react-router/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/@storybook/ui": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.12.tgz",
- "integrity": "sha512-PC2yEz4JMfarq7rUFbeA3hCA+31p5es7YPEtxLRvRwIZhtL0P4zQUfHpotb3KgWdoAIfZesAuoIQwMPQmEFYrw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.4.19.tgz",
+ "integrity": "sha512-gFwdn5LA2U6oQ4bfUFLyHZnNasGQ01YVdwjbi+l6yjmnckBNtZfJoVTZ1rzGUbxSE9rK48InJRU+latTsr7xAg==",
"dev": true,
"dependencies": {
"@emotion/core": "^10.1.1",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/markdown-to-jsx": "^6.11.3",
+ "@storybook/theming": "6.4.19",
"copy-to-clipboard": "^3.3.1",
"core-js": "^3.8.2",
"core-js-pure": "^3.8.2",
@@ -11520,8 +11440,8 @@
"emotion-theming": "^10.0.27",
"fuse.js": "^3.6.1",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^6.11.4",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"polished": "^4.0.5",
"qs": "^6.10.0",
@@ -11557,26 +11477,10 @@
"react": ">=16.12.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/@storybook/ui/node_modules/markdown-to-jsx": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz",
- "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==",
- "dev": true,
- "dependencies": {
- "prop-types": "^15.6.2",
- "unquote": "^1.1.0"
- },
- "engines": {
- "node": ">= 4"
- },
- "peerDependencies": {
- "react": ">= 0.14.0"
- }
- },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/@storybook/ui/node_modules/react-helmet-async": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.1.2.tgz",
- "integrity": "sha512-LTTzDDkyIleT/JJ6T/uqx7Y8qi1EuPPSiJawQY/nHHz0h7SPDT6HxP1YDDQx/fzcVxCqpWEEMS3QdrSrNkJYhg==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz",
+ "integrity": "sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==",
"dev": true,
"dependencies": {
"@babel/runtime": "^7.12.5",
@@ -11602,10 +11506,10 @@
"node": ">=0.4.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/chownr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
"dev": true
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/css-loader": {
@@ -11692,18 +11596,6 @@
"semver": "bin/semver.js"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/dotenv-webpack": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-1.8.0.tgz",
- "integrity": "sha512-o8pq6NLBehtrqA8Jv8jFQNtG9nhRtVqmoD4yWbgUyoU3+9WBlPe+c2EAiaJok9RB28QvrWvdWLZGeTT5aATDMg==",
- "dev": true,
- "dependencies": {
- "dotenv-defaults": "^1.0.2"
- },
- "peerDependencies": {
- "webpack": "^1 || ^2 || ^3 || ^4"
- }
- },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/file-loader": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
@@ -11724,6 +11616,24 @@
"webpack": "^4.0.0 || ^5.0.0"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/file-loader/node_modules/schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/fork-ts-checker-webpack-plugin": {
"version": "4.1.6",
"resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz",
@@ -11806,6 +11716,68 @@
"node": ">=4.0.0"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dev": true,
+ "dependencies": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/p-locate/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/postcss-loader": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.3.0.tgz",
@@ -11830,6 +11802,24 @@
"webpack": "^4.0.0 || ^5.0.0"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/postcss-loader/node_modules/schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/postcss-loader/node_modules/semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
@@ -11865,6 +11855,45 @@
"webpack": "^4.0.0 || ^5.0.0"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/raw-loader/node_modules/schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/ssri": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
+ "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
+ "dev": true,
+ "dependencies": {
+ "figgy-pudding": "^3.5.1"
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/style-loader": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz",
@@ -11930,6 +11959,69 @@
"webpack": "^4.0.0 || ^5.0.0"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/terser-webpack-plugin/node_modules/schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/url-loader": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz",
+ "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==",
+ "dev": true,
+ "dependencies": {
+ "loader-utils": "^2.0.0",
+ "mime-types": "^2.1.27",
+ "schema-utils": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "file-loader": "*",
+ "webpack": "^4.0.0 || ^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "file-loader": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/url-loader/node_modules/schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/webpack": {
"version": "4.46.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
@@ -12106,20 +12198,6 @@
"node": ">=6"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
- "dev": true,
- "dependencies": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- },
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/serialize-javascript": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
@@ -12170,15 +12248,15 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dev": true,
"dependencies": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -12186,7 +12264,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -12226,22 +12304,23 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.3.12.tgz",
- "integrity": "sha512-FJm2ns8wk85hXWKslLWiUWRWwS9KWRq7jlkN6M9p57ghFseSGr4W71Orcoab4P3M7jI97l5yqBfppbscinE74g==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.4.19.tgz",
+ "integrity": "sha512-55LOQ/h/kf1jMhjN85t/pIEdIwWEG9yV7bdwv3niVvmoypCxyyjn9/QNK0RKYAeDSUtdm6FVoJ6k5CpxWz2d8w==",
"dev": true,
"dependencies": {
- "@storybook/core-client": "6.3.12",
- "@storybook/core-server": "6.3.12"
+ "@storybook/core-client": "6.4.19",
+ "@storybook/core-server": "6.4.19"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "@storybook/builder-webpack5": "6.3.12",
+ "@storybook/builder-webpack5": "6.4.19",
"react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0"
+ "react-dom": "^16.8.0 || ^17.0.0",
+ "webpack": "*"
},
"peerDependenciesMeta": {
"@storybook/builder-webpack5": {
@@ -12253,23 +12332,26 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-client": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.3.12.tgz",
- "integrity": "sha512-8Smd9BgZHJpAdevLKQYinwtjSyCZAuBMoetP4P5hnn53mWl0NFbrHFaAdT+yNchDLZQUbf7Y18VmIqEH+RCR5w==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.4.19.tgz",
+ "integrity": "sha512-rQHRZjhArPleE7/S8ZUolgzwY+hC0smSKX/3PQxO2GcebDjnJj6+iSV3h+aSMHMmTdoCQvjYw9aBpT8scuRe+A==",
"dev": true,
"dependencies": {
- "@storybook/addons": "6.3.12",
- "@storybook/channel-postmessage": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/ui": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/channel-websocket": "6.4.19",
+ "@storybook/client-api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/preview-web": "6.4.19",
+ "@storybook/store": "6.4.19",
+ "@storybook/ui": "6.4.19",
"airbnb-js-shims": "^2.2.1",
"ansi-to-html": "^0.6.11",
"core-js": "^3.8.2",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"ts-dedent": "^2.0.0",
@@ -12292,22 +12374,21 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.12.tgz",
- "integrity": "sha512-PC2yEz4JMfarq7rUFbeA3hCA+31p5es7YPEtxLRvRwIZhtL0P4zQUfHpotb3KgWdoAIfZesAuoIQwMPQmEFYrw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.4.19.tgz",
+ "integrity": "sha512-gFwdn5LA2U6oQ4bfUFLyHZnNasGQ01YVdwjbi+l6yjmnckBNtZfJoVTZ1rzGUbxSE9rK48InJRU+latTsr7xAg==",
"dev": true,
"dependencies": {
"@emotion/core": "^10.1.1",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/markdown-to-jsx": "^6.11.3",
+ "@storybook/theming": "6.4.19",
"copy-to-clipboard": "^3.3.1",
"core-js": "^3.8.2",
"core-js-pure": "^3.8.2",
@@ -12315,8 +12396,8 @@
"emotion-theming": "^10.0.27",
"fuse.js": "^3.6.1",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^6.11.4",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"polished": "^4.0.5",
"qs": "^6.10.0",
@@ -12337,20 +12418,21 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"dev": true,
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -12362,6 +12444,50 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "dev": true,
+ "dependencies": {
+ "history": "^5.2.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "dev": true,
+ "dependencies": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router-dom/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/downshift": {
"version": "6.1.7",
"resolved": "https://registry.npmjs.org/downshift/-/downshift-6.1.7.tgz",
@@ -12378,26 +12504,10 @@
"react": ">=16.12.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/markdown-to-jsx": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz",
- "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==",
- "dev": true,
- "dependencies": {
- "prop-types": "^15.6.2",
- "unquote": "^1.1.0"
- },
- "engines": {
- "node": ">= 4"
- },
- "peerDependencies": {
- "react": ">= 0.14.0"
- }
- },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/react-helmet-async": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.1.2.tgz",
- "integrity": "sha512-LTTzDDkyIleT/JJ6T/uqx7Y8qi1EuPPSiJawQY/nHHz0h7SPDT6HxP1YDDQx/fzcVxCqpWEEMS3QdrSrNkJYhg==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz",
+ "integrity": "sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==",
"dev": true,
"dependencies": {
"@babel/runtime": "^7.12.5",
@@ -12412,53 +12522,61 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.3.12.tgz",
- "integrity": "sha512-T/Mdyi1FVkUycdyOnhXvoo3d9nYXLQFkmaJkltxBFLzAePAJUSgAsPL9odNC3+p8Nr2/UDsDzvu/Ow0IF0mzLQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.4.19.tgz",
+ "integrity": "sha512-bKsUB9f7hl5ya2JXxpIrErmbDQjoH39FVbzYZWjMo4t/b7+Xyi6vYadwyWcqlpUQmis09ZaSMv8L/Tw0TuwLAA==",
"dev": true,
"dependencies": {
"@discoveryjs/json-ext": "^0.5.3",
- "@storybook/builder-webpack4": "6.3.12",
- "@storybook/core-client": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/csf-tools": "6.3.12",
- "@storybook/manager-webpack4": "6.3.12",
- "@storybook/node-logger": "6.3.12",
+ "@storybook/builder-webpack4": "6.4.19",
+ "@storybook/core-client": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf-tools": "6.4.19",
+ "@storybook/manager-webpack4": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
"@storybook/semver": "^7.3.2",
+ "@storybook/store": "6.4.19",
"@types/node": "^14.0.10",
"@types/node-fetch": "^2.5.7",
"@types/pretty-hrtime": "^1.0.0",
"@types/webpack": "^4.41.26",
"better-opn": "^2.1.1",
- "boxen": "^4.2.0",
+ "boxen": "^5.1.2",
"chalk": "^4.1.0",
- "cli-table3": "0.6.0",
+ "cli-table3": "^0.6.1",
"commander": "^6.2.1",
"compression": "^1.7.4",
"core-js": "^3.8.2",
- "cpy": "^8.1.1",
+ "cpy": "^8.1.2",
"detect-port": "^1.3.0",
"express": "^4.17.1",
"file-system-cache": "^1.0.5",
"fs-extra": "^9.0.1",
"globby": "^11.0.2",
"ip": "^1.1.5",
+ "lodash": "^4.17.21",
"node-fetch": "^2.6.1",
"pretty-hrtime": "^1.0.3",
"prompts": "^2.4.0",
"regenerator-runtime": "^0.13.7",
"serve-favicon": "^2.5.0",
+ "slash": "^3.0.0",
+ "telejson": "^5.3.3",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
- "webpack": "4"
+ "watchpack": "^2.2.0",
+ "webpack": "4",
+ "ws": "^8.2.3"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "@storybook/builder-webpack5": "6.3.12",
- "@storybook/manager-webpack5": "6.3.12",
+ "@storybook/builder-webpack5": "6.4.19",
+ "@storybook/manager-webpack5": "6.4.19",
"react": "^16.8.0 || ^17.0.0",
"react-dom": "^16.8.0 || ^17.0.0"
},
@@ -12475,9 +12593,9 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/core-common": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.3.12.tgz",
- "integrity": "sha512-xlHs2QXELq/moB4MuXjYOczaxU64BIseHsnFBLyboJYN6Yso3qihW5RB7cuJlGohkjb4JwY74dvfT4Ww66rkBA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.4.19.tgz",
+ "integrity": "sha512-X1pJJkO48DFxl6iyEemIKqRkJ7j9/cBh3BRBUr+xZHXBvnD0GKDXIocwh0PjSxSC6XSu3UCQnqtKi3PbjRl8Dg==",
"dev": true,
"dependencies": {
"@babel/core": "^7.12.10",
@@ -12501,13 +12619,11 @@
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.1",
- "@storybook/node-logger": "6.3.12",
+ "@storybook/node-logger": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@types/glob-base": "^0.3.0",
- "@types/micromatch": "^4.0.1",
"@types/node": "^14.0.10",
"@types/pretty-hrtime": "^1.0.0",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^3.0.1",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"chalk": "^4.1.0",
@@ -12516,15 +12632,18 @@
"file-system-cache": "^1.0.5",
"find-up": "^5.0.0",
"fork-ts-checker-webpack-plugin": "^6.0.4",
+ "fs-extra": "^9.0.1",
"glob": "^7.1.6",
- "glob-base": "^0.3.0",
+ "handlebars": "^4.7.7",
"interpret": "^2.2.0",
"json5": "^2.1.3",
"lazy-universal-dotenv": "^3.0.1",
- "micromatch": "^4.0.2",
+ "picomatch": "^2.3.0",
"pkg-dir": "^5.0.0",
"pretty-hrtime": "^1.0.3",
"resolve-from": "^5.0.0",
+ "slash": "^3.0.0",
+ "telejson": "^5.3.2",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
"webpack": "4"
@@ -12544,28 +12663,27 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.3.12.tgz",
- "integrity": "sha512-OkPYNrHXg2yZfKmEfTokP6iKx4OLTr0gdI5yehi/bLEuQCSHeruxBc70Dxm1GBk1Mrf821wD9WqMXNDjY5Qtug==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.4.19.tgz",
+ "integrity": "sha512-R8ugZjTYqXvlc6gDOcw909L65sIleOmIJLZR+N6/H85MivGXHu39jOwONqB7tVACufRty4FNecn8tEiQL2SAKA==",
"dev": true,
"dependencies": {
"@babel/core": "^7.12.10",
"@babel/plugin-transform-template-literals": "^7.12.1",
"@babel/preset-react": "^7.12.10",
- "@storybook/addons": "6.3.12",
- "@storybook/core-client": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/theming": "6.3.12",
- "@storybook/ui": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/core-client": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/theming": "6.4.19",
+ "@storybook/ui": "6.4.19",
"@types/node": "^14.0.10",
"@types/webpack": "^4.41.26",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"case-sensitive-paths-webpack-plugin": "^2.3.0",
"chalk": "^4.1.0",
"core-js": "^3.8.2",
"css-loader": "^3.6.0",
- "dotenv-webpack": "^1.8.0",
"express": "^4.17.1",
"file-loader": "^6.2.0",
"file-system-cache": "^1.0.5",
@@ -12602,22 +12720,21 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.12.tgz",
- "integrity": "sha512-PC2yEz4JMfarq7rUFbeA3hCA+31p5es7YPEtxLRvRwIZhtL0P4zQUfHpotb3KgWdoAIfZesAuoIQwMPQmEFYrw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.4.19.tgz",
+ "integrity": "sha512-gFwdn5LA2U6oQ4bfUFLyHZnNasGQ01YVdwjbi+l6yjmnckBNtZfJoVTZ1rzGUbxSE9rK48InJRU+latTsr7xAg==",
"dev": true,
"dependencies": {
"@emotion/core": "^10.1.1",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/markdown-to-jsx": "^6.11.3",
+ "@storybook/theming": "6.4.19",
"copy-to-clipboard": "^3.3.1",
"core-js": "^3.8.2",
"core-js-pure": "^3.8.2",
@@ -12625,8 +12742,8 @@
"emotion-theming": "^10.0.27",
"fuse.js": "^3.6.1",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^6.11.4",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"polished": "^4.0.5",
"qs": "^6.10.0",
@@ -12647,20 +12764,21 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"dev": true,
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -12672,6 +12790,50 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "dev": true,
+ "dependencies": {
+ "history": "^5.2.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "dev": true,
+ "dependencies": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router-dom/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/downshift": {
"version": "6.1.7",
"resolved": "https://registry.npmjs.org/downshift/-/downshift-6.1.7.tgz",
@@ -12688,26 +12850,10 @@
"react": ">=16.12.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/markdown-to-jsx": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz",
- "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==",
- "dev": true,
- "dependencies": {
- "prop-types": "^15.6.2",
- "unquote": "^1.1.0"
- },
- "engines": {
- "node": ">= 4"
- },
- "peerDependencies": {
- "react": ">= 0.14.0"
- }
- },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/react-helmet-async": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.1.2.tgz",
- "integrity": "sha512-LTTzDDkyIleT/JJ6T/uqx7Y8qi1EuPPSiJawQY/nHHz0h7SPDT6HxP1YDDQx/fzcVxCqpWEEMS3QdrSrNkJYhg==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz",
+ "integrity": "sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==",
"dev": true,
"dependencies": {
"@babel/runtime": "^7.12.5",
@@ -12721,166 +12867,102 @@
"react-dom": "^16.6.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/cacache": {
- "version": "15.3.0",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
- "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
- "dev": true,
- "dependencies": {
- "@npmcli/fs": "^1.0.0",
- "@npmcli/move-file": "^1.0.1",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "glob": "^7.1.4",
- "infer-owner": "^1.0.4",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.1",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.2",
- "mkdirp": "^1.0.3",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^8.0.1",
- "tar": "^6.0.2",
- "unique-filename": "^1.1.1"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/find-cache-dir": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/css-loader": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz",
+ "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==",
"dev": true,
"dependencies": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
+ "camelcase": "^5.3.1",
+ "cssesc": "^3.0.0",
+ "icss-utils": "^4.1.1",
+ "loader-utils": "^1.2.3",
+ "normalize-path": "^3.0.0",
+ "postcss": "^7.0.32",
+ "postcss-modules-extract-imports": "^2.0.0",
+ "postcss-modules-local-by-default": "^3.0.2",
+ "postcss-modules-scope": "^2.2.0",
+ "postcss-modules-values": "^3.0.0",
+ "postcss-value-parser": "^4.1.0",
+ "schema-utils": "^2.7.0",
+ "semver": "^6.3.0"
},
"engines": {
- "node": ">=8"
+ "node": ">= 8.9.0"
},
"funding": {
- "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/find-cache-dir/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/find-cache-dir/node_modules/pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "dependencies": {
- "find-up": "^4.0.0"
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
},
- "engines": {
- "node": ">=8"
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/css-loader/node_modules/json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
"dev": true,
"dependencies": {
- "p-locate": "^4.1.0"
+ "minimist": "^1.2.0"
},
- "engines": {
- "node": ">=8"
+ "bin": {
+ "json5": "lib/cli.js"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/css-loader/node_modules/loader-utils": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+ "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
"dev": true,
"dependencies": {
- "yallist": "^4.0.0"
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
},
"engines": {
- "node": ">=10"
+ "node": ">=4.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/css-loader/node_modules/schema-utils": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
+ "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
"dev": true,
"dependencies": {
- "semver": "^6.0.0"
+ "@types/json-schema": "^7.0.5",
+ "ajv": "^6.12.4",
+ "ajv-keywords": "^3.5.2"
},
"engines": {
- "node": ">=8"
+ "node": ">= 8.9.0"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/file-loader": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
+ "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
"dev": true,
"dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true,
- "bin": {
- "mkdirp": "bin/cmd.js"
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0"
},
"engines": {
- "node": ">=10"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
+ "node": ">= 10.13.0"
},
"funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/schema-utils": {
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/file-loader/node_modules/schema-utils": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
"integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
@@ -12898,62 +12980,66 @@
"url": "https://opencollective.com/webpack"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/serialize-javascript": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
- "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/html-webpack-plugin": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz",
+ "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==",
"dev": true,
"dependencies": {
- "randombytes": "^2.1.0"
+ "@types/html-minifier-terser": "^5.0.0",
+ "@types/tapable": "^1.0.5",
+ "@types/webpack": "^4.41.8",
+ "html-minifier-terser": "^5.0.1",
+ "loader-utils": "^1.2.3",
+ "lodash": "^4.17.20",
+ "pretty-error": "^2.1.1",
+ "tapable": "^1.1.3",
+ "util.promisify": "1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/ssri": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
- "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/html-webpack-plugin/node_modules/json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
"dev": true,
"dependencies": {
- "minipass": "^3.1.1"
+ "minimist": "^1.2.0"
},
- "engines": {
- "node": ">= 8"
+ "bin": {
+ "json5": "lib/cli.js"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/terser": {
- "version": "5.9.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz",
- "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/html-webpack-plugin/node_modules/loader-utils": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+ "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
"dev": true,
"dependencies": {
- "commander": "^2.20.0",
- "source-map": "~0.7.2",
- "source-map-support": "~0.5.20"
- },
- "bin": {
- "terser": "bin/terser"
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
},
"engines": {
- "node": ">=10"
+ "node": ">=4.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/terser-webpack-plugin": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz",
- "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/style-loader": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz",
+ "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==",
"dev": true,
"dependencies": {
- "cacache": "^15.0.5",
- "find-cache-dir": "^3.3.1",
- "jest-worker": "^26.5.0",
- "p-limit": "^3.0.2",
- "schema-utils": "^3.0.0",
- "serialize-javascript": "^5.0.1",
- "source-map": "^0.6.1",
- "terser": "^5.3.4",
- "webpack-sources": "^1.4.3"
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^2.7.0"
},
"engines": {
- "node": ">= 10.13.0"
+ "node": ">= 8.9.0"
},
"funding": {
"type": "opencollective",
@@ -12963,99 +13049,42 @@
"webpack": "^4.0.0 || ^5.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/terser/node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/terser/node_modules/source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/acorn": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
- "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/babel-plugin-macros": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
- "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/style-loader/node_modules/schema-utils": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
+ "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
"dev": true,
"dependencies": {
- "@babel/runtime": "^7.12.5",
- "cosmiconfig": "^7.0.0",
- "resolve": "^1.19.0"
+ "@types/json-schema": "^7.0.5",
+ "ajv": "^6.12.4",
+ "ajv-keywords": "^3.5.2"
},
"engines": {
- "node": ">=10",
- "npm": ">=6"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/cacache": {
- "version": "12.0.4",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
- "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
- "dev": true,
- "dependencies": {
- "bluebird": "^3.5.5",
- "chownr": "^1.1.1",
- "figgy-pudding": "^3.5.1",
- "glob": "^7.1.4",
- "graceful-fs": "^4.1.15",
- "infer-owner": "^1.0.3",
- "lru-cache": "^5.1.1",
- "mississippi": "^3.0.0",
- "mkdirp": "^0.5.1",
- "move-concurrently": "^1.0.1",
- "promise-inflight": "^1.0.1",
- "rimraf": "^2.6.3",
- "ssri": "^6.0.1",
- "unique-filename": "^1.1.1",
- "y18n": "^4.0.0"
+ "node": ">= 8.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/css-loader": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz",
- "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/terser-webpack-plugin": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz",
+ "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==",
"dev": true,
"dependencies": {
- "camelcase": "^5.3.1",
- "cssesc": "^3.0.0",
- "icss-utils": "^4.1.1",
- "loader-utils": "^1.2.3",
- "normalize-path": "^3.0.0",
- "postcss": "^7.0.32",
- "postcss-modules-extract-imports": "^2.0.0",
- "postcss-modules-local-by-default": "^3.0.2",
- "postcss-modules-scope": "^2.2.0",
- "postcss-modules-values": "^3.0.0",
- "postcss-value-parser": "^4.1.0",
- "schema-utils": "^2.7.0",
- "semver": "^6.3.0"
+ "cacache": "^15.0.5",
+ "find-cache-dir": "^3.3.1",
+ "jest-worker": "^26.5.0",
+ "p-limit": "^3.0.2",
+ "schema-utils": "^3.0.0",
+ "serialize-javascript": "^5.0.1",
+ "source-map": "^0.6.1",
+ "terser": "^5.3.4",
+ "webpack-sources": "^1.4.3"
},
"engines": {
- "node": ">= 8.9.0"
+ "node": ">= 10.13.0"
},
"funding": {
"type": "opencollective",
@@ -13065,43 +13094,32 @@
"webpack": "^4.0.0 || ^5.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/css-loader/node_modules/schema-utils": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/terser-webpack-plugin/node_modules/schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
"dev": true,
"dependencies": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
},
"engines": {
- "node": ">= 8.9.0"
+ "node": ">= 10.13.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/dotenv-webpack": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-1.8.0.tgz",
- "integrity": "sha512-o8pq6NLBehtrqA8Jv8jFQNtG9nhRtVqmoD4yWbgUyoU3+9WBlPe+c2EAiaJok9RB28QvrWvdWLZGeTT5aATDMg==",
- "dev": true,
- "dependencies": {
- "dotenv-defaults": "^1.0.2"
- },
- "peerDependencies": {
- "webpack": "^1 || ^2 || ^3 || ^4"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/file-loader": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
- "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/url-loader": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz",
+ "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==",
"dev": true,
"dependencies": {
"loader-utils": "^2.0.0",
+ "mime-types": "^2.1.27",
"schema-utils": "^3.0.0"
},
"engines": {
@@ -13112,24 +13130,16 @@
"url": "https://opencollective.com/webpack"
},
"peerDependencies": {
+ "file-loader": "*",
"webpack": "^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/file-loader/node_modules/loader-utils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
- "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
- "dev": true,
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
},
- "engines": {
- "node": ">=8.9.0"
+ "peerDependenciesMeta": {
+ "file-loader": {
+ "optional": true
+ }
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/file-loader/node_modules/schema-utils": {
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/url-loader/node_modules/schema-utils": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
"integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
@@ -13147,68 +13157,142 @@
"url": "https://opencollective.com/webpack"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/find-cache-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
- "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/webpack": {
+ "version": "4.46.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
+ "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
"dev": true,
"dependencies": {
- "commondir": "^1.0.1",
- "make-dir": "^2.0.0",
- "pkg-dir": "^3.0.0"
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-module-context": "1.9.0",
+ "@webassemblyjs/wasm-edit": "1.9.0",
+ "@webassemblyjs/wasm-parser": "1.9.0",
+ "acorn": "^6.4.1",
+ "ajv": "^6.10.2",
+ "ajv-keywords": "^3.4.1",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^4.5.0",
+ "eslint-scope": "^4.0.3",
+ "json-parse-better-errors": "^1.0.2",
+ "loader-runner": "^2.4.0",
+ "loader-utils": "^1.2.3",
+ "memory-fs": "^0.4.1",
+ "micromatch": "^3.1.10",
+ "mkdirp": "^0.5.3",
+ "neo-async": "^2.6.1",
+ "node-libs-browser": "^2.2.1",
+ "schema-utils": "^1.0.0",
+ "tapable": "^1.1.3",
+ "terser-webpack-plugin": "^1.4.3",
+ "watchpack": "^1.7.4",
+ "webpack-sources": "^1.4.1"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
},
"engines": {
- "node": ">=6"
+ "node": ">=6.11.5"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ },
+ "webpack-command": {
+ "optional": true
+ }
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/find-cache-dir/node_modules/find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/webpack-dev-middleware": {
+ "version": "3.7.3",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz",
+ "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==",
"dev": true,
"dependencies": {
- "locate-path": "^3.0.0"
+ "memory-fs": "^0.4.1",
+ "mime": "^2.4.4",
+ "mkdirp": "^0.5.1",
+ "range-parser": "^1.2.1",
+ "webpack-log": "^2.0.0"
},
"engines": {
- "node": ">=6"
+ "node": ">= 6"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/find-cache-dir/node_modules/pkg-dir": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
- "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/webpack/node_modules/cacache": {
+ "version": "12.0.4",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
+ "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
"dev": true,
"dependencies": {
- "find-up": "^3.0.0"
+ "bluebird": "^3.5.5",
+ "chownr": "^1.1.1",
+ "figgy-pudding": "^3.5.1",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.1.15",
+ "infer-owner": "^1.0.3",
+ "lru-cache": "^5.1.1",
+ "mississippi": "^3.0.0",
+ "mkdirp": "^0.5.1",
+ "move-concurrently": "^1.0.1",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^2.6.3",
+ "ssri": "^6.0.1",
+ "unique-filename": "^1.1.1",
+ "y18n": "^4.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/webpack/node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/webpack/node_modules/find-cache-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
+ "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+ "dev": true,
+ "dependencies": {
+ "commondir": "^1.0.1",
+ "make-dir": "^2.0.0",
+ "pkg-dir": "^3.0.0"
},
"engines": {
"node": ">=6"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/html-webpack-plugin": {
- "version": "4.5.2",
- "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz",
- "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/webpack/node_modules/find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
"dev": true,
"dependencies": {
- "@types/html-minifier-terser": "^5.0.0",
- "@types/tapable": "^1.0.5",
- "@types/webpack": "^4.41.8",
- "html-minifier-terser": "^5.0.1",
- "loader-utils": "^1.2.3",
- "lodash": "^4.17.20",
- "pretty-error": "^2.1.1",
- "tapable": "^1.1.3",
- "util.promisify": "1.0.0"
+ "locate-path": "^3.0.0"
},
"engines": {
- "node": ">=6.9"
+ "node": ">=6"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/webpack/node_modules/json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "dependencies": {
+ "minimist": "^1.2.0"
},
- "peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
+ "bin": {
+ "json5": "lib/cli.js"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/loader-utils": {
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/webpack/node_modules/loader-utils": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
"integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
@@ -13222,16 +13306,134 @@
"node": ">=4.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/loader-utils/node_modules/json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/webpack/node_modules/pkg-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
"dev": true,
"dependencies": {
- "minimist": "^1.2.0"
+ "find-up": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/webpack/node_modules/serialize-javascript": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
+ "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+ "dev": true,
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/webpack/node_modules/terser": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
+ "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+ "dev": true,
+ "dependencies": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
},
"bin": {
- "json5": "lib/cli.js"
+ "terser": "bin/terser"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/webpack/node_modules/terser-webpack-plugin": {
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
+ "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
+ "dev": true,
+ "dependencies": {
+ "cacache": "^12.0.2",
+ "find-cache-dir": "^2.1.0",
+ "is-wsl": "^1.1.0",
+ "schema-utils": "^1.0.0",
+ "serialize-javascript": "^4.0.0",
+ "source-map": "^0.6.1",
+ "terser": "^4.1.2",
+ "webpack-sources": "^1.4.0",
+ "worker-farm": "^1.7.0"
+ },
+ "engines": {
+ "node": ">= 6.9.0"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/webpack/node_modules/watchpack": {
+ "version": "1.7.5",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
+ "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "neo-async": "^2.5.0"
+ },
+ "optionalDependencies": {
+ "chokidar": "^3.4.1",
+ "watchpack-chokidar2": "^2.0.1"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/acorn": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
+ "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/babel-plugin-macros": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
+ "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "cosmiconfig": "^7.0.0",
+ "resolve": "^1.19.0"
+ },
+ "engines": {
+ "node": ">=10",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/chownr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+ "dev": true
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/commander": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
+ "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/lru-cache": {
@@ -13243,16 +13445,38 @@
"yallist": "^3.0.2"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dev": true,
+ "dependencies": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/make-dir/node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
"dev": true,
"dependencies": {
- "p-limit": "^2.2.0"
+ "p-limit": "^2.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=6"
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/p-locate/node_modules/p-limit": {
@@ -13271,26 +13495,24 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"dev": true,
"engines": {
- "node": ">=8"
+ "node": ">=4"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
"dev": true,
"dependencies": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
+ "glob": "^7.1.3"
},
- "engines": {
- "node": ">= 4"
+ "bin": {
+ "rimraf": "bin.js"
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/semver": {
@@ -13302,197 +13524,428 @@
"semver": "bin/semver.js"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/serialize-javascript": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
- "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/ssri": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
+ "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
"dev": true,
"dependencies": {
- "randombytes": "^2.1.0"
+ "figgy-pudding": "^3.5.1"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/style-loader": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz",
- "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/watchpack": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
+ "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
"dev": true,
"dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^2.7.0"
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
},
"engines": {
- "node": ">= 8.9.0"
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/preview-web": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.4.19.tgz",
+ "integrity": "sha512-jqltoBv5j7lvnxEfV9w8dLX9ASWGuvgz97yg8Yo5FqkftEwrHJenyvMGcTgDJKJPorF+wiz/9aIqnmd3LCAcZQ==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/store": "6.4.19",
+ "ansi-to-html": "^0.6.11",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "unfetch": "^4.2.0",
+ "util-deprecate": "^1.0.2"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/style-loader/node_modules/loader-utils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
- "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/source-loader": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-6.4.19.tgz",
+ "integrity": "sha512-XqTsqddRglvfW7mhyjwoqd/B8L6samcBehhO0OEbsFp6FPWa9eXuObCxtRYIcjcSIe+ksbW3D/54ppEs1L/g1Q==",
"dev": true,
"dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "estraverse": "^5.2.0",
+ "global": "^4.4.0",
+ "loader-utils": "^2.0.0",
+ "lodash": "^4.17.21",
+ "prettier": ">=2.2.1 <=2.3.0",
+ "regenerator-runtime": "^0.13.7"
},
- "engines": {
- "node": ">=8.9.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/style-loader/node_modules/schema-utils": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/store": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.4.19.tgz",
+ "integrity": "sha512-N9/ZjemRHGfT3InPIbqQqc6snkcfnf3Qh9oOr0smbfaVGJol//KOX65kzzobtzFcid0WxtTDZ3HmgFVH+GvuhQ==",
"dev": true,
"dependencies": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
- "ajv-keywords": "^3.5.2"
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "slash": "^3.0.0",
+ "stable": "^0.1.8",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
},
- "engines": {
- "node": ">= 8.9.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/theming": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
+ "dev": true,
+ "dependencies": {
+ "@emotion/core": "^10.1.1",
+ "@emotion/is-prop-valid": "^0.8.6",
+ "@emotion/styled": "^10.0.27",
+ "@storybook/client-logger": "6.4.19",
+ "core-js": "^3.8.2",
+ "deep-object-diff": "^1.1.0",
+ "emotion-theming": "^10.0.27",
+ "global": "^4.4.0",
+ "memoizerific": "^1.11.3",
+ "polished": "^4.0.5",
+ "resolve-from": "^5.0.0",
+ "ts-dedent": "^2.0.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/terser": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
- "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/theming/node_modules/@emotion/styled": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dev": true,
"dependencies": {
- "commander": "^2.20.0",
- "source-map": "~0.6.1",
- "source-map-support": "~0.5.12"
+ "@emotion/styled-base": "^10.3.0",
+ "babel-plugin-emotion": "^10.0.27"
},
+ "peerDependencies": {
+ "@emotion/core": "^10.0.27",
+ "react": ">=16.3.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/theming/node_modules/@emotion/styled/node_modules/@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.28",
+ "react": ">=16.3.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/cacache": {
+ "version": "15.3.0",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
+ "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
+ "dev": true,
+ "dependencies": {
+ "@npmcli/fs": "^1.0.0",
+ "@npmcli/move-file": "^1.0.1",
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "glob": "^7.1.4",
+ "infer-owner": "^1.0.4",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.1",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.2",
+ "mkdirp": "^1.0.3",
+ "p-map": "^4.0.0",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^3.0.2",
+ "ssri": "^8.0.1",
+ "tar": "^6.0.2",
+ "unique-filename": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/cacache/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true,
"bin": {
- "terser": "bin/terser"
+ "mkdirp": "bin/cmd.js"
},
"engines": {
- "node": ">=6.0.0"
+ "node": ">=10"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/terser-webpack-plugin": {
- "version": "1.4.5",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
- "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/find-cache-dir": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
+ "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
"dev": true,
"dependencies": {
- "cacache": "^12.0.2",
- "find-cache-dir": "^2.1.0",
- "is-wsl": "^1.1.0",
- "schema-utils": "^1.0.0",
- "serialize-javascript": "^4.0.0",
- "source-map": "^0.6.1",
- "terser": "^4.1.2",
- "webpack-sources": "^1.4.0",
- "worker-farm": "^1.7.0"
+ "commondir": "^1.0.1",
+ "make-dir": "^3.0.2",
+ "pkg-dir": "^4.1.0"
},
"engines": {
- "node": ">= 6.9.0"
+ "node": ">=8"
},
- "peerDependencies": {
- "webpack": "^4.0.0"
+ "funding": {
+ "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/terser/node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/find-cache-dir/node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/webpack": {
- "version": "4.46.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
- "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/find-cache-dir/node_modules/pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-module-context": "1.9.0",
- "@webassemblyjs/wasm-edit": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0",
- "acorn": "^6.4.1",
- "ajv": "^6.10.2",
- "ajv-keywords": "^3.4.1",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^4.5.0",
- "eslint-scope": "^4.0.3",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^2.4.0",
- "loader-utils": "^1.2.3",
- "memory-fs": "^0.4.1",
- "micromatch": "^3.1.10",
- "mkdirp": "^0.5.3",
- "neo-async": "^2.6.1",
- "node-libs-browser": "^2.2.1",
- "schema-utils": "^1.0.0",
- "tapable": "^1.1.3",
- "terser-webpack-plugin": "^1.4.3",
- "watchpack": "^1.7.4",
- "webpack-sources": "^1.4.1"
+ "find-up": "^4.0.0"
},
- "bin": {
- "webpack": "bin/webpack.js"
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^4.1.0"
},
"engines": {
- "node": ">=6.11.5"
+ "node": ">=8"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/p-locate/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/react-element-to-jsx-string": {
+ "version": "14.3.4",
+ "resolved": "https://registry.npmjs.org/react-element-to-jsx-string/-/react-element-to-jsx-string-14.3.4.tgz",
+ "integrity": "sha512-t4ZwvV6vwNxzujDQ+37bspnLwA4JlgUPWhLjBJWsNIDceAf6ZKUTCjdm08cN6WeZ5pTMKiCJkmAYnpmR4Bm+dg==",
+ "dev": true,
+ "dependencies": {
+ "@base2/pretty-print-object": "1.0.1",
+ "is-plain-object": "5.0.0",
+ "react-is": "17.0.2"
},
- "peerDependenciesMeta": {
- "webpack-cli": {
- "optional": true
- },
- "webpack-command": {
- "optional": true
- }
+ "peerDependencies": {
+ "react": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1",
+ "react-dom": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/core/node_modules/webpack-dev-middleware": {
- "version": "3.7.3",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz",
- "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/serialize-javascript": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
+ "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
"dev": true,
"dependencies": {
- "memory-fs": "^0.4.1",
- "mime": "^2.4.4",
- "mkdirp": "^0.5.1",
- "range-parser": "^1.2.1",
- "webpack-log": "^2.0.0"
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/terser": {
+ "version": "5.12.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz",
+ "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.5.0",
+ "commander": "^2.20.0",
+ "source-map": "~0.7.2",
+ "source-map-support": "~0.5.20"
+ },
+ "bin": {
+ "terser": "bin/terser"
},
"engines": {
- "node": ">= 6"
+ "node": ">=10"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/terser/node_modules/acorn": {
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
+ "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/terser/node_modules/source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-measure": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-6.4.19.tgz",
+ "integrity": "sha512-PXeU0AlpnGEvnzBQ6snkzmlIpwE0ci8LdFtL1Vz1V1Xk5fbuETWYuEkPuk1oZ7L9igB9cfT32SyJlE5MC1iaGg==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/source-loader": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-6.3.12.tgz",
- "integrity": "sha512-Lfe0LOJGqAJYkZsCL8fhuQOeFSCgv8xwQCt4dkcBd0Rw5zT2xv0IXDOiIOXGaWBMDtrJUZt/qOXPEPlL81Oaqg==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-measure/node_modules/@storybook/components": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dev": true,
"dependencies": {
- "@storybook/addons": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
+ "@popperjs/core": "^2.6.0",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
+ "@types/color-convert": "^2.0.0",
+ "@types/overlayscrollbars": "^1.12.0",
+ "@types/react-syntax-highlighter": "11.0.5",
+ "color-convert": "^2.0.1",
"core-js": "^3.8.2",
- "estraverse": "^5.2.0",
+ "fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "loader-utils": "^2.0.0",
- "lodash": "^4.17.20",
- "prettier": "~2.2.1",
- "regenerator-runtime": "^0.13.7"
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
+ "memoizerific": "^1.11.3",
+ "overlayscrollbars": "^1.13.1",
+ "polished": "^4.0.5",
+ "prop-types": "^15.7.2",
+ "react-colorful": "^5.1.2",
+ "react-popper-tooltip": "^3.1.1",
+ "react-syntax-highlighter": "^13.5.3",
+ "react-textarea-autosize": "^8.3.0",
+ "regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
},
"funding": {
"type": "opencollective",
@@ -13503,16 +13956,16 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-measure/node_modules/@storybook/components/node_modules/@storybook/theming": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dev": true,
"dependencies": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -13531,13 +13984,13 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/@storybook/theming/node_modules/@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-measure/node_modules/@storybook/components/node_modules/@storybook/theming/node_modules/@emotion/styled": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dev": true,
"dependencies": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
},
"peerDependencies": {
@@ -13545,121 +13998,196 @@
"react": ">=16.3.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/commander": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
- "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-measure/node_modules/@storybook/components/node_modules/@storybook/theming/node_modules/@emotion/styled/node_modules/@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
"dev": true,
- "engines": {
- "node": ">= 6"
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.28",
+ "react": ">=16.3.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-measure/node_modules/@storybook/components/node_modules/react-syntax-highlighter": {
+ "version": "13.5.3",
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
+ "integrity": "sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==",
"dev": true,
"dependencies": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
+ "@babel/runtime": "^7.3.1",
+ "highlight.js": "^10.1.1",
+ "lowlight": "^1.14.0",
+ "prismjs": "^1.21.0",
+ "refractor": "^3.1.0"
},
- "engines": {
- "node": ">=6"
+ "peerDependencies": {
+ "react": ">= 0.14.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/make-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
- "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-outline": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-6.4.19.tgz",
+ "integrity": "sha512-7ZDXo8qrms6dx0KRP9PInXIie82h5g9XCNrGOUdfZkQPvgofJVj0kNv6p+WOiGiaVfKPC5KMgIofqzBTFV+k6Q==",
"dev": true,
"dependencies": {
- "pify": "^4.0.1",
- "semver": "^5.6.0"
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0"
},
- "engines": {
- "node": ">=6"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-outline/node_modules/@storybook/components": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dev": true,
"dependencies": {
- "p-limit": "^2.0.0"
+ "@popperjs/core": "^2.6.0",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
+ "@types/color-convert": "^2.0.0",
+ "@types/overlayscrollbars": "^1.12.0",
+ "@types/react-syntax-highlighter": "11.0.5",
+ "color-convert": "^2.0.1",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
+ "memoizerific": "^1.11.3",
+ "overlayscrollbars": "^1.13.1",
+ "polished": "^4.0.5",
+ "prop-types": "^15.7.2",
+ "react-colorful": "^5.1.2",
+ "react-popper-tooltip": "^3.1.1",
+ "react-syntax-highlighter": "^13.5.3",
+ "react-textarea-autosize": "^8.3.0",
+ "regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
},
- "engines": {
- "node": ">=6"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/p-locate/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-outline/node_modules/@storybook/components/node_modules/@storybook/theming": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dev": true,
"dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
+ "@emotion/core": "^10.1.1",
+ "@emotion/is-prop-valid": "^0.8.6",
+ "@emotion/styled": "^10.0.27",
+ "@storybook/client-logger": "6.4.19",
+ "core-js": "^3.8.2",
+ "deep-object-diff": "^1.1.0",
+ "emotion-theming": "^10.0.27",
+ "global": "^4.4.0",
+ "memoizerific": "^1.11.3",
+ "polished": "^4.0.5",
+ "resolve-from": "^5.0.0",
+ "ts-dedent": "^2.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-outline/node_modules/@storybook/components/node_modules/@storybook/theming/node_modules/@emotion/styled": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dev": true,
- "engines": {
- "node": ">=4"
+ "dependencies": {
+ "@emotion/styled-base": "^10.3.0",
+ "babel-plugin-emotion": "^10.0.27"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.27",
+ "react": ">=16.3.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-outline/node_modules/@storybook/components/node_modules/@storybook/theming/node_modules/@emotion/styled/node_modules/@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
"dev": true,
"dependencies": {
- "glob": "^7.1.3"
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
},
- "bin": {
- "rimraf": "bin.js"
+ "peerDependencies": {
+ "@emotion/core": "^10.0.28",
+ "react": ">=16.3.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/ssri": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
- "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-outline/node_modules/@storybook/components/node_modules/react-syntax-highlighter": {
+ "version": "13.5.3",
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
+ "integrity": "sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==",
"dev": true,
"dependencies": {
- "figgy-pudding": "^3.5.1"
+ "@babel/runtime": "^7.3.1",
+ "highlight.js": "^10.1.1",
+ "lowlight": "^1.14.0",
+ "prismjs": "^1.21.0",
+ "refractor": "^3.1.0"
+ },
+ "peerDependencies": {
+ "react": ">= 0.14.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs/node_modules/yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true
- },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-toolbars": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-6.3.12.tgz",
- "integrity": "sha512-8GvP6zmAfLPRnYRARSaIwLkQClLIRbflRh4HZoFk6IMjQLXZb4NL3JS5OLFKG+HRMMU2UQzfoSDqjI7k7ptyRw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-6.4.19.tgz",
+ "integrity": "sha512-2UtuX9yB1rD/CAZv1etnOnunfPTvsEKEg/J2HYMKE1lhenWC5muIUXvDXCXvwDC65WviPJ56nFNKaKK1Zz7JDg==",
"dev": true,
"dependencies": {
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/theming": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"regenerator-runtime": "^0.13.7"
},
@@ -13681,15 +14209,15 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-toolbars/node_modules/@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dev": true,
"dependencies": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -13697,7 +14225,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -13737,15 +14265,15 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-toolbars/node_modules/@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dev": true,
"dependencies": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -13765,12 +14293,12 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-toolbars/node_modules/@storybook/theming/node_modules/@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dev": true,
"dependencies": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
},
"peerDependencies": {
@@ -13778,18 +14306,34 @@
"react": ">=16.3.0"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-toolbars/node_modules/@storybook/theming/node_modules/@emotion/styled/node_modules/@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.28",
+ "react": ">=16.3.0"
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-viewport": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-6.3.12.tgz",
- "integrity": "sha512-TRjyfm85xouOPmXxeLdEIzXLfJZZ1ePQ7p/5yphDGBHdxMU4m4qiZr8wYpUaxHsRu/UB3dKfaOyGT+ivogbnbw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-6.4.19.tgz",
+ "integrity": "sha512-T1hdImxbLj8suQSTbp6HSA1LLHOlqaNK5jjnqzEOoAxY0O8LNPXMJ2jKIeT2fPQ0v+tWGU3tbwf+3xFq0parVQ==",
"dev": true,
"dependencies": {
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/theming": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"global": "^4.4.0",
"memoizerific": "^1.11.3",
@@ -13814,15 +14358,15 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-viewport/node_modules/@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dev": true,
"dependencies": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -13830,7 +14374,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -13870,15 +14414,15 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-viewport/node_modules/@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dev": true,
"dependencies": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -13898,12 +14442,12 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-viewport/node_modules/@storybook/theming/node_modules/@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dev": true,
"dependencies": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
},
"peerDependencies": {
@@ -13911,27 +14455,40 @@
"react": ">=16.3.0"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-viewport/node_modules/@storybook/theming/node_modules/@emotion/styled/node_modules/@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.28",
+ "react": ">=16.3.0"
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.12.tgz",
- "integrity": "sha512-LScRXUeCWEW/OP+jiooNMQICVdusv7azTmULxtm72fhkXFRiQs2CdRNTiqNg46JLLC9z95f1W+pGK66X6HiiQA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
"dev": true,
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
"telejson": "^5.3.2",
@@ -13948,20 +14505,21 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/api/node_modules/@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"dev": true,
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -13973,16 +14531,60 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/api/node_modules/@storybook/router/node_modules/react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "dev": true,
+ "dependencies": {
+ "history": "^5.2.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/api/node_modules/@storybook/router/node_modules/react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "dev": true,
+ "dependencies": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/api/node_modules/@storybook/router/node_modules/react-router-dom/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/api/node_modules/@storybook/router/node_modules/react-router/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/api/node_modules/@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dev": true,
"dependencies": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -14002,12 +14604,12 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/api/node_modules/@storybook/theming/node_modules/@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dev": true,
"dependencies": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
},
"peerDependencies": {
@@ -14015,10 +14617,26 @@
"react": ">=16.3.0"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/api/node_modules/@storybook/theming/node_modules/@emotion/styled/node_modules/@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.28",
+ "react": ">=16.3.0"
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/@storybook/channels": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.12.tgz",
- "integrity": "sha512-l4sA+g1PdUV8YCbgs47fIKREdEQAKNdQIZw0b7BfTvY9t0x5yfBywgQhYON/lIeiNGz2OlIuD+VUtqYfCtNSyw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"dev": true,
"dependencies": {
"core-js": "^3.8.2",
@@ -14031,9 +14649,9 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"dev": true,
"dependencies": {
"core-js": "^3.8.2",
@@ -14045,9 +14663,9 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"dev": true,
"dependencies": {
"core-js": "^3.8.2"
@@ -14057,10 +14675,19 @@
"url": "https://opencollective.com/storybook"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "dev": true,
+ "dependencies": {
+ "lodash": "^4.17.15"
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/@types/node": {
- "version": "14.17.33",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.33.tgz",
- "integrity": "sha512-noEeJ06zbn3lOh4gqe2v7NMGS33jrulfNqYFDjjEbhpDEHR5VTxgYNQSBqBlJIsBJW3uEYDgD6kvMnrrhGzq8g==",
+ "version": "14.18.12",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz",
+ "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==",
"dev": true
},
"node_modules/@storybook/addon-essentials/node_modules/acorn": {
@@ -14102,59 +14729,6 @@
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
- "node_modules/@storybook/addon-essentials/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/@storybook/addon-essentials/node_modules/cacache": {
- "version": "15.3.0",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
- "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
- "dev": true,
- "dependencies": {
- "@npmcli/fs": "^1.0.0",
- "@npmcli/move-file": "^1.0.1",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "glob": "^7.1.4",
- "infer-owner": "^1.0.4",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.1",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.2",
- "mkdirp": "^1.0.3",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^8.0.1",
- "tar": "^6.0.2",
- "unique-filename": "^1.1.1"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/cacache/node_modules/mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true,
- "bin": {
- "mkdirp": "bin/cmd.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/@storybook/addon-essentials/node_modules/chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
@@ -14191,33 +14765,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/enhanced-resolve": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
- "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/enhanced-resolve/node_modules/memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "dev": true,
- "dependencies": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- },
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
- }
- },
"node_modules/@storybook/addon-essentials/node_modules/escodegen": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
@@ -14284,99 +14831,6 @@
"node": ">=4.0"
}
},
- "node_modules/@storybook/addon-essentials/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/@storybook/addon-essentials/node_modules/find-cache-dir": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
- "dev": true,
- "dependencies": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/find-cache-dir/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/find-cache-dir/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/find-cache-dir/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/find-cache-dir/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/find-cache-dir/node_modules/pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "dependencies": {
- "find-up": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@storybook/addon-essentials/node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -14417,24 +14871,13 @@
"node": ">=6"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
+ "node_modules/@storybook/addon-essentials/node_modules/history": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.0.0.tgz",
+ "integrity": "sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==",
"dev": true,
"dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "@babel/runtime": "^7.7.6"
}
},
"node_modules/@storybook/addon-essentials/node_modules/icss-utils": {
@@ -14449,22 +14892,13 @@
"node": ">= 6"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/ignore": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
- "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/@storybook/addon-essentials/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==",
+ "node_modules/@storybook/addon-essentials/node_modules/is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"dev": true,
"engines": {
- "node": ">=0.12.0"
+ "node": ">=0.10.0"
}
},
"node_modules/@storybook/addon-essentials/node_modules/json5": {
@@ -14556,16 +14990,6 @@
"semver": "bin/semver.js"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "dev": true,
- "dependencies": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
"node_modules/@storybook/addon-essentials/node_modules/mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
@@ -14578,6 +15002,18 @@
"node": ">=4.0.0"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/nanoid": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz",
+ "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==",
+ "dev": true,
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -14684,12 +15120,12 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/polished": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.3.tgz",
- "integrity": "sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.4.tgz",
+ "integrity": "sha512-Nq5Mbza+Auo7N3sQb1QMFaQiDO+4UexWuSGR7Cjb4Sw11SZIJcrrFtiZ+L0jT9MBsUsxDboHVASbCLbE1rnECg==",
"dev": true,
"dependencies": {
- "@babel/runtime": "^7.14.0"
+ "@babel/runtime": "^7.16.7"
},
"engines": {
"node": ">=10"
@@ -14763,9 +15199,9 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/prettier": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz",
- "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz",
+ "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==",
"dev": true,
"bin": {
"prettier": "bin-prettier.js"
@@ -14785,9 +15221,9 @@
}
},
"node_modules/@storybook/addon-essentials/node_modules/qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"dev": true,
"dependencies": {
"side-channel": "^1.0.4"
@@ -14814,13 +15250,18 @@
"node": ">=8"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/serialize-javascript": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
- "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
+ "node_modules/@storybook/addon-essentials/node_modules/schema-utils": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
"dev": true,
"dependencies": {
- "randombytes": "^2.1.0"
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ },
+ "engines": {
+ "node": ">= 4"
}
},
"node_modules/@storybook/addon-essentials/node_modules/slash": {
@@ -14865,53 +15306,6 @@
"node": ">=4"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/terser": {
- "version": "5.9.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz",
- "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==",
- "dev": true,
- "dependencies": {
- "commander": "^2.20.0",
- "source-map": "~0.7.2",
- "source-map-support": "~0.5.20"
- },
- "bin": {
- "terser": "bin/terser"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@storybook/addon-essentials/node_modules/terser/node_modules/source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@storybook/addon-essentials/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/@storybook/addon-essentials/node_modules/tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
@@ -14928,6 +15322,27 @@
"source-map": "~0.6.1"
}
},
+ "node_modules/@storybook/addon-essentials/node_modules/ws": {
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
+ "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@storybook/addon-essentials/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -15054,15 +15469,15 @@
}
},
"node_modules/@storybook/addon-links": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-6.3.12.tgz",
- "integrity": "sha512-NfOGEm0+QxIrAXCa05LOXmxLtI+RlcDqHXZ1jNNj8mjeRoG1nX3qhkB8PWWIBbPuz+bktLV9ox8UZj0W6+ZPOQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-6.4.19.tgz",
+ "integrity": "sha512-ebFHYlGDQkHSmI5QEJb1NxGNToVOLgjKkxXUe+JXX7AfHvrWiXVrN/57aOtBPZzj4h2jRPRTZgwR5glhPIlfEQ==",
"dependencies": {
- "@storybook/addons": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@types/qs": "^6.9.5",
"core-js": "^3.8.2",
"global": "^4.4.0",
@@ -15089,9 +15504,9 @@
}
},
"node_modules/@storybook/addon-links/node_modules/@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"dependencies": {
"core-js": "^3.8.2",
"global": "^4.4.0"
@@ -15102,9 +15517,9 @@
}
},
"node_modules/@storybook/addon-links/node_modules/@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"dependencies": {
"core-js": "^3.8.2"
},
@@ -15113,20 +15528,29 @@
"url": "https://opencollective.com/storybook"
}
},
+ "node_modules/@storybook/addon-links/node_modules/@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "dependencies": {
+ "lodash": "^4.17.15"
+ }
+ },
"node_modules/@storybook/addon-links/node_modules/@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -15138,10 +15562,58 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
+ "node_modules/@storybook/addon-links/node_modules/@storybook/router/node_modules/react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "dependencies": {
+ "history": "^5.2.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/addon-links/node_modules/@storybook/router/node_modules/react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "dependencies": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/addon-links/node_modules/@storybook/router/node_modules/react-router-dom/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
+ "node_modules/@storybook/addon-links/node_modules/@storybook/router/node_modules/react-router/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
+ "node_modules/@storybook/addon-links/node_modules/history": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.0.0.tgz",
+ "integrity": "sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==",
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
"node_modules/@storybook/addon-links/node_modules/qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"dependencies": {
"side-channel": "^1.0.4"
},
@@ -15152,40 +15624,19 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/@storybook/addon-measure": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-2.0.0.tgz",
- "integrity": "sha512-ZhdT++cX+L9LwjhGYggvYUUVQH/MGn2rwbrAwCMzA/f2QTFvkjxzX8nDgMxIhaLCDC+gHIxfJG2wrWN0jkBr3g==",
- "dev": true,
- "peerDependencies": {
- "@storybook/addons": "^6.3.0",
- "@storybook/api": "^6.3.0",
- "@storybook/components": "^6.3.0",
- "@storybook/core-events": "^6.3.0",
- "@storybook/theming": "^6.3.0",
- "react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0"
- },
- "peerDependenciesMeta": {
- "react": {
- "optional": true
- },
- "react-dom": {
- "optional": true
- }
- }
- },
"node_modules/@storybook/addons": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.3.12.tgz",
- "integrity": "sha512-UgoMyr7Qr0FS3ezt8u6hMEcHgyynQS9ucr5mAwZky3wpXRPFyUTmMto9r4BBUdqyUvTUj/LRKIcmLBfj+/l0Fg==",
- "dependencies": {
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
- "@storybook/theming": "6.3.12",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.4.19.tgz",
+ "integrity": "sha512-QNyRYhpqmHV8oJxxTBdkRlLSbDFhpBvfvMfIrIT1UXb/eemdBZTaCGVvXZ9UixoEEI7f8VwAQ44IvkU5B1509w==",
+ "dependencies": {
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
+ "@storybook/theming": "6.4.19",
+ "@types/webpack-env": "^1.16.0",
"core-js": "^3.8.2",
"global": "^4.4.0",
"regenerator-runtime": "^0.13.7"
@@ -15200,25 +15651,22 @@
}
},
"node_modules/@storybook/addons/node_modules/@storybook/api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.12.tgz",
- "integrity": "sha512-LScRXUeCWEW/OP+jiooNMQICVdusv7azTmULxtm72fhkXFRiQs2CdRNTiqNg46JLLC9z95f1W+pGK66X6HiiQA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
"telejson": "^5.3.2",
@@ -15235,9 +15683,9 @@
}
},
"node_modules/@storybook/addons/node_modules/@storybook/channels": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.12.tgz",
- "integrity": "sha512-l4sA+g1PdUV8YCbgs47fIKREdEQAKNdQIZw0b7BfTvY9t0x5yfBywgQhYON/lIeiNGz2OlIuD+VUtqYfCtNSyw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"dependencies": {
"core-js": "^3.8.2",
"ts-dedent": "^2.0.0",
@@ -15249,9 +15697,9 @@
}
},
"node_modules/@storybook/addons/node_modules/@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"dependencies": {
"core-js": "^3.8.2",
"global": "^4.4.0"
@@ -15262,9 +15710,9 @@
}
},
"node_modules/@storybook/addons/node_modules/@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"dependencies": {
"core-js": "^3.8.2"
},
@@ -15273,20 +15721,29 @@
"url": "https://opencollective.com/storybook"
}
},
+ "node_modules/@storybook/addons/node_modules/@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "dependencies": {
+ "lodash": "^4.17.15"
+ }
+ },
"node_modules/@storybook/addons/node_modules/@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -15298,15 +15755,55 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
+ "node_modules/@storybook/addons/node_modules/@storybook/router/node_modules/react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "dependencies": {
+ "history": "^5.2.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/addons/node_modules/@storybook/router/node_modules/react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "dependencies": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/addons/node_modules/@storybook/router/node_modules/react-router-dom/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
+ "node_modules/@storybook/addons/node_modules/@storybook/router/node_modules/react-router/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
"node_modules/@storybook/addons/node_modules/@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dependencies": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -15326,11 +15823,11 @@
}
},
"node_modules/@storybook/addons/node_modules/@storybook/theming/node_modules/@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dependencies": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
},
"peerDependencies": {
@@ -15338,21 +15835,44 @@
"react": ">=16.3.0"
}
},
+ "node_modules/@storybook/addons/node_modules/@storybook/theming/node_modules/@emotion/styled/node_modules/@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.28",
+ "react": ">=16.3.0"
+ }
+ },
+ "node_modules/@storybook/addons/node_modules/history": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.0.0.tgz",
+ "integrity": "sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==",
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
"node_modules/@storybook/addons/node_modules/polished": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.3.tgz",
- "integrity": "sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.4.tgz",
+ "integrity": "sha512-Nq5Mbza+Auo7N3sQb1QMFaQiDO+4UexWuSGR7Cjb4Sw11SZIJcrrFtiZ+L0jT9MBsUsxDboHVASbCLbE1rnECg==",
"dependencies": {
- "@babel/runtime": "^7.14.0"
+ "@babel/runtime": "^7.16.7"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@storybook/addons/node_modules/qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"dependencies": {
"side-channel": "^1.0.4"
},
@@ -15421,9 +15941,9 @@
}
},
"node_modules/@storybook/builder-webpack5": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-6.3.12.tgz",
- "integrity": "sha512-+9uVSW2LFpdWnYKKcdH5sW1HqcKwbqyBJV46oN94ZlUw3fyZgz8TsOI+ZpWgCNqmBtXDr+X54deast9f443Mzw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-6.4.19.tgz",
+ "integrity": "sha512-AWM4YMN1gPaf7jfntqZTCGpIQ1tF6YRU1JtczPG4ox28rTaO6NMfOBi9aRhBre/59pPOh9bF6u2gu/MIHmRW+w==",
"devOptional": true,
"dependencies": {
"@babel/core": "^7.12.10",
@@ -15446,33 +15966,34 @@
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channel-postmessage": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/preview-web": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
+ "@storybook/store": "6.4.19",
+ "@storybook/theming": "6.4.19",
"@types/node": "^14.0.10",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^3.0.1",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"case-sensitive-paths-webpack-plugin": "^2.3.0",
"core-js": "^3.8.2",
"css-loader": "^5.0.1",
- "dotenv-webpack": "^7.0.0",
"fork-ts-checker-webpack-plugin": "^6.0.4",
- "fs-extra": "^9.0.1",
"glob": "^7.1.6",
"glob-promise": "^3.4.0",
"html-webpack-plugin": "^5.0.0",
- "react-dev-utils": "^11.0.3",
+ "path-browserify": "^1.0.1",
+ "process": "^0.11.10",
"stable": "^0.1.8",
"style-loader": "^2.0.0",
"terser-webpack-plugin": "^5.0.3",
@@ -15480,7 +16001,7 @@
"util-deprecate": "^1.0.2",
"webpack": "^5.9.0",
"webpack-dev-middleware": "^4.1.0",
- "webpack-hot-middleware": "^2.25.0",
+ "webpack-hot-middleware": "^2.25.1",
"webpack-virtual-modules": "^0.4.1"
},
"funding": {
@@ -15498,26 +16019,23 @@
}
},
"node_modules/@storybook/builder-webpack5/node_modules/@storybook/api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.12.tgz",
- "integrity": "sha512-LScRXUeCWEW/OP+jiooNMQICVdusv7azTmULxtm72fhkXFRiQs2CdRNTiqNg46JLLC9z95f1W+pGK66X6HiiQA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
"devOptional": true,
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
"telejson": "^5.3.2",
@@ -15534,9 +16052,9 @@
}
},
"node_modules/@storybook/builder-webpack5/node_modules/@storybook/channels": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.12.tgz",
- "integrity": "sha512-l4sA+g1PdUV8YCbgs47fIKREdEQAKNdQIZw0b7BfTvY9t0x5yfBywgQhYON/lIeiNGz2OlIuD+VUtqYfCtNSyw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"devOptional": true,
"dependencies": {
"core-js": "^3.8.2",
@@ -15549,9 +16067,9 @@
}
},
"node_modules/@storybook/builder-webpack5/node_modules/@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"devOptional": true,
"dependencies": {
"core-js": "^3.8.2",
@@ -15563,15 +16081,15 @@
}
},
"node_modules/@storybook/builder-webpack5/node_modules/@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"devOptional": true,
"dependencies": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -15579,7 +16097,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -15619,9 +16137,9 @@
}
},
"node_modules/@storybook/builder-webpack5/node_modules/@storybook/core-common": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.3.12.tgz",
- "integrity": "sha512-xlHs2QXELq/moB4MuXjYOczaxU64BIseHsnFBLyboJYN6Yso3qihW5RB7cuJlGohkjb4JwY74dvfT4Ww66rkBA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.4.19.tgz",
+ "integrity": "sha512-X1pJJkO48DFxl6iyEemIKqRkJ7j9/cBh3BRBUr+xZHXBvnD0GKDXIocwh0PjSxSC6XSu3UCQnqtKi3PbjRl8Dg==",
"devOptional": true,
"dependencies": {
"@babel/core": "^7.12.10",
@@ -15645,13 +16163,11 @@
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.1",
- "@storybook/node-logger": "6.3.12",
+ "@storybook/node-logger": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@types/glob-base": "^0.3.0",
- "@types/micromatch": "^4.0.1",
"@types/node": "^14.0.10",
"@types/pretty-hrtime": "^1.0.0",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^3.0.1",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"chalk": "^4.1.0",
@@ -15660,15 +16176,18 @@
"file-system-cache": "^1.0.5",
"find-up": "^5.0.0",
"fork-ts-checker-webpack-plugin": "^6.0.4",
+ "fs-extra": "^9.0.1",
"glob": "^7.1.6",
- "glob-base": "^0.3.0",
+ "handlebars": "^4.7.7",
"interpret": "^2.2.0",
"json5": "^2.1.3",
"lazy-universal-dotenv": "^3.0.1",
- "micromatch": "^4.0.2",
+ "picomatch": "^2.3.0",
"pkg-dir": "^5.0.0",
"pretty-hrtime": "^1.0.3",
"resolve-from": "^5.0.0",
+ "slash": "^3.0.0",
+ "telejson": "^5.3.2",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
"webpack": "4"
@@ -15687,66 +16206,6 @@
}
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/@storybook/core-common/node_modules/braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "devOptional": true,
- "dependencies": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/@storybook/core-common/node_modules/fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "devOptional": true,
- "dependencies": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/@storybook/core-common/node_modules/is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "devOptional": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/@storybook/core-common/node_modules/is-number/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "devOptional": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/@storybook/builder-webpack5/node_modules/@storybook/core-common/node_modules/loader-utils": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
@@ -15836,19 +16295,6 @@
"webpack": "^4.0.0"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/@storybook/core-common/node_modules/to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "devOptional": true,
- "dependencies": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/@storybook/builder-webpack5/node_modules/@storybook/core-common/node_modules/webpack": {
"version": "4.46.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
@@ -15898,71 +16344,76 @@
}
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/@storybook/core-common/node_modules/webpack/node_modules/extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "node_modules/@storybook/builder-webpack5/node_modules/@storybook/core-events": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"devOptional": true,
"dependencies": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
+ "core-js": "^3.8.2"
},
- "engines": {
- "node": ">=0.10.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/@storybook/core-common/node_modules/webpack/node_modules/micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "node_modules/@storybook/builder-webpack5/node_modules/@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
"devOptional": true,
"dependencies": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
+ "lodash": "^4.17.15"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "node_modules/@storybook/builder-webpack5/node_modules/@storybook/preview-web": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.4.19.tgz",
+ "integrity": "sha512-jqltoBv5j7lvnxEfV9w8dLX9ASWGuvgz97yg8Yo5FqkftEwrHJenyvMGcTgDJKJPorF+wiz/9aIqnmd3LCAcZQ==",
"devOptional": true,
"dependencies": {
- "core-js": "^3.8.2"
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/store": "6.4.19",
+ "ansi-to-html": "^0.6.11",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "unfetch": "^4.2.0",
+ "util-deprecate": "^1.0.2"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
"node_modules/@storybook/builder-webpack5/node_modules/@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"devOptional": true,
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -15974,16 +16425,91 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
+ "node_modules/@storybook/builder-webpack5/node_modules/@storybook/router/node_modules/react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "devOptional": true,
+ "dependencies": {
+ "history": "^5.2.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/builder-webpack5/node_modules/@storybook/router/node_modules/react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "devOptional": true,
+ "dependencies": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/builder-webpack5/node_modules/@storybook/router/node_modules/react-router-dom/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "devOptional": true,
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
+ "node_modules/@storybook/builder-webpack5/node_modules/@storybook/router/node_modules/react-router/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "devOptional": true,
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
+ "node_modules/@storybook/builder-webpack5/node_modules/@storybook/store": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.4.19.tgz",
+ "integrity": "sha512-N9/ZjemRHGfT3InPIbqQqc6snkcfnf3Qh9oOr0smbfaVGJol//KOX65kzzobtzFcid0WxtTDZ3HmgFVH+GvuhQ==",
+ "devOptional": true,
+ "dependencies": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "slash": "^3.0.0",
+ "stable": "^0.1.8",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
"node_modules/@storybook/builder-webpack5/node_modules/@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"devOptional": true,
"dependencies": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -16003,12 +16529,12 @@
}
},
"node_modules/@storybook/builder-webpack5/node_modules/@storybook/theming/node_modules/@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"devOptional": true,
"dependencies": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
},
"peerDependencies": {
@@ -16016,6 +16542,22 @@
"react": ">=16.3.0"
}
},
+ "node_modules/@storybook/builder-webpack5/node_modules/@storybook/theming/node_modules/@emotion/styled/node_modules/@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "devOptional": true,
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.28",
+ "react": ">=16.3.0"
+ }
+ },
"node_modules/@storybook/builder-webpack5/node_modules/@types/node": {
"version": "14.17.19",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.19.tgz",
@@ -16049,18 +16591,6 @@
"npm": ">=6"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "devOptional": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@storybook/builder-webpack5/node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -16122,57 +16652,6 @@
"node": ">=10"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/dotenv-defaults": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz",
- "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==",
- "devOptional": true,
- "dependencies": {
- "dotenv": "^8.2.0"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/dotenv-webpack": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-7.0.3.tgz",
- "integrity": "sha512-O0O9pOEwrk+n1zzR3T2uuXRlw64QxHSPeNN1GaiNBloQFNaCUL9V8jxSVz4jlXXFP/CIqK8YecWf8BAvsSgMjw==",
- "devOptional": true,
- "dependencies": {
- "dotenv-defaults": "^2.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "webpack": "^4 || ^5"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/enhanced-resolve": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
- "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
- "devOptional": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/enhanced-resolve/node_modules/memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "devOptional": true,
- "dependencies": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- },
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
- }
- },
"node_modules/@storybook/builder-webpack5/node_modules/eslint-scope": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
@@ -16186,18 +16665,6 @@
"node": ">=4.0.0"
}
},
- "node_modules/@storybook/builder-webpack5/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==",
- "devOptional": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@storybook/builder-webpack5/node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -16238,25 +16705,13 @@
"node": ">=8"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "node_modules/@storybook/builder-webpack5/node_modules/history": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.0.0.tgz",
+ "integrity": "sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==",
"devOptional": true,
"dependencies": {
- "is-plain-object": "^2.0.4"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@storybook/builder-webpack5/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==",
- "devOptional": true,
- "engines": {
- "node": ">=0.12.0"
+ "@babel/runtime": "^7.7.6"
}
},
"node_modules/@storybook/builder-webpack5/node_modules/jest-worker": {
@@ -16288,15 +16743,6 @@
"node": ">=6"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "devOptional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/@storybook/builder-webpack5/node_modules/loader-runner": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
@@ -16347,29 +16793,6 @@
"node": ">=10"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "devOptional": true,
- "dependencies": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "devOptional": true,
- "dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
"node_modules/@storybook/builder-webpack5/node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -16422,21 +16845,21 @@
}
},
"node_modules/@storybook/builder-webpack5/node_modules/polished": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.3.tgz",
- "integrity": "sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.4.tgz",
+ "integrity": "sha512-Nq5Mbza+Auo7N3sQb1QMFaQiDO+4UexWuSGR7Cjb4Sw11SZIJcrrFtiZ+L0jT9MBsUsxDboHVASbCLbE1rnECg==",
"devOptional": true,
"dependencies": {
- "@babel/runtime": "^7.14.0"
+ "@babel/runtime": "^7.16.7"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@storybook/builder-webpack5/node_modules/qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"devOptional": true,
"dependencies": {
"side-channel": "^1.0.4"
@@ -16466,6 +16889,15 @@
"randombytes": "^2.1.0"
}
},
+ "node_modules/@storybook/builder-webpack5/node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@storybook/builder-webpack5/node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -16510,15 +16942,6 @@
"url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
- "devOptional": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/@storybook/builder-webpack5/node_modules/terser": {
"version": "5.9.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz",
@@ -16580,18 +17003,6 @@
"node": ">= 8"
}
},
- "node_modules/@storybook/builder-webpack5/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==",
- "devOptional": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
"node_modules/@storybook/builder-webpack5/node_modules/webpack-dev-middleware": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz",
@@ -16639,13 +17050,13 @@
"devOptional": true
},
"node_modules/@storybook/channel-postmessage": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.3.12.tgz",
- "integrity": "sha512-Ou/2Ga3JRTZ/4sSv7ikMgUgLTeZMsXXWLXuscz4oaYhmOqAU9CrJw0G1NitwBgK/+qC83lEFSLujHkWcoQDOKg==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.4.19.tgz",
+ "integrity": "sha512-E5h/itFzQ/6M08LR4kqlgqqmeO3tmavI+nUAlZrkCrotpJFNMHE2i0PQHg0TkFJrRDpYcrwD+AjUW4IwdqrisQ==",
"dependencies": {
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
"core-js": "^3.8.2",
"global": "^4.4.0",
"qs": "^6.10.0",
@@ -16657,9 +17068,9 @@
}
},
"node_modules/@storybook/channel-postmessage/node_modules/@storybook/channels": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.12.tgz",
- "integrity": "sha512-l4sA+g1PdUV8YCbgs47fIKREdEQAKNdQIZw0b7BfTvY9t0x5yfBywgQhYON/lIeiNGz2OlIuD+VUtqYfCtNSyw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"dependencies": {
"core-js": "^3.8.2",
"ts-dedent": "^2.0.0",
@@ -16671,9 +17082,9 @@
}
},
"node_modules/@storybook/channel-postmessage/node_modules/@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"dependencies": {
"core-js": "^3.8.2",
"global": "^4.4.0"
@@ -16684,9 +17095,9 @@
}
},
"node_modules/@storybook/channel-postmessage/node_modules/@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"dependencies": {
"core-js": "^3.8.2"
},
@@ -16696,9 +17107,9 @@
}
},
"node_modules/@storybook/channel-postmessage/node_modules/qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"dependencies": {
"side-channel": "^1.0.4"
},
@@ -16709,6 +17120,49 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/@storybook/channel-websocket": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-6.4.19.tgz",
+ "integrity": "sha512-cXKwQjIXttfdUyZlcHORelUmJ5nUKswsnCA/qy7IRWpZjD8yQJcNk1dYC+tTHDVqFgdRT89pL0hRRB1rlaaR8Q==",
+ "dependencies": {
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "telejson": "^5.3.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/channel-websocket/node_modules/@storybook/channels": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
+ "dependencies": {
+ "core-js": "^3.8.2",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/channel-websocket/node_modules/@storybook/client-logger": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
+ "dependencies": {
+ "core-js": "^3.8.2",
+ "global": "^4.4.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
"node_modules/@storybook/channels": {
"version": "6.3.8",
"resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.8.tgz",
@@ -16724,26 +17178,28 @@
}
},
"node_modules/@storybook/client-api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.3.12.tgz",
- "integrity": "sha512-xnW+lKKK2T774z+rOr9Wopt1aYTStfb86PSs9p3Fpnc2Btcftln+C3NtiHZl8Ccqft8Mz/chLGgewRui6tNI8g==",
- "dependencies": {
- "@storybook/addons": "6.3.12",
- "@storybook/channel-postmessage": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.4.19.tgz",
+ "integrity": "sha512-OCrT5Um3FDvZnimQKwWtwsaI+5agPwq2i8YiqlofrI/NPMKp0I7DEkCGwE5IRD1Q8BIKqHcMo5tTmfYi0AxyOg==",
+ "dependencies": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/store": "6.4.19",
"@types/qs": "^6.9.5",
"@types/webpack-env": "^1.16.0",
"core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
- "stable": "^0.1.8",
"store2": "^2.12.0",
+ "synchronous-promise": "^2.0.15",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2"
},
@@ -16757,9 +17213,9 @@
}
},
"node_modules/@storybook/client-api/node_modules/@storybook/channels": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.12.tgz",
- "integrity": "sha512-l4sA+g1PdUV8YCbgs47fIKREdEQAKNdQIZw0b7BfTvY9t0x5yfBywgQhYON/lIeiNGz2OlIuD+VUtqYfCtNSyw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"dependencies": {
"core-js": "^3.8.2",
"ts-dedent": "^2.0.0",
@@ -16771,9 +17227,9 @@
}
},
"node_modules/@storybook/client-api/node_modules/@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"dependencies": {
"core-js": "^3.8.2",
"global": "^4.4.0"
@@ -16784,9 +17240,9 @@
}
},
"node_modules/@storybook/client-api/node_modules/@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"dependencies": {
"core-js": "^3.8.2"
},
@@ -16795,6 +17251,44 @@
"url": "https://opencollective.com/storybook"
}
},
+ "node_modules/@storybook/client-api/node_modules/@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "dependencies": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "node_modules/@storybook/client-api/node_modules/@storybook/store": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.4.19.tgz",
+ "integrity": "sha512-N9/ZjemRHGfT3InPIbqQqc6snkcfnf3Qh9oOr0smbfaVGJol//KOX65kzzobtzFcid0WxtTDZ3HmgFVH+GvuhQ==",
+ "dependencies": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "slash": "^3.0.0",
+ "stable": "^0.1.8",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
"node_modules/@storybook/client-api/node_modules/qs": {
"version": "6.10.1",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
@@ -16809,6 +17303,14 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/@storybook/client-api/node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@storybook/client-logger": {
"version": "6.3.8",
"resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.8.tgz",
@@ -16924,10 +17426,11 @@
}
},
"node_modules/@storybook/csf-tools": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-6.3.12.tgz",
- "integrity": "sha512-wNrX+99ajAXxLo0iRwrqw65MLvCV6SFC0XoPLYrtBvyKr+hXOOnzIhO2f5BNEii8velpC2gl2gcLKeacpVYLqA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-6.4.19.tgz",
+ "integrity": "sha512-gf/zRhGoAVsFwSyV2tc+jeJfZQkxF6QsaZgbUSe24/IUvGFCT/PS/jZq1qy7dECAwrTOfykgu8juyBtj6WhWyw==",
"dependencies": {
+ "@babel/core": "^7.12.10",
"@babel/generator": "^7.12.11",
"@babel/parser": "^7.12.11",
"@babel/plugin-transform-react-jsx": "^7.12.12",
@@ -16935,19 +17438,29 @@
"@babel/traverse": "^7.12.11",
"@babel/types": "^7.12.11",
"@mdx-js/mdx": "^1.6.22",
- "@storybook/csf": "^0.0.1",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
"core-js": "^3.8.2",
"fs-extra": "^9.0.1",
+ "global": "^4.4.0",
"js-string-escape": "^1.0.1",
- "lodash": "^4.17.20",
- "prettier": "~2.2.1",
- "regenerator-runtime": "^0.13.7"
+ "lodash": "^4.17.21",
+ "prettier": ">=2.2.1 <=2.3.0",
+ "regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
}
},
+ "node_modules/@storybook/csf-tools/node_modules/@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "dependencies": {
+ "lodash": "^4.17.15"
+ }
+ },
"node_modules/@storybook/csf-tools/node_modules/fs-extra": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
@@ -16963,9 +17476,9 @@
}
},
"node_modules/@storybook/csf-tools/node_modules/prettier": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz",
- "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz",
+ "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==",
"bin": {
"prettier": "bin-prettier.js"
},
@@ -16974,34 +17487,33 @@
}
},
"node_modules/@storybook/manager-webpack5": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/manager-webpack5/-/manager-webpack5-6.3.12.tgz",
- "integrity": "sha512-wMZYNBAUomlGSGsDFuATgiWRGF8g6TEk33VCESWrMnKLZZyq80KT+EiL/0+edfIbdrgalaqXwch38+tRwErg2A==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/manager-webpack5/-/manager-webpack5-6.4.19.tgz",
+ "integrity": "sha512-hVjWhWAOgWaymBy0HeRskN+MfKLpqLP4Txfw+3Xqg1qplgexV0w2O4BQrS/SNEH4V/1qF9h8XTsk3L3oQIj3Mg==",
"devOptional": true,
"dependencies": {
"@babel/core": "^7.12.10",
"@babel/plugin-transform-template-literals": "^7.12.1",
"@babel/preset-react": "^7.12.10",
- "@storybook/addons": "6.3.12",
- "@storybook/core-client": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/theming": "6.3.12",
- "@storybook/ui": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/core-client": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/theming": "6.4.19",
+ "@storybook/ui": "6.4.19",
"@types/node": "^14.0.10",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"case-sensitive-paths-webpack-plugin": "^2.3.0",
"chalk": "^4.1.0",
"core-js": "^3.8.2",
"css-loader": "^5.0.1",
- "dotenv-webpack": "^7.0.0",
"express": "^4.17.1",
- "file-loader": "^6.2.0",
"file-system-cache": "^1.0.5",
"find-up": "^5.0.0",
"fs-extra": "^9.0.1",
"html-webpack-plugin": "^5.0.0",
"node-fetch": "^2.6.1",
+ "process": "^0.11.10",
"read-pkg-up": "^7.0.1",
"regenerator-runtime": "^0.13.7",
"resolve-from": "^5.0.0",
@@ -17009,7 +17521,6 @@
"telejson": "^5.3.2",
"terser-webpack-plugin": "^5.0.3",
"ts-dedent": "^2.0.0",
- "url-loader": "^4.1.1",
"util-deprecate": "^1.0.2",
"webpack": "^5.9.0",
"webpack-dev-middleware": "^4.1.0",
@@ -17030,9 +17541,9 @@
}
},
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/channels": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.12.tgz",
- "integrity": "sha512-l4sA+g1PdUV8YCbgs47fIKREdEQAKNdQIZw0b7BfTvY9t0x5yfBywgQhYON/lIeiNGz2OlIuD+VUtqYfCtNSyw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"devOptional": true,
"dependencies": {
"core-js": "^3.8.2",
@@ -17045,9 +17556,9 @@
}
},
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"devOptional": true,
"dependencies": {
"core-js": "^3.8.2",
@@ -17059,23 +17570,26 @@
}
},
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/core-client": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.3.12.tgz",
- "integrity": "sha512-8Smd9BgZHJpAdevLKQYinwtjSyCZAuBMoetP4P5hnn53mWl0NFbrHFaAdT+yNchDLZQUbf7Y18VmIqEH+RCR5w==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.4.19.tgz",
+ "integrity": "sha512-rQHRZjhArPleE7/S8ZUolgzwY+hC0smSKX/3PQxO2GcebDjnJj6+iSV3h+aSMHMmTdoCQvjYw9aBpT8scuRe+A==",
"devOptional": true,
"dependencies": {
- "@storybook/addons": "6.3.12",
- "@storybook/channel-postmessage": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/ui": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/channel-websocket": "6.4.19",
+ "@storybook/client-api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/preview-web": "6.4.19",
+ "@storybook/store": "6.4.19",
+ "@storybook/ui": "6.4.19",
"airbnb-js-shims": "^2.2.1",
"ansi-to-html": "^0.6.11",
"core-js": "^3.8.2",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"ts-dedent": "^2.0.0",
@@ -17097,10 +17611,73 @@
}
}
},
+ "node_modules/@storybook/manager-webpack5/node_modules/@storybook/core-client/node_modules/@storybook/preview-web": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.4.19.tgz",
+ "integrity": "sha512-jqltoBv5j7lvnxEfV9w8dLX9ASWGuvgz97yg8Yo5FqkftEwrHJenyvMGcTgDJKJPorF+wiz/9aIqnmd3LCAcZQ==",
+ "devOptional": true,
+ "dependencies": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/store": "6.4.19",
+ "ansi-to-html": "^0.6.11",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "unfetch": "^4.2.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@storybook/manager-webpack5/node_modules/@storybook/core-client/node_modules/@storybook/store": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.4.19.tgz",
+ "integrity": "sha512-N9/ZjemRHGfT3InPIbqQqc6snkcfnf3Qh9oOr0smbfaVGJol//KOX65kzzobtzFcid0WxtTDZ3HmgFVH+GvuhQ==",
+ "devOptional": true,
+ "dependencies": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "slash": "^3.0.0",
+ "stable": "^0.1.8",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/core-common": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.3.12.tgz",
- "integrity": "sha512-xlHs2QXELq/moB4MuXjYOczaxU64BIseHsnFBLyboJYN6Yso3qihW5RB7cuJlGohkjb4JwY74dvfT4Ww66rkBA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.4.19.tgz",
+ "integrity": "sha512-X1pJJkO48DFxl6iyEemIKqRkJ7j9/cBh3BRBUr+xZHXBvnD0GKDXIocwh0PjSxSC6XSu3UCQnqtKi3PbjRl8Dg==",
"devOptional": true,
"dependencies": {
"@babel/core": "^7.12.10",
@@ -17124,13 +17701,11 @@
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.1",
- "@storybook/node-logger": "6.3.12",
+ "@storybook/node-logger": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@types/glob-base": "^0.3.0",
- "@types/micromatch": "^4.0.1",
"@types/node": "^14.0.10",
"@types/pretty-hrtime": "^1.0.0",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^3.0.1",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"chalk": "^4.1.0",
@@ -17139,15 +17714,18 @@
"file-system-cache": "^1.0.5",
"find-up": "^5.0.0",
"fork-ts-checker-webpack-plugin": "^6.0.4",
+ "fs-extra": "^9.0.1",
"glob": "^7.1.6",
- "glob-base": "^0.3.0",
+ "handlebars": "^4.7.7",
"interpret": "^2.2.0",
"json5": "^2.1.3",
"lazy-universal-dotenv": "^3.0.1",
- "micromatch": "^4.0.2",
+ "picomatch": "^2.3.0",
"pkg-dir": "^5.0.0",
"pretty-hrtime": "^1.0.3",
"resolve-from": "^5.0.0",
+ "slash": "^3.0.0",
+ "telejson": "^5.3.2",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
"webpack": "4"
@@ -17166,66 +17744,6 @@
}
}
},
- "node_modules/@storybook/manager-webpack5/node_modules/@storybook/core-common/node_modules/braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "devOptional": true,
- "dependencies": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@storybook/manager-webpack5/node_modules/@storybook/core-common/node_modules/fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "devOptional": true,
- "dependencies": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@storybook/manager-webpack5/node_modules/@storybook/core-common/node_modules/is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "devOptional": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@storybook/manager-webpack5/node_modules/@storybook/core-common/node_modules/is-number/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "devOptional": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/core-common/node_modules/loader-utils": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
@@ -17315,19 +17833,6 @@
"webpack": "^4.0.0"
}
},
- "node_modules/@storybook/manager-webpack5/node_modules/@storybook/core-common/node_modules/to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "devOptional": true,
- "dependencies": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/core-common/node_modules/webpack": {
"version": "4.46.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
@@ -17377,47 +17882,10 @@
}
}
},
- "node_modules/@storybook/manager-webpack5/node_modules/@storybook/core-common/node_modules/webpack/node_modules/extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "devOptional": true,
- "dependencies": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@storybook/manager-webpack5/node_modules/@storybook/core-common/node_modules/webpack/node_modules/micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "devOptional": true,
- "dependencies": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"devOptional": true,
"dependencies": {
"core-js": "^3.8.2"
@@ -17427,16 +17895,25 @@
"url": "https://opencollective.com/storybook"
}
},
+ "node_modules/@storybook/manager-webpack5/node_modules/@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "devOptional": true,
+ "dependencies": {
+ "lodash": "^4.17.15"
+ }
+ },
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"devOptional": true,
"dependencies": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -17456,12 +17933,12 @@
}
},
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/theming/node_modules/@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"devOptional": true,
"dependencies": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
},
"peerDependencies": {
@@ -17469,23 +17946,38 @@
"react": ">=16.3.0"
}
},
+ "node_modules/@storybook/manager-webpack5/node_modules/@storybook/theming/node_modules/@emotion/styled/node_modules/@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "devOptional": true,
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.28",
+ "react": ">=16.3.0"
+ }
+ },
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/ui": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.12.tgz",
- "integrity": "sha512-PC2yEz4JMfarq7rUFbeA3hCA+31p5es7YPEtxLRvRwIZhtL0P4zQUfHpotb3KgWdoAIfZesAuoIQwMPQmEFYrw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.4.19.tgz",
+ "integrity": "sha512-gFwdn5LA2U6oQ4bfUFLyHZnNasGQ01YVdwjbi+l6yjmnckBNtZfJoVTZ1rzGUbxSE9rK48InJRU+latTsr7xAg==",
"devOptional": true,
"dependencies": {
"@emotion/core": "^10.1.1",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/markdown-to-jsx": "^6.11.3",
+ "@storybook/theming": "6.4.19",
"copy-to-clipboard": "^3.3.1",
"core-js": "^3.8.2",
"core-js-pure": "^3.8.2",
@@ -17493,8 +17985,8 @@
"emotion-theming": "^10.0.27",
"fuse.js": "^3.6.1",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^6.11.4",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"polished": "^4.0.5",
"qs": "^6.10.0",
@@ -17515,26 +18007,23 @@
}
},
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/ui/node_modules/@storybook/api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.12.tgz",
- "integrity": "sha512-LScRXUeCWEW/OP+jiooNMQICVdusv7azTmULxtm72fhkXFRiQs2CdRNTiqNg46JLLC9z95f1W+pGK66X6HiiQA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
"devOptional": true,
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
"telejson": "^5.3.2",
@@ -17551,15 +18040,15 @@
}
},
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/ui/node_modules/@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"devOptional": true,
"dependencies": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -17567,7 +18056,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -17590,18 +18079,6 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/manager-webpack5/node_modules/@storybook/ui/node_modules/@storybook/components/node_modules/markdown-to-jsx": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.1.3.tgz",
- "integrity": "sha512-jtQ6VyT7rMT5tPV0g2EJakEnXLiPksnvlYtwQsVVZ611JsWGN8bQ1tVSDX4s6JllfEH6wmsYxNjTUAMrPmNA8w==",
- "devOptional": true,
- "engines": {
- "node": ">= 10"
- },
- "peerDependencies": {
- "react": ">= 0.14.0"
- }
- },
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/ui/node_modules/@storybook/components/node_modules/react-syntax-highlighter": {
"version": "13.5.3",
"resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
@@ -17619,20 +18096,21 @@
}
},
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/ui/node_modules/@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"devOptional": true,
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -17644,6 +18122,50 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
+ "node_modules/@storybook/manager-webpack5/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "devOptional": true,
+ "dependencies": {
+ "history": "^5.2.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/manager-webpack5/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "devOptional": true,
+ "dependencies": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/manager-webpack5/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router-dom/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "devOptional": true,
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
+ "node_modules/@storybook/manager-webpack5/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "devOptional": true,
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/ui/node_modules/downshift": {
"version": "6.1.7",
"resolved": "https://registry.npmjs.org/downshift/-/downshift-6.1.7.tgz",
@@ -17660,26 +18182,10 @@
"react": ">=16.12.0"
}
},
- "node_modules/@storybook/manager-webpack5/node_modules/@storybook/ui/node_modules/markdown-to-jsx": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz",
- "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==",
- "devOptional": true,
- "dependencies": {
- "prop-types": "^15.6.2",
- "unquote": "^1.1.0"
- },
- "engines": {
- "node": ">= 4"
- },
- "peerDependencies": {
- "react": ">= 0.14.0"
- }
- },
"node_modules/@storybook/manager-webpack5/node_modules/@storybook/ui/node_modules/react-helmet-async": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.1.2.tgz",
- "integrity": "sha512-LTTzDDkyIleT/JJ6T/uqx7Y8qi1EuPPSiJawQY/nHHz0h7SPDT6HxP1YDDQx/fzcVxCqpWEEMS3QdrSrNkJYhg==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz",
+ "integrity": "sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==",
"devOptional": true,
"dependencies": {
"@babel/runtime": "^7.12.5",
@@ -17726,18 +18232,6 @@
"npm": ">=6"
}
},
- "node_modules/@storybook/manager-webpack5/node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "devOptional": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@storybook/manager-webpack5/node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -17784,57 +18278,6 @@
"webpack": "^4.27.0 || ^5.0.0"
}
},
- "node_modules/@storybook/manager-webpack5/node_modules/dotenv-defaults": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz",
- "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==",
- "devOptional": true,
- "dependencies": {
- "dotenv": "^8.2.0"
- }
- },
- "node_modules/@storybook/manager-webpack5/node_modules/dotenv-webpack": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-7.0.3.tgz",
- "integrity": "sha512-O0O9pOEwrk+n1zzR3T2uuXRlw64QxHSPeNN1GaiNBloQFNaCUL9V8jxSVz4jlXXFP/CIqK8YecWf8BAvsSgMjw==",
- "devOptional": true,
- "dependencies": {
- "dotenv-defaults": "^2.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "webpack": "^4 || ^5"
- }
- },
- "node_modules/@storybook/manager-webpack5/node_modules/enhanced-resolve": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
- "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
- "devOptional": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@storybook/manager-webpack5/node_modules/enhanced-resolve/node_modules/memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "devOptional": true,
- "dependencies": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- },
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
- }
- },
"node_modules/@storybook/manager-webpack5/node_modules/eslint-scope": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
@@ -17848,38 +18291,6 @@
"node": ">=4.0.0"
}
},
- "node_modules/@storybook/manager-webpack5/node_modules/file-loader": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
- "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
- "devOptional": true,
- "dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/@storybook/manager-webpack5/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==",
- "devOptional": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@storybook/manager-webpack5/node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -17929,25 +18340,13 @@
"node": ">=8"
}
},
- "node_modules/@storybook/manager-webpack5/node_modules/is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "node_modules/@storybook/manager-webpack5/node_modules/history": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.0.0.tgz",
+ "integrity": "sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==",
"devOptional": true,
"dependencies": {
- "is-plain-object": "^2.0.4"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@storybook/manager-webpack5/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==",
- "devOptional": true,
- "engines": {
- "node": ">=0.12.0"
+ "@babel/runtime": "^7.7.6"
}
},
"node_modules/@storybook/manager-webpack5/node_modules/jest-worker": {
@@ -17979,15 +18378,6 @@
"node": ">=6"
}
},
- "node_modules/@storybook/manager-webpack5/node_modules/kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "devOptional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/@storybook/manager-webpack5/node_modules/loader-runner": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
@@ -18038,29 +18428,6 @@
"node": ">=10"
}
},
- "node_modules/@storybook/manager-webpack5/node_modules/memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "devOptional": true,
- "dependencies": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
- "node_modules/@storybook/manager-webpack5/node_modules/micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "devOptional": true,
- "dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
"node_modules/@storybook/manager-webpack5/node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -18113,21 +18480,21 @@
}
},
"node_modules/@storybook/manager-webpack5/node_modules/polished": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.3.tgz",
- "integrity": "sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.4.tgz",
+ "integrity": "sha512-Nq5Mbza+Auo7N3sQb1QMFaQiDO+4UexWuSGR7Cjb4Sw11SZIJcrrFtiZ+L0jT9MBsUsxDboHVASbCLbE1rnECg==",
"devOptional": true,
"dependencies": {
- "@babel/runtime": "^7.14.0"
+ "@babel/runtime": "^7.16.7"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@storybook/manager-webpack5/node_modules/qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"devOptional": true,
"dependencies": {
"side-channel": "^1.0.4"
@@ -18178,6 +18545,15 @@
"randombytes": "^2.1.0"
}
},
+ "node_modules/@storybook/manager-webpack5/node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@storybook/manager-webpack5/node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -18222,15 +18598,6 @@
"url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
- "node_modules/@storybook/manager-webpack5/node_modules/tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
- "devOptional": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/@storybook/manager-webpack5/node_modules/terser": {
"version": "5.9.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz",
@@ -18292,18 +18659,6 @@
"node": ">= 8"
}
},
- "node_modules/@storybook/manager-webpack5/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==",
- "devOptional": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
"node_modules/@storybook/manager-webpack5/node_modules/tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
@@ -18357,14 +18712,14 @@
"devOptional": true
},
"node_modules/@storybook/node-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.3.12.tgz",
- "integrity": "sha512-iktOem/Ls2+dsZY9PhPeC6T1QhX/y7OInP88neLsqEPEbB2UXca3Ydv7OZBhBVbvN25W45b05MRzbtNUxYLNRw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.4.19.tgz",
+ "integrity": "sha512-hO2Aar3PgPnPtNq2fVgiuGlqo3EEVR6TKVBXMq7foL3tN2k4BQFKLDHbm5qZQQntyYKurKsRUGKPJFPuI1ov/w==",
"dependencies": {
"@types/npmlog": "^4.1.2",
"chalk": "^4.1.0",
"core-js": "^3.8.2",
- "npmlog": "^4.1.2",
+ "npmlog": "^5.0.1",
"pretty-hrtime": "^1.0.3"
},
"funding": {
@@ -18372,10 +18727,105 @@
"url": "https://opencollective.com/storybook"
}
},
+ "node_modules/@storybook/node-logger/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==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@storybook/node-logger/node_modules/are-we-there-yet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
+ "dependencies": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@storybook/node-logger/node_modules/gauge": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+ "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
+ "dependencies": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@storybook/node-logger/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==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@storybook/node-logger/node_modules/npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+ "dependencies": {
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
+ }
+ },
+ "node_modules/@storybook/node-logger/node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/@storybook/node-logger/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==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@storybook/node-logger/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==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@storybook/postinstall": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-6.3.12.tgz",
- "integrity": "sha512-HkZ+abtZ3W6JbGPS6K7OSnNXbwaTwNNd5R02kRs4gV9B29XsBPDtFT6vIwzM3tmVQC7ihL5a8ceWp2OvzaNOuw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-6.4.19.tgz",
+ "integrity": "sha512-/0tHHxyIV82zt1rw4BW70GmrQbDVu9IJPAxOqFzGjC1fNojwJ53mK6FfUsOzbhG5mWk5p0Ip5+zr74moP119AA==",
"dev": true,
"dependencies": {
"core-js": "^3.8.2"
@@ -18386,29 +18836,30 @@
}
},
"node_modules/@storybook/react": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.3.12.tgz",
- "integrity": "sha512-c1Y/3/eNzye+ZRwQ3BXJux6pUMVt3lhv1/M9Qagl9JItP3jDSj5Ed3JHCgwEqpprP8mvNNXwEJ8+M7vEQyDuHg==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.4.19.tgz",
+ "integrity": "sha512-5b3i8jkVrjQGmcxxxXwCduHPIh+cluWkfeweKeQOe+lW4BR8fuUICo3AMLrYPAtB/UcaJyYkIYmTvF2mkfepFA==",
"dependencies": {
"@babel/preset-flow": "^7.12.1",
"@babel/preset-react": "^7.12.10",
- "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3",
- "@storybook/addons": "6.3.12",
- "@storybook/core": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/node-logger": "6.3.12",
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.5.1",
+ "@storybook/addons": "6.4.19",
+ "@storybook/core": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/node-logger": "6.4.19",
"@storybook/react-docgen-typescript-plugin": "1.0.2-canary.253f8c1.0",
"@storybook/semver": "^7.3.2",
+ "@storybook/store": "6.4.19",
"@types/webpack-env": "^1.16.0",
"babel-plugin-add-react-displayname": "^0.0.5",
"babel-plugin-named-asset-import": "^0.3.1",
"babel-plugin-react-docgen": "^4.2.1",
"core-js": "^3.8.2",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"prop-types": "^15.7.2",
- "react-dev-utils": "^11.0.3",
- "react-refresh": "^0.8.3",
+ "react-refresh": "^0.11.0",
"read-pkg-up": "^7.0.1",
"regenerator-runtime": "^0.13.7",
"ts-dedent": "^2.0.0",
@@ -18650,10 +19101,72 @@
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
},
+ "node_modules/@storybook/react/node_modules/@pmmmwh/react-refresh-webpack-plugin": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.4.tgz",
+ "integrity": "sha512-zZbZeHQDnoTlt2AF+diQT0wsSXpvWiaIOZwBRdltNFhG1+I3ozyaw7U/nBiUwyJ0D+zwdXp0E3bWOl38Ag2BMw==",
+ "dependencies": {
+ "ansi-html-community": "^0.0.8",
+ "common-path-prefix": "^3.0.0",
+ "core-js-pure": "^3.8.1",
+ "error-stack-parser": "^2.0.6",
+ "find-up": "^5.0.0",
+ "html-entities": "^2.1.0",
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0",
+ "source-map": "^0.7.3"
+ },
+ "engines": {
+ "node": ">= 10.13"
+ },
+ "peerDependencies": {
+ "@types/webpack": "4.x || 5.x",
+ "react-refresh": ">=0.10.0 <1.0.0",
+ "sockjs-client": "^1.4.0",
+ "type-fest": ">=0.17.0 <3.0.0",
+ "webpack": ">=4.43.0 <6.0.0",
+ "webpack-dev-server": "3.x || 4.x",
+ "webpack-hot-middleware": "2.x",
+ "webpack-plugin-serve": "0.x || 1.x"
+ },
+ "peerDependenciesMeta": {
+ "@types/webpack": {
+ "optional": true
+ },
+ "sockjs-client": {
+ "optional": true
+ },
+ "type-fest": {
+ "optional": true
+ },
+ "webpack-dev-server": {
+ "optional": true
+ },
+ "webpack-hot-middleware": {
+ "optional": true
+ },
+ "webpack-plugin-serve": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@storybook/react/node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/loader-utils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
+ "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=8.9.0"
+ }
+ },
"node_modules/@storybook/react/node_modules/@storybook/channels": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.12.tgz",
- "integrity": "sha512-l4sA+g1PdUV8YCbgs47fIKREdEQAKNdQIZw0b7BfTvY9t0x5yfBywgQhYON/lIeiNGz2OlIuD+VUtqYfCtNSyw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"dependencies": {
"core-js": "^3.8.2",
"ts-dedent": "^2.0.0",
@@ -18665,9 +19178,9 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"dependencies": {
"core-js": "^3.8.2",
"global": "^4.4.0"
@@ -18678,21 +19191,22 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.3.12.tgz",
- "integrity": "sha512-FJm2ns8wk85hXWKslLWiUWRWwS9KWRq7jlkN6M9p57ghFseSGr4W71Orcoab4P3M7jI97l5yqBfppbscinE74g==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.4.19.tgz",
+ "integrity": "sha512-55LOQ/h/kf1jMhjN85t/pIEdIwWEG9yV7bdwv3niVvmoypCxyyjn9/QNK0RKYAeDSUtdm6FVoJ6k5CpxWz2d8w==",
"dependencies": {
- "@storybook/core-client": "6.3.12",
- "@storybook/core-server": "6.3.12"
+ "@storybook/core-client": "6.4.19",
+ "@storybook/core-server": "6.4.19"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "@storybook/builder-webpack5": "6.3.12",
+ "@storybook/builder-webpack5": "6.4.19",
"react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0"
+ "react-dom": "^16.8.0 || ^17.0.0",
+ "webpack": "*"
},
"peerDependenciesMeta": {
"@storybook/builder-webpack5": {
@@ -18704,9 +19218,9 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core-common": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.3.12.tgz",
- "integrity": "sha512-xlHs2QXELq/moB4MuXjYOczaxU64BIseHsnFBLyboJYN6Yso3qihW5RB7cuJlGohkjb4JwY74dvfT4Ww66rkBA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.4.19.tgz",
+ "integrity": "sha512-X1pJJkO48DFxl6iyEemIKqRkJ7j9/cBh3BRBUr+xZHXBvnD0GKDXIocwh0PjSxSC6XSu3UCQnqtKi3PbjRl8Dg==",
"dependencies": {
"@babel/core": "^7.12.10",
"@babel/plugin-proposal-class-properties": "^7.12.1",
@@ -18729,13 +19243,11 @@
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.1",
- "@storybook/node-logger": "6.3.12",
+ "@storybook/node-logger": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@types/glob-base": "^0.3.0",
- "@types/micromatch": "^4.0.1",
"@types/node": "^14.0.10",
"@types/pretty-hrtime": "^1.0.0",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^3.0.1",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"chalk": "^4.1.0",
@@ -18744,15 +19256,18 @@
"file-system-cache": "^1.0.5",
"find-up": "^5.0.0",
"fork-ts-checker-webpack-plugin": "^6.0.4",
+ "fs-extra": "^9.0.1",
"glob": "^7.1.6",
- "glob-base": "^0.3.0",
+ "handlebars": "^4.7.7",
"interpret": "^2.2.0",
"json5": "^2.1.3",
"lazy-universal-dotenv": "^3.0.1",
- "micromatch": "^4.0.2",
+ "picomatch": "^2.3.0",
"pkg-dir": "^5.0.0",
"pretty-hrtime": "^1.0.3",
"resolve-from": "^5.0.0",
+ "slash": "^3.0.0",
+ "telejson": "^5.3.2",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
"webpack": "4"
@@ -18771,22 +19286,10 @@
}
}
},
- "node_modules/@storybook/react/node_modules/@storybook/core-common/node_modules/micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
"node_modules/@storybook/react/node_modules/@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"dependencies": {
"core-js": "^3.8.2"
},
@@ -18796,22 +19299,25 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.3.12.tgz",
- "integrity": "sha512-8Smd9BgZHJpAdevLKQYinwtjSyCZAuBMoetP4P5hnn53mWl0NFbrHFaAdT+yNchDLZQUbf7Y18VmIqEH+RCR5w==",
- "dependencies": {
- "@storybook/addons": "6.3.12",
- "@storybook/channel-postmessage": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/ui": "6.3.12",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.4.19.tgz",
+ "integrity": "sha512-rQHRZjhArPleE7/S8ZUolgzwY+hC0smSKX/3PQxO2GcebDjnJj6+iSV3h+aSMHMmTdoCQvjYw9aBpT8scuRe+A==",
+ "dependencies": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/channel-websocket": "6.4.19",
+ "@storybook/client-api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/preview-web": "6.4.19",
+ "@storybook/store": "6.4.19",
+ "@storybook/ui": "6.4.19",
"airbnb-js-shims": "^2.2.1",
"ansi-to-html": "^0.6.11",
"core-js": "^3.8.2",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"ts-dedent": "^2.0.0",
@@ -18833,22 +19339,52 @@
}
}
},
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/preview-web": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.4.19.tgz",
+ "integrity": "sha512-jqltoBv5j7lvnxEfV9w8dLX9ASWGuvgz97yg8Yo5FqkftEwrHJenyvMGcTgDJKJPorF+wiz/9aIqnmd3LCAcZQ==",
+ "dependencies": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/store": "6.4.19",
+ "ansi-to-html": "^0.6.11",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "unfetch": "^4.2.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.12.tgz",
- "integrity": "sha512-PC2yEz4JMfarq7rUFbeA3hCA+31p5es7YPEtxLRvRwIZhtL0P4zQUfHpotb3KgWdoAIfZesAuoIQwMPQmEFYrw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.4.19.tgz",
+ "integrity": "sha512-gFwdn5LA2U6oQ4bfUFLyHZnNasGQ01YVdwjbi+l6yjmnckBNtZfJoVTZ1rzGUbxSE9rK48InJRU+latTsr7xAg==",
"dependencies": {
"@emotion/core": "^10.1.1",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/markdown-to-jsx": "^6.11.3",
+ "@storybook/theming": "6.4.19",
"copy-to-clipboard": "^3.3.1",
"core-js": "^3.8.2",
"core-js-pure": "^3.8.2",
@@ -18856,8 +19392,8 @@
"emotion-theming": "^10.0.27",
"fuse.js": "^3.6.1",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^6.11.4",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"polished": "^4.0.5",
"qs": "^6.10.0",
@@ -18878,25 +19414,22 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.12.tgz",
- "integrity": "sha512-LScRXUeCWEW/OP+jiooNMQICVdusv7azTmULxtm72fhkXFRiQs2CdRNTiqNg46JLLC9z95f1W+pGK66X6HiiQA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
"telejson": "^5.3.2",
@@ -18913,14 +19446,14 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dependencies": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -18928,7 +19461,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -18951,17 +19484,6 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/components/node_modules/markdown-to-jsx": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.1.3.tgz",
- "integrity": "sha512-jtQ6VyT7rMT5tPV0g2EJakEnXLiPksnvlYtwQsVVZ611JsWGN8bQ1tVSDX4s6JllfEH6wmsYxNjTUAMrPmNA8w==",
- "engines": {
- "node": ">= 10"
- },
- "peerDependencies": {
- "react": ">= 0.14.0"
- }
- },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/components/node_modules/react-syntax-highlighter": {
"version": "13.5.3",
"resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
@@ -18978,19 +19500,20 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -19002,15 +19525,55 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "dependencies": {
+ "history": "^5.2.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "dependencies": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router-dom/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dependencies": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -19030,11 +19593,11 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/theming/node_modules/@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dependencies": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
},
"peerDependencies": {
@@ -19042,6 +19605,21 @@
"react": ">=16.3.0"
}
},
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/@storybook/theming/node_modules/@emotion/styled/node_modules/@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.28",
+ "react": ">=16.3.0"
+ }
+ },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/downshift": {
"version": "6.1.7",
"resolved": "https://registry.npmjs.org/downshift/-/downshift-6.1.7.tgz",
@@ -19057,25 +19635,10 @@
"react": ">=16.12.0"
}
},
- "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/markdown-to-jsx": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz",
- "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==",
- "dependencies": {
- "prop-types": "^15.6.2",
- "unquote": "^1.1.0"
- },
- "engines": {
- "node": ">= 4"
- },
- "peerDependencies": {
- "react": ">= 0.14.0"
- }
- },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-client/node_modules/@storybook/ui/node_modules/react-helmet-async": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.1.2.tgz",
- "integrity": "sha512-LTTzDDkyIleT/JJ6T/uqx7Y8qi1EuPPSiJawQY/nHHz0h7SPDT6HxP1YDDQx/fzcVxCqpWEEMS3QdrSrNkJYhg==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz",
+ "integrity": "sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==",
"dependencies": {
"@babel/runtime": "^7.12.5",
"invariant": "^2.2.4",
@@ -19089,52 +19652,60 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.3.12.tgz",
- "integrity": "sha512-T/Mdyi1FVkUycdyOnhXvoo3d9nYXLQFkmaJkltxBFLzAePAJUSgAsPL9odNC3+p8Nr2/UDsDzvu/Ow0IF0mzLQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.4.19.tgz",
+ "integrity": "sha512-bKsUB9f7hl5ya2JXxpIrErmbDQjoH39FVbzYZWjMo4t/b7+Xyi6vYadwyWcqlpUQmis09ZaSMv8L/Tw0TuwLAA==",
"dependencies": {
"@discoveryjs/json-ext": "^0.5.3",
- "@storybook/builder-webpack4": "6.3.12",
- "@storybook/core-client": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/csf-tools": "6.3.12",
- "@storybook/manager-webpack4": "6.3.12",
- "@storybook/node-logger": "6.3.12",
+ "@storybook/builder-webpack4": "6.4.19",
+ "@storybook/core-client": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf-tools": "6.4.19",
+ "@storybook/manager-webpack4": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
"@storybook/semver": "^7.3.2",
+ "@storybook/store": "6.4.19",
"@types/node": "^14.0.10",
"@types/node-fetch": "^2.5.7",
"@types/pretty-hrtime": "^1.0.0",
"@types/webpack": "^4.41.26",
"better-opn": "^2.1.1",
- "boxen": "^4.2.0",
+ "boxen": "^5.1.2",
"chalk": "^4.1.0",
- "cli-table3": "0.6.0",
+ "cli-table3": "^0.6.1",
"commander": "^6.2.1",
"compression": "^1.7.4",
"core-js": "^3.8.2",
- "cpy": "^8.1.1",
+ "cpy": "^8.1.2",
"detect-port": "^1.3.0",
"express": "^4.17.1",
"file-system-cache": "^1.0.5",
"fs-extra": "^9.0.1",
"globby": "^11.0.2",
"ip": "^1.1.5",
+ "lodash": "^4.17.21",
"node-fetch": "^2.6.1",
"pretty-hrtime": "^1.0.3",
"prompts": "^2.4.0",
"regenerator-runtime": "^0.13.7",
"serve-favicon": "^2.5.0",
+ "slash": "^3.0.0",
+ "telejson": "^5.3.3",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
- "webpack": "4"
+ "watchpack": "^2.2.0",
+ "webpack": "4",
+ "ws": "^8.2.3"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "@storybook/builder-webpack5": "6.3.12",
- "@storybook/manager-webpack5": "6.3.12",
+ "@storybook/builder-webpack5": "6.4.19",
+ "@storybook/manager-webpack5": "6.4.19",
"react": "^16.8.0 || ^17.0.0",
"react-dom": "^16.8.0 || ^17.0.0"
},
@@ -19151,9 +19722,9 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/builder-webpack4": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.3.12.tgz",
- "integrity": "sha512-Dlm5Fc1svqpFDnVPZdAaEBiM/IDZHMV3RfEGbUTY/ZC0q8b/Ug1czzp/w0aTIjOFRuBDcG6IcplikaqHL8CJLg==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.4.19.tgz",
+ "integrity": "sha512-wxA6SMH11duc9D53aeVVBwrVRemFIoxHp/dOugkkg6ZZFAb4ZmWzf/ENc3vQIZdZpfNRi7IZIZEOfoHc994cmw==",
"dependencies": {
"@babel/core": "^7.12.10",
"@babel/plugin-proposal-class-properties": "^7.12.1",
@@ -19176,34 +19747,34 @@
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channel-postmessage": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/preview-web": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@storybook/ui": "6.3.12",
+ "@storybook/store": "6.4.19",
+ "@storybook/theming": "6.4.19",
+ "@storybook/ui": "6.4.19",
"@types/node": "^14.0.10",
"@types/webpack": "^4.41.26",
"autoprefixer": "^9.8.6",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^2.8.0",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"case-sensitive-paths-webpack-plugin": "^2.3.0",
"core-js": "^3.8.2",
"css-loader": "^3.6.0",
- "dotenv-webpack": "^1.8.0",
"file-loader": "^6.2.0",
"find-up": "^5.0.0",
"fork-ts-checker-webpack-plugin": "^4.1.6",
- "fs-extra": "^9.0.1",
"glob": "^7.1.6",
"glob-promise": "^3.4.0",
"global": "^4.4.0",
@@ -19213,7 +19784,6 @@
"postcss-flexbugs-fixes": "^4.2.1",
"postcss-loader": "^4.2.0",
"raw-loader": "^4.0.2",
- "react-dev-utils": "^11.0.3",
"stable": "^0.1.8",
"style-loader": "^1.3.0",
"terser-webpack-plugin": "^4.2.3",
@@ -19223,7 +19793,7 @@
"webpack": "4",
"webpack-dev-middleware": "^3.7.3",
"webpack-filter-warnings-plugin": "^1.2.1",
- "webpack-hot-middleware": "^2.25.0",
+ "webpack-hot-middleware": "^2.25.1",
"webpack-virtual-modules": "^0.2.2"
},
"funding": {
@@ -19241,25 +19811,22 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/builder-webpack4/node_modules/@storybook/api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.12.tgz",
- "integrity": "sha512-LScRXUeCWEW/OP+jiooNMQICVdusv7azTmULxtm72fhkXFRiQs2CdRNTiqNg46JLLC9z95f1W+pGK66X6HiiQA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
"telejson": "^5.3.2",
@@ -19276,14 +19843,14 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/builder-webpack4/node_modules/@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dependencies": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -19291,7 +19858,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -19329,20 +19896,52 @@
"react": ">= 0.14.0"
}
},
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/builder-webpack4/node_modules/@storybook/preview-web": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.4.19.tgz",
+ "integrity": "sha512-jqltoBv5j7lvnxEfV9w8dLX9ASWGuvgz97yg8Yo5FqkftEwrHJenyvMGcTgDJKJPorF+wiz/9aIqnmd3LCAcZQ==",
+ "dependencies": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/store": "6.4.19",
+ "ansi-to-html": "^0.6.11",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "unfetch": "^4.2.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/builder-webpack4/node_modules/@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -19354,15 +19953,55 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/builder-webpack4/node_modules/@storybook/router/node_modules/react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "dependencies": {
+ "history": "^5.2.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/builder-webpack4/node_modules/@storybook/router/node_modules/react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "dependencies": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/builder-webpack4/node_modules/@storybook/router/node_modules/react-router-dom/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/builder-webpack4/node_modules/@storybook/router/node_modules/react-router/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/builder-webpack4/node_modules/@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dependencies": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -19382,11 +20021,11 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/builder-webpack4/node_modules/@storybook/theming/node_modules/@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dependencies": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
},
"peerDependencies": {
@@ -19394,22 +20033,36 @@
"react": ">=16.3.0"
}
},
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/builder-webpack4/node_modules/@storybook/theming/node_modules/@emotion/styled/node_modules/@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.28",
+ "react": ">=16.3.0"
+ }
+ },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/builder-webpack4/node_modules/@storybook/ui": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.12.tgz",
- "integrity": "sha512-PC2yEz4JMfarq7rUFbeA3hCA+31p5es7YPEtxLRvRwIZhtL0P4zQUfHpotb3KgWdoAIfZesAuoIQwMPQmEFYrw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.4.19.tgz",
+ "integrity": "sha512-gFwdn5LA2U6oQ4bfUFLyHZnNasGQ01YVdwjbi+l6yjmnckBNtZfJoVTZ1rzGUbxSE9rK48InJRU+latTsr7xAg==",
"dependencies": {
"@emotion/core": "^10.1.1",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/markdown-to-jsx": "^6.11.3",
+ "@storybook/theming": "6.4.19",
"copy-to-clipboard": "^3.3.1",
"core-js": "^3.8.2",
"core-js-pure": "^3.8.2",
@@ -19417,8 +20070,8 @@
"emotion-theming": "^10.0.27",
"fuse.js": "^3.6.1",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^6.11.4",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"polished": "^4.0.5",
"qs": "^6.10.0",
@@ -19453,25 +20106,10 @@
"react": ">=16.12.0"
}
},
- "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/builder-webpack4/node_modules/@storybook/ui/node_modules/markdown-to-jsx": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz",
- "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==",
- "dependencies": {
- "prop-types": "^15.6.2",
- "unquote": "^1.1.0"
- },
- "engines": {
- "node": ">= 4"
- },
- "peerDependencies": {
- "react": ">= 0.14.0"
- }
- },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/builder-webpack4/node_modules/@storybook/ui/node_modules/react-helmet-async": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.1.2.tgz",
- "integrity": "sha512-LTTzDDkyIleT/JJ6T/uqx7Y8qi1EuPPSiJawQY/nHHz0h7SPDT6HxP1YDDQx/fzcVxCqpWEEMS3QdrSrNkJYhg==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz",
+ "integrity": "sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==",
"dependencies": {
"@babel/runtime": "^7.12.5",
"invariant": "^2.2.4",
@@ -19485,27 +20123,26 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.3.12.tgz",
- "integrity": "sha512-OkPYNrHXg2yZfKmEfTokP6iKx4OLTr0gdI5yehi/bLEuQCSHeruxBc70Dxm1GBk1Mrf821wD9WqMXNDjY5Qtug==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.4.19.tgz",
+ "integrity": "sha512-R8ugZjTYqXvlc6gDOcw909L65sIleOmIJLZR+N6/H85MivGXHu39jOwONqB7tVACufRty4FNecn8tEiQL2SAKA==",
"dependencies": {
"@babel/core": "^7.12.10",
"@babel/plugin-transform-template-literals": "^7.12.1",
"@babel/preset-react": "^7.12.10",
- "@storybook/addons": "6.3.12",
- "@storybook/core-client": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/theming": "6.3.12",
- "@storybook/ui": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/core-client": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/theming": "6.4.19",
+ "@storybook/ui": "6.4.19",
"@types/node": "^14.0.10",
"@types/webpack": "^4.41.26",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"case-sensitive-paths-webpack-plugin": "^2.3.0",
"chalk": "^4.1.0",
"core-js": "^3.8.2",
"css-loader": "^3.6.0",
- "dotenv-webpack": "^1.8.0",
"express": "^4.17.1",
"file-loader": "^6.2.0",
"file-system-cache": "^1.0.5",
@@ -19542,14 +20179,14 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dependencies": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -19569,11 +20206,11 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/theming/node_modules/@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dependencies": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
},
"peerDependencies": {
@@ -19581,22 +20218,36 @@
"react": ">=16.3.0"
}
},
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/theming/node_modules/@emotion/styled/node_modules/@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.28",
+ "react": ">=16.3.0"
+ }
+ },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.12.tgz",
- "integrity": "sha512-PC2yEz4JMfarq7rUFbeA3hCA+31p5es7YPEtxLRvRwIZhtL0P4zQUfHpotb3KgWdoAIfZesAuoIQwMPQmEFYrw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.4.19.tgz",
+ "integrity": "sha512-gFwdn5LA2U6oQ4bfUFLyHZnNasGQ01YVdwjbi+l6yjmnckBNtZfJoVTZ1rzGUbxSE9rK48InJRU+latTsr7xAg==",
"dependencies": {
"@emotion/core": "^10.1.1",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/markdown-to-jsx": "^6.11.3",
+ "@storybook/theming": "6.4.19",
"copy-to-clipboard": "^3.3.1",
"core-js": "^3.8.2",
"core-js-pure": "^3.8.2",
@@ -19604,8 +20255,8 @@
"emotion-theming": "^10.0.27",
"fuse.js": "^3.6.1",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^6.11.4",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"polished": "^4.0.5",
"qs": "^6.10.0",
@@ -19626,25 +20277,22 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/@storybook/api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.12.tgz",
- "integrity": "sha512-LScRXUeCWEW/OP+jiooNMQICVdusv7azTmULxtm72fhkXFRiQs2CdRNTiqNg46JLLC9z95f1W+pGK66X6HiiQA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
"telejson": "^5.3.2",
@@ -19661,14 +20309,14 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dependencies": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -19676,7 +20324,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -19699,17 +20347,6 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/@storybook/components/node_modules/markdown-to-jsx": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.1.3.tgz",
- "integrity": "sha512-jtQ6VyT7rMT5tPV0g2EJakEnXLiPksnvlYtwQsVVZ611JsWGN8bQ1tVSDX4s6JllfEH6wmsYxNjTUAMrPmNA8w==",
- "engines": {
- "node": ">= 10"
- },
- "peerDependencies": {
- "react": ">= 0.14.0"
- }
- },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/@storybook/components/node_modules/react-syntax-highlighter": {
"version": "13.5.3",
"resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
@@ -19726,19 +20363,20 @@
}
},
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"dependencies": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -19750,6 +20388,46 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "dependencies": {
+ "history": "^5.2.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "dependencies": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router-dom/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/@storybook/router/node_modules/react-router/node_modules/history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/downshift": {
"version": "6.1.7",
"resolved": "https://registry.npmjs.org/downshift/-/downshift-6.1.7.tgz",
@@ -19765,25 +20443,10 @@
"react": ">=16.12.0"
}
},
- "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/markdown-to-jsx": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz",
- "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==",
- "dependencies": {
- "prop-types": "^15.6.2",
- "unquote": "^1.1.0"
- },
- "engines": {
- "node": ">= 4"
- },
- "peerDependencies": {
- "react": ">= 0.14.0"
- }
- },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/@storybook/core-server/node_modules/@storybook/manager-webpack4/node_modules/@storybook/ui/node_modules/react-helmet-async": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.1.2.tgz",
- "integrity": "sha512-LTTzDDkyIleT/JJ6T/uqx7Y8qi1EuPPSiJawQY/nHHz0h7SPDT6HxP1YDDQx/fzcVxCqpWEEMS3QdrSrNkJYhg==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz",
+ "integrity": "sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==",
"dependencies": {
"@babel/runtime": "^7.12.5",
"invariant": "^2.2.4",
@@ -19796,6 +20459,17 @@
"react-dom": "^16.6.0 || ^17.0.0"
}
},
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/acorn": {
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
+ "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/babel-plugin-macros": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz",
@@ -19977,23 +20651,6 @@
"node": ">=8"
}
},
- "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/serialize-javascript": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
@@ -20002,11 +20659,20 @@
"randombytes": "^2.1.0"
}
},
+ "node_modules/@storybook/react/node_modules/@storybook/core/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==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/@storybook/react/node_modules/@storybook/core/node_modules/terser": {
- "version": "5.9.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz",
- "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==",
+ "version": "5.12.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz",
+ "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==",
"dependencies": {
+ "acorn": "^8.5.0",
"commander": "^2.20.0",
"source-map": "~0.7.2",
"source-map-support": "~0.5.20"
@@ -20057,10 +20723,60 @@
"node": ">= 8"
}
},
+ "node_modules/@storybook/react/node_modules/@storybook/core/node_modules/watchpack": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
+ "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
+ "dependencies": {
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "dependencies": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/@storybook/store": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.4.19.tgz",
+ "integrity": "sha512-N9/ZjemRHGfT3InPIbqQqc6snkcfnf3Qh9oOr0smbfaVGJol//KOX65kzzobtzFcid0WxtTDZ3HmgFVH+GvuhQ==",
+ "dependencies": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "slash": "^3.0.0",
+ "stable": "^0.1.8",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
"node_modules/@storybook/react/node_modules/@types/node": {
- "version": "14.17.33",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.33.tgz",
- "integrity": "sha512-noEeJ06zbn3lOh4gqe2v7NMGS33jrulfNqYFDjjEbhpDEHR5VTxgYNQSBqBlJIsBJW3uEYDgD6kvMnrrhGzq8g=="
+ "version": "14.18.12",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz",
+ "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A=="
},
"node_modules/@storybook/react/node_modules/acorn": {
"version": "6.4.2",
@@ -20098,17 +20814,6 @@
"npm": ">=6"
}
},
- "node_modules/@storybook/react/node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@storybook/react/node_modules/chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
@@ -20185,42 +20890,6 @@
"semver": "bin/semver.js"
}
},
- "node_modules/@storybook/react/node_modules/dotenv-webpack": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-1.8.0.tgz",
- "integrity": "sha512-o8pq6NLBehtrqA8Jv8jFQNtG9nhRtVqmoD4yWbgUyoU3+9WBlPe+c2EAiaJok9RB28QvrWvdWLZGeTT5aATDMg==",
- "dependencies": {
- "dotenv-defaults": "^1.0.2"
- },
- "peerDependencies": {
- "webpack": "^1 || ^2 || ^3 || ^4"
- }
- },
- "node_modules/@storybook/react/node_modules/enhanced-resolve": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
- "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@storybook/react/node_modules/enhanced-resolve/node_modules/memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "dependencies": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- },
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
- }
- },
"node_modules/@storybook/react/node_modules/eslint-scope": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
@@ -20265,34 +20934,6 @@
"node": ">=8.9.0"
}
},
- "node_modules/@storybook/react/node_modules/file-loader/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/@storybook/react/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==",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@storybook/react/node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -20330,23 +20971,12 @@
"node": ">=6"
}
},
- "node_modules/@storybook/react/node_modules/globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
+ "node_modules/@storybook/react/node_modules/history": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.0.0.tgz",
+ "integrity": "sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==",
"dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "@babel/runtime": "^7.7.6"
}
},
"node_modules/@storybook/react/node_modules/html-webpack-plugin": {
@@ -20382,22 +21012,6 @@
"node": ">= 6"
}
},
- "node_modules/@storybook/react/node_modules/ignore": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
- "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/@storybook/react/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==",
- "engines": {
- "node": ">=0.12.0"
- }
- },
"node_modules/@storybook/react/node_modules/json5": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
@@ -20467,15 +21081,6 @@
"semver": "bin/semver.js"
}
},
- "node_modules/@storybook/react/node_modules/memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "dependencies": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
"node_modules/@storybook/react/node_modules/mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
@@ -20576,11 +21181,11 @@
}
},
"node_modules/@storybook/react/node_modules/polished": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.3.tgz",
- "integrity": "sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.4.tgz",
+ "integrity": "sha512-Nq5Mbza+Auo7N3sQb1QMFaQiDO+4UexWuSGR7Cjb4Sw11SZIJcrrFtiZ+L0jT9MBsUsxDboHVASbCLbE1rnECg==",
"dependencies": {
- "@babel/runtime": "^7.14.0"
+ "@babel/runtime": "^7.16.7"
},
"engines": {
"node": ">=10"
@@ -20638,23 +21243,6 @@
"node": ">=8.9.0"
}
},
- "node_modules/@storybook/react/node_modules/postcss-loader/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
"node_modules/@storybook/react/node_modules/postcss-loader/node_modules/semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
@@ -20715,6 +21303,14 @@
"postcss": "^7.0.6"
}
},
+ "node_modules/@storybook/react/node_modules/postcss/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==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/@storybook/react/node_modules/pretty-error": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz",
@@ -20725,9 +21321,9 @@
}
},
"node_modules/@storybook/react/node_modules/qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"dependencies": {
"side-channel": "^1.0.4"
},
@@ -20770,23 +21366,6 @@
"node": ">=8.9.0"
}
},
- "node_modules/@storybook/react/node_modules/raw-loader/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
"node_modules/@storybook/react/node_modules/react-is": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
@@ -20800,19 +21379,6 @@
"node": ">=8"
}
},
- "node_modules/@storybook/react/node_modules/schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
- "dependencies": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- },
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/@storybook/react/node_modules/slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -20822,11 +21388,11 @@
}
},
"node_modules/@storybook/react/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==",
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 8"
}
},
"node_modules/@storybook/react/node_modules/ssri": {
@@ -20900,14 +21466,6 @@
"node": ">=4"
}
},
- "node_modules/@storybook/react/node_modules/tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/@storybook/react/node_modules/terser-webpack-plugin": {
"version": "1.4.5",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
@@ -20930,15 +21488,25 @@
"webpack": "^4.0.0"
}
},
- "node_modules/@storybook/react/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==",
+ "node_modules/@storybook/react/node_modules/terser-webpack-plugin/node_modules/schema-utils": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
"dependencies": {
- "is-number": "^7.0.0"
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
},
"engines": {
- "node": ">=8.0"
+ "node": ">= 4"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/terser-webpack-plugin/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==",
+ "engines": {
+ "node": ">=0.10.0"
}
},
"node_modules/@storybook/react/node_modules/tslib": {
@@ -20946,6 +21514,58 @@
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
},
+ "node_modules/@storybook/react/node_modules/type-fest": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.12.0.tgz",
+ "integrity": "sha512-Qe5GRT+n/4GoqCNGGVp5Snapg1Omq3V7irBJB3EaKsp7HWDo5Gv2d/67gfNyV+d5EXD+x/RF5l1h4yJ7qNkcGA==",
+ "optional": true,
+ "peer": true,
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/url-loader": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz",
+ "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==",
+ "dependencies": {
+ "loader-utils": "^2.0.0",
+ "mime-types": "^2.1.27",
+ "schema-utils": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "file-loader": "*",
+ "webpack": "^4.0.0 || ^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "file-loader": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@storybook/react/node_modules/url-loader/node_modules/loader-utils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
+ "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=8.9.0"
+ }
+ },
"node_modules/@storybook/react/node_modules/webpack": {
"version": "4.46.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
@@ -21032,6 +21652,47 @@
"source-map": "~0.6.1"
}
},
+ "node_modules/@storybook/react/node_modules/webpack-sources/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==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/webpack/node_modules/schema-utils": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "dependencies": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/@storybook/react/node_modules/ws": {
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
+ "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@storybook/react/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -21613,7 +22274,6 @@
"version": "7.29.4",
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.29.4.tgz",
"integrity": "sha512-CtrJRiSYEfbtNGtEsd78mk1n1v2TUbeABlNIcOCJdDfkN5/JTOwQEbbQpoSRxGqzcWPgStMvJ4mNolSuBRv1NA==",
- "dev": true,
"dependencies": {
"@babel/code-frame": "^7.10.4",
"@babel/runtime": "^7.12.5",
@@ -21632,7 +22292,6 @@
"version": "5.11.6",
"resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.11.6.tgz",
"integrity": "sha512-cVZyUNRWwUKI0++yepYpYX7uhrP398I+tGz4zOlLVlUYnZS+Svuxv4fwLeCIy7TnBYKXUaOlQr3vopxL8ZfEnA==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.9.2",
"@types/testing-library__jest-dom": "^5.9.1",
@@ -21653,7 +22312,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -21666,7 +22324,6 @@
"version": "11.2.0",
"resolved": "https://registry.npmjs.org/@testing-library/react/-/react-11.2.0.tgz",
"integrity": "sha512-90xKYJzskZ7q/AoSuWraQL4EGZlr75uZvDt3nrO4M+rugN02zjO45tmOBq/JBOgDiMIL1tkhHioKXjJsVaSINA==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.12.5",
"@testing-library/dom": "^7.27.1"
@@ -21683,7 +22340,6 @@
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-5.0.3.tgz",
"integrity": "sha512-UrnnRc5II7LMH14xsYNm/WRch/67cBafmrSQcyFh0v+UUmSf1uzfB7zn5jQXSettGwOSxJwdQUN7PgkT0w22Lg==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.12.5",
"@types/react": ">=16.9.0",
@@ -21710,7 +22366,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.0.tgz",
"integrity": "sha512-lmPrdi5SLRJR+AeJkqdkGlW/CRkAUvZnETahK58J4xb5wpbfDngasEGu+w0T1iXEhVrYBJZeW+c4V1hILCnMWQ==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.12.5"
},
@@ -21726,7 +22381,6 @@
"version": "12.7.0",
"resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.7.0.tgz",
"integrity": "sha512-KzRM1KNDoW8pJ2HTenrUhTjV6wJMHvWAagDs8DDrYSWz6y4PN+K2jSvlm2bMHWNRk5LTJPo9jqIjNjJ3FlqXNw==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.12.5"
},
@@ -21759,8 +22413,7 @@
"node_modules/@types/aria-query": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.0.tgz",
- "integrity": "sha512-iIgQNzCm0v7QMhhe4Jjn9uRh+I6GoPmt03CbEtwx3ao8/EfoQcmgtqH4vQ5Db/lxiIGaWDv6nwvunuh0RyX0+A==",
- "dev": true
+ "integrity": "sha512-iIgQNzCm0v7QMhhe4Jjn9uRh+I6GoPmt03CbEtwx3ao8/EfoQcmgtqH4vQ5Db/lxiIGaWDv6nwvunuh0RyX0+A=="
},
"node_modules/@types/babel__core": {
"version": "7.1.9",
@@ -21803,11 +22456,6 @@
"@babel/types": "^7.3.0"
}
},
- "node_modules/@types/braces": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/braces/-/braces-3.0.1.tgz",
- "integrity": "sha512-+euflG6ygo4bn0JHtn4pYqcXwRtLvElQ7/nnjDu7iYG56H0+OhCd7d6Ug0IE3WcFpZozBKW2+80FUbv5QGk5AQ=="
- },
"node_modules/@types/cheerio": {
"version": "0.22.21",
"resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.21.tgz",
@@ -21987,11 +22635,6 @@
"@types/node": "*"
}
},
- "node_modules/@types/glob-base": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@types/glob-base/-/glob-base-0.3.0.tgz",
- "integrity": "sha1-pYHWiDR+EOUN18F9byiAoQNUMZ0="
- },
"node_modules/@types/graceful-fs": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz",
@@ -22052,7 +22695,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
"integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
- "dev": true,
"dependencies": {
"@types/istanbul-lib-coverage": "*"
}
@@ -22071,7 +22713,6 @@
"version": "26.0.23",
"resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.23.tgz",
"integrity": "sha512-ZHLmWMJ9jJ9PTiT58juykZpL7KjwJywFN3Rr2pTSkyQfydf/rk22yS7W8p5DaVUMQ2BQC7oYiU3FjbTM/mYrOA==",
- "dev": true,
"dependencies": {
"jest-diff": "^26.0.0",
"pretty-format": "^26.0.0"
@@ -22122,14 +22763,6 @@
"@types/lodash": "*"
}
},
- "node_modules/@types/markdown-to-jsx": {
- "version": "6.11.3",
- "resolved": "https://registry.npmjs.org/@types/markdown-to-jsx/-/markdown-to-jsx-6.11.3.tgz",
- "integrity": "sha512-30nFYpceM/ZEvhGiqWjm5quLUxNeld0HCzJEXMZZDpq53FPkS85mTwkWtCXzCqq8s5JYLgM5W392a02xn8Bdaw==",
- "dependencies": {
- "@types/react": "*"
- }
- },
"node_modules/@types/math-expression-evaluator": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@types/math-expression-evaluator/-/math-expression-evaluator-1.2.1.tgz",
@@ -22143,14 +22776,6 @@
"@types/unist": "*"
}
},
- "node_modules/@types/micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-oqXqVb0ci19GtH0vOA/U2TmHTcRY9kuZl4mqUxe0QmJAlIW13kzhuK5pi1i9+ngav8FjpSb9FVS/GE00GLX1VA==",
- "dependencies": {
- "@types/braces": "*"
- }
- },
"node_modules/@types/minimatch": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
@@ -22168,9 +22793,9 @@
"integrity": "sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ=="
},
"node_modules/@types/node-fetch": {
- "version": "2.5.12",
- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz",
- "integrity": "sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==",
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz",
+ "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==",
"dependencies": {
"@types/node": "*",
"form-data": "^3.0.0"
@@ -22195,9 +22820,9 @@
"integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA=="
},
"node_modules/@types/npmlog": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/@types/npmlog/-/npmlog-4.1.3.tgz",
- "integrity": "sha512-1TcL7YDYCtnHmLhTWbum+IIwLlvpaHoEKS2KNIngEwLzwgDeHaebaEHHbQp8IqzNQ9IYiboLKUjAf7MZqG63+w=="
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/@types/npmlog/-/npmlog-4.1.4.tgz",
+ "integrity": "sha512-WKG4gTr8przEZBiJ5r3s8ZIAoMXNbOgQ+j/d5O4X3x6kZJRLNvyUJuUK/KoG3+8BaOHPhp2m7WC6JKKeovDSzQ=="
},
"node_modules/@types/overlayscrollbars": {
"version": "1.12.1",
@@ -22262,7 +22887,6 @@
"version": "16.9.8",
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.8.tgz",
"integrity": "sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA==",
- "dev": true,
"dependencies": {
"@types/react": "*"
}
@@ -22377,7 +23001,6 @@
"version": "17.0.1",
"resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-17.0.1.tgz",
"integrity": "sha512-3Fi2O6Zzq/f3QR9dRnlnHso9bMl7weKCviFmfF6B4LS1Uat6Hkm15k0ZAQuDz+UBq6B3+g+NM6IT2nr5QgPzCw==",
- "dev": true,
"dependencies": {
"@types/react": "*"
}
@@ -22517,7 +23140,6 @@
"version": "5.9.5",
"resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.5.tgz",
"integrity": "sha512-ggn3ws+yRbOHog9GxnXiEZ/35Mow6YtPZpd7Z5mKDeZS/o7zx3yAle0ov/wjhVB5QT4N2Dt+GNoGCdqkBGCajQ==",
- "dev": true,
"dependencies": {
"@types/jest": "*"
}
@@ -22632,7 +23254,6 @@
"version": "15.0.13",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz",
"integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==",
- "dev": true,
"dependencies": {
"@types/yargs-parser": "*"
}
@@ -22640,8 +23261,7 @@
"node_modules/@types/yargs-parser": {
"version": "15.0.0",
"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz",
- "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==",
- "dev": true
+ "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw=="
},
"node_modules/@types/yauzl": {
"version": "2.9.2",
@@ -22781,26 +23401,6 @@
"node": ">=10"
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
- "dev": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
"version": "5.1.9",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
@@ -22843,15 +23443,6 @@
"node": ">=10"
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -23009,35 +23600,6 @@
}
}
},
- "node_modules/@typescript-eslint/parser/node_modules/globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
- "dev": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@typescript-eslint/parser/node_modules/ignore": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
- "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/@typescript-eslint/parser/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -23071,15 +23633,6 @@
"node": ">=10"
}
},
- "node_modules/@typescript-eslint/parser/node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@typescript-eslint/parser/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -23200,35 +23753,6 @@
"node": ">=10"
}
},
- "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": {
- "version": "11.0.2",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz",
- "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==",
- "dev": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree/node_modules/ignore": {
- "version": "5.1.8",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
- "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -23262,15 +23786,6 @@
"node": ">=10"
}
},
- "node_modules/@typescript-eslint/typescript-estree/node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -24519,6 +25034,7 @@
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz",
"integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==",
+ "dev": true,
"dependencies": {
"delegates": "^1.0.0",
"readable-stream": "^2.0.6"
@@ -24536,7 +25052,6 @@
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
"integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==",
- "dev": true,
"dependencies": {
"@babel/runtime": "^7.10.2",
"@babel/runtime-corejs3": "^7.10.2"
@@ -24839,9 +25354,9 @@
"peer": true
},
"node_modules/async-each": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
+ "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
"optional": true
},
"node_modules/async-limiter": {
@@ -25741,9 +26256,9 @@
}
},
"node_modules/binary-extensions": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz",
- "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==",
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
"optional": true,
"engines": {
"node": ">=0.10.0"
@@ -25944,21 +26459,21 @@
"integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ=="
},
"node_modules/boxen": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
- "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
+ "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==",
"dependencies": {
"ansi-align": "^3.0.0",
- "camelcase": "^5.3.1",
- "chalk": "^3.0.0",
- "cli-boxes": "^2.2.0",
- "string-width": "^4.1.0",
- "term-size": "^2.1.0",
- "type-fest": "^0.8.1",
- "widest-line": "^3.1.0"
+ "camelcase": "^6.2.0",
+ "chalk": "^4.1.0",
+ "cli-boxes": "^2.2.1",
+ "string-width": "^4.2.2",
+ "type-fest": "^0.20.2",
+ "widest-line": "^3.1.0",
+ "wrap-ansi": "^7.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -25972,16 +26487,15 @@
"node": ">=8"
}
},
- "node_modules/boxen/node_modules/chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
+ "node_modules/boxen/node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"engines": {
- "node": ">=8"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/boxen/node_modules/is-fullwidth-code-point": {
@@ -26016,6 +26530,33 @@
"node": ">=8"
}
},
+ "node_modules/boxen/node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/boxen/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==",
+ "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/brace": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/brace/-/brace-0.11.1.tgz",
@@ -27509,18 +28050,17 @@
}
},
"node_modules/cli-table3": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz",
- "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz",
+ "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==",
"dependencies": {
- "object-assign": "^4.1.0",
"string-width": "^4.2.0"
},
"engines": {
"node": "10.* || >= 12.*"
},
"optionalDependencies": {
- "colors": "^1.1.2"
+ "colors": "1.4.0"
}
},
"node_modules/cli-table3/node_modules/ansi-regex": {
@@ -27890,8 +28430,6 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
- "dev": true,
- "peer": true,
"bin": {
"color-support": "bin.js"
}
@@ -28041,6 +28579,11 @@
"dev": true,
"peer": true
},
+ "node_modules/common-path-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
+ "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w=="
+ },
"node_modules/common-tags": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz",
@@ -28649,35 +29192,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/copy-webpack-plugin/node_modules/globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
- "dev": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/copy-webpack-plugin/node_modules/ignore": {
- "version": "5.1.8",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
- "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/copy-webpack-plugin/node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -28711,15 +29225,6 @@
"randombytes": "^2.1.0"
}
},
- "node_modules/copy-webpack-plugin/node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/core-js": {
"version": "3.18.1",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.1.tgz",
@@ -29135,7 +29640,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz",
"integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==",
- "dev": true,
"dependencies": {
"inherits": "^2.0.4",
"source-map": "^0.6.1",
@@ -30038,20 +30542,17 @@
"node_modules/css.escape": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
- "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=",
- "dev": true
+ "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s="
},
"node_modules/css/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
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"node_modules/css/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"
}
@@ -30060,7 +30561,6 @@
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz",
"integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==",
- "dev": true,
"dependencies": {
"atob": "^2.1.2",
"decode-uri-component": "^0.2.0"
@@ -31313,22 +31813,6 @@
"node": ">= 4.2.1"
}
},
- "node_modules/detect-port-alt": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz",
- "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==",
- "dependencies": {
- "address": "^1.0.1",
- "debug": "^2.6.0"
- },
- "bin": {
- "detect": "bin/detect-port",
- "detect-port": "bin/detect-port"
- },
- "engines": {
- "node": ">= 4.2.1"
- }
- },
"node_modules/dezalgo": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
@@ -31356,7 +31840,6 @@
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
"integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==",
- "dev": true,
"engines": {
"node": ">= 10.14.2"
}
@@ -31457,8 +31940,7 @@
"node_modules/dom-accessibility-api": {
"version": "0.5.4",
"resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz",
- "integrity": "sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ==",
- "dev": true
+ "integrity": "sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ=="
},
"node_modules/dom-align": {
"version": "1.12.0",
@@ -31599,22 +32081,6 @@
"node": ">=10"
}
},
- "node_modules/dotenv-defaults": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-1.1.1.tgz",
- "integrity": "sha512-6fPRo9o/3MxKvmRZBD3oNFdxODdhJtIy1zcJeUSCs6HCy4tarUpd+G67UTU9tF6OWXeSPqsm4fPAB+2eY9Rt9Q==",
- "dependencies": {
- "dotenv": "^6.2.0"
- }
- },
- "node_modules/dotenv-defaults/node_modules/dotenv": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz",
- "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/dotenv-expand": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
@@ -31642,7 +32108,8 @@
"node_modules/duplexer": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
- "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="
+ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
+ "dev": true
},
"node_modules/duplexer2": {
"version": "0.1.4",
@@ -31782,9 +32249,9 @@
}
},
"node_modules/element-resize-detector": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.2.3.tgz",
- "integrity": "sha512-+dhNzUgLpq9ol5tyhoG7YLoXL3ssjfFW+0gpszXPwRU6NjGr1fVHMEAF8fVzIiRJq57Nre0RFeIjJwI8Nh2NmQ==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.2.4.tgz",
+ "integrity": "sha512-Fl5Ftk6WwXE0wqCgNoseKWndjzZlDCwuPTcoVZfCP9R3EHQF8qUtr3YUPNETegRBOKqQKPW3n4kiIWngGi8tKg==",
"dependencies": {
"batch-processor": "1.0.0"
}
@@ -31955,6 +32422,31 @@
"objectorarray": "^1.0.5"
}
},
+ "node_modules/enhanced-resolve": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
+ "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "memory-fs": "^0.5.0",
+ "tapable": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/enhanced-resolve/node_modules/memory-fs": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
+ "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
+ "dependencies": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=4.3.0 <5.0.0 || >=5.10"
+ }
+ },
"node_modules/enquirer": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
@@ -32308,9 +32800,9 @@
}
},
"node_modules/error-stack-parser": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz",
- "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==",
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.7.tgz",
+ "integrity": "sha512-chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA==",
"dependencies": {
"stackframe": "^1.1.1"
}
@@ -32406,9 +32898,9 @@
}
},
"node_modules/es5-shim": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.6.2.tgz",
- "integrity": "sha512-n0XTVMGps+Deyr38jtqKPR5F5hb9owYeRQcKJW39eFvzUk/u/9Ww315werRzbiNMnHCUw/YHDPBphTlEnzdi+A==",
+ "version": "4.6.5",
+ "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.6.5.tgz",
+ "integrity": "sha512-vfQ4UAai8szn0sAubCy97xnZ4sJVDD1gt/Grn736hg8D7540wemIb1YPrYZSTqlM2H69EQX1or4HU/tSwRTI3w==",
"engines": {
"node": ">=0.4.0"
}
@@ -33147,6 +33639,10 @@
"node": ">=10"
}
},
+ "node_modules/eslint-plugin-theme-colors": {
+ "resolved": "tools/eslint-plugin-theme-colors",
+ "link": true
+ },
"node_modules/eslint-scope": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
@@ -34291,77 +34787,6 @@
"node": "^10.12.0 || >=12.0.0"
}
},
- "node_modules/file-loader": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.0.0.tgz",
- "integrity": "sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==",
- "optional": true,
- "peer": true,
- "dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^2.6.5"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/file-loader/node_modules/json5": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
- "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
- "optional": true,
- "peer": true,
- "dependencies": {
- "minimist": "^1.2.5"
- },
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/file-loader/node_modules/loader-utils": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
- "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
- "optional": true,
- "peer": true,
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- },
- "engines": {
- "node": ">=8.9.0"
- }
- },
- "node_modules/file-loader/node_modules/schema-utils": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
- "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
- "optional": true,
- "peer": true,
- "dependencies": {
- "@types/json-schema": "^7.0.4",
- "ajv": "^6.12.2",
- "ajv-keywords": "^3.4.1"
- },
- "engines": {
- "node": ">= 8.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
"node_modules/file-system-cache": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-1.0.5.tgz",
@@ -34446,14 +34871,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/filesize": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz",
- "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
"node_modules/fill-range": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
@@ -34472,7 +34889,6 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/filter-console/-/filter-console-0.1.1.tgz",
"integrity": "sha512-zrXoV1Uaz52DqPs+qEwNJWJFAWZpYJ47UNmpN9q4j+/EYsz85uV0DC9k8tRND5kYmoVzL0W+Y75q4Rg8sRJCdg==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -35146,14 +35562,6 @@
"node": ">=10"
}
},
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.1.tgz",
- "integrity": "sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -35335,6 +35743,7 @@
"version": "2.7.4",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "dev": true,
"dependencies": {
"aproba": "^1.0.3",
"console-control-strings": "^1.0.0",
@@ -35350,6 +35759,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
"dependencies": {
"number-is-nan": "^1.0.0"
},
@@ -35361,6 +35771,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
"dependencies": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -36032,45 +36443,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/glob-base": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
- "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
- "dependencies": {
- "glob-parent": "^2.0.0",
- "is-glob": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/glob-base/node_modules/glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "dependencies": {
- "is-glob": "^2.0.0"
- }
- },
- "node_modules/glob-base/node_modules/is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/glob-base/node_modules/is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "dependencies": {
- "is-extglob": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
@@ -36153,38 +36525,6 @@
"node": ">=10"
}
},
- "node_modules/global-modules": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
- "dependencies": {
- "global-prefix": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/global-prefix": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
- "dependencies": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/global-prefix/node_modules/kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -36208,15 +36548,15 @@
}
},
"node_modules/globby": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz",
- "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==",
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
"dependencies": {
"array-union": "^2.1.0",
"dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
"slash": "^3.0.0"
},
"engines": {
@@ -36227,9 +36567,9 @@
}
},
"node_modules/globby/node_modules/ignore": {
- "version": "5.1.8",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
- "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
"engines": {
"node": ">= 4"
}
@@ -36320,26 +36660,6 @@
"resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz",
"integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw=="
},
- "node_modules/gzip-size": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz",
- "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==",
- "dependencies": {
- "duplexer": "^0.1.1",
- "pify": "^4.0.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/gzip-size/node_modules/pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/h3-js": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/h3-js/-/h3-js-3.7.2.tgz",
@@ -36368,7 +36688,6 @@
"version": "4.7.7",
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
"integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
- "dev": true,
"dependencies": {
"minimist": "^1.2.5",
"neo-async": "^2.6.0",
@@ -36389,7 +36708,6 @@
"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"
}
@@ -38436,14 +38754,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/is-root": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz",
- "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/is-scoped": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-2.1.0.tgz",
@@ -39190,7 +39500,6 @@
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz",
"integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==",
- "dev": true,
"dependencies": {
"chalk": "^4.0.0",
"diff-sequences": "^26.6.2",
@@ -40169,7 +40478,6 @@
"version": "26.3.0",
"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
"integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
- "dev": true,
"engines": {
"node": ">= 10.14.2"
}
@@ -42868,7 +43176,6 @@
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz",
"integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=",
- "dev": true,
"bin": {
"lz-string": "bin/bin.js"
}
@@ -43400,35 +43707,6 @@
}
}
},
- "node_modules/mem-fs-editor/node_modules/globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
- "dev": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/mem-fs-editor/node_modules/ignore": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
- "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/mem-fs-editor/node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -43438,15 +43716,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/mem-fs-editor/node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/mem-fs/node_modules/@types/node": {
"version": "15.14.9",
"resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz",
@@ -43487,6 +43756,15 @@
"map-or-similar": "^1.5.0"
}
},
+ "node_modules/memory-fs": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "dependencies": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ }
+ },
"node_modules/meow": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz",
@@ -44380,14 +44658,6 @@
"dev": true,
"optional": true
},
- "node_modules/native-url": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz",
- "integrity": "sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==",
- "dependencies": {
- "querystring": "^0.2.0"
- }
- },
"node_modules/natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -44739,6 +45009,11 @@
"vm-browserify": "^1.0.1"
}
},
+ "node_modules/node-libs-browser/node_modules/path-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
+ "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="
+ },
"node_modules/node-libs-browser/node_modules/punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
@@ -45296,6 +45571,7 @@
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "dev": true,
"dependencies": {
"are-we-there-yet": "~1.1.2",
"console-control-strings": "~1.1.0",
@@ -46351,9 +46627,10 @@
}
},
"node_modules/path-browserify": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
- "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
+ "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
+ "devOptional": true
},
"node_modules/path-dirname": {
"version": "1.0.2",
@@ -46972,7 +47249,6 @@
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
"integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
- "dev": true,
"dependencies": {
"@jest/types": "^26.6.2",
"ansi-regex": "^5.0.0",
@@ -46987,7 +47263,6 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -46995,8 +47270,7 @@
"node_modules/pretty-format/node_modules/react-is": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
},
"node_modules/pretty-hrtime": {
"version": "1.0.3",
@@ -48358,372 +48632,6 @@
"react": "^16.5.0"
}
},
- "node_modules/react-dev-utils": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz",
- "integrity": "sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==",
- "dependencies": {
- "@babel/code-frame": "7.10.4",
- "address": "1.1.2",
- "browserslist": "4.14.2",
- "chalk": "2.4.2",
- "cross-spawn": "7.0.3",
- "detect-port-alt": "1.1.6",
- "escape-string-regexp": "2.0.0",
- "filesize": "6.1.0",
- "find-up": "4.1.0",
- "fork-ts-checker-webpack-plugin": "4.1.6",
- "global-modules": "2.0.0",
- "globby": "11.0.1",
- "gzip-size": "5.1.1",
- "immer": "8.0.1",
- "is-root": "2.1.0",
- "loader-utils": "2.0.0",
- "open": "^7.0.2",
- "pkg-up": "3.1.0",
- "prompts": "2.4.0",
- "react-error-overlay": "^6.0.9",
- "recursive-readdir": "2.2.2",
- "shell-quote": "1.7.2",
- "strip-ansi": "6.0.0",
- "text-table": "0.2.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/react-dev-utils/node_modules/@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
- "dependencies": {
- "@babel/highlight": "^7.10.4"
- }
- },
- "node_modules/react-dev-utils/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==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/react-dev-utils/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/react-dev-utils/node_modules/browserslist": {
- "version": "4.14.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz",
- "integrity": "sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==",
- "dependencies": {
- "caniuse-lite": "^1.0.30001125",
- "electron-to-chromium": "^1.3.564",
- "escalade": "^3.0.2",
- "node-releases": "^1.1.61"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- },
- "funding": {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- }
- },
- "node_modules/react-dev-utils/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/react-dev-utils/node_modules/chalk/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/react-dev-utils/node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/react-dev-utils/node_modules/escape-string-regexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/react-dev-utils/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/react-dev-utils/node_modules/fork-ts-checker-webpack-plugin": {
- "version": "4.1.6",
- "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz",
- "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==",
- "dependencies": {
- "@babel/code-frame": "^7.5.5",
- "chalk": "^2.4.1",
- "micromatch": "^3.1.10",
- "minimatch": "^3.0.4",
- "semver": "^5.6.0",
- "tapable": "^1.0.0",
- "worker-rpc": "^0.1.0"
- },
- "engines": {
- "node": ">=6.11.5",
- "yarn": ">=1.0.0"
- }
- },
- "node_modules/react-dev-utils/node_modules/immer": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz",
- "integrity": "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/immer"
- }
- },
- "node_modules/react-dev-utils/node_modules/json5": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
- "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
- "dependencies": {
- "minimist": "^1.2.5"
- },
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/react-dev-utils/node_modules/loader-utils": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
- "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- },
- "engines": {
- "node": ">=8.9.0"
- }
- },
- "node_modules/react-dev-utils/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/react-dev-utils/node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/react-dev-utils/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/react-dev-utils/node_modules/p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/react-dev-utils/node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/react-dev-utils/node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/react-dev-utils/node_modules/pkg-up": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
- "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
- "dependencies": {
- "find-up": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dependencies": {
- "locate-path": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dependencies": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dependencies": {
- "p-limit": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/react-dev-utils/node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/react-dev-utils/node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/react-dev-utils/node_modules/strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dependencies": {
- "ansi-regex": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/react-dev-utils/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/react-dev-utils/node_modules/tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/react-dev-utils/node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/react-dnd": {
"version": "11.1.3",
"resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-11.1.3.tgz",
@@ -48839,11 +48747,6 @@
"react": "^16.0.0-beta.1"
}
},
- "node_modules/react-error-overlay": {
- "version": "6.0.9",
- "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz",
- "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew=="
- },
"node_modules/react-fast-compare": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz",
@@ -49208,9 +49111,9 @@
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
"node_modules/react-refresh": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz",
- "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==",
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz",
+ "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==",
"engines": {
"node": ">=0.10.0"
}
@@ -49486,7 +49389,7 @@
"version": "16.9.0",
"resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.9.0.tgz",
"integrity": "sha512-R62stB73qZyhrJo7wmCW9jgl/07ai+YzvouvCXIJLBkRlRqLx4j9RqcLEAfNfU3OxTGucqR2Whmn3/Aad6L3hQ==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"object-assign": "^4.1.1",
"prop-types": "^15.6.2",
@@ -49501,7 +49404,7 @@
"version": "16.9.0",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz",
"integrity": "sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw==",
- "dev": true
+ "devOptional": true
},
"node_modules/react-textarea-autosize": {
"version": "8.3.3",
@@ -50028,22 +49931,10 @@
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
"integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs="
},
- "node_modules/recursive-readdir": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
- "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
- "dependencies": {
- "minimatch": "3.0.4"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/redent": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
"integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
- "dev": true,
"dependencies": {
"indent-string": "^4.0.0",
"strip-indent": "^3.0.0"
@@ -50443,9 +50334,9 @@
}
},
"node_modules/remark-mdx/node_modules/debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dependencies": {
"ms": "2.1.2"
},
@@ -51287,7 +51178,7 @@
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz",
"integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
@@ -51652,11 +51543,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/shell-quote": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz",
- "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg=="
- },
"node_modules/shelljs": {
"version": "0.8.5",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
@@ -52442,9 +52328,9 @@
}
},
"node_modules/stackframe": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz",
- "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA=="
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz",
+ "integrity": "sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg=="
},
"node_modules/state-toggle": {
"version": "1.0.3",
@@ -52592,23 +52478,6 @@
"react-dom": "^16.2.0 || ^17.0.0"
}
},
- "node_modules/storybook-addon-outline": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/storybook-addon-outline/-/storybook-addon-outline-1.4.1.tgz",
- "integrity": "sha512-Qvv9X86CoONbi+kYY78zQcTGmCgFaewYnOVR6WL7aOFJoW7TrLiIc/O4hH5X9PsEPZFqjfXEPUPENWVUQim6yw==",
- "dev": true,
- "dependencies": {
- "@storybook/addons": "^6.3.0",
- "@storybook/api": "^6.3.0",
- "@storybook/components": "^6.3.0",
- "@storybook/core-events": "^6.3.0",
- "ts-dedent": "^2.1.1"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0"
- }
- },
"node_modules/storybook-addon-paddings": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/storybook-addon-paddings/-/storybook-addon-paddings-4.2.1.tgz",
@@ -53220,6 +53089,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/synchronous-promise": {
+ "version": "2.0.15",
+ "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.15.tgz",
+ "integrity": "sha512-k8uzYIkIVwmT+TcglpdN50pS2y1BDcUnBPK9iJeGu0Pl1lOI8pD6wtzgw91Pjpe+RxtTncw32tLxs/R0yNL2Mg=="
+ },
"node_modules/table": {
"version": "6.7.3",
"resolved": "https://registry.npmjs.org/table/-/table-6.7.3.tgz",
@@ -53341,6 +53215,14 @@
"minimist": "^1.1.0"
}
},
+ "node_modules/tapable": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
+ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/tar": {
"version": "6.1.11",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
@@ -53465,17 +53347,6 @@
"semver": "bin/semver.js"
}
},
- "node_modules/term-size": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
- "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/terminal-link": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
@@ -54269,7 +54140,6 @@
"version": "3.14.5",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz",
"integrity": "sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==",
- "dev": true,
"optional": true,
"bin": {
"uglifyjs": "bin/uglifyjs"
@@ -54544,7 +54414,8 @@
"node_modules/unquote": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
- "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ="
+ "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
+ "dev": true
},
"node_modules/unset-value": {
"version": "1.0.0",
@@ -54646,59 +54517,6 @@
"querystring": "0.2.0"
}
},
- "node_modules/url-loader": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz",
- "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==",
- "dependencies": {
- "loader-utils": "^2.0.0",
- "mime-types": "^2.1.27",
- "schema-utils": "^3.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "file-loader": "*",
- "webpack": "^4.0.0 || ^5.0.0"
- },
- "peerDependenciesMeta": {
- "file-loader": {
- "optional": true
- }
- }
- },
- "node_modules/url-loader/node_modules/json5": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
- "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
- "dependencies": {
- "minimist": "^1.2.5"
- },
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/url-loader/node_modules/loader-utils": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
- "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- },
- "engines": {
- "node": ">=8.9.0"
- }
- },
"node_modules/url-parse": {
"version": "1.5.7",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.7.tgz",
@@ -55117,7 +54935,7 @@
"version": "2.1.8",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
"integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
- "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.",
+ "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies",
"optional": true,
"dependencies": {
"anymatch": "^2.0.0",
@@ -55605,35 +55423,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/webpack-dev-server/node_modules/globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
- "devOptional": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/webpack-dev-server/node_modules/ignore": {
- "version": "5.1.8",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
- "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
- "devOptional": true,
- "engines": {
- "node": ">= 4"
- }
- },
"node_modules/webpack-dev-server/node_modules/is-wsl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
@@ -58682,8 +58471,14 @@
"prop-types": "^15.7.2"
},
"peerDependencies": {
+ "@ant-design/icons": "^4.2.2",
"@emotion/react": "^11.4.1",
"@superset-ui/core": "*",
+ "@testing-library/dom": "^7.29.4",
+ "@testing-library/jest-dom": "^5.11.6",
+ "@testing-library/react": "^11.2.0",
+ "@testing-library/react-hooks": "^5.0.3",
+ "@testing-library/user-event": "^12.7.0",
"@types/enzyme": "^3.10.5",
"@types/react": "*",
"antd": "^4.9.4",
@@ -58709,7 +58504,6 @@
"@types/prop-types": "^15.7.2",
"@types/rison": "0.0.6",
"@types/seedrandom": "^2.4.28",
- "@types/tinycolor2": "^1.4.3",
"@vx/responsive": "^0.0.199",
"csstype": "^2.6.4",
"d3-format": "^1.3.2",
@@ -58741,8 +58535,10 @@
"@emotion/styled": "^11.3.0",
"@types/react": "*",
"@types/react-loadable": "*",
+ "@types/tinycolor2": "*",
"react": "^16.13.1",
- "react-loadable": "^5.5.0"
+ "react-loadable": "^5.5.0",
+ "tinycolor2": "*"
}
},
"packages/superset-ui-core/node_modules/@vx/responsive": {
@@ -58991,20 +58787,6 @@
"node": ">=0.10.0"
}
},
- "packages/superset-ui-demo/node_modules/enhanced-resolve": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
- "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"packages/superset-ui-demo/node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -59076,19 +58858,6 @@
"node": ">=10"
}
},
- "packages/superset-ui-demo/node_modules/memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "dev": true,
- "dependencies": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- },
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
- }
- },
"packages/superset-ui-demo/node_modules/micromatch": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
@@ -59183,15 +58952,6 @@
"node": ">=4"
}
},
- "packages/superset-ui-demo/node_modules/tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"packages/superset-ui-demo/node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -60017,6 +59777,18 @@
"src": {
"version": "0.0.1",
"extraneous": true
+ },
+ "tools/eslint-plugin-theme-colors": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "lodash": "^4.17.21"
+ },
+ "engines": {
+ "node": "^16.9.1",
+ "npm": "^7.5.4"
+ }
}
},
"dependencies": {
@@ -63807,7 +63579,6 @@
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
"integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
- "dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
"@types/istanbul-reports": "^3.0.0",
@@ -63820,7 +63591,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz",
"integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==",
- "dev": true,
"requires": {
"@types/istanbul-lib-report": "*"
}
@@ -64560,26 +64330,6 @@
"universalify": "^2.0.0"
}
},
- "globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- }
- },
- "ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
- "dev": true
- },
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -65411,26 +65161,6 @@
"write-json-file": "^4.3.0"
},
"dependencies": {
- "globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- }
- },
- "ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
- "dev": true
- },
"load-json-file": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz",
@@ -65461,12 +65191,6 @@
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true
},
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
"strip-bom": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
@@ -66489,9 +66213,9 @@
}
},
"debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"requires": {
"ms": "2.1.2"
}
@@ -67531,46 +67255,6 @@
"@octokit/openapi-types": "^11.2.0"
}
},
- "@pmmmwh/react-refresh-webpack-plugin": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz",
- "integrity": "sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==",
- "requires": {
- "ansi-html": "^0.0.7",
- "error-stack-parser": "^2.0.6",
- "html-entities": "^1.2.1",
- "native-url": "^0.2.6",
- "schema-utils": "^2.6.5",
- "source-map": "^0.7.3"
- },
- "dependencies": {
- "ansi-html": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
- "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4="
- },
- "html-entities": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz",
- "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA=="
- },
- "schema-utils": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
- "requires": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
- "ajv-keywords": "^3.5.2"
- }
- },
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
- }
- }
- },
"@polka/url": {
"version": "1.0.0-next.20",
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.20.tgz",
@@ -67677,16 +67361,16 @@
"dev": true
},
"@storybook/addon-actions": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.4.9.tgz",
- "integrity": "sha512-L1N66p/vr+wPUBfrH3qffjNAcWSS/wvuL370T7cWxALA9LLA8yY9U2EpITc5btuCC5QOxApCeyHkFnrBhNa94g==",
- "requires": {
- "@storybook/addons": "6.4.9",
- "@storybook/api": "6.4.9",
- "@storybook/components": "6.4.9",
- "@storybook/core-events": "6.4.9",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.4.19.tgz",
+ "integrity": "sha512-GpSvP8xV8GfNkmtGJjfCgaOx6mbjtyTK0aT9FqX9pU0s+KVMmoCTrBh43b7dWrwxxas01yleBK9VpYggzhi/Fw==",
+ "requires": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
"@storybook/csf": "0.0.2--canary.87bc651.0",
- "@storybook/theming": "6.4.9",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
@@ -67701,95 +67385,18 @@
"uuid-browser": "^3.1.0"
},
"dependencies": {
- "@storybook/addons": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.4.9.tgz",
- "integrity": "sha512-y+oiN2zd+pbRWwkf6aQj4tPDFn+rQkrv7fiVoMxsYub+kKyZ3CNOuTSJH+A1A+eBL6DmzocChUyO6jvZFuh6Dg==",
- "requires": {
- "@storybook/api": "6.4.9",
- "@storybook/channels": "6.4.9",
- "@storybook/client-logger": "6.4.9",
- "@storybook/core-events": "6.4.9",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
- "@storybook/router": "6.4.9",
- "@storybook/theming": "6.4.9",
- "@types/webpack-env": "^1.16.0",
- "core-js": "^3.8.2",
- "global": "^4.4.0",
- "regenerator-runtime": "^0.13.7"
- },
- "dependencies": {
- "@storybook/router": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.9.tgz",
- "integrity": "sha512-GT2KtVHo/mBjxDBFB5ZtVJVf8vC+3p5kRlQC4jao68caVp7H24ikPOkcY54VnQwwe4A1aXpGbJXUyTisEPFlhQ==",
- "requires": {
- "@storybook/client-logger": "6.4.9",
- "core-js": "^3.8.2",
- "fast-deep-equal": "^3.1.3",
- "global": "^4.4.0",
- "history": "5.0.0",
- "lodash": "^4.17.21",
- "memoizerific": "^1.11.3",
- "qs": "^6.10.0",
- "react-router": "^6.0.0",
- "react-router-dom": "^6.0.0",
- "ts-dedent": "^2.0.0"
- },
- "dependencies": {
- "react-router": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.1.tgz",
- "integrity": "sha512-2fG0udBtxou9lXtK97eJeET2ki5//UWfQSl1rlJ7quwe6jrktK9FCCc8dQb5QY6jAv3jua8bBQRhhDOM/kVRsg==",
- "requires": {
- "history": "^5.2.0"
- },
- "dependencies": {
- "history": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/history/-/history-5.2.0.tgz",
- "integrity": "sha512-uPSF6lAJb3nSePJ43hN3eKj1dTWpN9gMod0ZssbFTIsen+WehTmEadgL+kg78xLJFdRfrrC//SavDzmRVdE+Ig==",
- "requires": {
- "@babel/runtime": "^7.7.6"
- }
- }
- }
- },
- "react-router-dom": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.1.tgz",
- "integrity": "sha512-I6Zax+/TH/cZMDpj3/4Fl2eaNdcvoxxHoH1tYOREsQ22OKDYofGebrNm6CTPUcvLvZm63NL/vzCYdjf9CUhqmA==",
- "requires": {
- "history": "^5.2.0",
- "react-router": "6.2.1"
- },
- "dependencies": {
- "history": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/history/-/history-5.2.0.tgz",
- "integrity": "sha512-uPSF6lAJb3nSePJ43hN3eKj1dTWpN9gMod0ZssbFTIsen+WehTmEadgL+kg78xLJFdRfrrC//SavDzmRVdE+Ig==",
- "requires": {
- "@babel/runtime": "^7.7.6"
- }
- }
- }
- }
- }
- }
- }
- },
"@storybook/api": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.9.tgz",
- "integrity": "sha512-U+YKcDQg8xal9sE5eSMXB9vcqk8fD1pSyewyAjjbsW5hV0B3L3i4u7z/EAD9Ujbnor+Cvxq+XGvp+Qnc5Gd40A==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
"requires": {
- "@storybook/channels": "6.4.9",
- "@storybook/client-logger": "6.4.9",
- "@storybook/core-events": "6.4.9",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
"@storybook/csf": "0.0.2--canary.87bc651.0",
- "@storybook/router": "6.4.9",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.4.9",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
@@ -67803,11 +67410,11 @@
},
"dependencies": {
"@storybook/router": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.9.tgz",
- "integrity": "sha512-GT2KtVHo/mBjxDBFB5ZtVJVf8vC+3p5kRlQC4jao68caVp7H24ikPOkcY54VnQwwe4A1aXpGbJXUyTisEPFlhQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"requires": {
- "@storybook/client-logger": "6.4.9",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
@@ -67821,17 +67428,17 @@
},
"dependencies": {
"react-router": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.1.tgz",
- "integrity": "sha512-2fG0udBtxou9lXtK97eJeET2ki5//UWfQSl1rlJ7quwe6jrktK9FCCc8dQb5QY6jAv3jua8bBQRhhDOM/kVRsg==",
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
"requires": {
"history": "^5.2.0"
},
"dependencies": {
"history": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/history/-/history-5.2.0.tgz",
- "integrity": "sha512-uPSF6lAJb3nSePJ43hN3eKj1dTWpN9gMod0ZssbFTIsen+WehTmEadgL+kg78xLJFdRfrrC//SavDzmRVdE+Ig==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
"requires": {
"@babel/runtime": "^7.7.6"
}
@@ -67839,18 +67446,18 @@
}
},
"react-router-dom": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.1.tgz",
- "integrity": "sha512-I6Zax+/TH/cZMDpj3/4Fl2eaNdcvoxxHoH1tYOREsQ22OKDYofGebrNm6CTPUcvLvZm63NL/vzCYdjf9CUhqmA==",
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
"requires": {
"history": "^5.2.0",
- "react-router": "6.2.1"
+ "react-router": "6.2.2"
},
"dependencies": {
"history": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/history/-/history-5.2.0.tgz",
- "integrity": "sha512-uPSF6lAJb3nSePJ43hN3eKj1dTWpN9gMod0ZssbFTIsen+WehTmEadgL+kg78xLJFdRfrrC//SavDzmRVdE+Ig==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
"requires": {
"@babel/runtime": "^7.7.6"
}
@@ -67862,9 +67469,9 @@
}
},
"@storybook/channels": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.9.tgz",
- "integrity": "sha512-DNW1qDg+1WFS2aMdGh658WJXh8xBXliO5KAn0786DKcWCsKjfsPPQg/QCHczHK0+s5SZyzQT5aOBb4kTRHELQA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"requires": {
"core-js": "^3.8.2",
"ts-dedent": "^2.0.0",
@@ -67872,23 +67479,23 @@
}
},
"@storybook/client-logger": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.9.tgz",
- "integrity": "sha512-BVagmmHcuKDZ/XROADfN3tiolaDW2qG0iLmDhyV1gONnbGE6X5Qm19Jt2VYu3LvjKF1zMPSWm4mz7HtgdwKbuQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"requires": {
"core-js": "^3.8.2",
"global": "^4.4.0"
}
},
"@storybook/components": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.9.tgz",
- "integrity": "sha512-uOUR97S6kjptkMCh15pYNM1vAqFXtpyneuonmBco5vADJb3ds0n2a8NeVd+myIbhIXn55x0OHKiSwBH/u7swCQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"requires": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.4.9",
+ "@storybook/client-logger": "6.4.19",
"@storybook/csf": "0.0.2--canary.87bc651.0",
- "@storybook/theming": "6.4.9",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -67926,9 +67533,9 @@
}
},
"@storybook/core-events": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.9.tgz",
- "integrity": "sha512-YhU2zJr6wzvh5naYYuy/0UKNJ/SaXu73sIr0Tx60ur3bL08XkRg7eZ9vBhNBTlAa35oZqI0iiGCh0ljiX7yEVQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"requires": {
"core-js": "^3.8.2"
}
@@ -67942,14 +67549,14 @@
}
},
"@storybook/theming": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.9.tgz",
- "integrity": "sha512-Do6GH6nKjxfnBg6djcIYAjss5FW9SRKASKxLYxX2RyWJBpz0m/8GfcGcRyORy0yFTk6jByA3Hs+WFH3GnEbWkw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"requires": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.4.9",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -68006,17 +67613,17 @@
}
},
"polished": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.3.tgz",
- "integrity": "sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.4.tgz",
+ "integrity": "sha512-Nq5Mbza+Auo7N3sQb1QMFaQiDO+4UexWuSGR7Cjb4Sw11SZIJcrrFtiZ+L0jT9MBsUsxDboHVASbCLbE1rnECg==",
"requires": {
- "@babel/runtime": "^7.14.0"
+ "@babel/runtime": "^7.16.7"
}
},
"qs": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.2.tgz",
- "integrity": "sha512-mSIdjzqznWgfd4pMii7sHtaYF8rx8861hBO80SraY5GT0XQibWZWJSid0avzHGkDIZLImux2S5mXO0Hfct2QCw==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"requires": {
"side-channel": "^1.0.4"
}
@@ -68029,62 +67636,64 @@
}
},
"@storybook/addon-essentials": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-6.3.12.tgz",
- "integrity": "sha512-PK0pPE0xkq00kcbBcFwu/5JGHQTu4GvLIHfwwlEGx6GWNQ05l6Q+1Z4nE7xJGv2PSseSx3CKcjn8qykNLe6O6g==",
- "dev": true,
- "requires": {
- "@storybook/addon-actions": "6.3.12",
- "@storybook/addon-backgrounds": "6.3.12",
- "@storybook/addon-controls": "6.3.12",
- "@storybook/addon-docs": "6.3.12",
- "@storybook/addon-measure": "^2.0.0",
- "@storybook/addon-toolbars": "6.3.12",
- "@storybook/addon-viewport": "6.3.12",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/node-logger": "6.3.12",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-6.4.19.tgz",
+ "integrity": "sha512-vbV8sjepMVEuwhTDBHjO3E6vXluG7RiEeozV1QVuS9lGhjQdvUPdZ9rDNUcP6WHhTdEkS/ffTMaGIy1v8oZd7g==",
+ "dev": true,
+ "requires": {
+ "@storybook/addon-actions": "6.4.19",
+ "@storybook/addon-backgrounds": "6.4.19",
+ "@storybook/addon-controls": "6.4.19",
+ "@storybook/addon-docs": "6.4.19",
+ "@storybook/addon-measure": "6.4.19",
+ "@storybook/addon-outline": "6.4.19",
+ "@storybook/addon-toolbars": "6.4.19",
+ "@storybook/addon-viewport": "6.4.19",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
"core-js": "^3.8.2",
"regenerator-runtime": "^0.13.7",
- "storybook-addon-outline": "^1.4.1",
"ts-dedent": "^2.0.0"
},
"dependencies": {
- "@storybook/addon-actions": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.3.12.tgz",
- "integrity": "sha512-mzuN4Ano4eyicwycM2PueGzzUCAEzt9/6vyptWEIVJu0sjK0J9KtBRlqFi1xGQxmCfimDR/n/vWBBkc7fp2uJA==",
+ "@base2/pretty-print-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz",
+ "integrity": "sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==",
+ "dev": true
+ },
+ "@storybook/addon-backgrounds": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-6.4.19.tgz",
+ "integrity": "sha512-yn8MTE7lctO48Rdw+DmmA1wKdf5eyAbA/vrug5ske/U2WPgGc65sApzwT8BItZfuyAMjuT5RnCWwd7o6hGRgGQ==",
"dev": true,
"requires": {
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/theming": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
- "fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "polished": "^4.0.5",
- "prop-types": "^15.7.2",
- "react-inspector": "^5.1.0",
+ "memoizerific": "^1.11.3",
"regenerator-runtime": "^0.13.7",
"ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2",
- "uuid-browser": "^3.1.0"
+ "util-deprecate": "^1.0.2"
},
"dependencies": {
"@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dev": true,
"requires": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -68092,7 +67701,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -68123,15 +67732,15 @@
}
},
"@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dev": true,
"requires": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -68170,36 +67779,36 @@
}
}
},
- "@storybook/addon-backgrounds": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-6.3.12.tgz",
- "integrity": "sha512-51cHBx0HV7K/oRofJ/1pE05qti6sciIo8m4iPred1OezXIrJ/ckzP+gApdaUdzgcLAr6/MXQWLk0sJuImClQ6w==",
+ "@storybook/addon-controls": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-6.4.19.tgz",
+ "integrity": "sha512-JHi5z9i6NsgQLfG5WOeQE1AyOrM+QJLrjT+uOYx40bq+OC1yWHH7qHiphPP8kjJJhCZlaQk1qqXYkkQXgaeHSw==",
"dev": true,
"requires": {
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/theming": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/store": "6.4.19",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
- "global": "^4.4.0",
- "memoizerific": "^1.11.3",
- "regenerator-runtime": "^0.13.7",
- "ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2"
+ "lodash": "^4.17.21",
+ "ts-dedent": "^2.0.0"
},
"dependencies": {
"@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dev": true,
"requires": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -68207,7 +67816,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -68237,113 +67846,96 @@
}
}
},
- "@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "@storybook/core-common": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.4.19.tgz",
+ "integrity": "sha512-X1pJJkO48DFxl6iyEemIKqRkJ7j9/cBh3BRBUr+xZHXBvnD0GKDXIocwh0PjSxSC6XSu3UCQnqtKi3PbjRl8Dg==",
"dev": true,
"requires": {
- "@emotion/core": "^10.1.1",
- "@emotion/is-prop-valid": "^0.8.6",
- "@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@babel/core": "^7.12.10",
+ "@babel/plugin-proposal-class-properties": "^7.12.1",
+ "@babel/plugin-proposal-decorators": "^7.12.12",
+ "@babel/plugin-proposal-export-default-from": "^7.12.1",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
+ "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
+ "@babel/plugin-proposal-optional-chaining": "^7.12.7",
+ "@babel/plugin-proposal-private-methods": "^7.12.1",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-transform-arrow-functions": "^7.12.1",
+ "@babel/plugin-transform-block-scoping": "^7.12.12",
+ "@babel/plugin-transform-classes": "^7.12.1",
+ "@babel/plugin-transform-destructuring": "^7.12.1",
+ "@babel/plugin-transform-for-of": "^7.12.1",
+ "@babel/plugin-transform-parameters": "^7.12.1",
+ "@babel/plugin-transform-shorthand-properties": "^7.12.1",
+ "@babel/plugin-transform-spread": "^7.12.1",
+ "@babel/preset-env": "^7.12.11",
+ "@babel/preset-react": "^7.12.10",
+ "@babel/preset-typescript": "^7.12.7",
+ "@babel/register": "^7.12.1",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/semver": "^7.3.2",
+ "@types/node": "^14.0.10",
+ "@types/pretty-hrtime": "^1.0.0",
+ "babel-loader": "^8.0.0",
+ "babel-plugin-macros": "^3.0.1",
+ "babel-plugin-polyfill-corejs3": "^0.1.0",
+ "chalk": "^4.1.0",
"core-js": "^3.8.2",
- "deep-object-diff": "^1.1.0",
- "emotion-theming": "^10.0.27",
- "global": "^4.4.0",
- "memoizerific": "^1.11.3",
- "polished": "^4.0.5",
+ "express": "^4.17.1",
+ "file-system-cache": "^1.0.5",
+ "find-up": "^5.0.0",
+ "fork-ts-checker-webpack-plugin": "^6.0.4",
+ "fs-extra": "^9.0.1",
+ "glob": "^7.1.6",
+ "handlebars": "^4.7.7",
+ "interpret": "^2.2.0",
+ "json5": "^2.1.3",
+ "lazy-universal-dotenv": "^3.0.1",
+ "picomatch": "^2.3.0",
+ "pkg-dir": "^5.0.0",
+ "pretty-hrtime": "^1.0.3",
"resolve-from": "^5.0.0",
- "ts-dedent": "^2.0.0"
- },
- "dependencies": {
- "@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
- "dev": true,
- "requires": {
- "@emotion/styled-base": "^10.0.27",
- "babel-plugin-emotion": "^10.0.27"
- }
- }
+ "slash": "^3.0.0",
+ "telejson": "^5.3.2",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2",
+ "webpack": "4"
}
- }
- }
- },
- "@storybook/addon-controls": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-6.3.12.tgz",
- "integrity": "sha512-WO/PbygE4sDg3BbstJ49q0uM3Xu5Nw4lnHR5N4hXSvRAulZt1d1nhphRTHjfX+CW+uBcfzkq9bksm6nKuwmOyw==",
- "dev": true,
- "requires": {
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/theming": "6.3.12",
- "core-js": "^3.8.2",
- "ts-dedent": "^2.0.0"
- },
- "dependencies": {
- "@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ },
+ "@storybook/store": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.4.19.tgz",
+ "integrity": "sha512-N9/ZjemRHGfT3InPIbqQqc6snkcfnf3Qh9oOr0smbfaVGJol//KOX65kzzobtzFcid0WxtTDZ3HmgFVH+GvuhQ==",
"dev": true,
"requires": {
- "@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
- "@types/color-convert": "^2.0.0",
- "@types/overlayscrollbars": "^1.12.0",
- "@types/react-syntax-highlighter": "11.0.5",
- "color-convert": "^2.0.1",
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^7.1.3",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "overlayscrollbars": "^1.13.1",
- "polished": "^4.0.5",
- "prop-types": "^15.7.2",
- "react-colorful": "^5.1.2",
- "react-popper-tooltip": "^3.1.1",
- "react-syntax-highlighter": "^13.5.3",
- "react-textarea-autosize": "^8.3.0",
"regenerator-runtime": "^0.13.7",
+ "slash": "^3.0.0",
+ "stable": "^0.1.8",
+ "synchronous-promise": "^2.0.15",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2"
- },
- "dependencies": {
- "react-syntax-highlighter": {
- "version": "13.5.3",
- "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
- "integrity": "sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==",
- "dev": true,
- "requires": {
- "@babel/runtime": "^7.3.1",
- "highlight.js": "^10.1.1",
- "lowlight": "^1.14.0",
- "prismjs": "^1.21.0",
- "refractor": "^3.1.0"
- }
- }
}
},
"@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dev": true,
"requires": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -68355,23 +67947,124 @@
},
"dependencies": {
"@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dev": true,
"requires": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
+ },
+ "dependencies": {
+ "@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ }
+ }
+ }
+ }
+ }
+ },
+ "acorn": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
+ "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
+ "dev": true
+ },
+ "babel-plugin-macros": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
+ "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.12.5",
+ "cosmiconfig": "^7.0.0",
+ "resolve": "^1.19.0"
+ }
+ },
+ "loader-utils": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+ "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
}
}
}
+ },
+ "terser-webpack-plugin": {
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
+ "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
+ "dev": true,
+ "requires": {
+ "cacache": "^12.0.2",
+ "find-cache-dir": "^2.1.0",
+ "is-wsl": "^1.1.0",
+ "schema-utils": "^1.0.0",
+ "serialize-javascript": "^4.0.0",
+ "source-map": "^0.6.1",
+ "terser": "^4.1.2",
+ "webpack-sources": "^1.4.0",
+ "worker-farm": "^1.7.0"
+ }
+ },
+ "webpack": {
+ "version": "4.46.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
+ "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-module-context": "1.9.0",
+ "@webassemblyjs/wasm-edit": "1.9.0",
+ "@webassemblyjs/wasm-parser": "1.9.0",
+ "acorn": "^6.4.1",
+ "ajv": "^6.10.2",
+ "ajv-keywords": "^3.4.1",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^4.5.0",
+ "eslint-scope": "^4.0.3",
+ "json-parse-better-errors": "^1.0.2",
+ "loader-runner": "^2.4.0",
+ "loader-utils": "^1.2.3",
+ "memory-fs": "^0.4.1",
+ "micromatch": "^3.1.10",
+ "mkdirp": "^0.5.3",
+ "neo-async": "^2.6.1",
+ "node-libs-browser": "^2.2.1",
+ "schema-utils": "^1.0.0",
+ "tapable": "^1.1.3",
+ "terser-webpack-plugin": "^1.4.3",
+ "watchpack": "^1.7.4",
+ "webpack-sources": "^1.4.1"
+ }
}
}
},
"@storybook/addon-docs": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-6.3.12.tgz",
- "integrity": "sha512-iUrqJBMTOn2PgN8AWNQkfxfIPkh8pEg27t8UndMgfOpeGK/VWGw2UEifnA82flvntcilT4McxmVbRHkeBY9K5A==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-6.4.19.tgz",
+ "integrity": "sha512-OEPyx/5ZXmZOPqIAWoPjlIP8Q/YfNjAmBosA8tmA8t5KCSiq/vpLcAvQhxqK6n0wk/B8Xp67Z8RpLfXjU8R3tw==",
"dev": true,
"requires": {
"@babel/core": "^7.12.10",
@@ -68383,20 +68076,21 @@
"@mdx-js/loader": "^1.6.22",
"@mdx-js/mdx": "^1.6.22",
"@mdx-js/react": "^1.6.22",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/builder-webpack4": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/csf-tools": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/postinstall": "6.3.12",
- "@storybook/source-loader": "6.3.12",
- "@storybook/theming": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/builder-webpack4": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf-tools": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/postinstall": "6.4.19",
+ "@storybook/preview-web": "6.4.19",
+ "@storybook/source-loader": "6.4.19",
+ "@storybook/store": "6.4.19",
+ "@storybook/theming": "6.4.19",
"acorn": "^7.4.1",
"acorn-jsx": "^5.3.1",
"acorn-walk": "^7.2.0",
@@ -68408,11 +68102,12 @@
"html-tags": "^3.1.0",
"js-string-escape": "^1.0.1",
"loader-utils": "^2.0.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
+ "nanoid": "^3.1.23",
"p-limit": "^3.1.0",
- "prettier": "~2.2.1",
+ "prettier": ">=2.2.1 <=2.3.0",
"prop-types": "^15.7.2",
- "react-element-to-jsx-string": "^14.3.2",
+ "react-element-to-jsx-string": "^14.3.4",
"regenerator-runtime": "^0.13.7",
"remark-external-links": "^8.0.0",
"remark-slug": "^6.0.0",
@@ -68428,9 +68123,9 @@
"requires": {}
},
"@storybook/builder-webpack4": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.3.12.tgz",
- "integrity": "sha512-Dlm5Fc1svqpFDnVPZdAaEBiM/IDZHMV3RfEGbUTY/ZC0q8b/Ug1czzp/w0aTIjOFRuBDcG6IcplikaqHL8CJLg==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.4.19.tgz",
+ "integrity": "sha512-wxA6SMH11duc9D53aeVVBwrVRemFIoxHp/dOugkkg6ZZFAb4ZmWzf/ENc3vQIZdZpfNRi7IZIZEOfoHc994cmw==",
"dev": true,
"requires": {
"@babel/core": "^7.12.10",
@@ -68454,34 +68149,34 @@
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channel-postmessage": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/preview-web": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@storybook/ui": "6.3.12",
+ "@storybook/store": "6.4.19",
+ "@storybook/theming": "6.4.19",
+ "@storybook/ui": "6.4.19",
"@types/node": "^14.0.10",
"@types/webpack": "^4.41.26",
"autoprefixer": "^9.8.6",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^2.8.0",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"case-sensitive-paths-webpack-plugin": "^2.3.0",
"core-js": "^3.8.2",
"css-loader": "^3.6.0",
- "dotenv-webpack": "^1.8.0",
"file-loader": "^6.2.0",
"find-up": "^5.0.0",
"fork-ts-checker-webpack-plugin": "^4.1.6",
- "fs-extra": "^9.0.1",
"glob": "^7.1.6",
"glob-promise": "^3.4.0",
"global": "^4.4.0",
@@ -68491,7 +68186,6 @@
"postcss-flexbugs-fixes": "^4.2.1",
"postcss-loader": "^4.2.0",
"raw-loader": "^4.0.2",
- "react-dev-utils": "^11.0.3",
"stable": "^0.1.8",
"style-loader": "^1.3.0",
"terser-webpack-plugin": "^4.2.3",
@@ -68501,14 +68195,14 @@
"webpack": "4",
"webpack-dev-middleware": "^3.7.3",
"webpack-filter-warnings-plugin": "^1.2.1",
- "webpack-hot-middleware": "^2.25.0",
+ "webpack-hot-middleware": "^2.25.1",
"webpack-virtual-modules": "^0.2.2"
},
"dependencies": {
"@storybook/core-common": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.3.12.tgz",
- "integrity": "sha512-xlHs2QXELq/moB4MuXjYOczaxU64BIseHsnFBLyboJYN6Yso3qihW5RB7cuJlGohkjb4JwY74dvfT4Ww66rkBA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.4.19.tgz",
+ "integrity": "sha512-X1pJJkO48DFxl6iyEemIKqRkJ7j9/cBh3BRBUr+xZHXBvnD0GKDXIocwh0PjSxSC6XSu3UCQnqtKi3PbjRl8Dg==",
"dev": true,
"requires": {
"@babel/core": "^7.12.10",
@@ -68532,13 +68226,11 @@
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.1",
- "@storybook/node-logger": "6.3.12",
+ "@storybook/node-logger": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@types/glob-base": "^0.3.0",
- "@types/micromatch": "^4.0.1",
"@types/node": "^14.0.10",
"@types/pretty-hrtime": "^1.0.0",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^3.0.1",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"chalk": "^4.1.0",
@@ -68547,15 +68239,18 @@
"file-system-cache": "^1.0.5",
"find-up": "^5.0.0",
"fork-ts-checker-webpack-plugin": "^6.0.4",
+ "fs-extra": "^9.0.1",
"glob": "^7.1.6",
- "glob-base": "^0.3.0",
+ "handlebars": "^4.7.7",
"interpret": "^2.2.0",
"json5": "^2.1.3",
"lazy-universal-dotenv": "^3.0.1",
- "micromatch": "^4.0.2",
+ "picomatch": "^2.3.0",
"pkg-dir": "^5.0.0",
"pretty-hrtime": "^1.0.3",
"resolve-from": "^5.0.0",
+ "slash": "^3.0.0",
+ "telejson": "^5.3.2",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
"webpack": "4"
@@ -68573,9 +68268,9 @@
}
},
"fork-ts-checker-webpack-plugin": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.4.0.tgz",
- "integrity": "sha512-3I3wFkc4DbzaUDPWEi96wdYGu4EKtxBafhZYm0o4mX51d9bphAY4P3mBl8K5mFXFJqVzHfmdbm9kLGnm7vwwBg==",
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.0.tgz",
+ "integrity": "sha512-cS178Y+xxtIjEUorcHddKS7yCMlrDPV31mt47blKKRfMd70Kxu5xruAFE2o9sDY6wVC5deuob/u/alD04YYHnw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.8.3",
@@ -68608,16 +68303,6 @@
}
}
},
- "micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "dev": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- }
- },
"schema-utils": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
@@ -68641,40 +68326,83 @@
}
},
"@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"dev": true,
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
+ },
+ "dependencies": {
+ "react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "dev": true,
+ "requires": {
+ "history": "^5.2.0"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ },
+ "react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "dev": true,
+ "requires": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ }
}
},
"@storybook/ui": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.12.tgz",
- "integrity": "sha512-PC2yEz4JMfarq7rUFbeA3hCA+31p5es7YPEtxLRvRwIZhtL0P4zQUfHpotb3KgWdoAIfZesAuoIQwMPQmEFYrw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.4.19.tgz",
+ "integrity": "sha512-gFwdn5LA2U6oQ4bfUFLyHZnNasGQ01YVdwjbi+l6yjmnckBNtZfJoVTZ1rzGUbxSE9rK48InJRU+latTsr7xAg==",
"dev": true,
"requires": {
"@emotion/core": "^10.1.1",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/markdown-to-jsx": "^6.11.3",
+ "@storybook/theming": "6.4.19",
"copy-to-clipboard": "^3.3.1",
"core-js": "^3.8.2",
"core-js-pure": "^3.8.2",
@@ -68682,8 +68410,8 @@
"emotion-theming": "^10.0.27",
"fuse.js": "^3.6.1",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^6.11.4",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"polished": "^4.0.5",
"qs": "^6.10.0",
@@ -68708,20 +68436,10 @@
"tslib": "^2.3.0"
}
},
- "markdown-to-jsx": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz",
- "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==",
- "dev": true,
- "requires": {
- "prop-types": "^15.6.2",
- "unquote": "^1.1.0"
- }
- },
"react-helmet-async": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.1.2.tgz",
- "integrity": "sha512-LTTzDDkyIleT/JJ6T/uqx7Y8qi1EuPPSiJawQY/nHHz0h7SPDT6HxP1YDDQx/fzcVxCqpWEEMS3QdrSrNkJYhg==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz",
+ "integrity": "sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==",
"dev": true,
"requires": {
"@babel/runtime": "^7.12.5",
@@ -68739,10 +68457,10 @@
"integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
"dev": true
},
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "chownr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
"dev": true
},
"css-loader": {
@@ -68805,15 +68523,6 @@
}
}
},
- "dotenv-webpack": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-1.8.0.tgz",
- "integrity": "sha512-o8pq6NLBehtrqA8Jv8jFQNtG9nhRtVqmoD4yWbgUyoU3+9WBlPe+c2EAiaJok9RB28QvrWvdWLZGeTT5aATDMg==",
- "dev": true,
- "requires": {
- "dotenv-defaults": "^1.0.2"
- }
- },
"file-loader": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
@@ -68822,6 +68531,19 @@
"requires": {
"loader-utils": "^2.0.0",
"schema-utils": "^3.0.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
}
},
"fork-ts-checker-webpack-plugin": {
@@ -68891,6 +68613,52 @@
}
}
},
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dev": true,
+ "requires": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.0.0"
+ },
+ "dependencies": {
+ "p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ }
+ }
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ },
"postcss-loader": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.3.0.tgz",
@@ -68904,6 +68672,17 @@
"semver": "^7.3.4"
},
"dependencies": {
+ "schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ },
"semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
@@ -68923,6 +68702,37 @@
"requires": {
"loader-utils": "^2.0.0",
"schema-utils": "^3.0.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
+ }
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "ssri": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
+ "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
+ "dev": true,
+ "requires": {
+ "figgy-pudding": "^3.5.1"
}
},
"style-loader": {
@@ -68963,6 +68773,43 @@
"source-map": "^0.6.1",
"terser": "^5.3.4",
"webpack-sources": "^1.4.3"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
+ }
+ },
+ "url-loader": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz",
+ "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^2.0.0",
+ "mime-types": "^2.1.27",
+ "schema-utils": "^3.0.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
}
},
"webpack": {
@@ -69077,17 +68924,6 @@
"find-up": "^3.0.0"
}
},
- "schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
- "dev": true,
- "requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- }
- },
"serialize-javascript": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
@@ -69150,15 +68986,15 @@
}
},
"@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dev": true,
"requires": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -69166,7 +69002,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -69197,33 +69033,36 @@
}
},
"@storybook/core": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.3.12.tgz",
- "integrity": "sha512-FJm2ns8wk85hXWKslLWiUWRWwS9KWRq7jlkN6M9p57ghFseSGr4W71Orcoab4P3M7jI97l5yqBfppbscinE74g==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.4.19.tgz",
+ "integrity": "sha512-55LOQ/h/kf1jMhjN85t/pIEdIwWEG9yV7bdwv3niVvmoypCxyyjn9/QNK0RKYAeDSUtdm6FVoJ6k5CpxWz2d8w==",
"dev": true,
"requires": {
- "@storybook/core-client": "6.3.12",
- "@storybook/core-server": "6.3.12"
+ "@storybook/core-client": "6.4.19",
+ "@storybook/core-server": "6.4.19"
},
"dependencies": {
"@storybook/core-client": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.3.12.tgz",
- "integrity": "sha512-8Smd9BgZHJpAdevLKQYinwtjSyCZAuBMoetP4P5hnn53mWl0NFbrHFaAdT+yNchDLZQUbf7Y18VmIqEH+RCR5w==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.4.19.tgz",
+ "integrity": "sha512-rQHRZjhArPleE7/S8ZUolgzwY+hC0smSKX/3PQxO2GcebDjnJj6+iSV3h+aSMHMmTdoCQvjYw9aBpT8scuRe+A==",
"dev": true,
"requires": {
- "@storybook/addons": "6.3.12",
- "@storybook/channel-postmessage": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/ui": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/channel-websocket": "6.4.19",
+ "@storybook/client-api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/preview-web": "6.4.19",
+ "@storybook/store": "6.4.19",
+ "@storybook/ui": "6.4.19",
"airbnb-js-shims": "^2.2.1",
"ansi-to-html": "^0.6.11",
"core-js": "^3.8.2",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"ts-dedent": "^2.0.0",
@@ -69232,22 +69071,21 @@
},
"dependencies": {
"@storybook/ui": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.12.tgz",
- "integrity": "sha512-PC2yEz4JMfarq7rUFbeA3hCA+31p5es7YPEtxLRvRwIZhtL0P4zQUfHpotb3KgWdoAIfZesAuoIQwMPQmEFYrw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.4.19.tgz",
+ "integrity": "sha512-gFwdn5LA2U6oQ4bfUFLyHZnNasGQ01YVdwjbi+l6yjmnckBNtZfJoVTZ1rzGUbxSE9rK48InJRU+latTsr7xAg==",
"dev": true,
"requires": {
"@emotion/core": "^10.1.1",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/markdown-to-jsx": "^6.11.3",
+ "@storybook/theming": "6.4.19",
"copy-to-clipboard": "^3.3.1",
"core-js": "^3.8.2",
"core-js-pure": "^3.8.2",
@@ -69255,8 +69093,8 @@
"emotion-theming": "^10.0.27",
"fuse.js": "^3.6.1",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^6.11.4",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"polished": "^4.0.5",
"qs": "^6.10.0",
@@ -69269,21 +69107,65 @@
},
"dependencies": {
"@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"dev": true,
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
+ },
+ "dependencies": {
+ "react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "dev": true,
+ "requires": {
+ "history": "^5.2.0"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ },
+ "react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "dev": true,
+ "requires": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ }
}
},
"downshift": {
@@ -69299,20 +69181,10 @@
"tslib": "^2.3.0"
}
},
- "markdown-to-jsx": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz",
- "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==",
- "dev": true,
- "requires": {
- "prop-types": "^15.6.2",
- "unquote": "^1.1.0"
- }
- },
"react-helmet-async": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.1.2.tgz",
- "integrity": "sha512-LTTzDDkyIleT/JJ6T/uqx7Y8qi1EuPPSiJawQY/nHHz0h7SPDT6HxP1YDDQx/fzcVxCqpWEEMS3QdrSrNkJYhg==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz",
+ "integrity": "sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==",
"dev": true,
"requires": {
"@babel/runtime": "^7.12.5",
@@ -69327,51 +69199,59 @@
}
},
"@storybook/core-server": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.3.12.tgz",
- "integrity": "sha512-T/Mdyi1FVkUycdyOnhXvoo3d9nYXLQFkmaJkltxBFLzAePAJUSgAsPL9odNC3+p8Nr2/UDsDzvu/Ow0IF0mzLQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.4.19.tgz",
+ "integrity": "sha512-bKsUB9f7hl5ya2JXxpIrErmbDQjoH39FVbzYZWjMo4t/b7+Xyi6vYadwyWcqlpUQmis09ZaSMv8L/Tw0TuwLAA==",
"dev": true,
"requires": {
"@discoveryjs/json-ext": "^0.5.3",
- "@storybook/builder-webpack4": "6.3.12",
- "@storybook/core-client": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/csf-tools": "6.3.12",
- "@storybook/manager-webpack4": "6.3.12",
- "@storybook/node-logger": "6.3.12",
+ "@storybook/builder-webpack4": "6.4.19",
+ "@storybook/core-client": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf-tools": "6.4.19",
+ "@storybook/manager-webpack4": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
"@storybook/semver": "^7.3.2",
+ "@storybook/store": "6.4.19",
"@types/node": "^14.0.10",
"@types/node-fetch": "^2.5.7",
"@types/pretty-hrtime": "^1.0.0",
"@types/webpack": "^4.41.26",
"better-opn": "^2.1.1",
- "boxen": "^4.2.0",
+ "boxen": "^5.1.2",
"chalk": "^4.1.0",
- "cli-table3": "0.6.0",
+ "cli-table3": "^0.6.1",
"commander": "^6.2.1",
"compression": "^1.7.4",
"core-js": "^3.8.2",
- "cpy": "^8.1.1",
+ "cpy": "^8.1.2",
"detect-port": "^1.3.0",
"express": "^4.17.1",
"file-system-cache": "^1.0.5",
"fs-extra": "^9.0.1",
"globby": "^11.0.2",
"ip": "^1.1.5",
+ "lodash": "^4.17.21",
"node-fetch": "^2.6.1",
"pretty-hrtime": "^1.0.3",
"prompts": "^2.4.0",
"regenerator-runtime": "^0.13.7",
"serve-favicon": "^2.5.0",
+ "slash": "^3.0.0",
+ "telejson": "^5.3.3",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
- "webpack": "4"
+ "watchpack": "^2.2.0",
+ "webpack": "4",
+ "ws": "^8.2.3"
},
"dependencies": {
"@storybook/core-common": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.3.12.tgz",
- "integrity": "sha512-xlHs2QXELq/moB4MuXjYOczaxU64BIseHsnFBLyboJYN6Yso3qihW5RB7cuJlGohkjb4JwY74dvfT4Ww66rkBA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.4.19.tgz",
+ "integrity": "sha512-X1pJJkO48DFxl6iyEemIKqRkJ7j9/cBh3BRBUr+xZHXBvnD0GKDXIocwh0PjSxSC6XSu3UCQnqtKi3PbjRl8Dg==",
"dev": true,
"requires": {
"@babel/core": "^7.12.10",
@@ -69395,13 +69275,11 @@
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.1",
- "@storybook/node-logger": "6.3.12",
+ "@storybook/node-logger": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@types/glob-base": "^0.3.0",
- "@types/micromatch": "^4.0.1",
"@types/node": "^14.0.10",
"@types/pretty-hrtime": "^1.0.0",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^3.0.1",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"chalk": "^4.1.0",
@@ -69410,43 +69288,45 @@
"file-system-cache": "^1.0.5",
"find-up": "^5.0.0",
"fork-ts-checker-webpack-plugin": "^6.0.4",
+ "fs-extra": "^9.0.1",
"glob": "^7.1.6",
- "glob-base": "^0.3.0",
+ "handlebars": "^4.7.7",
"interpret": "^2.2.0",
"json5": "^2.1.3",
"lazy-universal-dotenv": "^3.0.1",
- "micromatch": "^4.0.2",
+ "picomatch": "^2.3.0",
"pkg-dir": "^5.0.0",
"pretty-hrtime": "^1.0.3",
"resolve-from": "^5.0.0",
+ "slash": "^3.0.0",
+ "telejson": "^5.3.2",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
"webpack": "4"
}
},
"@storybook/manager-webpack4": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.3.12.tgz",
- "integrity": "sha512-OkPYNrHXg2yZfKmEfTokP6iKx4OLTr0gdI5yehi/bLEuQCSHeruxBc70Dxm1GBk1Mrf821wD9WqMXNDjY5Qtug==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.4.19.tgz",
+ "integrity": "sha512-R8ugZjTYqXvlc6gDOcw909L65sIleOmIJLZR+N6/H85MivGXHu39jOwONqB7tVACufRty4FNecn8tEiQL2SAKA==",
"dev": true,
"requires": {
"@babel/core": "^7.12.10",
"@babel/plugin-transform-template-literals": "^7.12.1",
"@babel/preset-react": "^7.12.10",
- "@storybook/addons": "6.3.12",
- "@storybook/core-client": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/theming": "6.3.12",
- "@storybook/ui": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/core-client": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/theming": "6.4.19",
+ "@storybook/ui": "6.4.19",
"@types/node": "^14.0.10",
"@types/webpack": "^4.41.26",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"case-sensitive-paths-webpack-plugin": "^2.3.0",
"chalk": "^4.1.0",
"core-js": "^3.8.2",
"css-loader": "^3.6.0",
- "dotenv-webpack": "^1.8.0",
"express": "^4.17.1",
"file-loader": "^6.2.0",
"file-system-cache": "^1.0.5",
@@ -69470,22 +69350,21 @@
},
"dependencies": {
"@storybook/ui": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.12.tgz",
- "integrity": "sha512-PC2yEz4JMfarq7rUFbeA3hCA+31p5es7YPEtxLRvRwIZhtL0P4zQUfHpotb3KgWdoAIfZesAuoIQwMPQmEFYrw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.4.19.tgz",
+ "integrity": "sha512-gFwdn5LA2U6oQ4bfUFLyHZnNasGQ01YVdwjbi+l6yjmnckBNtZfJoVTZ1rzGUbxSE9rK48InJRU+latTsr7xAg==",
"dev": true,
"requires": {
"@emotion/core": "^10.1.1",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/markdown-to-jsx": "^6.11.3",
+ "@storybook/theming": "6.4.19",
"copy-to-clipboard": "^3.3.1",
"core-js": "^3.8.2",
"core-js-pure": "^3.8.2",
@@ -69493,8 +69372,8 @@
"emotion-theming": "^10.0.27",
"fuse.js": "^3.6.1",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^6.11.4",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"polished": "^4.0.5",
"qs": "^6.10.0",
@@ -69507,21 +69386,65 @@
},
"dependencies": {
"@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"dev": true,
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
+ },
+ "dependencies": {
+ "react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "dev": true,
+ "requires": {
+ "history": "^5.2.0"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ },
+ "react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "dev": true,
+ "requires": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ }
}
},
"downshift": {
@@ -69537,20 +69460,10 @@
"tslib": "^2.3.0"
}
},
- "markdown-to-jsx": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz",
- "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==",
- "dev": true,
- "requires": {
- "prop-types": "^15.6.2",
- "unquote": "^1.1.0"
- }
- },
"react-helmet-async": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.1.2.tgz",
- "integrity": "sha512-LTTzDDkyIleT/JJ6T/uqx7Y8qi1EuPPSiJawQY/nHHz0h7SPDT6HxP1YDDQx/fzcVxCqpWEEMS3QdrSrNkJYhg==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz",
+ "integrity": "sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==",
"dev": true,
"requires": {
"@babel/runtime": "^7.12.5",
@@ -69564,198 +69477,371 @@
}
}
},
- "cacache": {
- "version": "15.3.0",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
- "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
- "dev": true,
- "requires": {
- "@npmcli/fs": "^1.0.0",
- "@npmcli/move-file": "^1.0.1",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "glob": "^7.1.4",
- "infer-owner": "^1.0.4",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.1",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.2",
- "mkdirp": "^1.0.3",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^8.0.1",
- "tar": "^6.0.2",
- "unique-filename": "^1.1.1"
- }
- },
- "chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
- "dev": true
- },
- "find-cache-dir": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
+ "css-loader": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz",
+ "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==",
"dev": true,
"requires": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
+ "camelcase": "^5.3.1",
+ "cssesc": "^3.0.0",
+ "icss-utils": "^4.1.1",
+ "loader-utils": "^1.2.3",
+ "normalize-path": "^3.0.0",
+ "postcss": "^7.0.32",
+ "postcss-modules-extract-imports": "^2.0.0",
+ "postcss-modules-local-by-default": "^3.0.2",
+ "postcss-modules-scope": "^2.2.0",
+ "postcss-modules-values": "^3.0.0",
+ "postcss-value-parser": "^4.1.0",
+ "schema-utils": "^2.7.0",
+ "semver": "^6.3.0"
},
"dependencies": {
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
"dev": true,
"requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
+ "minimist": "^1.2.0"
}
},
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "loader-utils": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+ "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ }
+ },
+ "schema-utils": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
+ "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
"dev": true,
"requires": {
- "find-up": "^4.0.0"
+ "@types/json-schema": "^7.0.5",
+ "ajv": "^6.12.4",
+ "ajv-keywords": "^3.5.2"
}
}
}
},
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- }
- },
- "micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+ "file-loader": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
+ "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
"dev": true,
"requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
}
},
- "mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "html-webpack-plugin": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz",
+ "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==",
"dev": true,
"requires": {
- "glob": "^7.1.3"
+ "@types/html-minifier-terser": "^5.0.0",
+ "@types/tapable": "^1.0.5",
+ "@types/webpack": "^4.41.8",
+ "html-minifier-terser": "^5.0.1",
+ "loader-utils": "^1.2.3",
+ "lodash": "^4.17.20",
+ "pretty-error": "^2.1.1",
+ "tapable": "^1.1.3",
+ "util.promisify": "1.0.0"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "loader-utils": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+ "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ }
+ }
}
},
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "style-loader": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz",
+ "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==",
"dev": true,
"requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^2.7.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
+ "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.5",
+ "ajv": "^6.12.4",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
}
},
- "serialize-javascript": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
- "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
+ "terser-webpack-plugin": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz",
+ "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==",
"dev": true,
"requires": {
- "randombytes": "^2.1.0"
+ "cacache": "^15.0.5",
+ "find-cache-dir": "^3.3.1",
+ "jest-worker": "^26.5.0",
+ "p-limit": "^3.0.2",
+ "schema-utils": "^3.0.0",
+ "serialize-javascript": "^5.0.1",
+ "source-map": "^0.6.1",
+ "terser": "^5.3.4",
+ "webpack-sources": "^1.4.3"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
}
},
- "ssri": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
- "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
+ "url-loader": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz",
+ "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==",
"dev": true,
"requires": {
- "minipass": "^3.1.1"
+ "loader-utils": "^2.0.0",
+ "mime-types": "^2.1.27",
+ "schema-utils": "^3.0.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
}
},
- "terser": {
- "version": "5.9.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz",
- "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==",
+ "webpack": {
+ "version": "4.46.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
+ "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
"dev": true,
"requires": {
- "commander": "^2.20.0",
- "source-map": "~0.7.2",
- "source-map-support": "~0.5.20"
+ "@webassemblyjs/ast": "1.9.0",
+ "@webassemblyjs/helper-module-context": "1.9.0",
+ "@webassemblyjs/wasm-edit": "1.9.0",
+ "@webassemblyjs/wasm-parser": "1.9.0",
+ "acorn": "^6.4.1",
+ "ajv": "^6.10.2",
+ "ajv-keywords": "^3.4.1",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^4.5.0",
+ "eslint-scope": "^4.0.3",
+ "json-parse-better-errors": "^1.0.2",
+ "loader-runner": "^2.4.0",
+ "loader-utils": "^1.2.3",
+ "memory-fs": "^0.4.1",
+ "micromatch": "^3.1.10",
+ "mkdirp": "^0.5.3",
+ "neo-async": "^2.6.1",
+ "node-libs-browser": "^2.2.1",
+ "schema-utils": "^1.0.0",
+ "tapable": "^1.1.3",
+ "terser-webpack-plugin": "^1.4.3",
+ "watchpack": "^1.7.4",
+ "webpack-sources": "^1.4.1"
},
"dependencies": {
+ "cacache": {
+ "version": "12.0.4",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
+ "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
+ "dev": true,
+ "requires": {
+ "bluebird": "^3.5.5",
+ "chownr": "^1.1.1",
+ "figgy-pudding": "^3.5.1",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.1.15",
+ "infer-owner": "^1.0.3",
+ "lru-cache": "^5.1.1",
+ "mississippi": "^3.0.0",
+ "mkdirp": "^0.5.1",
+ "move-concurrently": "^1.0.1",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^2.6.3",
+ "ssri": "^6.0.1",
+ "unique-filename": "^1.1.1",
+ "y18n": "^4.0.0"
+ }
+ },
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true
+ "find-cache-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
+ "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+ "dev": true,
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^2.0.0",
+ "pkg-dir": "^3.0.0"
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "loader-utils": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+ "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^1.0.1"
+ }
+ },
+ "pkg-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+ "dev": true,
+ "requires": {
+ "find-up": "^3.0.0"
+ }
+ },
+ "serialize-javascript": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
+ "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+ "dev": true,
+ "requires": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "terser": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
+ "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+ "dev": true,
+ "requires": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ }
+ },
+ "terser-webpack-plugin": {
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
+ "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
+ "dev": true,
+ "requires": {
+ "cacache": "^12.0.2",
+ "find-cache-dir": "^2.1.0",
+ "is-wsl": "^1.1.0",
+ "schema-utils": "^1.0.0",
+ "serialize-javascript": "^4.0.0",
+ "source-map": "^0.6.1",
+ "terser": "^4.1.2",
+ "webpack-sources": "^1.4.0",
+ "worker-farm": "^1.7.0"
+ }
+ },
+ "watchpack": {
+ "version": "1.7.5",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
+ "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
+ "dev": true,
+ "requires": {
+ "chokidar": "^3.4.1",
+ "graceful-fs": "^4.1.2",
+ "neo-async": "^2.5.0",
+ "watchpack-chokidar2": "^2.0.1"
+ }
}
}
},
- "terser-webpack-plugin": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz",
- "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==",
+ "webpack-dev-middleware": {
+ "version": "3.7.3",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz",
+ "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==",
"dev": true,
"requires": {
- "cacache": "^15.0.5",
- "find-cache-dir": "^3.3.1",
- "jest-worker": "^26.5.0",
- "p-limit": "^3.0.2",
- "schema-utils": "^3.0.0",
- "serialize-javascript": "^5.0.1",
- "source-map": "^0.6.1",
- "terser": "^5.3.4",
- "webpack-sources": "^1.4.3"
+ "memory-fs": "^0.4.1",
+ "mime": "^2.4.4",
+ "mkdirp": "^0.5.1",
+ "range-parser": "^1.2.1",
+ "webpack-log": "^2.0.0"
}
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
}
}
},
@@ -69776,174 +69862,26 @@
"resolve": "^1.19.0"
}
},
- "cacache": {
- "version": "12.0.4",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
- "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
- "dev": true,
- "requires": {
- "bluebird": "^3.5.5",
- "chownr": "^1.1.1",
- "figgy-pudding": "^3.5.1",
- "glob": "^7.1.4",
- "graceful-fs": "^4.1.15",
- "infer-owner": "^1.0.3",
- "lru-cache": "^5.1.1",
- "mississippi": "^3.0.0",
- "mkdirp": "^0.5.1",
- "move-concurrently": "^1.0.1",
- "promise-inflight": "^1.0.1",
- "rimraf": "^2.6.3",
- "ssri": "^6.0.1",
- "unique-filename": "^1.1.1",
- "y18n": "^4.0.0"
- }
- },
- "css-loader": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz",
- "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==",
- "dev": true,
- "requires": {
- "camelcase": "^5.3.1",
- "cssesc": "^3.0.0",
- "icss-utils": "^4.1.1",
- "loader-utils": "^1.2.3",
- "normalize-path": "^3.0.0",
- "postcss": "^7.0.32",
- "postcss-modules-extract-imports": "^2.0.0",
- "postcss-modules-local-by-default": "^3.0.2",
- "postcss-modules-scope": "^2.2.0",
- "postcss-modules-values": "^3.0.0",
- "postcss-value-parser": "^4.1.0",
- "schema-utils": "^2.7.0",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "schema-utils": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
- "dev": true,
- "requires": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
- "ajv-keywords": "^3.5.2"
- }
- }
- }
- },
- "dotenv-webpack": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-1.8.0.tgz",
- "integrity": "sha512-o8pq6NLBehtrqA8Jv8jFQNtG9nhRtVqmoD4yWbgUyoU3+9WBlPe+c2EAiaJok9RB28QvrWvdWLZGeTT5aATDMg==",
- "dev": true,
- "requires": {
- "dotenv-defaults": "^1.0.2"
- }
- },
- "file-loader": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
- "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
- "dev": true,
- "requires": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
- },
- "dependencies": {
- "loader-utils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
- "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
- },
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "dev": true,
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- }
- }
- },
- "find-cache-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
- "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
- "dev": true,
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^2.0.0",
- "pkg-dir": "^3.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "pkg-dir": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
- "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
- "dev": true,
- "requires": {
- "find-up": "^3.0.0"
- }
- }
- }
+ "chownr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+ "dev": true
},
- "html-webpack-plugin": {
- "version": "4.5.2",
- "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz",
- "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==",
- "dev": true,
- "requires": {
- "@types/html-minifier-terser": "^5.0.0",
- "@types/tapable": "^1.0.5",
- "@types/webpack": "^4.41.8",
- "html-minifier-terser": "^5.0.1",
- "loader-utils": "^1.2.3",
- "lodash": "^4.17.20",
- "pretty-error": "^2.1.1",
- "tapable": "^1.1.3",
- "util.promisify": "1.0.0"
- }
+ "commander": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
+ "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
+ "dev": true
},
- "loader-utils": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
"dev": true,
"requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- }
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
}
},
"lru-cache": {
@@ -69955,202 +69893,161 @@
"yallist": "^3.0.2"
}
},
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- },
- "dependencies": {
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- }
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
- "dev": true,
- "requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- },
- "serialize-javascript": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
- "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
- "dev": true,
- "requires": {
- "randombytes": "^2.1.0"
- }
- },
- "style-loader": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz",
- "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==",
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
"dev": true,
"requires": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^2.7.0"
- },
- "dependencies": {
- "loader-utils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
- "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
- },
- "schema-utils": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
- "dev": true,
- "requires": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
- "ajv-keywords": "^3.5.2"
- }
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
}
}
},
- "terser": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
- "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
"dev": true,
"requires": {
- "commander": "^2.20.0",
- "source-map": "~0.6.1",
- "source-map-support": "~0.5.12"
+ "p-limit": "^2.0.0"
},
"dependencies": {
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true
+ "p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
}
}
},
- "terser-webpack-plugin": {
- "version": "1.4.5",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
- "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
"dev": true,
"requires": {
- "cacache": "^12.0.2",
- "find-cache-dir": "^2.1.0",
- "is-wsl": "^1.1.0",
- "schema-utils": "^1.0.0",
- "serialize-javascript": "^4.0.0",
- "source-map": "^0.6.1",
- "terser": "^4.1.2",
- "webpack-sources": "^1.4.0",
- "worker-farm": "^1.7.0"
+ "glob": "^7.1.3"
}
},
- "webpack": {
- "version": "4.46.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
- "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "ssri": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
+ "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-module-context": "1.9.0",
- "@webassemblyjs/wasm-edit": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0",
- "acorn": "^6.4.1",
- "ajv": "^6.10.2",
- "ajv-keywords": "^3.4.1",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^4.5.0",
- "eslint-scope": "^4.0.3",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^2.4.0",
- "loader-utils": "^1.2.3",
- "memory-fs": "^0.4.1",
- "micromatch": "^3.1.10",
- "mkdirp": "^0.5.3",
- "neo-async": "^2.6.1",
- "node-libs-browser": "^2.2.1",
- "schema-utils": "^1.0.0",
- "tapable": "^1.1.3",
- "terser-webpack-plugin": "^1.4.3",
- "watchpack": "^1.7.4",
- "webpack-sources": "^1.4.1"
+ "figgy-pudding": "^3.5.1"
}
},
- "webpack-dev-middleware": {
- "version": "3.7.3",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz",
- "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==",
+ "watchpack": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
+ "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
"dev": true,
"requires": {
- "memory-fs": "^0.4.1",
- "mime": "^2.4.4",
- "mkdirp": "^0.5.1",
- "range-parser": "^1.2.1",
- "webpack-log": "^2.0.0"
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
}
}
}
},
+ "@storybook/preview-web": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.4.19.tgz",
+ "integrity": "sha512-jqltoBv5j7lvnxEfV9w8dLX9ASWGuvgz97yg8Yo5FqkftEwrHJenyvMGcTgDJKJPorF+wiz/9aIqnmd3LCAcZQ==",
+ "dev": true,
+ "requires": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/store": "6.4.19",
+ "ansi-to-html": "^0.6.11",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "unfetch": "^4.2.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
"@storybook/source-loader": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-6.3.12.tgz",
- "integrity": "sha512-Lfe0LOJGqAJYkZsCL8fhuQOeFSCgv8xwQCt4dkcBd0Rw5zT2xv0IXDOiIOXGaWBMDtrJUZt/qOXPEPlL81Oaqg==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-6.4.19.tgz",
+ "integrity": "sha512-XqTsqddRglvfW7mhyjwoqd/B8L6samcBehhO0OEbsFp6FPWa9eXuObCxtRYIcjcSIe+ksbW3D/54ppEs1L/g1Q==",
"dev": true,
"requires": {
- "@storybook/addons": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
"core-js": "^3.8.2",
"estraverse": "^5.2.0",
"global": "^4.4.0",
"loader-utils": "^2.0.0",
- "lodash": "^4.17.20",
- "prettier": "~2.2.1",
+ "lodash": "^4.17.21",
+ "prettier": ">=2.2.1 <=2.3.0",
"regenerator-runtime": "^0.13.7"
}
},
+ "@storybook/store": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.4.19.tgz",
+ "integrity": "sha512-N9/ZjemRHGfT3InPIbqQqc6snkcfnf3Qh9oOr0smbfaVGJol//KOX65kzzobtzFcid0WxtTDZ3HmgFVH+GvuhQ==",
+ "dev": true,
+ "requires": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "slash": "^3.0.0",
+ "stable": "^0.1.8",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
"@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dev": true,
"requires": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -70162,56 +70059,113 @@
},
"dependencies": {
"@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dev": true,
"requires": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
+ },
+ "dependencies": {
+ "@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ }
+ }
}
}
}
},
- "chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
- "commander": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
- "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
- "dev": true
+ "cacache": {
+ "version": "15.3.0",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
+ "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
+ "dev": true,
+ "requires": {
+ "@npmcli/fs": "^1.0.0",
+ "@npmcli/move-file": "^1.0.1",
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "glob": "^7.1.4",
+ "infer-owner": "^1.0.4",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.1",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.2",
+ "mkdirp": "^1.0.3",
+ "p-map": "^4.0.0",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^3.0.2",
+ "ssri": "^8.0.1",
+ "tar": "^6.0.2",
+ "unique-filename": "^1.1.1"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true
+ }
+ }
},
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "find-cache-dir": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
+ "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
"dev": true,
"requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
+ "commondir": "^1.0.1",
+ "make-dir": "^3.0.2",
+ "pkg-dir": "^4.1.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.0.0"
+ }
+ }
}
},
- "make-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
- "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"requires": {
- "pify": "^4.0.1",
- "semver": "^5.6.0"
+ "p-locate": "^4.1.0"
}
},
"p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"requires": {
- "p-limit": "^2.0.0"
+ "p-limit": "^2.2.0"
},
"dependencies": {
"p-limit": {
@@ -70225,28 +70179,50 @@
}
}
},
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
+ "react-element-to-jsx-string": {
+ "version": "14.3.4",
+ "resolved": "https://registry.npmjs.org/react-element-to-jsx-string/-/react-element-to-jsx-string-14.3.4.tgz",
+ "integrity": "sha512-t4ZwvV6vwNxzujDQ+37bspnLwA4JlgUPWhLjBJWsNIDceAf6ZKUTCjdm08cN6WeZ5pTMKiCJkmAYnpmR4Bm+dg==",
+ "dev": true,
+ "requires": {
+ "@base2/pretty-print-object": "1.0.1",
+ "is-plain-object": "5.0.0",
+ "react-is": "17.0.2"
+ }
},
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "serialize-javascript": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
+ "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
"dev": true,
"requires": {
- "glob": "^7.1.3"
+ "randombytes": "^2.1.0"
}
},
- "ssri": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
- "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
+ "terser": {
+ "version": "5.12.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz",
+ "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==",
"dev": true,
"requires": {
- "figgy-pudding": "^3.5.1"
+ "acorn": "^8.5.0",
+ "commander": "^2.20.0",
+ "source-map": "~0.7.2",
+ "source-map-support": "~0.5.20"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
+ "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ }
}
},
"yallist": {
@@ -70257,31 +70233,254 @@
}
}
},
+ "@storybook/addon-measure": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-6.4.19.tgz",
+ "integrity": "sha512-PXeU0AlpnGEvnzBQ6snkzmlIpwE0ci8LdFtL1Vz1V1Xk5fbuETWYuEkPuk1oZ7L9igB9cfT32SyJlE5MC1iaGg==",
+ "dev": true,
+ "requires": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0"
+ },
+ "dependencies": {
+ "@storybook/components": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
+ "dev": true,
+ "requires": {
+ "@popperjs/core": "^2.6.0",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
+ "@types/color-convert": "^2.0.0",
+ "@types/overlayscrollbars": "^1.12.0",
+ "@types/react-syntax-highlighter": "11.0.5",
+ "color-convert": "^2.0.1",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
+ "memoizerific": "^1.11.3",
+ "overlayscrollbars": "^1.13.1",
+ "polished": "^4.0.5",
+ "prop-types": "^15.7.2",
+ "react-colorful": "^5.1.2",
+ "react-popper-tooltip": "^3.1.1",
+ "react-syntax-highlighter": "^13.5.3",
+ "react-textarea-autosize": "^8.3.0",
+ "regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "dependencies": {
+ "@storybook/theming": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
+ "dev": true,
+ "requires": {
+ "@emotion/core": "^10.1.1",
+ "@emotion/is-prop-valid": "^0.8.6",
+ "@emotion/styled": "^10.0.27",
+ "@storybook/client-logger": "6.4.19",
+ "core-js": "^3.8.2",
+ "deep-object-diff": "^1.1.0",
+ "emotion-theming": "^10.0.27",
+ "global": "^4.4.0",
+ "memoizerific": "^1.11.3",
+ "polished": "^4.0.5",
+ "resolve-from": "^5.0.0",
+ "ts-dedent": "^2.0.0"
+ },
+ "dependencies": {
+ "@emotion/styled": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
+ "dev": true,
+ "requires": {
+ "@emotion/styled-base": "^10.3.0",
+ "babel-plugin-emotion": "^10.0.27"
+ },
+ "dependencies": {
+ "@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ }
+ }
+ }
+ }
+ }
+ },
+ "react-syntax-highlighter": {
+ "version": "13.5.3",
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
+ "integrity": "sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "highlight.js": "^10.1.1",
+ "lowlight": "^1.14.0",
+ "prismjs": "^1.21.0",
+ "refractor": "^3.1.0"
+ }
+ }
+ }
+ }
+ }
+ },
+ "@storybook/addon-outline": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-6.4.19.tgz",
+ "integrity": "sha512-7ZDXo8qrms6dx0KRP9PInXIie82h5g9XCNrGOUdfZkQPvgofJVj0kNv6p+WOiGiaVfKPC5KMgIofqzBTFV+k6Q==",
+ "dev": true,
+ "requires": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0"
+ },
+ "dependencies": {
+ "@storybook/components": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
+ "dev": true,
+ "requires": {
+ "@popperjs/core": "^2.6.0",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
+ "@types/color-convert": "^2.0.0",
+ "@types/overlayscrollbars": "^1.12.0",
+ "@types/react-syntax-highlighter": "11.0.5",
+ "color-convert": "^2.0.1",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
+ "memoizerific": "^1.11.3",
+ "overlayscrollbars": "^1.13.1",
+ "polished": "^4.0.5",
+ "prop-types": "^15.7.2",
+ "react-colorful": "^5.1.2",
+ "react-popper-tooltip": "^3.1.1",
+ "react-syntax-highlighter": "^13.5.3",
+ "react-textarea-autosize": "^8.3.0",
+ "regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "dependencies": {
+ "@storybook/theming": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
+ "dev": true,
+ "requires": {
+ "@emotion/core": "^10.1.1",
+ "@emotion/is-prop-valid": "^0.8.6",
+ "@emotion/styled": "^10.0.27",
+ "@storybook/client-logger": "6.4.19",
+ "core-js": "^3.8.2",
+ "deep-object-diff": "^1.1.0",
+ "emotion-theming": "^10.0.27",
+ "global": "^4.4.0",
+ "memoizerific": "^1.11.3",
+ "polished": "^4.0.5",
+ "resolve-from": "^5.0.0",
+ "ts-dedent": "^2.0.0"
+ },
+ "dependencies": {
+ "@emotion/styled": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
+ "dev": true,
+ "requires": {
+ "@emotion/styled-base": "^10.3.0",
+ "babel-plugin-emotion": "^10.0.27"
+ },
+ "dependencies": {
+ "@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ }
+ }
+ }
+ }
+ }
+ },
+ "react-syntax-highlighter": {
+ "version": "13.5.3",
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
+ "integrity": "sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "highlight.js": "^10.1.1",
+ "lowlight": "^1.14.0",
+ "prismjs": "^1.21.0",
+ "refractor": "^3.1.0"
+ }
+ }
+ }
+ }
+ }
+ },
"@storybook/addon-toolbars": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-6.3.12.tgz",
- "integrity": "sha512-8GvP6zmAfLPRnYRARSaIwLkQClLIRbflRh4HZoFk6IMjQLXZb4NL3JS5OLFKG+HRMMU2UQzfoSDqjI7k7ptyRw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-6.4.19.tgz",
+ "integrity": "sha512-2UtuX9yB1rD/CAZv1etnOnunfPTvsEKEg/J2HYMKE1lhenWC5muIUXvDXCXvwDC65WviPJ56nFNKaKK1Zz7JDg==",
"dev": true,
"requires": {
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/theming": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"regenerator-runtime": "^0.13.7"
},
"dependencies": {
"@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dev": true,
"requires": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -70289,7 +70488,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -70320,15 +70519,15 @@
}
},
"@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dev": true,
"requires": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -70340,13 +70539,27 @@
},
"dependencies": {
"@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dev": true,
"requires": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
+ },
+ "dependencies": {
+ "@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ }
+ }
}
}
}
@@ -70354,17 +70567,17 @@
}
},
"@storybook/addon-viewport": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-6.3.12.tgz",
- "integrity": "sha512-TRjyfm85xouOPmXxeLdEIzXLfJZZ1ePQ7p/5yphDGBHdxMU4m4qiZr8wYpUaxHsRu/UB3dKfaOyGT+ivogbnbw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-6.4.19.tgz",
+ "integrity": "sha512-T1hdImxbLj8suQSTbp6HSA1LLHOlqaNK5jjnqzEOoAxY0O8LNPXMJ2jKIeT2fPQ0v+tWGU3tbwf+3xFq0parVQ==",
"dev": true,
"requires": {
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/theming": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"global": "^4.4.0",
"memoizerific": "^1.11.3",
@@ -70373,15 +70586,15 @@
},
"dependencies": {
"@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"dev": true,
"requires": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -70389,7 +70602,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -70420,15 +70633,15 @@
}
},
"@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dev": true,
"requires": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -70440,13 +70653,27 @@
},
"dependencies": {
"@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dev": true,
"requires": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
+ },
+ "dependencies": {
+ "@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ }
+ }
}
}
}
@@ -70454,26 +70681,23 @@
}
},
"@storybook/api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.12.tgz",
- "integrity": "sha512-LScRXUeCWEW/OP+jiooNMQICVdusv7azTmULxtm72fhkXFRiQs2CdRNTiqNg46JLLC9z95f1W+pGK66X6HiiQA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
"dev": true,
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
"telejson": "^5.3.2",
@@ -70482,33 +70706,77 @@
},
"dependencies": {
"@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"dev": true,
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
+ },
+ "dependencies": {
+ "react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "dev": true,
+ "requires": {
+ "history": "^5.2.0"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ },
+ "react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "dev": true,
+ "requires": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ }
}
},
"@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"dev": true,
"requires": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -70520,13 +70788,27 @@
},
"dependencies": {
"@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dev": true,
"requires": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
+ },
+ "dependencies": {
+ "@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ }
+ }
}
}
}
@@ -70534,9 +70816,9 @@
}
},
"@storybook/channels": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.12.tgz",
- "integrity": "sha512-l4sA+g1PdUV8YCbgs47fIKREdEQAKNdQIZw0b7BfTvY9t0x5yfBywgQhYON/lIeiNGz2OlIuD+VUtqYfCtNSyw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"dev": true,
"requires": {
"core-js": "^3.8.2",
@@ -70545,9 +70827,9 @@
}
},
"@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"dev": true,
"requires": {
"core-js": "^3.8.2",
@@ -70555,18 +70837,27 @@
}
},
"@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"dev": true,
"requires": {
"core-js": "^3.8.2"
}
},
+ "@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
"@types/node": {
- "version": "14.17.33",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.33.tgz",
- "integrity": "sha512-noEeJ06zbn3lOh4gqe2v7NMGS33jrulfNqYFDjjEbhpDEHR5VTxgYNQSBqBlJIsBJW3uEYDgD6kvMnrrhGzq8g==",
+ "version": "14.18.12",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz",
+ "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==",
"dev": true
},
"acorn": {
@@ -70601,49 +70892,6 @@
}
}
},
- "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"
- }
- },
- "cacache": {
- "version": "15.3.0",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
- "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
- "dev": true,
- "requires": {
- "@npmcli/fs": "^1.0.0",
- "@npmcli/move-file": "^1.0.1",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "glob": "^7.1.4",
- "infer-owner": "^1.0.4",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.1",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.2",
- "mkdirp": "^1.0.3",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^8.0.1",
- "tar": "^6.0.2",
- "unique-filename": "^1.1.1"
- },
- "dependencies": {
- "mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
- "dev": true
- }
- }
- },
"chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
@@ -70671,29 +70919,6 @@
"integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
"dev": true
},
- "enhanced-resolve": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
- "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- },
- "dependencies": {
- "memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "dev": true,
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- }
- }
- },
"escodegen": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
@@ -70737,74 +70962,6 @@
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"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"
- }
- },
- "find-cache-dir": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
- "dev": true,
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- },
- "dependencies": {
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "requires": {
- "find-up": "^4.0.0"
- }
- }
- }
- },
"find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -70833,18 +70990,13 @@
"integrity": "sha512-hT9yh/tiinkmirKrlv4KWOjztdoZo1mx9Qh4KvWqC7isoXwdUY3PNWUxceF4/qO9R6riA2C29jdTOeQOIROjgw==",
"dev": true
},
- "globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
+ "history": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.0.0.tgz",
+ "integrity": "sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==",
"dev": true,
"requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
+ "@babel/runtime": "^7.7.6"
}
},
"icss-utils": {
@@ -70856,16 +71008,10 @@
"postcss": "^7.0.14"
}
},
- "ignore": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
- "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==",
- "dev": true
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"dev": true
},
"json5": {
@@ -70929,22 +71075,18 @@
}
}
},
- "memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "dev": true,
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
"mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
"integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
"dev": true
},
+ "nanoid": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz",
+ "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==",
+ "dev": true
+ },
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -71015,12 +71157,12 @@
}
},
"polished": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.3.tgz",
- "integrity": "sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.4.tgz",
+ "integrity": "sha512-Nq5Mbza+Auo7N3sQb1QMFaQiDO+4UexWuSGR7Cjb4Sw11SZIJcrrFtiZ+L0jT9MBsUsxDboHVASbCLbE1rnECg==",
"dev": true,
"requires": {
- "@babel/runtime": "^7.14.0"
+ "@babel/runtime": "^7.16.7"
}
},
"postcss": {
@@ -71075,9 +71217,9 @@
}
},
"prettier": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz",
- "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz",
+ "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==",
"dev": true
},
"pretty-error": {
@@ -71091,9 +71233,9 @@
}
},
"qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"dev": true,
"requires": {
"side-channel": "^1.0.4"
@@ -71111,13 +71253,15 @@
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true
},
- "serialize-javascript": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
- "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
+ "schema-utils": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
"dev": true,
"requires": {
- "randombytes": "^2.1.0"
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
}
},
"slash": {
@@ -71150,40 +71294,6 @@
"has-flag": "^3.0.0"
}
},
- "tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
- "dev": true
- },
- "terser": {
- "version": "5.9.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz",
- "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==",
- "dev": true,
- "requires": {
- "commander": "^2.20.0",
- "source-map": "~0.7.2",
- "source-map-support": "~0.5.20"
- },
- "dependencies": {
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "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"
- }
- },
"tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
@@ -71200,6 +71310,13 @@
"source-map": "~0.6.1"
}
},
+ "ws": {
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
+ "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==",
+ "dev": true,
+ "requires": {}
+ },
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -71296,15 +71413,15 @@
}
},
"@storybook/addon-links": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-6.3.12.tgz",
- "integrity": "sha512-NfOGEm0+QxIrAXCa05LOXmxLtI+RlcDqHXZ1jNNj8mjeRoG1nX3qhkB8PWWIBbPuz+bktLV9ox8UZj0W6+ZPOQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-6.4.19.tgz",
+ "integrity": "sha512-ebFHYlGDQkHSmI5QEJb1NxGNToVOLgjKkxXUe+JXX7AfHvrWiXVrN/57aOtBPZzj4h2jRPRTZgwR5glhPIlfEQ==",
"requires": {
- "@storybook/addons": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@types/qs": "^6.9.5",
"core-js": "^3.8.2",
"global": "^4.4.0",
@@ -71315,92 +71432,140 @@
},
"dependencies": {
"@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"requires": {
"core-js": "^3.8.2",
"global": "^4.4.0"
}
},
"@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"requires": {
"core-js": "^3.8.2"
}
},
+ "@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
"@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
+ },
+ "dependencies": {
+ "react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "requires": {
+ "history": "^5.2.0"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ },
+ "react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "requires": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ }
+ }
+ },
+ "history": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.0.0.tgz",
+ "integrity": "sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==",
+ "requires": {
+ "@babel/runtime": "^7.7.6"
}
},
"qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"requires": {
"side-channel": "^1.0.4"
}
}
}
},
- "@storybook/addon-measure": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-2.0.0.tgz",
- "integrity": "sha512-ZhdT++cX+L9LwjhGYggvYUUVQH/MGn2rwbrAwCMzA/f2QTFvkjxzX8nDgMxIhaLCDC+gHIxfJG2wrWN0jkBr3g==",
- "dev": true,
- "requires": {}
- },
"@storybook/addons": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.3.12.tgz",
- "integrity": "sha512-UgoMyr7Qr0FS3ezt8u6hMEcHgyynQS9ucr5mAwZky3wpXRPFyUTmMto9r4BBUdqyUvTUj/LRKIcmLBfj+/l0Fg==",
- "requires": {
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
- "@storybook/theming": "6.3.12",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.4.19.tgz",
+ "integrity": "sha512-QNyRYhpqmHV8oJxxTBdkRlLSbDFhpBvfvMfIrIT1UXb/eemdBZTaCGVvXZ9UixoEEI7f8VwAQ44IvkU5B1509w==",
+ "requires": {
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
+ "@storybook/theming": "6.4.19",
+ "@types/webpack-env": "^1.16.0",
"core-js": "^3.8.2",
"global": "^4.4.0",
"regenerator-runtime": "^0.13.7"
},
"dependencies": {
"@storybook/api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.12.tgz",
- "integrity": "sha512-LScRXUeCWEW/OP+jiooNMQICVdusv7azTmULxtm72fhkXFRiQs2CdRNTiqNg46JLLC9z95f1W+pGK66X6HiiQA==",
- "requires": {
- "@reach/router": "^1.3.4",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
+ "requires": {
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
"telejson": "^5.3.2",
@@ -71409,9 +71574,9 @@
}
},
"@storybook/channels": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.12.tgz",
- "integrity": "sha512-l4sA+g1PdUV8YCbgs47fIKREdEQAKNdQIZw0b7BfTvY9t0x5yfBywgQhYON/lIeiNGz2OlIuD+VUtqYfCtNSyw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"requires": {
"core-js": "^3.8.2",
"ts-dedent": "^2.0.0",
@@ -71419,48 +71584,96 @@
}
},
"@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"requires": {
"core-js": "^3.8.2",
"global": "^4.4.0"
}
},
"@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"requires": {
"core-js": "^3.8.2"
}
},
+ "@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
"@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
+ },
+ "dependencies": {
+ "react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "requires": {
+ "history": "^5.2.0"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ },
+ "react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "requires": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ }
}
},
"@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"requires": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -71472,28 +71685,49 @@
},
"dependencies": {
"@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"requires": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
+ },
+ "dependencies": {
+ "@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ }
+ }
}
}
}
},
+ "history": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.0.0.tgz",
+ "integrity": "sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==",
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ },
"polished": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.3.tgz",
- "integrity": "sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.4.tgz",
+ "integrity": "sha512-Nq5Mbza+Auo7N3sQb1QMFaQiDO+4UexWuSGR7Cjb4Sw11SZIJcrrFtiZ+L0jT9MBsUsxDboHVASbCLbE1rnECg==",
"requires": {
- "@babel/runtime": "^7.14.0"
+ "@babel/runtime": "^7.16.7"
}
},
"qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"requires": {
"side-channel": "^1.0.4"
}
@@ -71543,9 +71777,9 @@
}
},
"@storybook/builder-webpack5": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-6.3.12.tgz",
- "integrity": "sha512-+9uVSW2LFpdWnYKKcdH5sW1HqcKwbqyBJV46oN94ZlUw3fyZgz8TsOI+ZpWgCNqmBtXDr+X54deast9f443Mzw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-6.4.19.tgz",
+ "integrity": "sha512-AWM4YMN1gPaf7jfntqZTCGpIQ1tF6YRU1JtczPG4ox28rTaO6NMfOBi9aRhBre/59pPOh9bF6u2gu/MIHmRW+w==",
"devOptional": true,
"requires": {
"@babel/core": "^7.12.10",
@@ -71568,33 +71802,34 @@
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channel-postmessage": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/preview-web": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
+ "@storybook/store": "6.4.19",
+ "@storybook/theming": "6.4.19",
"@types/node": "^14.0.10",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^3.0.1",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"case-sensitive-paths-webpack-plugin": "^2.3.0",
"core-js": "^3.8.2",
"css-loader": "^5.0.1",
- "dotenv-webpack": "^7.0.0",
"fork-ts-checker-webpack-plugin": "^6.0.4",
- "fs-extra": "^9.0.1",
"glob": "^7.1.6",
"glob-promise": "^3.4.0",
"html-webpack-plugin": "^5.0.0",
- "react-dev-utils": "^11.0.3",
+ "path-browserify": "^1.0.1",
+ "process": "^0.11.10",
"stable": "^0.1.8",
"style-loader": "^2.0.0",
"terser-webpack-plugin": "^5.0.3",
@@ -71602,31 +71837,28 @@
"util-deprecate": "^1.0.2",
"webpack": "^5.9.0",
"webpack-dev-middleware": "^4.1.0",
- "webpack-hot-middleware": "^2.25.0",
+ "webpack-hot-middleware": "^2.25.1",
"webpack-virtual-modules": "^0.4.1"
},
"dependencies": {
"@storybook/api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.12.tgz",
- "integrity": "sha512-LScRXUeCWEW/OP+jiooNMQICVdusv7azTmULxtm72fhkXFRiQs2CdRNTiqNg46JLLC9z95f1W+pGK66X6HiiQA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
"devOptional": true,
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
"telejson": "^5.3.2",
@@ -71635,9 +71867,9 @@
}
},
"@storybook/channels": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.12.tgz",
- "integrity": "sha512-l4sA+g1PdUV8YCbgs47fIKREdEQAKNdQIZw0b7BfTvY9t0x5yfBywgQhYON/lIeiNGz2OlIuD+VUtqYfCtNSyw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"devOptional": true,
"requires": {
"core-js": "^3.8.2",
@@ -71646,9 +71878,9 @@
}
},
"@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"devOptional": true,
"requires": {
"core-js": "^3.8.2",
@@ -71656,15 +71888,15 @@
}
},
"@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"devOptional": true,
"requires": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -71672,7 +71904,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -71703,9 +71935,9 @@
}
},
"@storybook/core-common": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.3.12.tgz",
- "integrity": "sha512-xlHs2QXELq/moB4MuXjYOczaxU64BIseHsnFBLyboJYN6Yso3qihW5RB7cuJlGohkjb4JwY74dvfT4Ww66rkBA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.4.19.tgz",
+ "integrity": "sha512-X1pJJkO48DFxl6iyEemIKqRkJ7j9/cBh3BRBUr+xZHXBvnD0GKDXIocwh0PjSxSC6XSu3UCQnqtKi3PbjRl8Dg==",
"devOptional": true,
"requires": {
"@babel/core": "^7.12.10",
@@ -71729,13 +71961,11 @@
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.1",
- "@storybook/node-logger": "6.3.12",
+ "@storybook/node-logger": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@types/glob-base": "^0.3.0",
- "@types/micromatch": "^4.0.1",
"@types/node": "^14.0.10",
"@types/pretty-hrtime": "^1.0.0",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^3.0.1",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"chalk": "^4.1.0",
@@ -71744,70 +71974,23 @@
"file-system-cache": "^1.0.5",
"find-up": "^5.0.0",
"fork-ts-checker-webpack-plugin": "^6.0.4",
+ "fs-extra": "^9.0.1",
"glob": "^7.1.6",
- "glob-base": "^0.3.0",
+ "handlebars": "^4.7.7",
"interpret": "^2.2.0",
"json5": "^2.1.3",
"lazy-universal-dotenv": "^3.0.1",
- "micromatch": "^4.0.2",
+ "picomatch": "^2.3.0",
"pkg-dir": "^5.0.0",
"pretty-hrtime": "^1.0.3",
"resolve-from": "^5.0.0",
+ "slash": "^3.0.0",
+ "telejson": "^5.3.2",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
"webpack": "4"
},
"dependencies": {
- "braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "devOptional": true,
- "requires": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- }
- },
- "fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "devOptional": true,
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- }
- },
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "devOptional": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "devOptional": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"loader-utils": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
@@ -71878,16 +72061,6 @@
"worker-farm": "^1.7.0"
}
},
- "to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "devOptional": true,
- "requires": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
- }
- },
"webpack": {
"version": "4.46.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
@@ -71917,80 +72090,147 @@
"terser-webpack-plugin": "^1.4.3",
"watchpack": "^1.7.4",
"webpack-sources": "^1.4.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "devOptional": true,
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- }
- },
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "devOptional": true,
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
- }
- }
}
}
}
},
"@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"devOptional": true,
"requires": {
"core-js": "^3.8.2"
}
},
+ "@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "devOptional": true,
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "@storybook/preview-web": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.4.19.tgz",
+ "integrity": "sha512-jqltoBv5j7lvnxEfV9w8dLX9ASWGuvgz97yg8Yo5FqkftEwrHJenyvMGcTgDJKJPorF+wiz/9aIqnmd3LCAcZQ==",
+ "devOptional": true,
+ "requires": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/store": "6.4.19",
+ "ansi-to-html": "^0.6.11",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "unfetch": "^4.2.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
"@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"devOptional": true,
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
+ },
+ "dependencies": {
+ "react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "devOptional": true,
+ "requires": {
+ "history": "^5.2.0"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "devOptional": true,
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ },
+ "react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "devOptional": true,
+ "requires": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "devOptional": true,
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ }
+ }
+ },
+ "@storybook/store": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.4.19.tgz",
+ "integrity": "sha512-N9/ZjemRHGfT3InPIbqQqc6snkcfnf3Qh9oOr0smbfaVGJol//KOX65kzzobtzFcid0WxtTDZ3HmgFVH+GvuhQ==",
+ "devOptional": true,
+ "requires": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "slash": "^3.0.0",
+ "stable": "^0.1.8",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
}
},
"@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"devOptional": true,
"requires": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -72002,13 +72242,27 @@
},
"dependencies": {
"@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"devOptional": true,
"requires": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
+ },
+ "dependencies": {
+ "@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "devOptional": true,
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ }
+ }
}
}
}
@@ -72036,15 +72290,6 @@
"resolve": "^1.19.0"
}
},
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "devOptional": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -72089,47 +72334,6 @@
}
}
},
- "dotenv-defaults": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz",
- "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==",
- "devOptional": true,
- "requires": {
- "dotenv": "^8.2.0"
- }
- },
- "dotenv-webpack": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-7.0.3.tgz",
- "integrity": "sha512-O0O9pOEwrk+n1zzR3T2uuXRlw64QxHSPeNN1GaiNBloQFNaCUL9V8jxSVz4jlXXFP/CIqK8YecWf8BAvsSgMjw==",
- "devOptional": true,
- "requires": {
- "dotenv-defaults": "^2.0.2"
- }
- },
- "enhanced-resolve": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
- "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
- "devOptional": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- },
- "dependencies": {
- "memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "devOptional": true,
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- }
- }
- },
"eslint-scope": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
@@ -72140,15 +72344,6 @@
"estraverse": "^4.1.1"
}
},
- "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==",
- "devOptional": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
"find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -72177,21 +72372,15 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"devOptional": true
},
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "history": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.0.0.tgz",
+ "integrity": "sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==",
"devOptional": true,
"requires": {
- "is-plain-object": "^2.0.4"
+ "@babel/runtime": "^7.7.6"
}
},
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "devOptional": true
- },
"jest-worker": {
"version": "27.2.3",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.3.tgz",
@@ -72212,12 +72401,6 @@
"minimist": "^1.2.5"
}
},
- "kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "devOptional": true
- },
"loader-runner": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
@@ -72253,26 +72436,6 @@
"yallist": "^4.0.0"
}
},
- "memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "devOptional": true,
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
- "micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "devOptional": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- }
- },
"p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -72307,18 +72470,18 @@
}
},
"polished": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.3.tgz",
- "integrity": "sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.4.tgz",
+ "integrity": "sha512-Nq5Mbza+Auo7N3sQb1QMFaQiDO+4UexWuSGR7Cjb4Sw11SZIJcrrFtiZ+L0jT9MBsUsxDboHVASbCLbE1rnECg==",
"devOptional": true,
"requires": {
- "@babel/runtime": "^7.14.0"
+ "@babel/runtime": "^7.16.7"
}
},
"qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"devOptional": true,
"requires": {
"side-channel": "^1.0.4"
@@ -72339,6 +72502,12 @@
"randombytes": "^2.1.0"
}
},
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "devOptional": true
+ },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -72364,12 +72533,6 @@
"has-flag": "^4.0.0"
}
},
- "tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
- "devOptional": true
- },
"terser": {
"version": "5.9.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz",
@@ -72403,15 +72566,6 @@
"terser": "^5.7.2"
}
},
- "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==",
- "devOptional": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
"webpack-dev-middleware": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz",
@@ -72451,13 +72605,13 @@
}
},
"@storybook/channel-postmessage": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.3.12.tgz",
- "integrity": "sha512-Ou/2Ga3JRTZ/4sSv7ikMgUgLTeZMsXXWLXuscz4oaYhmOqAU9CrJw0G1NitwBgK/+qC83lEFSLujHkWcoQDOKg==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.4.19.tgz",
+ "integrity": "sha512-E5h/itFzQ/6M08LR4kqlgqqmeO3tmavI+nUAlZrkCrotpJFNMHE2i0PQHg0TkFJrRDpYcrwD+AjUW4IwdqrisQ==",
"requires": {
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
"core-js": "^3.8.2",
"global": "^4.4.0",
"qs": "^6.10.0",
@@ -72465,9 +72619,9 @@
},
"dependencies": {
"@storybook/channels": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.12.tgz",
- "integrity": "sha512-l4sA+g1PdUV8YCbgs47fIKREdEQAKNdQIZw0b7BfTvY9t0x5yfBywgQhYON/lIeiNGz2OlIuD+VUtqYfCtNSyw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"requires": {
"core-js": "^3.8.2",
"ts-dedent": "^2.0.0",
@@ -72475,32 +72629,65 @@
}
},
"@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"requires": {
"core-js": "^3.8.2",
"global": "^4.4.0"
}
},
"@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"requires": {
"core-js": "^3.8.2"
}
},
"qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"requires": {
"side-channel": "^1.0.4"
}
}
}
},
+ "@storybook/channel-websocket": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-6.4.19.tgz",
+ "integrity": "sha512-cXKwQjIXttfdUyZlcHORelUmJ5nUKswsnCA/qy7IRWpZjD8yQJcNk1dYC+tTHDVqFgdRT89pL0hRRB1rlaaR8Q==",
+ "requires": {
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "telejson": "^5.3.2"
+ },
+ "dependencies": {
+ "@storybook/channels": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
+ "requires": {
+ "core-js": "^3.8.2",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
+ "@storybook/client-logger": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
+ "requires": {
+ "core-js": "^3.8.2",
+ "global": "^4.4.0"
+ }
+ }
+ }
+ },
"@storybook/channels": {
"version": "6.3.8",
"resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.8.tgz",
@@ -72512,34 +72699,36 @@
}
},
"@storybook/client-api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.3.12.tgz",
- "integrity": "sha512-xnW+lKKK2T774z+rOr9Wopt1aYTStfb86PSs9p3Fpnc2Btcftln+C3NtiHZl8Ccqft8Mz/chLGgewRui6tNI8g==",
- "requires": {
- "@storybook/addons": "6.3.12",
- "@storybook/channel-postmessage": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.4.19.tgz",
+ "integrity": "sha512-OCrT5Um3FDvZnimQKwWtwsaI+5agPwq2i8YiqlofrI/NPMKp0I7DEkCGwE5IRD1Q8BIKqHcMo5tTmfYi0AxyOg==",
+ "requires": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/store": "6.4.19",
"@types/qs": "^6.9.5",
"@types/webpack-env": "^1.16.0",
"core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
- "stable": "^0.1.8",
"store2": "^2.12.0",
+ "synchronous-promise": "^2.0.15",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2"
},
"dependencies": {
"@storybook/channels": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.12.tgz",
- "integrity": "sha512-l4sA+g1PdUV8YCbgs47fIKREdEQAKNdQIZw0b7BfTvY9t0x5yfBywgQhYON/lIeiNGz2OlIuD+VUtqYfCtNSyw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"requires": {
"core-js": "^3.8.2",
"ts-dedent": "^2.0.0",
@@ -72547,22 +72736,52 @@
}
},
"@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"requires": {
"core-js": "^3.8.2",
"global": "^4.4.0"
}
},
"@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"requires": {
"core-js": "^3.8.2"
}
},
+ "@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "@storybook/store": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.4.19.tgz",
+ "integrity": "sha512-N9/ZjemRHGfT3InPIbqQqc6snkcfnf3Qh9oOr0smbfaVGJol//KOX65kzzobtzFcid0WxtTDZ3HmgFVH+GvuhQ==",
+ "requires": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "slash": "^3.0.0",
+ "stable": "^0.1.8",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
"qs": {
"version": "6.10.1",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
@@ -72570,6 +72789,11 @@
"requires": {
"side-channel": "^1.0.4"
}
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
}
}
},
@@ -72665,10 +72889,11 @@
}
},
"@storybook/csf-tools": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-6.3.12.tgz",
- "integrity": "sha512-wNrX+99ajAXxLo0iRwrqw65MLvCV6SFC0XoPLYrtBvyKr+hXOOnzIhO2f5BNEii8velpC2gl2gcLKeacpVYLqA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-6.4.19.tgz",
+ "integrity": "sha512-gf/zRhGoAVsFwSyV2tc+jeJfZQkxF6QsaZgbUSe24/IUvGFCT/PS/jZq1qy7dECAwrTOfykgu8juyBtj6WhWyw==",
"requires": {
+ "@babel/core": "^7.12.10",
"@babel/generator": "^7.12.11",
"@babel/parser": "^7.12.11",
"@babel/plugin-transform-react-jsx": "^7.12.12",
@@ -72676,15 +72901,25 @@
"@babel/traverse": "^7.12.11",
"@babel/types": "^7.12.11",
"@mdx-js/mdx": "^1.6.22",
- "@storybook/csf": "^0.0.1",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
"core-js": "^3.8.2",
"fs-extra": "^9.0.1",
+ "global": "^4.4.0",
"js-string-escape": "^1.0.1",
- "lodash": "^4.17.20",
- "prettier": "~2.2.1",
- "regenerator-runtime": "^0.13.7"
+ "lodash": "^4.17.21",
+ "prettier": ">=2.2.1 <=2.3.0",
+ "regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0"
},
"dependencies": {
+ "@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
"fs-extra": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
@@ -72697,41 +72932,40 @@
}
},
"prettier": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz",
- "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q=="
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz",
+ "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w=="
}
}
},
"@storybook/manager-webpack5": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/manager-webpack5/-/manager-webpack5-6.3.12.tgz",
- "integrity": "sha512-wMZYNBAUomlGSGsDFuATgiWRGF8g6TEk33VCESWrMnKLZZyq80KT+EiL/0+edfIbdrgalaqXwch38+tRwErg2A==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/manager-webpack5/-/manager-webpack5-6.4.19.tgz",
+ "integrity": "sha512-hVjWhWAOgWaymBy0HeRskN+MfKLpqLP4Txfw+3Xqg1qplgexV0w2O4BQrS/SNEH4V/1qF9h8XTsk3L3oQIj3Mg==",
"devOptional": true,
"requires": {
"@babel/core": "^7.12.10",
"@babel/plugin-transform-template-literals": "^7.12.1",
"@babel/preset-react": "^7.12.10",
- "@storybook/addons": "6.3.12",
- "@storybook/core-client": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/theming": "6.3.12",
- "@storybook/ui": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/core-client": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/theming": "6.4.19",
+ "@storybook/ui": "6.4.19",
"@types/node": "^14.0.10",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"case-sensitive-paths-webpack-plugin": "^2.3.0",
"chalk": "^4.1.0",
"core-js": "^3.8.2",
"css-loader": "^5.0.1",
- "dotenv-webpack": "^7.0.0",
"express": "^4.17.1",
- "file-loader": "^6.2.0",
"file-system-cache": "^1.0.5",
"find-up": "^5.0.0",
"fs-extra": "^9.0.1",
"html-webpack-plugin": "^5.0.0",
"node-fetch": "^2.6.1",
+ "process": "^0.11.10",
"read-pkg-up": "^7.0.1",
"regenerator-runtime": "^0.13.7",
"resolve-from": "^5.0.0",
@@ -72739,7 +72973,6 @@
"telejson": "^5.3.2",
"terser-webpack-plugin": "^5.0.3",
"ts-dedent": "^2.0.0",
- "url-loader": "^4.1.1",
"util-deprecate": "^1.0.2",
"webpack": "^5.9.0",
"webpack-dev-middleware": "^4.1.0",
@@ -72747,9 +72980,9 @@
},
"dependencies": {
"@storybook/channels": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.12.tgz",
- "integrity": "sha512-l4sA+g1PdUV8YCbgs47fIKREdEQAKNdQIZw0b7BfTvY9t0x5yfBywgQhYON/lIeiNGz2OlIuD+VUtqYfCtNSyw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"devOptional": true,
"requires": {
"core-js": "^3.8.2",
@@ -72758,9 +72991,9 @@
}
},
"@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"devOptional": true,
"requires": {
"core-js": "^3.8.2",
@@ -72768,34 +73001,86 @@
}
},
"@storybook/core-client": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.3.12.tgz",
- "integrity": "sha512-8Smd9BgZHJpAdevLKQYinwtjSyCZAuBMoetP4P5hnn53mWl0NFbrHFaAdT+yNchDLZQUbf7Y18VmIqEH+RCR5w==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.4.19.tgz",
+ "integrity": "sha512-rQHRZjhArPleE7/S8ZUolgzwY+hC0smSKX/3PQxO2GcebDjnJj6+iSV3h+aSMHMmTdoCQvjYw9aBpT8scuRe+A==",
"devOptional": true,
"requires": {
- "@storybook/addons": "6.3.12",
- "@storybook/channel-postmessage": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/ui": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/channel-websocket": "6.4.19",
+ "@storybook/client-api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/preview-web": "6.4.19",
+ "@storybook/store": "6.4.19",
+ "@storybook/ui": "6.4.19",
"airbnb-js-shims": "^2.2.1",
"ansi-to-html": "^0.6.11",
"core-js": "^3.8.2",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"ts-dedent": "^2.0.0",
"unfetch": "^4.2.0",
"util-deprecate": "^1.0.2"
+ },
+ "dependencies": {
+ "@storybook/preview-web": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.4.19.tgz",
+ "integrity": "sha512-jqltoBv5j7lvnxEfV9w8dLX9ASWGuvgz97yg8Yo5FqkftEwrHJenyvMGcTgDJKJPorF+wiz/9aIqnmd3LCAcZQ==",
+ "devOptional": true,
+ "requires": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/store": "6.4.19",
+ "ansi-to-html": "^0.6.11",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "unfetch": "^4.2.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
+ "@storybook/store": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.4.19.tgz",
+ "integrity": "sha512-N9/ZjemRHGfT3InPIbqQqc6snkcfnf3Qh9oOr0smbfaVGJol//KOX65kzzobtzFcid0WxtTDZ3HmgFVH+GvuhQ==",
+ "devOptional": true,
+ "requires": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "slash": "^3.0.0",
+ "stable": "^0.1.8",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ }
+ }
}
},
"@storybook/core-common": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.3.12.tgz",
- "integrity": "sha512-xlHs2QXELq/moB4MuXjYOczaxU64BIseHsnFBLyboJYN6Yso3qihW5RB7cuJlGohkjb4JwY74dvfT4Ww66rkBA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.4.19.tgz",
+ "integrity": "sha512-X1pJJkO48DFxl6iyEemIKqRkJ7j9/cBh3BRBUr+xZHXBvnD0GKDXIocwh0PjSxSC6XSu3UCQnqtKi3PbjRl8Dg==",
"devOptional": true,
"requires": {
"@babel/core": "^7.12.10",
@@ -72819,13 +73104,11 @@
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.1",
- "@storybook/node-logger": "6.3.12",
+ "@storybook/node-logger": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@types/glob-base": "^0.3.0",
- "@types/micromatch": "^4.0.1",
"@types/node": "^14.0.10",
"@types/pretty-hrtime": "^1.0.0",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^3.0.1",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"chalk": "^4.1.0",
@@ -72834,70 +73117,23 @@
"file-system-cache": "^1.0.5",
"find-up": "^5.0.0",
"fork-ts-checker-webpack-plugin": "^6.0.4",
+ "fs-extra": "^9.0.1",
"glob": "^7.1.6",
- "glob-base": "^0.3.0",
+ "handlebars": "^4.7.7",
"interpret": "^2.2.0",
"json5": "^2.1.3",
"lazy-universal-dotenv": "^3.0.1",
- "micromatch": "^4.0.2",
+ "picomatch": "^2.3.0",
"pkg-dir": "^5.0.0",
"pretty-hrtime": "^1.0.3",
"resolve-from": "^5.0.0",
+ "slash": "^3.0.0",
+ "telejson": "^5.3.2",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
"webpack": "4"
},
"dependencies": {
- "braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "devOptional": true,
- "requires": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- }
- },
- "fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "devOptional": true,
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- }
- },
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "devOptional": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "devOptional": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"loader-utils": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
@@ -72968,16 +73204,6 @@
"worker-farm": "^1.7.0"
}
},
- "to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "devOptional": true,
- "requires": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
- }
- },
"webpack": {
"version": "4.46.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
@@ -73007,62 +73233,38 @@
"terser-webpack-plugin": "^1.4.3",
"watchpack": "^1.7.4",
"webpack-sources": "^1.4.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "devOptional": true,
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- }
- },
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "devOptional": true,
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
- }
- }
}
}
}
},
"@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"devOptional": true,
"requires": {
"core-js": "^3.8.2"
}
},
+ "@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "devOptional": true,
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
"@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"devOptional": true,
"requires": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -73074,34 +73276,47 @@
},
"dependencies": {
"@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"devOptional": true,
"requires": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
+ },
+ "dependencies": {
+ "@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "devOptional": true,
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ }
+ }
}
}
}
},
"@storybook/ui": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.12.tgz",
- "integrity": "sha512-PC2yEz4JMfarq7rUFbeA3hCA+31p5es7YPEtxLRvRwIZhtL0P4zQUfHpotb3KgWdoAIfZesAuoIQwMPQmEFYrw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.4.19.tgz",
+ "integrity": "sha512-gFwdn5LA2U6oQ4bfUFLyHZnNasGQ01YVdwjbi+l6yjmnckBNtZfJoVTZ1rzGUbxSE9rK48InJRU+latTsr7xAg==",
"devOptional": true,
"requires": {
"@emotion/core": "^10.1.1",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/markdown-to-jsx": "^6.11.3",
+ "@storybook/theming": "6.4.19",
"copy-to-clipboard": "^3.3.1",
"core-js": "^3.8.2",
"core-js-pure": "^3.8.2",
@@ -73109,8 +73324,8 @@
"emotion-theming": "^10.0.27",
"fuse.js": "^3.6.1",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^6.11.4",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"polished": "^4.0.5",
"qs": "^6.10.0",
@@ -73123,26 +73338,23 @@
},
"dependencies": {
"@storybook/api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.12.tgz",
- "integrity": "sha512-LScRXUeCWEW/OP+jiooNMQICVdusv7azTmULxtm72fhkXFRiQs2CdRNTiqNg46JLLC9z95f1W+pGK66X6HiiQA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
"devOptional": true,
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
"telejson": "^5.3.2",
@@ -73151,15 +73363,15 @@
}
},
"@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"devOptional": true,
"requires": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -73167,7 +73379,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -73182,13 +73394,6 @@
"util-deprecate": "^1.0.2"
},
"dependencies": {
- "markdown-to-jsx": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.1.3.tgz",
- "integrity": "sha512-jtQ6VyT7rMT5tPV0g2EJakEnXLiPksnvlYtwQsVVZ611JsWGN8bQ1tVSDX4s6JllfEH6wmsYxNjTUAMrPmNA8w==",
- "devOptional": true,
- "requires": {}
- },
"react-syntax-highlighter": {
"version": "13.5.3",
"resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
@@ -73205,21 +73410,65 @@
}
},
"@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"devOptional": true,
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
+ },
+ "dependencies": {
+ "react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "devOptional": true,
+ "requires": {
+ "history": "^5.2.0"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "devOptional": true,
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ },
+ "react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "devOptional": true,
+ "requires": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "devOptional": true,
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ }
}
},
"downshift": {
@@ -73235,20 +73484,10 @@
"tslib": "^2.3.0"
}
},
- "markdown-to-jsx": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz",
- "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==",
- "devOptional": true,
- "requires": {
- "prop-types": "^15.6.2",
- "unquote": "^1.1.0"
- }
- },
"react-helmet-async": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.1.2.tgz",
- "integrity": "sha512-LTTzDDkyIleT/JJ6T/uqx7Y8qi1EuPPSiJawQY/nHHz0h7SPDT6HxP1YDDQx/fzcVxCqpWEEMS3QdrSrNkJYhg==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz",
+ "integrity": "sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==",
"devOptional": true,
"requires": {
"@babel/runtime": "^7.12.5",
@@ -73283,15 +73522,6 @@
"resolve": "^1.19.0"
}
},
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "devOptional": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -73325,47 +73555,6 @@
"semver": "^7.3.5"
}
},
- "dotenv-defaults": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz",
- "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==",
- "devOptional": true,
- "requires": {
- "dotenv": "^8.2.0"
- }
- },
- "dotenv-webpack": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-7.0.3.tgz",
- "integrity": "sha512-O0O9pOEwrk+n1zzR3T2uuXRlw64QxHSPeNN1GaiNBloQFNaCUL9V8jxSVz4jlXXFP/CIqK8YecWf8BAvsSgMjw==",
- "devOptional": true,
- "requires": {
- "dotenv-defaults": "^2.0.2"
- }
- },
- "enhanced-resolve": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
- "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
- "devOptional": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- },
- "dependencies": {
- "memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "devOptional": true,
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- }
- }
- },
"eslint-scope": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
@@ -73376,25 +73565,6 @@
"estraverse": "^4.1.1"
}
},
- "file-loader": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
- "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
- "devOptional": true,
- "requires": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
- }
- },
- "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==",
- "devOptional": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
"find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -73429,21 +73599,15 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"devOptional": true
},
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "history": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.0.0.tgz",
+ "integrity": "sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==",
"devOptional": true,
"requires": {
- "is-plain-object": "^2.0.4"
+ "@babel/runtime": "^7.7.6"
}
},
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "devOptional": true
- },
"jest-worker": {
"version": "27.2.3",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.3.tgz",
@@ -73464,12 +73628,6 @@
"minimist": "^1.2.5"
}
},
- "kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "devOptional": true
- },
"loader-runner": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
@@ -73505,26 +73663,6 @@
"yallist": "^4.0.0"
}
},
- "memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "devOptional": true,
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
- "micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "devOptional": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- }
- },
"p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -73559,18 +73697,18 @@
}
},
"polished": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.3.tgz",
- "integrity": "sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.4.tgz",
+ "integrity": "sha512-Nq5Mbza+Auo7N3sQb1QMFaQiDO+4UexWuSGR7Cjb4Sw11SZIJcrrFtiZ+L0jT9MBsUsxDboHVASbCLbE1rnECg==",
"devOptional": true,
"requires": {
- "@babel/runtime": "^7.14.0"
+ "@babel/runtime": "^7.16.7"
}
},
"qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"devOptional": true,
"requires": {
"side-channel": "^1.0.4"
@@ -73606,6 +73744,12 @@
"randombytes": "^2.1.0"
}
},
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "devOptional": true
+ },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -73631,12 +73775,6 @@
"has-flag": "^4.0.0"
}
},
- "tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
- "devOptional": true
- },
"terser": {
"version": "5.9.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz",
@@ -73670,15 +73808,6 @@
"terser": "^5.7.2"
}
},
- "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==",
- "devOptional": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
"tslib": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
@@ -73724,60 +73853,165 @@
}
},
"@storybook/node-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.3.12.tgz",
- "integrity": "sha512-iktOem/Ls2+dsZY9PhPeC6T1QhX/y7OInP88neLsqEPEbB2UXca3Ydv7OZBhBVbvN25W45b05MRzbtNUxYLNRw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.4.19.tgz",
+ "integrity": "sha512-hO2Aar3PgPnPtNq2fVgiuGlqo3EEVR6TKVBXMq7foL3tN2k4BQFKLDHbm5qZQQntyYKurKsRUGKPJFPuI1ov/w==",
"requires": {
"@types/npmlog": "^4.1.2",
"chalk": "^4.1.0",
"core-js": "^3.8.2",
- "npmlog": "^4.1.2",
+ "npmlog": "^5.0.1",
"pretty-hrtime": "^1.0.3"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+ },
+ "are-we-there-yet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ }
+ },
+ "gauge": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+ "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
+ "requires": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.2"
+ }
+ },
+ "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=="
+ },
+ "npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+ "requires": {
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
+ }
+ },
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "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==",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ }
}
},
"@storybook/postinstall": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-6.3.12.tgz",
- "integrity": "sha512-HkZ+abtZ3W6JbGPS6K7OSnNXbwaTwNNd5R02kRs4gV9B29XsBPDtFT6vIwzM3tmVQC7ihL5a8ceWp2OvzaNOuw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-6.4.19.tgz",
+ "integrity": "sha512-/0tHHxyIV82zt1rw4BW70GmrQbDVu9IJPAxOqFzGjC1fNojwJ53mK6FfUsOzbhG5mWk5p0Ip5+zr74moP119AA==",
"dev": true,
"requires": {
"core-js": "^3.8.2"
}
},
"@storybook/react": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.3.12.tgz",
- "integrity": "sha512-c1Y/3/eNzye+ZRwQ3BXJux6pUMVt3lhv1/M9Qagl9JItP3jDSj5Ed3JHCgwEqpprP8mvNNXwEJ8+M7vEQyDuHg==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.4.19.tgz",
+ "integrity": "sha512-5b3i8jkVrjQGmcxxxXwCduHPIh+cluWkfeweKeQOe+lW4BR8fuUICo3AMLrYPAtB/UcaJyYkIYmTvF2mkfepFA==",
"requires": {
"@babel/preset-flow": "^7.12.1",
"@babel/preset-react": "^7.12.10",
- "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3",
- "@storybook/addons": "6.3.12",
- "@storybook/core": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/node-logger": "6.3.12",
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.5.1",
+ "@storybook/addons": "6.4.19",
+ "@storybook/core": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/node-logger": "6.4.19",
"@storybook/react-docgen-typescript-plugin": "1.0.2-canary.253f8c1.0",
"@storybook/semver": "^7.3.2",
+ "@storybook/store": "6.4.19",
"@types/webpack-env": "^1.16.0",
"babel-plugin-add-react-displayname": "^0.0.5",
"babel-plugin-named-asset-import": "^0.3.1",
"babel-plugin-react-docgen": "^4.2.1",
"core-js": "^3.8.2",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"prop-types": "^15.7.2",
- "react-dev-utils": "^11.0.3",
- "react-refresh": "^0.8.3",
+ "react-refresh": "^0.11.0",
"read-pkg-up": "^7.0.1",
"regenerator-runtime": "^0.13.7",
"ts-dedent": "^2.0.0",
"webpack": "4"
},
"dependencies": {
+ "@pmmmwh/react-refresh-webpack-plugin": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.4.tgz",
+ "integrity": "sha512-zZbZeHQDnoTlt2AF+diQT0wsSXpvWiaIOZwBRdltNFhG1+I3ozyaw7U/nBiUwyJ0D+zwdXp0E3bWOl38Ag2BMw==",
+ "requires": {
+ "ansi-html-community": "^0.0.8",
+ "common-path-prefix": "^3.0.0",
+ "core-js-pure": "^3.8.1",
+ "error-stack-parser": "^2.0.6",
+ "find-up": "^5.0.0",
+ "html-entities": "^2.1.0",
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0",
+ "source-map": "^0.7.3"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
+ "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ }
+ }
+ },
"@storybook/channels": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.3.12.tgz",
- "integrity": "sha512-l4sA+g1PdUV8YCbgs47fIKREdEQAKNdQIZw0b7BfTvY9t0x5yfBywgQhYON/lIeiNGz2OlIuD+VUtqYfCtNSyw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.19.tgz",
+ "integrity": "sha512-EwyoncFvTfmIlfsy8jTfayCxo2XchPkZk/9txipugWSmc057HdklMKPLOHWP0z5hLH0IbVIKXzdNISABm36jwQ==",
"requires": {
"core-js": "^3.8.2",
"ts-dedent": "^2.0.0",
@@ -73785,40 +74019,43 @@
}
},
"@storybook/client-logger": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.3.12.tgz",
- "integrity": "sha512-zNDsamZvHnuqLznDdP9dUeGgQ9TyFh4ray3t1VGO7ZqWVZ2xtVCCXjDvMnOXI2ifMpX5UsrOvshIPeE9fMBmiQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.19.tgz",
+ "integrity": "sha512-zmg/2wyc9W3uZrvxaW4BfHcr40J0v7AGslqYXk9H+ERLVwIvrR4NhxQFaS6uITjBENyRDxwzfU3Va634WcmdDQ==",
"requires": {
"core-js": "^3.8.2",
"global": "^4.4.0"
}
},
"@storybook/core": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.3.12.tgz",
- "integrity": "sha512-FJm2ns8wk85hXWKslLWiUWRWwS9KWRq7jlkN6M9p57ghFseSGr4W71Orcoab4P3M7jI97l5yqBfppbscinE74g==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.4.19.tgz",
+ "integrity": "sha512-55LOQ/h/kf1jMhjN85t/pIEdIwWEG9yV7bdwv3niVvmoypCxyyjn9/QNK0RKYAeDSUtdm6FVoJ6k5CpxWz2d8w==",
"requires": {
- "@storybook/core-client": "6.3.12",
- "@storybook/core-server": "6.3.12"
+ "@storybook/core-client": "6.4.19",
+ "@storybook/core-server": "6.4.19"
},
"dependencies": {
"@storybook/core-client": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.3.12.tgz",
- "integrity": "sha512-8Smd9BgZHJpAdevLKQYinwtjSyCZAuBMoetP4P5hnn53mWl0NFbrHFaAdT+yNchDLZQUbf7Y18VmIqEH+RCR5w==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.4.19.tgz",
+ "integrity": "sha512-rQHRZjhArPleE7/S8ZUolgzwY+hC0smSKX/3PQxO2GcebDjnJj6+iSV3h+aSMHMmTdoCQvjYw9aBpT8scuRe+A==",
"requires": {
- "@storybook/addons": "6.3.12",
- "@storybook/channel-postmessage": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/ui": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/channel-websocket": "6.4.19",
+ "@storybook/client-api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/preview-web": "6.4.19",
+ "@storybook/store": "6.4.19",
+ "@storybook/ui": "6.4.19",
"airbnb-js-shims": "^2.2.1",
"ansi-to-html": "^0.6.11",
"core-js": "^3.8.2",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"ts-dedent": "^2.0.0",
@@ -73826,22 +74063,44 @@
"util-deprecate": "^1.0.2"
},
"dependencies": {
+ "@storybook/preview-web": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.4.19.tgz",
+ "integrity": "sha512-jqltoBv5j7lvnxEfV9w8dLX9ASWGuvgz97yg8Yo5FqkftEwrHJenyvMGcTgDJKJPorF+wiz/9aIqnmd3LCAcZQ==",
+ "requires": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/store": "6.4.19",
+ "ansi-to-html": "^0.6.11",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "unfetch": "^4.2.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
"@storybook/ui": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.12.tgz",
- "integrity": "sha512-PC2yEz4JMfarq7rUFbeA3hCA+31p5es7YPEtxLRvRwIZhtL0P4zQUfHpotb3KgWdoAIfZesAuoIQwMPQmEFYrw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.4.19.tgz",
+ "integrity": "sha512-gFwdn5LA2U6oQ4bfUFLyHZnNasGQ01YVdwjbi+l6yjmnckBNtZfJoVTZ1rzGUbxSE9rK48InJRU+latTsr7xAg==",
"requires": {
"@emotion/core": "^10.1.1",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/markdown-to-jsx": "^6.11.3",
+ "@storybook/theming": "6.4.19",
"copy-to-clipboard": "^3.3.1",
"core-js": "^3.8.2",
"core-js-pure": "^3.8.2",
@@ -73849,8 +74108,8 @@
"emotion-theming": "^10.0.27",
"fuse.js": "^3.6.1",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^6.11.4",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"polished": "^4.0.5",
"qs": "^6.10.0",
@@ -73863,25 +74122,22 @@
},
"dependencies": {
"@storybook/api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.12.tgz",
- "integrity": "sha512-LScRXUeCWEW/OP+jiooNMQICVdusv7azTmULxtm72fhkXFRiQs2CdRNTiqNg46JLLC9z95f1W+pGK66X6HiiQA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
"telejson": "^5.3.2",
@@ -73890,14 +74146,14 @@
}
},
"@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"requires": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -73905,7 +74161,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -73920,12 +74176,6 @@
"util-deprecate": "^1.0.2"
},
"dependencies": {
- "markdown-to-jsx": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.1.3.tgz",
- "integrity": "sha512-jtQ6VyT7rMT5tPV0g2EJakEnXLiPksnvlYtwQsVVZ611JsWGN8bQ1tVSDX4s6JllfEH6wmsYxNjTUAMrPmNA8w==",
- "requires": {}
- },
"react-syntax-highlighter": {
"version": "13.5.3",
"resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
@@ -73941,31 +74191,71 @@
}
},
"@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
+ },
+ "dependencies": {
+ "react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "requires": {
+ "history": "^5.2.0"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ },
+ "react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "requires": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ }
}
},
"@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"requires": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -73977,12 +74267,25 @@
},
"dependencies": {
"@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"requires": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
+ },
+ "dependencies": {
+ "@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ }
+ }
}
}
}
@@ -73999,19 +74302,10 @@
"tslib": "^2.3.0"
}
},
- "markdown-to-jsx": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz",
- "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==",
- "requires": {
- "prop-types": "^15.6.2",
- "unquote": "^1.1.0"
- }
- },
"react-helmet-async": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.1.2.tgz",
- "integrity": "sha512-LTTzDDkyIleT/JJ6T/uqx7Y8qi1EuPPSiJawQY/nHHz0h7SPDT6HxP1YDDQx/fzcVxCqpWEEMS3QdrSrNkJYhg==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz",
+ "integrity": "sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==",
"requires": {
"@babel/runtime": "^7.12.5",
"invariant": "^2.2.4",
@@ -74025,50 +74319,58 @@
}
},
"@storybook/core-server": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.3.12.tgz",
- "integrity": "sha512-T/Mdyi1FVkUycdyOnhXvoo3d9nYXLQFkmaJkltxBFLzAePAJUSgAsPL9odNC3+p8Nr2/UDsDzvu/Ow0IF0mzLQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.4.19.tgz",
+ "integrity": "sha512-bKsUB9f7hl5ya2JXxpIrErmbDQjoH39FVbzYZWjMo4t/b7+Xyi6vYadwyWcqlpUQmis09ZaSMv8L/Tw0TuwLAA==",
"requires": {
"@discoveryjs/json-ext": "^0.5.3",
- "@storybook/builder-webpack4": "6.3.12",
- "@storybook/core-client": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/csf-tools": "6.3.12",
- "@storybook/manager-webpack4": "6.3.12",
- "@storybook/node-logger": "6.3.12",
+ "@storybook/builder-webpack4": "6.4.19",
+ "@storybook/core-client": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf-tools": "6.4.19",
+ "@storybook/manager-webpack4": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
"@storybook/semver": "^7.3.2",
+ "@storybook/store": "6.4.19",
"@types/node": "^14.0.10",
"@types/node-fetch": "^2.5.7",
"@types/pretty-hrtime": "^1.0.0",
"@types/webpack": "^4.41.26",
"better-opn": "^2.1.1",
- "boxen": "^4.2.0",
+ "boxen": "^5.1.2",
"chalk": "^4.1.0",
- "cli-table3": "0.6.0",
+ "cli-table3": "^0.6.1",
"commander": "^6.2.1",
"compression": "^1.7.4",
"core-js": "^3.8.2",
- "cpy": "^8.1.1",
+ "cpy": "^8.1.2",
"detect-port": "^1.3.0",
"express": "^4.17.1",
"file-system-cache": "^1.0.5",
"fs-extra": "^9.0.1",
"globby": "^11.0.2",
"ip": "^1.1.5",
+ "lodash": "^4.17.21",
"node-fetch": "^2.6.1",
"pretty-hrtime": "^1.0.3",
"prompts": "^2.4.0",
"regenerator-runtime": "^0.13.7",
"serve-favicon": "^2.5.0",
+ "slash": "^3.0.0",
+ "telejson": "^5.3.3",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
- "webpack": "4"
+ "watchpack": "^2.2.0",
+ "webpack": "4",
+ "ws": "^8.2.3"
},
"dependencies": {
"@storybook/builder-webpack4": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.3.12.tgz",
- "integrity": "sha512-Dlm5Fc1svqpFDnVPZdAaEBiM/IDZHMV3RfEGbUTY/ZC0q8b/Ug1czzp/w0aTIjOFRuBDcG6IcplikaqHL8CJLg==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.4.19.tgz",
+ "integrity": "sha512-wxA6SMH11duc9D53aeVVBwrVRemFIoxHp/dOugkkg6ZZFAb4ZmWzf/ENc3vQIZdZpfNRi7IZIZEOfoHc994cmw==",
"requires": {
"@babel/core": "^7.12.10",
"@babel/plugin-proposal-class-properties": "^7.12.1",
@@ -74091,34 +74393,34 @@
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channel-postmessage": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-api": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-api": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/preview-web": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@storybook/ui": "6.3.12",
+ "@storybook/store": "6.4.19",
+ "@storybook/theming": "6.4.19",
+ "@storybook/ui": "6.4.19",
"@types/node": "^14.0.10",
"@types/webpack": "^4.41.26",
"autoprefixer": "^9.8.6",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^2.8.0",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"case-sensitive-paths-webpack-plugin": "^2.3.0",
"core-js": "^3.8.2",
"css-loader": "^3.6.0",
- "dotenv-webpack": "^1.8.0",
"file-loader": "^6.2.0",
"find-up": "^5.0.0",
"fork-ts-checker-webpack-plugin": "^4.1.6",
- "fs-extra": "^9.0.1",
"glob": "^7.1.6",
"glob-promise": "^3.4.0",
"global": "^4.4.0",
@@ -74128,7 +74430,6 @@
"postcss-flexbugs-fixes": "^4.2.1",
"postcss-loader": "^4.2.0",
"raw-loader": "^4.0.2",
- "react-dev-utils": "^11.0.3",
"stable": "^0.1.8",
"style-loader": "^1.3.0",
"terser-webpack-plugin": "^4.2.3",
@@ -74138,30 +74439,27 @@
"webpack": "4",
"webpack-dev-middleware": "^3.7.3",
"webpack-filter-warnings-plugin": "^1.2.1",
- "webpack-hot-middleware": "^2.25.0",
+ "webpack-hot-middleware": "^2.25.1",
"webpack-virtual-modules": "^0.2.2"
},
"dependencies": {
"@storybook/api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.12.tgz",
- "integrity": "sha512-LScRXUeCWEW/OP+jiooNMQICVdusv7azTmULxtm72fhkXFRiQs2CdRNTiqNg46JLLC9z95f1W+pGK66X6HiiQA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
"telejson": "^5.3.2",
@@ -74170,14 +74468,14 @@
}
},
"@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"requires": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -74185,7 +74483,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -74214,32 +74512,95 @@
}
}
},
+ "@storybook/preview-web": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.4.19.tgz",
+ "integrity": "sha512-jqltoBv5j7lvnxEfV9w8dLX9ASWGuvgz97yg8Yo5FqkftEwrHJenyvMGcTgDJKJPorF+wiz/9aIqnmd3LCAcZQ==",
+ "requires": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/channel-postmessage": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/store": "6.4.19",
+ "ansi-to-html": "^0.6.11",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "unfetch": "^4.2.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
"@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
+ },
+ "dependencies": {
+ "react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "requires": {
+ "history": "^5.2.0"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ },
+ "react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "requires": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ }
}
},
"@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"requires": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -74251,32 +74612,44 @@
},
"dependencies": {
"@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"requires": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
+ },
+ "dependencies": {
+ "@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ }
+ }
}
}
}
},
"@storybook/ui": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.12.tgz",
- "integrity": "sha512-PC2yEz4JMfarq7rUFbeA3hCA+31p5es7YPEtxLRvRwIZhtL0P4zQUfHpotb3KgWdoAIfZesAuoIQwMPQmEFYrw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.4.19.tgz",
+ "integrity": "sha512-gFwdn5LA2U6oQ4bfUFLyHZnNasGQ01YVdwjbi+l6yjmnckBNtZfJoVTZ1rzGUbxSE9rK48InJRU+latTsr7xAg==",
"requires": {
"@emotion/core": "^10.1.1",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/markdown-to-jsx": "^6.11.3",
+ "@storybook/theming": "6.4.19",
"copy-to-clipboard": "^3.3.1",
"core-js": "^3.8.2",
"core-js-pure": "^3.8.2",
@@ -74284,8 +74657,8 @@
"emotion-theming": "^10.0.27",
"fuse.js": "^3.6.1",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^6.11.4",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"polished": "^4.0.5",
"qs": "^6.10.0",
@@ -74309,19 +74682,10 @@
"tslib": "^2.3.0"
}
},
- "markdown-to-jsx": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz",
- "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==",
- "requires": {
- "prop-types": "^15.6.2",
- "unquote": "^1.1.0"
- }
- },
"react-helmet-async": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.1.2.tgz",
- "integrity": "sha512-LTTzDDkyIleT/JJ6T/uqx7Y8qi1EuPPSiJawQY/nHHz0h7SPDT6HxP1YDDQx/fzcVxCqpWEEMS3QdrSrNkJYhg==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz",
+ "integrity": "sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==",
"requires": {
"@babel/runtime": "^7.12.5",
"invariant": "^2.2.4",
@@ -74335,27 +74699,26 @@
}
},
"@storybook/manager-webpack4": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.3.12.tgz",
- "integrity": "sha512-OkPYNrHXg2yZfKmEfTokP6iKx4OLTr0gdI5yehi/bLEuQCSHeruxBc70Dxm1GBk1Mrf821wD9WqMXNDjY5Qtug==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.4.19.tgz",
+ "integrity": "sha512-R8ugZjTYqXvlc6gDOcw909L65sIleOmIJLZR+N6/H85MivGXHu39jOwONqB7tVACufRty4FNecn8tEiQL2SAKA==",
"requires": {
"@babel/core": "^7.12.10",
"@babel/plugin-transform-template-literals": "^7.12.1",
"@babel/preset-react": "^7.12.10",
- "@storybook/addons": "6.3.12",
- "@storybook/core-client": "6.3.12",
- "@storybook/core-common": "6.3.12",
- "@storybook/node-logger": "6.3.12",
- "@storybook/theming": "6.3.12",
- "@storybook/ui": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/core-client": "6.4.19",
+ "@storybook/core-common": "6.4.19",
+ "@storybook/node-logger": "6.4.19",
+ "@storybook/theming": "6.4.19",
+ "@storybook/ui": "6.4.19",
"@types/node": "^14.0.10",
"@types/webpack": "^4.41.26",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"case-sensitive-paths-webpack-plugin": "^2.3.0",
"chalk": "^4.1.0",
"core-js": "^3.8.2",
"css-loader": "^3.6.0",
- "dotenv-webpack": "^1.8.0",
"express": "^4.17.1",
"file-loader": "^6.2.0",
"file-system-cache": "^1.0.5",
@@ -74379,14 +74742,14 @@
},
"dependencies": {
"@storybook/theming": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.3.12.tgz",
- "integrity": "sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.19.tgz",
+ "integrity": "sha512-V4pWmTvAxmbHR6B3jA4hPkaxZPyExHvCToy7b76DpUTpuHihijNDMAn85KhOQYIeL9q14zP/aiz899tOHsOidg==",
"requires": {
"@emotion/core": "^10.1.1",
"@emotion/is-prop-valid": "^0.8.6",
"@emotion/styled": "^10.0.27",
- "@storybook/client-logger": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"deep-object-diff": "^1.1.0",
"emotion-theming": "^10.0.27",
@@ -74398,32 +74761,44 @@
},
"dependencies": {
"@emotion/styled": {
- "version": "10.0.27",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz",
- "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"requires": {
- "@emotion/styled-base": "^10.0.27",
+ "@emotion/styled-base": "^10.3.0",
"babel-plugin-emotion": "^10.0.27"
+ },
+ "dependencies": {
+ "@emotion/styled-base": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.3.0.tgz",
+ "integrity": "sha512-PBRqsVKR7QRNkmfH78hTSSwHWcwDpecH9W6heujWAcyp2wdz/64PP73s7fWS1dIPm8/Exc8JAzYS8dEWXjv60w==",
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "@emotion/is-prop-valid": "0.8.8",
+ "@emotion/serialize": "^0.11.15",
+ "@emotion/utils": "0.11.3"
+ }
+ }
}
}
}
},
"@storybook/ui": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.3.12.tgz",
- "integrity": "sha512-PC2yEz4JMfarq7rUFbeA3hCA+31p5es7YPEtxLRvRwIZhtL0P4zQUfHpotb3KgWdoAIfZesAuoIQwMPQmEFYrw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.4.19.tgz",
+ "integrity": "sha512-gFwdn5LA2U6oQ4bfUFLyHZnNasGQ01YVdwjbi+l6yjmnckBNtZfJoVTZ1rzGUbxSE9rK48InJRU+latTsr7xAg==",
"requires": {
"@emotion/core": "^10.1.1",
- "@storybook/addons": "6.3.12",
- "@storybook/api": "6.3.12",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/components": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/router": "6.3.12",
+ "@storybook/addons": "6.4.19",
+ "@storybook/api": "6.4.19",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/components": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/markdown-to-jsx": "^6.11.3",
+ "@storybook/theming": "6.4.19",
"copy-to-clipboard": "^3.3.1",
"core-js": "^3.8.2",
"core-js-pure": "^3.8.2",
@@ -74431,8 +74806,8 @@
"emotion-theming": "^10.0.27",
"fuse.js": "^3.6.1",
"global": "^4.4.0",
- "lodash": "^4.17.20",
- "markdown-to-jsx": "^6.11.4",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"polished": "^4.0.5",
"qs": "^6.10.0",
@@ -74445,25 +74820,22 @@
},
"dependencies": {
"@storybook/api": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.3.12.tgz",
- "integrity": "sha512-LScRXUeCWEW/OP+jiooNMQICVdusv7azTmULxtm72fhkXFRiQs2CdRNTiqNg46JLLC9z95f1W+pGK66X6HiiQA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.19.tgz",
+ "integrity": "sha512-aDvea+NpQCBjpNp9YidO1Pr7fzzCp15FSdkG+2ihGQfv5raxrN+IIJnGUXecpe71nvlYiB+29UXBVK7AL0j51Q==",
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/channels": "6.3.12",
- "@storybook/client-logger": "6.3.12",
- "@storybook/core-events": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/router": "6.3.12",
+ "@storybook/channels": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/theming": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
"telejson": "^5.3.2",
@@ -74472,14 +74844,14 @@
}
},
"@storybook/components": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.3.12.tgz",
- "integrity": "sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.19.tgz",
+ "integrity": "sha512-q/0V37YAJA7CNc+wSiiefeM9+3XVk8ixBNylY36QCGJgIeGQ5/79vPyUe6K4lLmsQwpmZsIq1s1Ad5+VbboeOA==",
"requires": {
"@popperjs/core": "^2.6.0",
- "@storybook/client-logger": "6.3.12",
- "@storybook/csf": "0.0.1",
- "@storybook/theming": "6.3.12",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.19",
"@types/color-convert": "^2.0.0",
"@types/overlayscrollbars": "^1.12.0",
"@types/react-syntax-highlighter": "11.0.5",
@@ -74487,7 +74859,7 @@
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "lodash": "^4.17.21",
"markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
"overlayscrollbars": "^1.13.1",
@@ -74502,12 +74874,6 @@
"util-deprecate": "^1.0.2"
},
"dependencies": {
- "markdown-to-jsx": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.1.3.tgz",
- "integrity": "sha512-jtQ6VyT7rMT5tPV0g2EJakEnXLiPksnvlYtwQsVVZ611JsWGN8bQ1tVSDX4s6JllfEH6wmsYxNjTUAMrPmNA8w==",
- "requires": {}
- },
"react-syntax-highlighter": {
"version": "13.5.3",
"resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
@@ -74523,20 +74889,60 @@
}
},
"@storybook/router": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.3.12.tgz",
- "integrity": "sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.4.19.tgz",
+ "integrity": "sha512-KWWwIzuyeEIWVezkCihwY2A76Il9tUNg0I410g9qT7NrEsKyqXGRYOijWub7c1GGyNjLqz0jtrrehtixMcJkuA==",
"requires": {
- "@reach/router": "^1.3.4",
- "@storybook/client-logger": "6.3.12",
- "@types/reach__router": "^1.3.7",
+ "@storybook/client-logger": "6.4.19",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "lodash": "^4.17.20",
+ "history": "5.0.0",
+ "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
+ "react-router": "^6.0.0",
+ "react-router-dom": "^6.0.0",
"ts-dedent": "^2.0.0"
+ },
+ "dependencies": {
+ "react-router": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.2.2.tgz",
+ "integrity": "sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==",
+ "requires": {
+ "history": "^5.2.0"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ },
+ "react-router-dom": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.2.2.tgz",
+ "integrity": "sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==",
+ "requires": {
+ "history": "^5.2.0",
+ "react-router": "6.2.2"
+ },
+ "dependencies": {
+ "history": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+ "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+ "requires": {
+ "@babel/runtime": "^7.7.6"
+ }
+ }
+ }
+ }
}
},
"downshift": {
@@ -74551,19 +74957,10 @@
"tslib": "^2.3.0"
}
},
- "markdown-to-jsx": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz",
- "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==",
- "requires": {
- "prop-types": "^15.6.2",
- "unquote": "^1.1.0"
- }
- },
"react-helmet-async": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.1.2.tgz",
- "integrity": "sha512-LTTzDDkyIleT/JJ6T/uqx7Y8qi1EuPPSiJawQY/nHHz0h7SPDT6HxP1YDDQx/fzcVxCqpWEEMS3QdrSrNkJYhg==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.2.3.tgz",
+ "integrity": "sha512-mCk2silF53Tq/YaYdkl2sB+/tDoPnaxN7dFS/6ZLJb/rhUY2EWGI5Xj2b4jHppScMqY45MbgPSwTxDchKpZ5Kw==",
"requires": {
"@babel/runtime": "^7.12.5",
"invariant": "^2.2.4",
@@ -74578,6 +74975,11 @@
}
}
},
+ "acorn": {
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
+ "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ=="
+ },
"babel-plugin-macros": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz",
@@ -74719,16 +75121,6 @@
}
}
},
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- },
"serialize-javascript": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
@@ -74737,11 +75129,17 @@
"randombytes": "^2.1.0"
}
},
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ },
"terser": {
- "version": "5.9.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz",
- "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==",
+ "version": "5.12.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz",
+ "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==",
"requires": {
+ "acorn": "^8.5.0",
"commander": "^2.20.0",
"source-map": "~0.7.2",
"source-map-support": "~0.5.20"
@@ -74774,13 +75172,22 @@
"terser": "^5.3.4",
"webpack-sources": "^1.4.3"
}
+ },
+ "watchpack": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
+ "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
+ "requires": {
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
+ }
}
}
},
"@storybook/core-common": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.3.12.tgz",
- "integrity": "sha512-xlHs2QXELq/moB4MuXjYOczaxU64BIseHsnFBLyboJYN6Yso3qihW5RB7cuJlGohkjb4JwY74dvfT4Ww66rkBA==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.4.19.tgz",
+ "integrity": "sha512-X1pJJkO48DFxl6iyEemIKqRkJ7j9/cBh3BRBUr+xZHXBvnD0GKDXIocwh0PjSxSC6XSu3UCQnqtKi3PbjRl8Dg==",
"requires": {
"@babel/core": "^7.12.10",
"@babel/plugin-proposal-class-properties": "^7.12.1",
@@ -74803,13 +75210,11 @@
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.1",
- "@storybook/node-logger": "6.3.12",
+ "@storybook/node-logger": "6.4.19",
"@storybook/semver": "^7.3.2",
- "@types/glob-base": "^0.3.0",
- "@types/micromatch": "^4.0.1",
"@types/node": "^14.0.10",
"@types/pretty-hrtime": "^1.0.0",
- "babel-loader": "^8.2.2",
+ "babel-loader": "^8.0.0",
"babel-plugin-macros": "^3.0.1",
"babel-plugin-polyfill-corejs3": "^0.1.0",
"chalk": "^4.1.0",
@@ -74818,43 +75223,65 @@
"file-system-cache": "^1.0.5",
"find-up": "^5.0.0",
"fork-ts-checker-webpack-plugin": "^6.0.4",
+ "fs-extra": "^9.0.1",
"glob": "^7.1.6",
- "glob-base": "^0.3.0",
+ "handlebars": "^4.7.7",
"interpret": "^2.2.0",
"json5": "^2.1.3",
"lazy-universal-dotenv": "^3.0.1",
- "micromatch": "^4.0.2",
+ "picomatch": "^2.3.0",
"pkg-dir": "^5.0.0",
"pretty-hrtime": "^1.0.3",
"resolve-from": "^5.0.0",
+ "slash": "^3.0.0",
+ "telejson": "^5.3.2",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
"webpack": "4"
- },
- "dependencies": {
- "micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- }
- }
}
},
"@storybook/core-events": {
- "version": "6.3.12",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.3.12.tgz",
- "integrity": "sha512-SXfD7xUUMazaeFkB92qOTUV8Y/RghE4SkEYe5slAdjeocSaH7Nz2WV0rqNEgChg0AQc+JUI66no8L9g0+lw4Gw==",
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.19.tgz",
+ "integrity": "sha512-KICzUw6XVQUJzFSCXfvhfHAuyhn4Q5J4IZEfuZkcGJS4ODkrO6tmpdYE5Cfr+so95Nfp0ErWiLUuodBsW9/rtA==",
"requires": {
"core-js": "^3.8.2"
}
},
+ "@storybook/csf": {
+ "version": "0.0.2--canary.87bc651.0",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
+ "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "@storybook/store": {
+ "version": "6.4.19",
+ "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.4.19.tgz",
+ "integrity": "sha512-N9/ZjemRHGfT3InPIbqQqc6snkcfnf3Qh9oOr0smbfaVGJol//KOX65kzzobtzFcid0WxtTDZ3HmgFVH+GvuhQ==",
+ "requires": {
+ "@storybook/addons": "6.4.19",
+ "@storybook/client-logger": "6.4.19",
+ "@storybook/core-events": "6.4.19",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "slash": "^3.0.0",
+ "stable": "^0.1.8",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
"@types/node": {
- "version": "14.17.33",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.33.tgz",
- "integrity": "sha512-noEeJ06zbn3lOh4gqe2v7NMGS33jrulfNqYFDjjEbhpDEHR5VTxgYNQSBqBlJIsBJW3uEYDgD6kvMnrrhGzq8g=="
+ "version": "14.18.12",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz",
+ "integrity": "sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A=="
},
"acorn": {
"version": "6.4.2",
@@ -74879,14 +75306,6 @@
"resolve": "^1.19.0"
}
},
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
"chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
@@ -74939,35 +75358,6 @@
}
}
},
- "dotenv-webpack": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-1.8.0.tgz",
- "integrity": "sha512-o8pq6NLBehtrqA8Jv8jFQNtG9nhRtVqmoD4yWbgUyoU3+9WBlPe+c2EAiaJok9RB28QvrWvdWLZGeTT5aATDMg==",
- "requires": {
- "dotenv-defaults": "^1.0.2"
- }
- },
- "enhanced-resolve": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
- "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
- "requires": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- },
- "dependencies": {
- "memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- }
- }
- },
"eslint-scope": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
@@ -74995,27 +75385,9 @@
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
- },
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
}
}
},
- "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==",
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
"find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -75041,17 +75413,12 @@
"resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.6.1.tgz",
"integrity": "sha512-hT9yh/tiinkmirKrlv4KWOjztdoZo1mx9Qh4KvWqC7isoXwdUY3PNWUxceF4/qO9R6riA2C29jdTOeQOIROjgw=="
},
- "globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
+ "history": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/history/-/history-5.0.0.tgz",
+ "integrity": "sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==",
"requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
+ "@babel/runtime": "^7.7.6"
}
},
"html-webpack-plugin": {
@@ -75078,16 +75445,6 @@
"postcss": "^7.0.14"
}
},
- "ignore": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
- "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ=="
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
- },
"json5": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
@@ -75132,15 +75489,6 @@
}
}
},
- "memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
"mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
@@ -75202,11 +75550,11 @@
}
},
"polished": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.3.tgz",
- "integrity": "sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.4.tgz",
+ "integrity": "sha512-Nq5Mbza+Auo7N3sQb1QMFaQiDO+4UexWuSGR7Cjb4Sw11SZIJcrrFtiZ+L0jT9MBsUsxDboHVASbCLbE1rnECg==",
"requires": {
- "@babel/runtime": "^7.14.0"
+ "@babel/runtime": "^7.16.7"
}
},
"postcss": {
@@ -75216,6 +75564,13 @@
"requires": {
"picocolors": "^0.2.1",
"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=="
+ }
}
},
"postcss-loader": {
@@ -75240,16 +75595,6 @@
"json5": "^2.1.2"
}
},
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- },
"semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
@@ -75307,9 +75652,9 @@
}
},
"qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"requires": {
"side-channel": "^1.0.4"
}
@@ -75332,16 +75677,6 @@
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
- },
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
}
}
},
@@ -75355,25 +75690,15 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="
},
- "schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
- "requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- }
- },
"slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
},
"source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
},
"ssri": {
"version": "8.0.1",
@@ -75422,11 +75747,6 @@
"has-flag": "^3.0.0"
}
},
- "tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA=="
- },
"terser-webpack-plugin": {
"version": "1.4.5",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
@@ -75441,14 +75761,23 @@
"terser": "^4.1.2",
"webpack-sources": "^1.4.0",
"worker-farm": "^1.7.0"
- }
- },
- "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==",
- "requires": {
- "is-number": "^7.0.0"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
}
},
"tslib": {
@@ -75456,6 +75785,35 @@
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
},
+ "type-fest": {
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.12.0.tgz",
+ "integrity": "sha512-Qe5GRT+n/4GoqCNGGVp5Snapg1Omq3V7irBJB3EaKsp7HWDo5Gv2d/67gfNyV+d5EXD+x/RF5l1h4yJ7qNkcGA==",
+ "optional": true,
+ "peer": true
+ },
+ "url-loader": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz",
+ "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==",
+ "requires": {
+ "loader-utils": "^2.0.0",
+ "mime-types": "^2.1.27",
+ "schema-utils": "^3.0.0"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
+ "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ }
+ }
+ },
"webpack": {
"version": "4.46.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
@@ -75484,6 +75842,18 @@
"terser-webpack-plugin": "^1.4.3",
"watchpack": "^1.7.4",
"webpack-sources": "^1.4.1"
+ },
+ "dependencies": {
+ "schema-utils": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "requires": {
+ "ajv": "^6.1.0",
+ "ajv-errors": "^1.0.0",
+ "ajv-keywords": "^3.1.0"
+ }
+ }
}
},
"webpack-dev-middleware": {
@@ -75511,8 +75881,21 @@
"requires": {
"source-list-map": "^2.0.0",
"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=="
+ }
}
},
+ "ws": {
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
+ "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==",
+ "requires": {}
+ },
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -75815,7 +76198,6 @@
"@types/prop-types": "^15.7.2",
"@types/rison": "0.0.6",
"@types/seedrandom": "^2.4.28",
- "@types/tinycolor2": "^1.4.3",
"@vx/responsive": "^0.0.199",
"csstype": "^2.6.4",
"d3-format": "^1.3.2",
@@ -76025,17 +76407,6 @@
"integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
"dev": true
},
- "enhanced-resolve": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
- "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- }
- },
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -76091,16 +76462,6 @@
"yallist": "^4.0.0"
}
},
- "memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "dev": true,
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
"micromatch": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
@@ -76164,12 +76525,6 @@
"has-flag": "^3.0.0"
}
},
- "tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
- "dev": true
- },
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -76931,7 +77286,6 @@
"version": "7.29.4",
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.29.4.tgz",
"integrity": "sha512-CtrJRiSYEfbtNGtEsd78mk1n1v2TUbeABlNIcOCJdDfkN5/JTOwQEbbQpoSRxGqzcWPgStMvJ4mNolSuBRv1NA==",
- "dev": true,
"requires": {
"@babel/code-frame": "^7.10.4",
"@babel/runtime": "^7.12.5",
@@ -76947,7 +77301,6 @@
"version": "5.11.6",
"resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.11.6.tgz",
"integrity": "sha512-cVZyUNRWwUKI0++yepYpYX7uhrP398I+tGz4zOlLVlUYnZS+Svuxv4fwLeCIy7TnBYKXUaOlQr3vopxL8ZfEnA==",
- "dev": true,
"requires": {
"@babel/runtime": "^7.9.2",
"@types/testing-library__jest-dom": "^5.9.1",
@@ -76963,7 +77316,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -76975,7 +77327,6 @@
"version": "11.2.0",
"resolved": "https://registry.npmjs.org/@testing-library/react/-/react-11.2.0.tgz",
"integrity": "sha512-90xKYJzskZ7q/AoSuWraQL4EGZlr75uZvDt3nrO4M+rugN02zjO45tmOBq/JBOgDiMIL1tkhHioKXjJsVaSINA==",
- "dev": true,
"requires": {
"@babel/runtime": "^7.12.5",
"@testing-library/dom": "^7.27.1"
@@ -76985,7 +77336,6 @@
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-5.0.3.tgz",
"integrity": "sha512-UrnnRc5II7LMH14xsYNm/WRch/67cBafmrSQcyFh0v+UUmSf1uzfB7zn5jQXSettGwOSxJwdQUN7PgkT0w22Lg==",
- "dev": true,
"requires": {
"@babel/runtime": "^7.12.5",
"@types/react": ">=16.9.0",
@@ -76999,7 +77349,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.0.tgz",
"integrity": "sha512-lmPrdi5SLRJR+AeJkqdkGlW/CRkAUvZnETahK58J4xb5wpbfDngasEGu+w0T1iXEhVrYBJZeW+c4V1hILCnMWQ==",
- "dev": true,
"requires": {
"@babel/runtime": "^7.12.5"
}
@@ -77010,7 +77359,6 @@
"version": "12.7.0",
"resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.7.0.tgz",
"integrity": "sha512-KzRM1KNDoW8pJ2HTenrUhTjV6wJMHvWAagDs8DDrYSWz6y4PN+K2jSvlm2bMHWNRk5LTJPo9jqIjNjJ3FlqXNw==",
- "dev": true,
"requires": {
"@babel/runtime": "^7.12.5"
}
@@ -77030,8 +77378,7 @@
"@types/aria-query": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.0.tgz",
- "integrity": "sha512-iIgQNzCm0v7QMhhe4Jjn9uRh+I6GoPmt03CbEtwx3ao8/EfoQcmgtqH4vQ5Db/lxiIGaWDv6nwvunuh0RyX0+A==",
- "dev": true
+ "integrity": "sha512-iIgQNzCm0v7QMhhe4Jjn9uRh+I6GoPmt03CbEtwx3ao8/EfoQcmgtqH4vQ5Db/lxiIGaWDv6nwvunuh0RyX0+A=="
},
"@types/babel__core": {
"version": "7.1.9",
@@ -77074,11 +77421,6 @@
"@babel/types": "^7.3.0"
}
},
- "@types/braces": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/braces/-/braces-3.0.1.tgz",
- "integrity": "sha512-+euflG6ygo4bn0JHtn4pYqcXwRtLvElQ7/nnjDu7iYG56H0+OhCd7d6Ug0IE3WcFpZozBKW2+80FUbv5QGk5AQ=="
- },
"@types/cheerio": {
"version": "0.22.21",
"resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.21.tgz",
@@ -77258,11 +77600,6 @@
"@types/node": "*"
}
},
- "@types/glob-base": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@types/glob-base/-/glob-base-0.3.0.tgz",
- "integrity": "sha1-pYHWiDR+EOUN18F9byiAoQNUMZ0="
- },
"@types/graceful-fs": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz",
@@ -77323,7 +77660,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
"integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
- "dev": true,
"requires": {
"@types/istanbul-lib-coverage": "*"
}
@@ -77342,7 +77678,6 @@
"version": "26.0.23",
"resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.23.tgz",
"integrity": "sha512-ZHLmWMJ9jJ9PTiT58juykZpL7KjwJywFN3Rr2pTSkyQfydf/rk22yS7W8p5DaVUMQ2BQC7oYiU3FjbTM/mYrOA==",
- "dev": true,
"requires": {
"jest-diff": "^26.0.0",
"pretty-format": "^26.0.0"
@@ -77393,14 +77728,6 @@
"@types/lodash": "*"
}
},
- "@types/markdown-to-jsx": {
- "version": "6.11.3",
- "resolved": "https://registry.npmjs.org/@types/markdown-to-jsx/-/markdown-to-jsx-6.11.3.tgz",
- "integrity": "sha512-30nFYpceM/ZEvhGiqWjm5quLUxNeld0HCzJEXMZZDpq53FPkS85mTwkWtCXzCqq8s5JYLgM5W392a02xn8Bdaw==",
- "requires": {
- "@types/react": "*"
- }
- },
"@types/math-expression-evaluator": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@types/math-expression-evaluator/-/math-expression-evaluator-1.2.1.tgz",
@@ -77414,14 +77741,6 @@
"@types/unist": "*"
}
},
- "@types/micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-oqXqVb0ci19GtH0vOA/U2TmHTcRY9kuZl4mqUxe0QmJAlIW13kzhuK5pi1i9+ngav8FjpSb9FVS/GE00GLX1VA==",
- "requires": {
- "@types/braces": "*"
- }
- },
"@types/minimatch": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
@@ -77439,9 +77758,9 @@
"integrity": "sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ=="
},
"@types/node-fetch": {
- "version": "2.5.12",
- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz",
- "integrity": "sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==",
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz",
+ "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==",
"requires": {
"@types/node": "*",
"form-data": "^3.0.0"
@@ -77465,9 +77784,9 @@
"integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA=="
},
"@types/npmlog": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/@types/npmlog/-/npmlog-4.1.3.tgz",
- "integrity": "sha512-1TcL7YDYCtnHmLhTWbum+IIwLlvpaHoEKS2KNIngEwLzwgDeHaebaEHHbQp8IqzNQ9IYiboLKUjAf7MZqG63+w=="
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/@types/npmlog/-/npmlog-4.1.4.tgz",
+ "integrity": "sha512-WKG4gTr8przEZBiJ5r3s8ZIAoMXNbOgQ+j/d5O4X3x6kZJRLNvyUJuUK/KoG3+8BaOHPhp2m7WC6JKKeovDSzQ=="
},
"@types/overlayscrollbars": {
"version": "1.12.1",
@@ -77532,7 +77851,6 @@
"version": "16.9.8",
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.8.tgz",
"integrity": "sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA==",
- "dev": true,
"requires": {
"@types/react": "*"
}
@@ -77647,7 +77965,6 @@
"version": "17.0.1",
"resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-17.0.1.tgz",
"integrity": "sha512-3Fi2O6Zzq/f3QR9dRnlnHso9bMl7weKCviFmfF6B4LS1Uat6Hkm15k0ZAQuDz+UBq6B3+g+NM6IT2nr5QgPzCw==",
- "dev": true,
"requires": {
"@types/react": "*"
}
@@ -77789,7 +78106,6 @@
"version": "5.9.5",
"resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.5.tgz",
"integrity": "sha512-ggn3ws+yRbOHog9GxnXiEZ/35Mow6YtPZpd7Z5mKDeZS/o7zx3yAle0ov/wjhVB5QT4N2Dt+GNoGCdqkBGCajQ==",
- "dev": true,
"requires": {
"@types/jest": "*"
}
@@ -77895,7 +78211,6 @@
"version": "15.0.13",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz",
"integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==",
- "dev": true,
"requires": {
"@types/yargs-parser": "*"
}
@@ -77903,8 +78218,7 @@
"@types/yargs-parser": {
"version": "15.0.0",
"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz",
- "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==",
- "dev": true
+ "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw=="
},
"@types/yauzl": {
"version": "2.9.2",
@@ -77988,20 +78302,6 @@
"integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
"dev": true
},
- "globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
- "dev": true,
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
- }
- },
"ignore": {
"version": "5.1.9",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
@@ -78032,12 +78332,6 @@
"lru-cache": "^6.0.0"
}
},
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -78130,26 +78424,6 @@
"ms": "2.1.2"
}
},
- "globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
- "dev": true,
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
- }
- },
- "ignore": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
- "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==",
- "dev": true
- },
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -78174,12 +78448,6 @@
"lru-cache": "^6.0.0"
}
},
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -78251,26 +78519,6 @@
"integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==",
"dev": true
},
- "globby": {
- "version": "11.0.2",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz",
- "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==",
- "dev": true,
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
- }
- },
- "ignore": {
- "version": "5.1.8",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
- "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
- "dev": true
- },
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -78295,12 +78543,6 @@
"lru-cache": "^6.0.0"
}
},
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -79344,6 +79586,7 @@
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz",
"integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==",
+ "dev": true,
"requires": {
"delegates": "^1.0.0",
"readable-stream": "^2.0.6"
@@ -79361,7 +79604,6 @@
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
"integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==",
- "dev": true,
"requires": {
"@babel/runtime": "^7.10.2",
"@babel/runtime-corejs3": "^7.10.2"
@@ -79601,9 +79843,9 @@
"peer": true
},
"async-each": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
+ "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
"optional": true
},
"async-limiter": {
@@ -80298,9 +80540,9 @@
}
},
"binary-extensions": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz",
- "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==",
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
"optional": true
},
"binaryextensions": {
@@ -80461,18 +80703,18 @@
"integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ=="
},
"boxen": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
- "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
+ "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==",
"requires": {
"ansi-align": "^3.0.0",
- "camelcase": "^5.3.1",
- "chalk": "^3.0.0",
- "cli-boxes": "^2.2.0",
- "string-width": "^4.1.0",
- "term-size": "^2.1.0",
- "type-fest": "^0.8.1",
- "widest-line": "^3.1.0"
+ "camelcase": "^6.2.0",
+ "chalk": "^4.1.0",
+ "cli-boxes": "^2.2.1",
+ "string-width": "^4.2.2",
+ "type-fest": "^0.20.2",
+ "widest-line": "^3.1.0",
+ "wrap-ansi": "^7.0.0"
},
"dependencies": {
"ansi-regex": {
@@ -80480,14 +80722,10 @@
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
},
- "chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
+ "camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="
},
"is-fullwidth-code-point": {
"version": "3.0.0",
@@ -80511,6 +80749,21 @@
"requires": {
"ansi-regex": "^5.0.1"
}
+ },
+ "type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="
+ },
+ "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==",
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
}
}
},
@@ -81661,12 +81914,11 @@
}
},
"cli-table3": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz",
- "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz",
+ "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==",
"requires": {
- "colors": "^1.1.2",
- "object-assign": "^4.1.0",
+ "colors": "1.4.0",
"string-width": "^4.2.0"
},
"dependencies": {
@@ -81957,9 +82209,7 @@
"color-support": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
- "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
- "dev": true,
- "peer": true
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
},
"colorbrewer": {
"version": "1.0.0",
@@ -82081,6 +82331,11 @@
"dev": true,
"peer": true
},
+ "common-path-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
+ "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w=="
+ },
"common-tags": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz",
@@ -82582,26 +82837,6 @@
"is-glob": "^4.0.1"
}
},
- "globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
- "dev": true,
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
- }
- },
- "ignore": {
- "version": "5.1.8",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
- "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
- "dev": true
- },
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -82625,12 +82860,6 @@
"requires": {
"randombytes": "^2.1.0"
}
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
}
}
},
@@ -82954,7 +83183,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz",
"integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==",
- "dev": true,
"requires": {
"inherits": "^2.0.4",
"source-map": "^0.6.1",
@@ -82964,20 +83192,17 @@
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"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
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"source-map-resolve": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz",
"integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==",
- "dev": true,
"requires": {
"atob": "^2.1.2",
"decode-uri-component": "^0.2.0"
@@ -83590,8 +83815,7 @@
"css.escape": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
- "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=",
- "dev": true
+ "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s="
},
"csscolorparser": {
"version": "1.0.3",
@@ -84603,15 +84827,6 @@
"debug": "^2.6.0"
}
},
- "detect-port-alt": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz",
- "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==",
- "requires": {
- "address": "^1.0.1",
- "debug": "^2.6.0"
- }
- },
"dezalgo": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
@@ -84635,8 +84850,7 @@
"diff-sequences": {
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
- "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==",
- "dev": true
+ "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q=="
},
"diffie-hellman": {
"version": "5.0.3",
@@ -84729,8 +84943,7 @@
"dom-accessibility-api": {
"version": "0.5.4",
"resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz",
- "integrity": "sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ==",
- "dev": true
+ "integrity": "sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ=="
},
"dom-align": {
"version": "1.12.0",
@@ -84858,21 +85071,6 @@
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz",
"integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g=="
},
- "dotenv-defaults": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-1.1.1.tgz",
- "integrity": "sha512-6fPRo9o/3MxKvmRZBD3oNFdxODdhJtIy1zcJeUSCs6HCy4tarUpd+G67UTU9tF6OWXeSPqsm4fPAB+2eY9Rt9Q==",
- "requires": {
- "dotenv": "^6.2.0"
- },
- "dependencies": {
- "dotenv": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz",
- "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w=="
- }
- }
- },
"dotenv-expand": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
@@ -84897,7 +85095,8 @@
"duplexer": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
- "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="
+ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
+ "dev": true
},
"duplexer2": {
"version": "0.1.4",
@@ -85022,9 +85221,9 @@
"dev": true
},
"element-resize-detector": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.2.3.tgz",
- "integrity": "sha512-+dhNzUgLpq9ol5tyhoG7YLoXL3ssjfFW+0gpszXPwRU6NjGr1fVHMEAF8fVzIiRJq57Nre0RFeIjJwI8Nh2NmQ==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.2.4.tgz",
+ "integrity": "sha512-Fl5Ftk6WwXE0wqCgNoseKWndjzZlDCwuPTcoVZfCP9R3EHQF8qUtr3YUPNETegRBOKqQKPW3n4kiIWngGi8tKg==",
"requires": {
"batch-processor": "1.0.0"
}
@@ -85180,6 +85379,27 @@
"objectorarray": "^1.0.5"
}
},
+ "enhanced-resolve": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
+ "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "memory-fs": "^0.5.0",
+ "tapable": "^1.0.0"
+ },
+ "dependencies": {
+ "memory-fs": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
+ "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
+ "requires": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ }
+ }
+ }
+ },
"enquirer": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
@@ -85454,9 +85674,9 @@
}
},
"error-stack-parser": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz",
- "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==",
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.7.tgz",
+ "integrity": "sha512-chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA==",
"requires": {
"stackframe": "^1.1.1"
}
@@ -85538,9 +85758,9 @@
}
},
"es5-shim": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.6.2.tgz",
- "integrity": "sha512-n0XTVMGps+Deyr38jtqKPR5F5hb9owYeRQcKJW39eFvzUk/u/9Ww315werRzbiNMnHCUw/YHDPBphTlEnzdi+A=="
+ "version": "4.6.5",
+ "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.6.5.tgz",
+ "integrity": "sha512-vfQ4UAai8szn0sAubCy97xnZ4sJVDD1gt/Grn736hg8D7540wemIb1YPrYZSTqlM2H69EQX1or4HU/tSwRTI3w=="
},
"es6-shim": {
"version": "0.35.6",
@@ -86247,6 +86467,12 @@
}
}
},
+ "eslint-plugin-theme-colors": {
+ "version": "file:tools/eslint-plugin-theme-colors",
+ "requires": {
+ "lodash": "^4.17.21"
+ }
+ },
"eslint-scope": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
@@ -86962,53 +87188,6 @@
"flat-cache": "^3.0.4"
}
},
- "file-loader": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.0.0.tgz",
- "integrity": "sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==",
- "optional": true,
- "peer": true,
- "requires": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^2.6.5"
- },
- "dependencies": {
- "json5": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
- "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
- "optional": true,
- "peer": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "loader-utils": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
- "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
- "optional": true,
- "peer": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
- },
- "schema-utils": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
- "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
- "optional": true,
- "peer": true,
- "requires": {
- "@types/json-schema": "^7.0.4",
- "ajv": "^6.12.2",
- "ajv-keywords": "^3.4.1"
- }
- }
- }
- },
"file-system-cache": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-1.0.5.tgz",
@@ -87083,11 +87262,6 @@
"trim-repeated": "^1.0.0"
}
},
- "filesize": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz",
- "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg=="
- },
"fill-range": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
@@ -87102,8 +87276,7 @@
"filter-console": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/filter-console/-/filter-console-0.1.1.tgz",
- "integrity": "sha512-zrXoV1Uaz52DqPs+qEwNJWJFAWZpYJ47UNmpN9q4j+/EYsz85uV0DC9k8tRND5kYmoVzL0W+Y75q4Rg8sRJCdg==",
- "dev": true
+ "integrity": "sha512-zrXoV1Uaz52DqPs+qEwNJWJFAWZpYJ47UNmpN9q4j+/EYsz85uV0DC9k8tRND5kYmoVzL0W+Y75q4Rg8sRJCdg=="
},
"filter-obj": {
"version": "1.1.0",
@@ -87618,11 +87791,6 @@
"lru-cache": "^6.0.0"
}
},
- "tapable": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.1.tgz",
- "integrity": "sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA=="
- },
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -87761,6 +87929,7 @@
"version": "2.7.4",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "dev": true,
"requires": {
"aproba": "^1.0.3",
"console-control-strings": "^1.0.0",
@@ -87776,6 +87945,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -87784,6 +87954,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -88292,38 +88463,6 @@
"path-is-absolute": "^1.0.0"
}
},
- "glob-base": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
- "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
- "requires": {
- "glob-parent": "^2.0.0",
- "is-glob": "^2.0.0"
- },
- "dependencies": {
- "glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "requires": {
- "is-glob": "^2.0.0"
- }
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "requires": {
- "is-extglob": "^1.0.0"
- }
- }
- }
- },
"glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
@@ -88387,31 +88526,6 @@
}
}
},
- "global-modules": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
- "requires": {
- "global-prefix": "^3.0.0"
- }
- },
- "global-prefix": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
- "requires": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- },
- "dependencies": {
- "kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
- }
- }
- },
"globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -88426,22 +88540,22 @@
}
},
"globby": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz",
- "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==",
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
"requires": {
"array-union": "^2.1.0",
"dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
"slash": "^3.0.0"
},
"dependencies": {
"ignore": {
- "version": "5.1.8",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
- "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw=="
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ=="
},
"slash": {
"version": "3.0.0",
@@ -88521,22 +88635,6 @@
"resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz",
"integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw=="
},
- "gzip-size": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz",
- "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==",
- "requires": {
- "duplexer": "^0.1.1",
- "pify": "^4.0.1"
- },
- "dependencies": {
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
- }
- }
- },
"h3-js": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/h3-js/-/h3-js-3.7.2.tgz",
@@ -88557,7 +88655,6 @@
"version": "4.7.7",
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
"integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
- "dev": true,
"requires": {
"minimist": "^1.2.5",
"neo-async": "^2.6.0",
@@ -88569,8 +88666,7 @@
"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
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
}
}
},
@@ -90097,11 +90193,6 @@
"resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
"integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg=="
},
- "is-root": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz",
- "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg=="
- },
"is-scoped": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-2.1.0.tgz",
@@ -90728,7 +90819,6 @@
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz",
"integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==",
- "dev": true,
"requires": {
"chalk": "^4.0.0",
"diff-sequences": "^26.6.2",
@@ -91515,8 +91605,7 @@
"jest-get-type": {
"version": "26.3.0",
"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
- "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
- "dev": true
+ "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig=="
},
"jest-haste-map": {
"version": "26.6.2",
@@ -93574,8 +93663,7 @@
"lz-string": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz",
- "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=",
- "dev": true
+ "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY="
},
"magic-string": {
"version": "0.22.5",
@@ -94013,37 +94101,11 @@
"textextensions": "^5.13.0"
},
"dependencies": {
- "globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
- "dev": true,
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
- }
- },
- "ignore": {
- "version": "5.1.9",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
- "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==",
- "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
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
}
}
},
@@ -94068,6 +94130,15 @@
"map-or-similar": "^1.5.0"
}
},
+ "memory-fs": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "requires": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ }
+ },
"meow": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz",
@@ -94777,14 +94848,6 @@
"dev": true,
"optional": true
},
- "native-url": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz",
- "integrity": "sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==",
- "requires": {
- "querystring": "^0.2.0"
- }
- },
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -95085,6 +95148,11 @@
"vm-browserify": "^1.0.1"
},
"dependencies": {
+ "path-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
+ "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="
+ },
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
@@ -95526,6 +95594,7 @@
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "dev": true,
"requires": {
"are-we-there-yet": "~1.1.2",
"console-control-strings": "~1.1.0",
@@ -96350,9 +96419,10 @@
"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
},
"path-browserify": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
- "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
+ "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
+ "devOptional": true
},
"path-dirname": {
"version": "1.0.2",
@@ -96802,7 +96872,6 @@
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
"integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
- "dev": true,
"requires": {
"@jest/types": "^26.6.2",
"ansi-regex": "^5.0.0",
@@ -96813,14 +96882,12 @@
"ansi-regex": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
},
"react-is": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
}
}
},
@@ -97906,270 +97973,6 @@
"prop-types": "^15.5.7"
}
},
- "react-dev-utils": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz",
- "integrity": "sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==",
- "requires": {
- "@babel/code-frame": "7.10.4",
- "address": "1.1.2",
- "browserslist": "4.14.2",
- "chalk": "2.4.2",
- "cross-spawn": "7.0.3",
- "detect-port-alt": "1.1.6",
- "escape-string-regexp": "2.0.0",
- "filesize": "6.1.0",
- "find-up": "4.1.0",
- "fork-ts-checker-webpack-plugin": "4.1.6",
- "global-modules": "2.0.0",
- "globby": "11.0.1",
- "gzip-size": "5.1.1",
- "immer": "8.0.1",
- "is-root": "2.1.0",
- "loader-utils": "2.0.0",
- "open": "^7.0.2",
- "pkg-up": "3.1.0",
- "prompts": "2.4.0",
- "react-error-overlay": "^6.0.9",
- "recursive-readdir": "2.2.2",
- "shell-quote": "1.7.2",
- "strip-ansi": "6.0.0",
- "text-table": "0.2.0"
- },
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
- "requires": {
- "@babel/highlight": "^7.10.4"
- }
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "browserslist": {
- "version": "4.14.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz",
- "integrity": "sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==",
- "requires": {
- "caniuse-lite": "^1.0.30001125",
- "electron-to-chromium": "^1.3.564",
- "escalade": "^3.0.2",
- "node-releases": "^1.1.61"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "dependencies": {
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
- }
- }
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "escape-string-regexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
- "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "fork-ts-checker-webpack-plugin": {
- "version": "4.1.6",
- "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz",
- "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==",
- "requires": {
- "@babel/code-frame": "^7.5.5",
- "chalk": "^2.4.1",
- "micromatch": "^3.1.10",
- "minimatch": "^3.0.4",
- "semver": "^5.6.0",
- "tapable": "^1.0.0",
- "worker-rpc": "^0.1.0"
- }
- },
- "immer": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz",
- "integrity": "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA=="
- },
- "json5": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
- "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "loader-utils": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
- "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
- },
- "pkg-up": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
- "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
- "requires": {
- "find-up": "^3.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
- }
- }
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "^3.0.0"
- }
- },
- "tapable": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA=="
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
"react-dnd": {
"version": "11.1.3",
"resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-11.1.3.tgz",
@@ -98265,11 +98068,6 @@
"integrity": "sha512-5CPSeLJA2igJNppAgFRwnTL9aK3ojenk65enNzhVyoxYNbHpIJXnChUO7+4vPhkncRA9wvQMXq6Azp2XeXd+iQ==",
"requires": {}
},
- "react-error-overlay": {
- "version": "6.0.9",
- "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz",
- "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew=="
- },
"react-fast-compare": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz",
@@ -98558,9 +98356,9 @@
}
},
"react-refresh": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz",
- "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg=="
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz",
+ "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A=="
},
"react-resizable": {
"version": "3.0.4",
@@ -98791,7 +98589,7 @@
"version": "16.9.0",
"resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.9.0.tgz",
"integrity": "sha512-R62stB73qZyhrJo7wmCW9jgl/07ai+YzvouvCXIJLBkRlRqLx4j9RqcLEAfNfU3OxTGucqR2Whmn3/Aad6L3hQ==",
- "dev": true,
+ "devOptional": true,
"requires": {
"object-assign": "^4.1.1",
"prop-types": "^15.6.2",
@@ -98803,7 +98601,7 @@
"version": "16.9.0",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz",
"integrity": "sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw==",
- "dev": true
+ "devOptional": true
}
}
},
@@ -99217,19 +99015,10 @@
}
}
},
- "recursive-readdir": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
- "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
- "requires": {
- "minimatch": "3.0.4"
- }
- },
"redent": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
"integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
- "dev": true,
"requires": {
"indent-string": "^4.0.0",
"strip-indent": "^3.0.0"
@@ -99550,9 +99339,9 @@
}
},
"debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"requires": {
"ms": "2.1.2"
}
@@ -100178,7 +99967,7 @@
"version": "0.15.0",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz",
"integrity": "sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg==",
- "dev": true,
+ "devOptional": true,
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
@@ -100487,11 +100276,6 @@
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
},
- "shell-quote": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz",
- "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg=="
- },
"shelljs": {
"version": "0.8.5",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
@@ -101135,9 +100919,9 @@
}
},
"stackframe": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz",
- "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA=="
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz",
+ "integrity": "sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg=="
},
"state-toggle": {
"version": "1.0.3",
@@ -101245,19 +101029,6 @@
"storybook-pretty-props": "^1.0.3"
}
},
- "storybook-addon-outline": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/storybook-addon-outline/-/storybook-addon-outline-1.4.1.tgz",
- "integrity": "sha512-Qvv9X86CoONbi+kYY78zQcTGmCgFaewYnOVR6WL7aOFJoW7TrLiIc/O4hH5X9PsEPZFqjfXEPUPENWVUQim6yw==",
- "dev": true,
- "requires": {
- "@storybook/addons": "^6.3.0",
- "@storybook/api": "^6.3.0",
- "@storybook/components": "^6.3.0",
- "@storybook/core-events": "^6.3.0",
- "ts-dedent": "^2.1.1"
- }
- },
"storybook-addon-paddings": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/storybook-addon-paddings/-/storybook-addon-paddings-4.2.1.tgz",
@@ -101730,6 +101501,11 @@
"object.getownpropertydescriptors": "^2.1.2"
}
},
+ "synchronous-promise": {
+ "version": "2.0.15",
+ "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.15.tgz",
+ "integrity": "sha512-k8uzYIkIVwmT+TcglpdN50pS2y1BDcUnBPK9iJeGu0Pl1lOI8pD6wtzgw91Pjpe+RxtTncw32tLxs/R0yNL2Mg=="
+ },
"table": {
"version": "6.7.3",
"resolved": "https://registry.npmjs.org/table/-/table-6.7.3.tgz",
@@ -101827,6 +101603,11 @@
"minimist": "^1.1.0"
}
},
+ "tapable": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
+ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA=="
+ },
"tar": {
"version": "6.1.11",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
@@ -101921,11 +101702,6 @@
}
}
},
- "term-size": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
- "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg=="
- },
"terminal-link": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
@@ -102518,7 +102294,6 @@
"version": "3.14.5",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz",
"integrity": "sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==",
- "dev": true,
"optional": true
},
"uid-number": {
@@ -102736,7 +102511,8 @@
"unquote": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
- "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ="
+ "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
+ "dev": true
},
"unset-value": {
"version": "1.0.0",
@@ -102826,36 +102602,6 @@
}
}
},
- "url-loader": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz",
- "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==",
- "requires": {
- "loader-utils": "^2.0.0",
- "mime-types": "^2.1.27",
- "schema-utils": "^3.0.0"
- },
- "dependencies": {
- "json5": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
- "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "loader-utils": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
- "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
- }
- }
- },
"url-parse": {
"version": "1.5.7",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.7.tgz",
@@ -103757,26 +103503,6 @@
"slash": "^3.0.0"
}
},
- "globby": {
- "version": "11.0.4",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
- "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
- "devOptional": true,
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.1.1",
- "ignore": "^5.1.4",
- "merge2": "^1.3.0",
- "slash": "^3.0.0"
- }
- },
- "ignore": {
- "version": "5.1.8",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
- "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
- "devOptional": true
- },
"is-wsl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
diff --git a/superset-frontend/package.json b/superset-frontend/package.json
index 48c75a9250955..f122d09464390 100644
--- a/superset-frontend/package.json
+++ b/superset-frontend/package.json
@@ -34,7 +34,7 @@
],
"scripts": {
"_lint": "eslint --ignore-path=.eslintignore --ext .js,.jsx,.ts,tsx .",
- "_prettier": "prettier './({src,spec,cypress-base,plugins,packages}/**/*{.js,.jsx,.ts,.tsx,.css,.less,.scss,.sass}|package.json)'",
+ "_prettier": "prettier './({src,spec,cypress-base,plugins,packages,.storybook}/**/*{.js,.jsx,.ts,.tsx,.css,.less,.scss,.sass}|package.json)'",
"build": "cross-env NODE_OPTIONS=--max_old_space_size=8192 NODE_ENV=production BABEL_ENV=\"${BABEL_ENV:=production}\" webpack --mode=production --color",
"build-dev": "cross-env NODE_OPTIONS=--max_old_space_size=8192 NODE_ENV=development webpack --mode=development --color",
"build-instrumented": "cross-env NODE_ENV=production BABEL_ENV=instrumented webpack --mode=production --color",
@@ -61,7 +61,7 @@
"prettier-check": "npm run _prettier -- --check",
"prod": "npm run build",
"prune": "rm -rf ./{packages,plugins}/*/{lib,esm,tsconfig.tsbuildinfo,package-lock.json}",
- "storybook": "cross-env NODE_ENV=development BABEL_ENV=development start-storybook -s ./src/assets/images -p 6006",
+ "storybook": "cross-env NODE_ENV=development BABEL_ENV=development start-storybook -p 6006",
"tdd": "cross-env NODE_ENV=test jest --watch",
"test": "cross-env NODE_ENV=test jest",
"type": "tsc --noEmit"
@@ -219,15 +219,15 @@
"@emotion/jest": "^11.3.0",
"@hot-loader/react-dom": "^16.13.0",
"@istanbuljs/nyc-config-typescript": "^1.0.1",
- "@storybook/addon-actions": "^6.3.12",
- "@storybook/addon-essentials": "^6.3.12",
+ "@storybook/addon-actions": "^6.4.19",
+ "@storybook/addon-essentials": "^6.4.19",
"@storybook/addon-knobs": "^6.3.1",
- "@storybook/addon-links": "^6.3.12",
- "@storybook/addons": "^6.3.12",
- "@storybook/builder-webpack5": "^6.3.12",
- "@storybook/client-api": "^6.3.12",
- "@storybook/manager-webpack5": "^6.3.12",
- "@storybook/react": "^6.3.12",
+ "@storybook/addon-links": "^6.4.19",
+ "@storybook/addons": "^6.4.19",
+ "@storybook/builder-webpack5": "^6.4.19",
+ "@storybook/client-api": "^6.4.19",
+ "@storybook/manager-webpack5": "^6.4.19",
+ "@storybook/react": "^6.4.19",
"@svgr/webpack": "^5.5.0",
"@testing-library/dom": "^7.29.4",
"@testing-library/jest-dom": "^5.11.6",
@@ -292,6 +292,7 @@
"eslint-plugin-react": "^7.22.0",
"eslint-plugin-react-hooks": "^4.2.0",
"eslint-plugin-testing-library": "^3.10.1",
+ "eslint-plugin-theme-colors": "file:tools/eslint-plugin-theme-colors",
"exports-loader": "^0.7.0",
"fetch-mock": "^7.7.3",
"fork-ts-checker-webpack-plugin": "^6.3.3",
@@ -334,6 +335,6 @@
},
"engines": {
"node": "^16.9.1",
- "npm": "^7.5.4"
+ "npm": "^7.5.4 || ^8.1.2"
}
}
diff --git a/superset-frontend/packages/superset-ui-chart-controls/package.json b/superset-frontend/packages/superset-ui-chart-controls/package.json
index f5481c60a3e2d..bdb6be4daf846 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/package.json
+++ b/superset-frontend/packages/superset-ui-chart-controls/package.json
@@ -2,41 +2,47 @@
"name": "@superset-ui/chart-controls",
"version": "0.18.25",
"description": "Superset UI control-utils",
- "sideEffects": false,
- "main": "lib/index.js",
- "module": "esm/index.js",
- "files": [
- "esm",
- "lib"
- ],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/apache-superset/superset-ui.git"
- },
"keywords": [
"superset"
],
- "author": "Superset",
- "license": "Apache-2.0",
+ "homepage": "https://github.com/apache-superset/superset-ui#readme",
"bugs": {
"url": "https://github.com/apache-superset/superset-ui/issues"
},
- "homepage": "https://github.com/apache-superset/superset-ui#readme",
- "publishConfig": {
- "access": "public"
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/apache-superset/superset-ui.git"
},
+ "license": "Apache-2.0",
+ "author": "Superset",
+ "sideEffects": false,
+ "main": "lib/index.js",
+ "module": "esm/index.js",
+ "files": [
+ "esm",
+ "lib"
+ ],
"dependencies": {
"@react-icons/all-files": "^4.1.0",
"lodash": "^4.17.15",
"prop-types": "^15.7.2"
},
"peerDependencies": {
+ "@ant-design/icons": "^4.2.2",
"@emotion/react": "^11.4.1",
"@superset-ui/core": "*",
+ "@testing-library/dom": "^7.29.4",
+ "@testing-library/jest-dom": "^5.11.6",
+ "@testing-library/react": "^11.2.0",
+ "@testing-library/react-hooks": "^5.0.3",
+ "@testing-library/user-event": "^12.7.0",
+ "@types/enzyme": "^3.10.5",
"@types/react": "*",
"antd": "^4.9.4",
"react": "^16.13.1",
- "react-dom": "^16.13.1",
- "@types/enzyme": "^3.10.5"
+ "react-dom": "^16.13.1"
+ },
+ "publishConfig": {
+ "access": "public"
}
}
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/CertifiedIconWithTooltip.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/components/CertifiedIconWithTooltip.tsx
index 194a415082d69..07492a181841c 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/components/CertifiedIconWithTooltip.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/CertifiedIconWithTooltip.tsx
@@ -53,9 +53,9 @@ function CertifiedIconWithTooltip({
theme.gridUnit}px;
}
@@ -47,40 +49,27 @@ export function ColumnOption({
const type = hasExpression ? 'expression' : type_generic;
const [tooltipText, setTooltipText] = useState(column.column_name);
- useEffect(() => {
+ useLayoutEffect(() => {
setTooltipText(getColumnTooltipNode(column, labelRef));
}, [labelRef, column]);
return (
{showType && type !== undefined && }
- {column.is_certified && (
-
- )}
-
-
+
+
+ css`
+ margin-right: ${theme.gridUnit}px;
+ `
+ }
+ ref={labelRef}
+ >
{getColumnLabelText(column)}
- {column.description && (
-
- )}
{hasExpression && (
)}
+
+ {column.is_certified && (
+
+ )}
);
}
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel.tsx
deleted file mode 100644
index d9a3c8c117049..0000000000000
--- a/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel.tsx
+++ /dev/null
@@ -1,58 +0,0 @@
-/* eslint-disable no-nested-ternary */
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-import { GenericDataType } from '@superset-ui/core';
-import React from 'react';
-
-type StringIcon = '?' | 'Æ’' | 'AGG' | 'ABC' | '#' | 'T/F' | 'time';
-
-export type ColumnLabelExtendedType = 'expression' | 'aggregate' | '';
-
-export type ColumnTypeLabelProps = {
- type?: ColumnLabelExtendedType | GenericDataType;
-};
-
-export function ColumnTypeLabel({ type }: ColumnTypeLabelProps) {
- let stringIcon: StringIcon = '?';
-
- if (type === '' || type === 'expression') {
- stringIcon = 'Æ’';
- } else if (type === 'aggregate') {
- stringIcon = 'AGG';
- } else if (type === GenericDataType.STRING) {
- stringIcon = 'ABC';
- } else if (type === GenericDataType.NUMERIC) {
- stringIcon = '#';
- } else if (type === GenericDataType.BOOLEAN) {
- stringIcon = 'T/F';
- } else if (type === GenericDataType.TEMPORAL) {
- stringIcon = 'time';
- }
-
- const typeIcon =
- stringIcon === 'time' ? (
-
- ) : (
- {stringIcon}
- );
-
- return {typeIcon} ;
-}
-
-export default ColumnTypeLabel;
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/ColumnTypeLabel.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/ColumnTypeLabel.tsx
new file mode 100644
index 0000000000000..772807e0f0599
--- /dev/null
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/ColumnTypeLabel.tsx
@@ -0,0 +1,71 @@
+/* eslint-disable no-nested-ternary */
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import React, { ReactNode } from 'react';
+import { css, GenericDataType, styled, t } from '@superset-ui/core';
+import { ClockCircleOutlined, QuestionOutlined } from '@ant-design/icons';
+// TODO: move all icons to superset-ui/core
+import FunctionSvg from './type-icons/field_derived.svg';
+import BooleanSvg from './type-icons/field_boolean.svg';
+import StringSvg from './type-icons/field_abc.svg';
+import NumSvg from './type-icons/field_num.svg';
+
+export type ColumnLabelExtendedType = 'expression' | '';
+
+export type ColumnTypeLabelProps = {
+ type?: ColumnLabelExtendedType | GenericDataType;
+};
+
+const TypeIconWrapper = styled.div`
+ ${({ theme }) => css`
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: ${theme.gridUnit * 6}px;
+ height: ${theme.gridUnit * 6}px;
+ margin-right: ${theme.gridUnit}px;
+
+ && svg {
+ margin-right: 0;
+ margin-left: 0;
+ }
+ `};
+`;
+
+export function ColumnTypeLabel({ type }: ColumnTypeLabelProps) {
+ let typeIcon: ReactNode = (
+
+ );
+
+ if (type === '' || type === 'expression') {
+ typeIcon = ;
+ } else if (type === GenericDataType.STRING) {
+ typeIcon = ;
+ } else if (type === GenericDataType.NUMERIC) {
+ typeIcon = ;
+ } else if (type === GenericDataType.BOOLEAN) {
+ typeIcon = ;
+ } else if (type === GenericDataType.TEMPORAL) {
+ typeIcon = ;
+ }
+
+ return {typeIcon} ;
+}
+
+export default ColumnTypeLabel;
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_abc.svg b/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_abc.svg
new file mode 100644
index 0000000000000..ce519516c8803
--- /dev/null
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_abc.svg
@@ -0,0 +1,21 @@
+
+
+
+
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_boolean.svg b/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_boolean.svg
new file mode 100644
index 0000000000000..a804e7d9faa5a
--- /dev/null
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_boolean.svg
@@ -0,0 +1,21 @@
+
+
+
+
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_date.svg b/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_date.svg
new file mode 100644
index 0000000000000..cf796fab70b9b
--- /dev/null
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_date.svg
@@ -0,0 +1,21 @@
+
+
+
+
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_derived.svg b/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_derived.svg
new file mode 100644
index 0000000000000..00e2115bf4863
--- /dev/null
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_derived.svg
@@ -0,0 +1,21 @@
+
+
+
+
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_num.svg b/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_num.svg
new file mode 100644
index 0000000000000..69b6aa2e337ed
--- /dev/null
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_num.svg
@@ -0,0 +1,21 @@
+
+
+
+
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/svgType.d.ts b/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/svgType.d.ts
new file mode 100644
index 0000000000000..5885d9d8fc077
--- /dev/null
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/svgType.d.ts
@@ -0,0 +1,22 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+declare module '*.svg' {
+ const content: any;
+ export default content;
+}
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/InfoTooltipWithTrigger.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/components/InfoTooltipWithTrigger.tsx
index 747a6535fe453..86a4a3d1d1d28 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/components/InfoTooltipWithTrigger.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/InfoTooltipWithTrigger.tsx
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-import React from 'react';
+import React, { CSSProperties } from 'react';
import { kebabCase } from 'lodash';
import { TooltipPlacement } from 'antd/lib/tooltip';
import { t } from '@superset-ui/core';
@@ -30,6 +30,7 @@ export interface InfoTooltipWithTriggerProps {
placement?: TooltipPlacement;
bsStyle?: string;
className?: string;
+ iconsStyle?: CSSProperties;
}
export function InfoTooltipWithTrigger({
@@ -40,6 +41,7 @@ export function InfoTooltipWithTrigger({
icon = 'info-circle',
className = 'text-muted',
placement = 'right',
+ iconsStyle = {},
}: InfoTooltipWithTriggerProps) {
const iconClass = `fa fa-${icon} ${className} ${
bsStyle ? `text-${bsStyle}` : ''
@@ -50,7 +52,7 @@ export function InfoTooltipWithTrigger({
aria-label={t('Show info tooltip')}
tabIndex={0}
className={iconClass}
- style={{ cursor: onClick ? 'pointer' : undefined }}
+ style={{ cursor: onClick ? 'pointer' : undefined, ...iconsStyle }}
onClick={onClick}
onKeyPress={
onClick &&
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/MetricOption.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/components/MetricOption.tsx
index 38b8cb6fc1632..1052d1ec7e591 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/components/MetricOption.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/MetricOption.tsx
@@ -16,10 +16,16 @@
* specific language governing permissions and limitations
* under the License.
*/
-import React, { useEffect, useState, ReactNode } from 'react';
-import { styled, Metric, SafeMarkdown } from '@superset-ui/core';
+import React, { useState, ReactNode, useLayoutEffect } from 'react';
+import {
+ css,
+ styled,
+ Metric,
+ SafeMarkdown,
+ SupersetTheme,
+} from '@superset-ui/core';
import InfoTooltipWithTrigger from './InfoTooltipWithTrigger';
-import { ColumnTypeLabel } from './ColumnTypeLabel';
+import { ColumnTypeLabel } from './ColumnTypeLabel/ColumnTypeLabel';
import CertifiedIconWithTooltip from './CertifiedIconWithTooltip';
import Tooltip from './Tooltip';
import { getMetricTooltipNode } from './labelUtils';
@@ -63,52 +69,48 @@ export function MetricOption({
const [tooltipText, setTooltipText] = useState(metric.metric_name);
- useEffect(() => {
+ useLayoutEffect(() => {
setTooltipText(getMetricTooltipNode(metric, labelRef));
}, [labelRef, metric]);
return (
{showType && }
- {metric.is_certified && (
-
- )}
-
-
+
+
+ css`
+ margin-right: ${theme.gridUnit}px;
+ `
+ }
+ ref={labelRef}
+ >
{link}
- {metric.description && (
-
- )}
{showFormula && (
)}
+ {metric.is_certified && (
+
+ )}
{warningMarkdown && (
}
label={`warn-${metric.metric_name}`}
+ iconsStyle={{ marginLeft: 0 }}
/>
)}
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/Tooltip.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/components/Tooltip.tsx
index c49931427fbf6..098fb169b6148 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/components/Tooltip.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/Tooltip.tsx
@@ -46,9 +46,17 @@ export const Tooltip = ({ overlayStyle, color, ...props }: TooltipProps) => {
overlayStyle={{
fontSize: theme.typography.sizes.s,
lineHeight: '1.6',
+ maxWidth: theme.gridUnit * 62,
+ minWidth: theme.gridUnit * 30,
...overlayStyle,
}}
+ // make the tooltip display closer to the label
+ align={{ offset: [0, 1] }}
color={defaultColor || color}
+ trigger="hover"
+ placement="bottom"
+ // don't allow hovering over the tooltip
+ mouseLeaveDelay={0}
{...props}
/>
>
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/labelUtils.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/components/labelUtils.tsx
index ee738e1195683..c132b0918d694 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/components/labelUtils.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/labelUtils.tsx
@@ -18,9 +18,41 @@
*/
import React, { ReactNode } from 'react';
-import { t } from '@superset-ui/core';
+import { css, styled, t } from '@superset-ui/core';
import { ColumnMeta, Metric } from '@superset-ui/chart-controls';
+const TooltipSectionWrapper = styled.div`
+ ${({ theme }) => css`
+ display: flex;
+ flex-direction: column;
+ font-size: ${theme.typography.sizes.s}px;
+ line-height: 1.2;
+
+ &:not(:last-of-type) {
+ margin-bottom: ${theme.gridUnit * 2}px;
+ }
+ `}
+`;
+
+const TooltipSectionLabel = styled.span`
+ ${({ theme }) => css`
+ font-weight: ${theme.typography.weights.bold};
+ `}
+`;
+
+const TooltipSection = ({
+ label,
+ text,
+}: {
+ label: ReactNode;
+ text: ReactNode;
+}) => (
+
+ {label}
+ {text}
+
+);
+
export const isLabelTruncated = (labelRef?: React.RefObject): boolean =>
!!(
labelRef &&
@@ -35,22 +67,25 @@ export const getColumnTooltipNode = (
column: ColumnMeta,
labelRef?: React.RefObject,
): ReactNode => {
- // don't show tooltip if it hasn't verbose_name and hasn't truncated
- if (!column.verbose_name && !isLabelTruncated(labelRef)) {
+ if (
+ !column.verbose_name &&
+ !column.description &&
+ !isLabelTruncated(labelRef)
+ ) {
return null;
}
- if (column.verbose_name) {
- return (
- <>
- {t('column name: %s', column.column_name)}
- {t('verbose name: %s', column.verbose_name)}
- >
- );
- }
-
- // show column name in tooltip when column truncated
- return t('column name: %s', column.column_name);
+ return (
+ <>
+
+ {column.verbose_name && (
+
+ )}
+ {column.description && (
+
+ )}
+ >
+ );
};
type MetricType = Omit & { label?: string };
@@ -59,23 +94,27 @@ export const getMetricTooltipNode = (
metric: MetricType,
labelRef?: React.RefObject,
): ReactNode => {
- // don't show tooltip if it hasn't verbose_name, label and hasn't truncated
- if (!metric.verbose_name && !metric.label && !isLabelTruncated(labelRef)) {
+ if (
+ !metric.verbose_name &&
+ !metric.description &&
+ !metric.label &&
+ !isLabelTruncated(labelRef)
+ ) {
return null;
}
- if (metric.verbose_name) {
- return (
- <>
- {t('metric name: %s', metric.metric_name)}
- {t('verbose name: %s', metric.verbose_name)}
- >
- );
- }
-
- if (isLabelTruncated(labelRef) && metric.label) {
- return t('label name: %s', metric.label);
- }
-
- return t('metric name: %s', metric.metric_name);
+ return (
+ <>
+
+ {(metric.label || metric.verbose_name) && (
+
+ )}
+ {metric.description && (
+
+ )}
+ >
+ );
};
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/index.ts b/superset-frontend/packages/superset-ui-chart-controls/src/index.ts
index 6f19d0e4686a2..8a151d10e2a4f 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/index.ts
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/index.ts
@@ -27,7 +27,7 @@ export const sections = sectionsModule;
export * from './components/InfoTooltipWithTrigger';
export * from './components/ColumnOption';
-export * from './components/ColumnTypeLabel';
+export * from './components/ColumnTypeLabel/ColumnTypeLabel';
export * from './components/MetricOption';
// React control components
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/sections/advancedAnalytics.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/sections/advancedAnalytics.tsx
index 983e45ec8e6fa..ebd118d88122c 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/sections/advancedAnalytics.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/sections/advancedAnalytics.tsx
@@ -170,6 +170,7 @@ export const advancedAnalyticsControls: ControlPanelSectionConfig = {
choices: [
['asfreq', 'Null imputation'],
['zerofill', 'Zero imputation'],
+ ['linear', 'Linear interpolation'],
['ffill', 'Forward values'],
['bfill', 'Backward values'],
['median', 'Median values'],
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/components/ColumnConfigControl/ColumnConfigItem.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/components/ColumnConfigControl/ColumnConfigItem.tsx
index ee9c1ea17b417..06429ef593a5b 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/components/ColumnConfigControl/ColumnConfigItem.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/components/ColumnConfigControl/ColumnConfigItem.tsx
@@ -19,7 +19,7 @@
import React from 'react';
import { useTheme } from '@superset-ui/core';
import { Popover } from 'antd';
-import ColumnTypeLabel from '../../../components/ColumnTypeLabel';
+import ColumnTypeLabel from '../../../components/ColumnTypeLabel/ColumnTypeLabel';
import ColumnConfigPopover, {
ColumnConfigPopoverProps,
} from './ColumnConfigPopover';
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/index.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/index.tsx
index ff15a6f4a92da..edd6e30b02fc8 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/index.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/shared-controls/index.tsx
@@ -44,6 +44,7 @@ import {
legacyValidateInteger,
validateNonEmpty,
JsonArray,
+ ComparisionType,
} from '@superset-ui/core';
import {
@@ -455,16 +456,12 @@ const y_axis_format: SharedControlConfig<'SelectControl', SelectDefaultOption> =
filterOption: ({ data: option }, search) =>
option.label.includes(search) || option.value.includes(search),
mapStateToProps: state => {
- const showWarning =
- state.controls?.comparison_type?.value === 'percentage';
+ const isPercentage =
+ state.controls?.comparison_type?.value === ComparisionType.Percentage;
return {
- warning: showWarning
- ? t(
- 'When `Calculation type` is set to "Percentage change", the Y ' +
- 'Axis Format is forced to `.1%`',
- )
- : null,
- disabled: showWarning,
+ choices: isPercentage
+ ? D3_FORMAT_OPTIONS.filter(option => option[0].includes('%'))
+ : D3_FORMAT_OPTIONS,
};
},
};
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/utils/D3Formatting.ts b/superset-frontend/packages/superset-ui-chart-controls/src/utils/D3Formatting.ts
index 02585cc58db90..0e30f82d7b44e 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/utils/D3Formatting.ts
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/utils/D3Formatting.ts
@@ -25,7 +25,7 @@ export const D3_FORMAT_DOCS = t(
// input choices & options
export const D3_FORMAT_OPTIONS: [string, string][] = [
- [NumberFormats.SMART_NUMBER, t('Adaptative formating')],
+ [NumberFormats.SMART_NUMBER, t('Adaptive formatting')],
['~g', t('Original value')],
[',d', ',d (12345.432 => 12,345)'],
['.1s', '.1s (12345.432 => 10k)'],
@@ -48,7 +48,7 @@ export const D3_TIME_FORMAT_DOCS = t(
);
export const D3_TIME_FORMAT_OPTIONS: [string, string][] = [
- [smartDateFormatter.id, t('Adaptative formating')],
+ [smartDateFormatter.id, t('Adaptive formatting')],
['%d/%m/%Y', '%d/%m/%Y | 14/01/2019'],
['%m/%d/%Y', '%m/%d/%Y | 01/14/2019'],
['%Y-%m-%d', '%Y-%m-%d | 2019-01-14'],
diff --git a/superset-frontend/packages/superset-ui-chart-controls/test/components/ColumnOption.test.tsx b/superset-frontend/packages/superset-ui-chart-controls/test/components/ColumnOption.test.tsx
index cce693473c6a3..cc0106e9d650c 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/test/components/ColumnOption.test.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/test/components/ColumnOption.test.tsx
@@ -53,12 +53,7 @@ describe('ColumnOption', () => {
expect(lbl).toHaveLength(1);
expect(lbl.first().text()).toBe('Foo');
});
- it('shows 2 InfoTooltipWithTrigger', () => {
- expect(wrapper.find(InfoTooltipWithTrigger)).toHaveLength(2);
- });
- it('shows only 1 InfoTooltipWithTrigger when no descr', () => {
- delete props.column.description;
- wrapper = shallow(factory(props));
+ it('shows 1 InfoTooltipWithTrigger', () => {
expect(wrapper.find(InfoTooltipWithTrigger)).toHaveLength(1);
});
it('shows a label with column_name when no verbose_name', () => {
diff --git a/superset-frontend/packages/superset-ui-chart-controls/test/components/ColumnTypeLabel.test.tsx b/superset-frontend/packages/superset-ui-chart-controls/test/components/ColumnTypeLabel.test.tsx
index 04f76edca99a0..8369a790968f0 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/test/components/ColumnTypeLabel.test.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/test/components/ColumnTypeLabel.test.tsx
@@ -17,7 +17,8 @@
* under the License.
*/
import React from 'react';
-import { shallow } from 'enzyme';
+import { render, screen } from '@testing-library/react';
+import '@testing-library/jest-dom';
import { GenericDataType } from '@superset-ui/core';
import { ColumnTypeLabel, ColumnTypeLabelProps } from '../../src';
@@ -29,9 +30,8 @@ describe('ColumnOption', () => {
const props = { ...defaultProps };
- function getWrapper(overrides: Partial) {
- const wrapper = shallow( );
- return wrapper;
+ function renderColumnTypeLabel(overrides: Partial) {
+ render( );
}
it('is a valid element', () => {
@@ -40,40 +40,27 @@ describe('ColumnOption', () => {
);
});
it('string type shows ABC icon', () => {
- const lbl = getWrapper({ type: GenericDataType.STRING }).find(
- '.type-label',
- );
- expect(lbl).toHaveLength(1);
- expect(lbl.first().text()).toBe('ABC');
+ renderColumnTypeLabel({ type: GenericDataType.STRING });
+ expect(screen.getByLabelText('string type icon')).toBeVisible();
});
it('int type shows # icon', () => {
- const lbl = getWrapper({ type: GenericDataType.NUMERIC }).find(
- '.type-label',
- );
- expect(lbl).toHaveLength(1);
- expect(lbl.first().text()).toBe('#');
+ renderColumnTypeLabel({ type: GenericDataType.NUMERIC });
+ expect(screen.getByLabelText('numeric type icon')).toBeVisible();
});
- it('bool type shows T/F icon', () => {
- const lbl = getWrapper({ type: GenericDataType.BOOLEAN }).find(
- '.type-label',
- );
- expect(lbl).toHaveLength(1);
- expect(lbl.first().text()).toBe('T/F');
+ it('bool type shows 1|0 icon', () => {
+ renderColumnTypeLabel({ type: GenericDataType.BOOLEAN });
+ expect(screen.getByLabelText('boolean type icon')).toBeVisible();
});
it('expression type shows function icon', () => {
- const lbl = getWrapper({ type: 'expression' }).find('.type-label');
- expect(lbl).toHaveLength(1);
- expect(lbl.first().text()).toBe('Æ’');
+ renderColumnTypeLabel({ type: 'expression' });
+ expect(screen.getByLabelText('function type icon')).toBeVisible();
});
it('unknown type shows question mark', () => {
- const lbl = getWrapper({ type: undefined }).find('.type-label');
- expect(lbl).toHaveLength(1);
- expect(lbl.first().text()).toBe('?');
+ renderColumnTypeLabel({ type: undefined });
+ expect(screen.getByLabelText('unknown type icon')).toBeVisible();
});
it('datetime type displays', () => {
- const lbl = getWrapper({ type: GenericDataType.TEMPORAL }).find(
- '.fa-clock-o',
- );
- expect(lbl).toHaveLength(1);
+ renderColumnTypeLabel({ type: GenericDataType.TEMPORAL });
+ expect(screen.getByLabelText('temporal type icon')).toBeVisible();
});
});
diff --git a/superset-frontend/packages/superset-ui-chart-controls/test/components/MetricOption.test.tsx b/superset-frontend/packages/superset-ui-chart-controls/test/components/MetricOption.test.tsx
index 737e2f3352a10..e71882bd3ee14 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/test/components/MetricOption.test.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/test/components/MetricOption.test.tsx
@@ -51,12 +51,7 @@ describe('MetricOption', () => {
expect(lbl).toHaveLength(1);
expect(lbl.first().text()).toBe('Foo');
});
- it('shows 3 InfoTooltipWithTrigger', () => {
- expect(wrapper.find('InfoTooltipWithTrigger')).toHaveLength(3);
- });
- it('shows only 2 InfoTooltipWithTrigger when no descr', () => {
- props.metric.description = '';
- wrapper = shallow(factory(props));
+ it('shows 2 InfoTooltipWithTrigger', () => {
expect(wrapper.find('InfoTooltipWithTrigger')).toHaveLength(2);
});
it('shows a label with metric_name when no verbose_name', () => {
@@ -64,7 +59,7 @@ describe('MetricOption', () => {
wrapper = shallow(factory(props));
expect(wrapper.find('.option-label').first().text()).toBe('foo');
});
- it('shows only 1 InfoTooltipWithTrigger when no descr and no warning', () => {
+ it('shows only 1 InfoTooltipWithTrigger when no warning', () => {
props.metric.warning_text = '';
wrapper = shallow(factory(props));
expect(wrapper.find('InfoTooltipWithTrigger')).toHaveLength(1);
diff --git a/superset-frontend/packages/superset-ui-chart-controls/test/components/labelUtils.test.tsx b/superset-frontend/packages/superset-ui-chart-controls/test/components/labelUtils.test.tsx
index b5e5cd6adfa21..6d3c89c14659d 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/test/components/labelUtils.test.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/test/components/labelUtils.test.tsx
@@ -16,14 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
-import React from 'react';
-
+import React, { ReactElement } from 'react';
+import { render, screen } from '@testing-library/react';
+import '@testing-library/jest-dom';
+import { ThemeProvider, supersetTheme } from '@superset-ui/core';
import {
getColumnLabelText,
getColumnTooltipNode,
getMetricTooltipNode,
} from '../../src/components/labelUtils';
+const renderWithTheme = (ui: ReactElement) =>
+ render({ui} );
+
test("should get column name when column doesn't have verbose_name", () => {
expect(
getColumnLabelText({
@@ -52,66 +57,80 @@ test('should get null as tooltip', () => {
id: 123,
column_name: 'column name',
verbose_name: '',
+ description: '',
},
ref,
),
).toBe(null);
});
-test('should get column name and verbose name when it has a verbose name', () => {
- const rvNode = (
+test('should get column name, verbose name and description when it has a verbose name', () => {
+ const ref = { current: { scrollWidth: 100, clientWidth: 100 } };
+ renderWithTheme(
<>
- column name: column name
- verbose name: verbose name
- >
+ {getColumnTooltipNode(
+ {
+ id: 123,
+ column_name: 'column name',
+ verbose_name: 'verbose name',
+ description: 'A very important column',
+ },
+ ref,
+ )}
+ >,
);
- const ref = { current: { scrollWidth: 100, clientWidth: 100 } };
- expect(
- getColumnTooltipNode(
- {
- id: 123,
- column_name: 'column name',
- verbose_name: 'verbose name',
- },
- ref,
- ),
- ).toStrictEqual(rvNode);
+ expect(screen.getByText('Column name')).toBeVisible();
+ expect(screen.getByText('column name')).toBeVisible();
+ expect(screen.getByText('Label')).toBeVisible();
+ expect(screen.getByText('verbose name')).toBeVisible();
+ expect(screen.getByText('Description')).toBeVisible();
+ expect(screen.getByText('A very important column')).toBeVisible();
});
test('should get column name as tooltip if it overflowed', () => {
const ref = { current: { scrollWidth: 200, clientWidth: 100 } };
- expect(
- getColumnTooltipNode(
- {
- id: 123,
- column_name: 'long long long long column name',
- verbose_name: '',
- },
- ref,
- ),
- ).toBe('column name: long long long long column name');
+ renderWithTheme(
+ <>
+ {getColumnTooltipNode(
+ {
+ id: 123,
+ column_name: 'long long long long column name',
+ verbose_name: '',
+ description: '',
+ },
+ ref,
+ )}
+ >,
+ );
+ expect(screen.getByText('Column name')).toBeVisible();
+ expect(screen.getByText('long long long long column name')).toBeVisible();
+ expect(screen.queryByText('Label')).not.toBeInTheDocument();
+ expect(screen.queryByText('Description')).not.toBeInTheDocument();
});
-test('should get column name and verbose name as tooltip if it overflowed', () => {
- const rvNode = (
+test('should get column name, verbose name and description as tooltip if it overflowed', () => {
+ const ref = { current: { scrollWidth: 200, clientWidth: 100 } };
+ renderWithTheme(
<>
- column name: long long long long column name
- verbose name: long long long long verbose name
- >
+ {getColumnTooltipNode(
+ {
+ id: 123,
+ column_name: 'long long long long column name',
+ verbose_name: 'long long long long verbose name',
+ description: 'A very important column',
+ },
+ ref,
+ )}
+ >,
);
- const ref = { current: { scrollWidth: 200, clientWidth: 100 } };
- expect(
- getColumnTooltipNode(
- {
- id: 123,
- column_name: 'long long long long column name',
- verbose_name: 'long long long long verbose name',
- },
- ref,
- ),
- ).toStrictEqual(rvNode);
+ expect(screen.getByText('Column name')).toBeVisible();
+ expect(screen.getByText('long long long long column name')).toBeVisible();
+ expect(screen.getByText('Label')).toBeVisible();
+ expect(screen.getByText('long long long long verbose name')).toBeVisible();
+ expect(screen.getByText('Description')).toBeVisible();
+ expect(screen.getByText('A very important column')).toBeVisible();
});
test('should get null as tooltip in metric', () => {
@@ -122,64 +141,76 @@ test('should get null as tooltip in metric', () => {
metric_name: 'count',
label: '',
verbose_name: '',
+ description: '',
},
ref,
),
).toBe(null);
});
-test('should get metric name and verbose name as tooltip in metric', () => {
- const rvNode = (
+test('should get metric name, verbose name and description as tooltip in metric', () => {
+ const ref = { current: { scrollWidth: 100, clientWidth: 100 } };
+ renderWithTheme(
<>
- metric name: count
- verbose name: count(*)
- >
+ {getMetricTooltipNode(
+ {
+ metric_name: 'count',
+ label: 'count(*)',
+ verbose_name: 'count(*)',
+ description: 'Count metric',
+ },
+ ref,
+ )}
+ >,
);
-
- const ref = { current: { scrollWidth: 100, clientWidth: 100 } };
- expect(
- getMetricTooltipNode(
- {
- metric_name: 'count',
- label: 'count(*)',
- verbose_name: 'count(*)',
- },
- ref,
- ),
- ).toStrictEqual(rvNode);
+ expect(screen.getByText('Metric name')).toBeVisible();
+ expect(screen.getByText('count')).toBeVisible();
+ expect(screen.getByText('Label')).toBeVisible();
+ expect(screen.getByText('count(*)')).toBeVisible();
+ expect(screen.getByText('Description')).toBeVisible();
+ expect(screen.getByText('Count metric')).toBeVisible();
});
-test('should get metric name and verbose name in tooltip if it overflowed', () => {
- const rvNode = (
+test('should get metric name as tooltip if it overflowed', () => {
+ const ref = { current: { scrollWidth: 200, clientWidth: 100 } };
+ renderWithTheme(
<>
- metric name: count
- verbose name: longlonglonglonglong verbose metric
- >
+ {getMetricTooltipNode(
+ {
+ metric_name: 'long long long long metric name',
+ label: '',
+ verbose_name: '',
+ description: '',
+ },
+ ref,
+ )}
+ >,
);
-
- const ref = { current: { scrollWidth: 200, clientWidth: 100 } };
- expect(
- getMetricTooltipNode(
- {
- metric_name: 'count',
- label: '',
- verbose_name: 'longlonglonglonglong verbose metric',
- },
- ref,
- ),
- ).toStrictEqual(rvNode);
+ expect(screen.getByText('Metric name')).toBeVisible();
+ expect(screen.getByText('long long long long metric name')).toBeVisible();
+ expect(screen.queryByText('Label')).not.toBeInTheDocument();
+ expect(screen.queryByText('Description')).not.toBeInTheDocument();
});
-test('should get label name as tooltip in metric if it overflowed', () => {
+test('should get metric name, verbose name and description in tooltip if it overflowed', () => {
const ref = { current: { scrollWidth: 200, clientWidth: 100 } };
- expect(
- getMetricTooltipNode(
- {
- metric_name: 'count',
- label: 'longlonglonglonglong metric label',
- verbose_name: '',
- },
- ref,
- ),
- ).toBe('label name: longlonglonglonglong metric label');
+ renderWithTheme(
+ <>
+ {getMetricTooltipNode(
+ {
+ metric_name: 'count',
+ label: '',
+ verbose_name: 'longlonglonglonglong verbose metric',
+ description: 'Count metric',
+ },
+ ref,
+ )}
+ >,
+ );
+ expect(screen.getByText('Metric name')).toBeVisible();
+ expect(screen.getByText('count')).toBeVisible();
+ expect(screen.getByText('Label')).toBeVisible();
+ expect(screen.getByText('longlonglonglonglong verbose metric')).toBeVisible();
+ expect(screen.getByText('Description')).toBeVisible();
+ expect(screen.getByText('Count metric')).toBeVisible();
});
diff --git a/superset-frontend/packages/superset-ui-core/src/query/api/v1/handleError.ts b/superset-frontend/packages/superset-ui-core/src/query/api/v1/handleError.ts
index d8543466ad9a5..62c13c9d8cd45 100644
--- a/superset-frontend/packages/superset-ui-core/src/query/api/v1/handleError.ts
+++ b/superset-frontend/packages/superset-ui-core/src/query/api/v1/handleError.ts
@@ -29,7 +29,7 @@ export type ErrorInput = string | Error | Response | SupersetApiErrorPayload;
* @param error the catched error from SupersetClient.request(...)
*/
export default async function handleError(error: ErrorInput): Promise {
- // already a Sueprset error
+ // already a Superset error
if (error instanceof SupersetApiError) {
throw error;
}
diff --git a/superset-frontend/packages/superset-ui-core/src/query/types/AnnotationLayer.ts b/superset-frontend/packages/superset-ui-core/src/query/types/AnnotationLayer.ts
index 293cebb56df41..a454908d78155 100644
--- a/superset-frontend/packages/superset-ui-core/src/query/types/AnnotationLayer.ts
+++ b/superset-frontend/packages/superset-ui-core/src/query/types/AnnotationLayer.ts
@@ -162,9 +162,10 @@ export type RecordAnnotationResult = {
records: DataRecord[];
};
-export type TimeseriesAnnotationResult = [
- { key: string; values: { x: string | number; y?: number }[] },
-];
+export type TimeseriesAnnotationResult = {
+ key: string;
+ values: { x: string | number; y?: number }[];
+}[];
export type AnnotationResult =
| RecordAnnotationResult
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/types.ts b/superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/types.ts
index 73072cb03bd99..005d2a79f0a27 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/types.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/BoxPlot/types.ts
@@ -53,7 +53,8 @@ export const DEFAULT_FORM_DATA: BoxPlotQueryFormData = {
...DEFAULT_TITLE_FORM_DATA,
};
-export interface EchartsBoxPlotChartProps extends ChartProps {
+export interface EchartsBoxPlotChartProps
+ extends ChartProps {
formData: BoxPlotQueryFormData;
queriesData: ChartDataResponseResult[];
}
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Funnel/types.ts b/superset-frontend/plugins/plugin-chart-echarts/src/Funnel/types.ts
index 39eb087ce6bfc..398fa40d57fb3 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/Funnel/types.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/Funnel/types.ts
@@ -56,7 +56,8 @@ export enum EchartsFunnelLabelTypeType {
KeyValuePercent,
}
-export interface EchartsFunnelChartProps extends ChartProps {
+export interface EchartsFunnelChartProps
+ extends ChartProps {
formData: EchartsFunnelFormData;
queriesData: ChartDataResponseResult[];
}
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Gauge/types.ts b/superset-frontend/plugins/plugin-chart-echarts/src/Gauge/types.ts
index 32044d4ef648a..f6a1b09ad6604 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/Gauge/types.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/Gauge/types.ts
@@ -32,7 +32,7 @@ export type AxisTickLineStyle = {
export type EchartsGaugeFormData = QueryFormData & {
colorScheme?: string;
groupby: QueryFormColumn[];
- metric?: object;
+ metric?: string;
rowLimit: number;
minVal: number;
maxVal: number;
@@ -78,7 +78,8 @@ export const DEFAULT_FORM_DATA: Partial = {
emitFilter: false,
};
-export interface EchartsGaugeChartProps extends ChartProps {
+export interface EchartsGaugeChartProps
+ extends ChartProps {
formData: EchartsGaugeFormData;
queriesData: ChartDataResponseResult[];
}
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Pie/types.ts b/superset-frontend/plugins/plugin-chart-echarts/src/Pie/types.ts
index b6411c8346214..c97afd3a7c9bb 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/Pie/types.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/Pie/types.ts
@@ -61,7 +61,7 @@ export enum EchartsPieLabelType {
KeyValuePercent = 'key_value_percent',
}
-export interface EchartsPieChartProps extends ChartProps {
+export interface EchartsPieChartProps extends ChartProps {
formData: EchartsPieFormData;
queriesData: ChartDataResponseResult[];
}
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/types.ts b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/types.ts
index 9b32b6bf704c0..81b274632a2c2 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/types.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/types.ts
@@ -122,7 +122,8 @@ export const DEFAULT_FORM_DATA: EchartsTimeseriesFormData = {
...DEFAULT_TITLE_FORM_DATA,
};
-export interface EchartsTimeseriesChartProps extends ChartProps {
+export interface EchartsTimeseriesChartProps
+ extends ChartProps {
formData: EchartsTimeseriesFormData;
queriesData: ChartDataResponseResult[];
}
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Treemap/types.ts b/superset-frontend/plugins/plugin-chart-echarts/src/Treemap/types.ts
index e99874d157e60..f4ed29cc7316c 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/Treemap/types.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/Treemap/types.ts
@@ -49,7 +49,8 @@ export enum EchartsTreemapLabelType {
KeyValue = 'key_value',
}
-export interface EchartsTreemapChartProps extends ChartProps {
+export interface EchartsTreemapChartProps
+ extends ChartProps {
formData: EchartsTreemapFormData;
queriesData: ChartDataResponseResult[];
}
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/utils/forecast.ts b/superset-frontend/plugins/plugin-chart-echarts/src/utils/forecast.ts
index 617aaa5f8c255..63de4f4f6592a 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/utils/forecast.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/utils/forecast.ts
@@ -17,7 +17,7 @@
* under the License.
*/
import { DataRecord, DTTM_ALIAS, NumberFormatter } from '@superset-ui/core';
-import { CallbackDataParams, OptionName } from 'echarts/types/src/util/types';
+import { OptionName } from 'echarts/types/src/util/types';
import { TooltipMarker } from 'echarts/types/src/util/format';
import {
ForecastSeriesContext,
@@ -52,7 +52,7 @@ export const extractForecastSeriesContexts = (
}, {} as { [key: string]: ForecastSeriesEnum[] });
export const extractForecastValuesFromTooltipParams = (
- params: (CallbackDataParams & { seriesId: string })[],
+ params: any[],
): Record => {
const values: Record = {};
params.forEach(param => {
diff --git a/superset-frontend/plugins/plugin-chart-echarts/test/BigNumber/transformProps.test.ts b/superset-frontend/plugins/plugin-chart-echarts/test/BigNumber/transformProps.test.ts
index 4fdb3de8748d8..edcd09e06b087 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/test/BigNumber/transformProps.test.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/test/BigNumber/transformProps.test.ts
@@ -57,7 +57,7 @@ const rawFormData = {
function generateProps(
data: BigNumberDatum[],
extraFormData = {},
- extraQueryData = {},
+ extraQueryData: any = {},
): BigNumberWithTrendlineChartProps {
return {
width: 200,
diff --git a/superset-frontend/plugins/plugin-chart-echarts/test/BoxPlot/buildQuery.test.ts b/superset-frontend/plugins/plugin-chart-echarts/test/BoxPlot/buildQuery.test.ts
index 10ba3a1ec5757..6859248713442 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/test/BoxPlot/buildQuery.test.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/test/BoxPlot/buildQuery.test.ts
@@ -16,12 +16,17 @@
* specific language governing permissions and limitations
* under the License.
*/
-import { isPostProcessingBoxplot } from '@superset-ui/core';
+import {
+ isPostProcessingBoxplot,
+ PostProcessingBoxplot,
+} from '@superset-ui/core';
+import { DEFAULT_TITLE_FORM_DATA } from '../../src/types';
import buildQuery from '../../src/BoxPlot/buildQuery';
import { BoxPlotQueryFormData } from '../../src/BoxPlot/types';
describe('BoxPlot buildQuery', () => {
const formData: BoxPlotQueryFormData = {
+ ...DEFAULT_TITLE_FORM_DATA,
emitFilter: false,
columns: [],
datasource: '5__table',
@@ -42,7 +47,7 @@ describe('BoxPlot buildQuery', () => {
expect(query.series_columns).toEqual(['bar']);
const [rule] = query.post_processing || [];
expect(isPostProcessingBoxplot(rule)).toEqual(true);
- expect(rule.options.groupby).toEqual(['bar']);
+ expect((rule as PostProcessingBoxplot)?.options?.groupby).toEqual(['bar']);
});
it('should build non-timeseries query object when columns is defined', () => {
@@ -53,6 +58,6 @@ describe('BoxPlot buildQuery', () => {
expect(query.series_columns).toEqual(['bar']);
const [rule] = query.post_processing || [];
expect(isPostProcessingBoxplot(rule)).toEqual(true);
- expect(rule.options.groupby).toEqual(['bar']);
+ expect((rule as PostProcessingBoxplot)?.options?.groupby).toEqual(['bar']);
});
});
diff --git a/superset-frontend/plugins/plugin-chart-echarts/test/BoxPlot/transformProps.test.ts b/superset-frontend/plugins/plugin-chart-echarts/test/BoxPlot/transformProps.test.ts
index 7ddeb0b5c9b71..08234fb61ed91 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/test/BoxPlot/transformProps.test.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/test/BoxPlot/transformProps.test.ts
@@ -16,11 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-import { ChartProps } from '@superset-ui/core';
+import { ChartProps, SqlaFormData } from '@superset-ui/core';
+import { EchartsBoxPlotChartProps } from '../../src/BoxPlot/types';
import transformProps from '../../src/BoxPlot/transformProps';
describe('BoxPlot tranformProps', () => {
- const formData = {
+ const formData: SqlaFormData = {
datasource: '5__table',
granularity_sqla: 'ds',
time_grain_sqla: 'P1Y',
@@ -68,7 +69,7 @@ describe('BoxPlot tranformProps', () => {
});
it('should tranform chart props for viz', () => {
- expect(transformProps(chartProps)).toEqual(
+ expect(transformProps(chartProps as EchartsBoxPlotChartProps)).toEqual(
expect.objectContaining({
width: 800,
height: 600,
diff --git a/superset-frontend/plugins/plugin-chart-echarts/test/Funnel/transformProps.test.ts b/superset-frontend/plugins/plugin-chart-echarts/test/Funnel/transformProps.test.ts
index 1ee293474ea2d..87f377f731f65 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/test/Funnel/transformProps.test.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/test/Funnel/transformProps.test.ts
@@ -20,7 +20,10 @@ import { ChartProps, getNumberFormatter } from '@superset-ui/core';
import transformProps, {
formatFunnelLabel,
} from '../../src/Funnel/transformProps';
-import { EchartsFunnelLabelTypeType } from '../../src/Funnel/types';
+import {
+ EchartsFunnelChartProps,
+ EchartsFunnelLabelTypeType,
+} from '../../src/Funnel/types';
describe('Funnel tranformProps', () => {
const formData = {
@@ -45,7 +48,7 @@ describe('Funnel tranformProps', () => {
});
it('should tranform chart props for viz', () => {
- expect(transformProps(chartProps)).toEqual(
+ expect(transformProps(chartProps as EchartsFunnelChartProps)).toEqual(
expect.objectContaining({
width: 800,
height: 600,
diff --git a/superset-frontend/plugins/plugin-chart-echarts/test/Gauge/buildQuery.test.ts b/superset-frontend/plugins/plugin-chart-echarts/test/Gauge/buildQuery.test.ts
index e300f2cf72331..77f1322f9be95 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/test/Gauge/buildQuery.test.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/test/Gauge/buildQuery.test.ts
@@ -26,7 +26,7 @@ describe('Gauge buildQuery', () => {
};
it('should build query fields with no group by column', () => {
- const formData = { ...baseFormData, groupby: null };
+ const formData = { ...baseFormData, groupby: undefined };
const queryContext = buildQuery(formData);
const [query] = queryContext.queries;
expect(query.groupby).toEqual([]);
diff --git a/superset-frontend/plugins/plugin-chart-echarts/test/Gauge/transformProps.test.ts b/superset-frontend/plugins/plugin-chart-echarts/test/Gauge/transformProps.test.ts
index 210ba3be80e5b..b4cbc29bcb290 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/test/Gauge/transformProps.test.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/test/Gauge/transformProps.test.ts
@@ -16,18 +16,18 @@
* specific language governing permissions and limitations
* under the License.
*/
-import { ChartProps } from '@superset-ui/core';
+import { ChartProps, SqlaFormData } from '@superset-ui/core';
import transformProps from '../../src/Gauge/transformProps';
-import { DEFAULT_GAUGE_SERIES_OPTION } from '../../src/Gauge/constants';
+import { EchartsGaugeChartProps } from '../../src/Gauge/types';
describe('Echarts Gauge transformProps', () => {
- const baseFormData = {
+ const baseFormData: SqlaFormData = {
datasource: '26__table',
- vizType: 'gauge_chart',
+ viz_type: 'gauge_chart',
metric: 'count',
adhocFilters: [],
rowLimit: 10,
- minVal: '0',
+ minVal: 0,
maxVal: 100,
startAngle: 225,
endAngle: -45,
@@ -46,7 +46,7 @@ describe('Echarts Gauge transformProps', () => {
};
it('should transform chart props for no group by column', () => {
- const formData = { ...baseFormData, groupby: [] };
+ const formData: SqlaFormData = { ...baseFormData, groupby: [] };
const queriesData = [
{
colnames: ['count'],
@@ -66,7 +66,7 @@ describe('Echarts Gauge transformProps', () => {
};
const chartProps = new ChartProps(chartPropsConfig);
- expect(transformProps(chartProps)).toEqual(
+ expect(transformProps(chartProps as EchartsGaugeChartProps)).toEqual(
expect.objectContaining({
width: 800,
height: 600,
@@ -98,7 +98,10 @@ describe('Echarts Gauge transformProps', () => {
});
it('should transform chart props for single group by column', () => {
- const formData = { ...baseFormData, groupby: ['year'] };
+ const formData: SqlaFormData = {
+ ...baseFormData,
+ groupby: ['year'],
+ };
const queriesData = [
{
colnames: ['year', 'count'],
@@ -123,7 +126,7 @@ describe('Echarts Gauge transformProps', () => {
};
const chartProps = new ChartProps(chartPropsConfig);
- expect(transformProps(chartProps)).toEqual(
+ expect(transformProps(chartProps as EchartsGaugeChartProps)).toEqual(
expect.objectContaining({
width: 800,
height: 600,
@@ -170,7 +173,10 @@ describe('Echarts Gauge transformProps', () => {
});
it('should transform chart props for multiple group by columns', () => {
- const formData = { ...baseFormData, groupby: ['year', 'platform'] };
+ const formData: SqlaFormData = {
+ ...baseFormData,
+ groupby: ['year', 'platform'],
+ };
const queriesData = [
{
colnames: ['year', 'platform', 'count'],
@@ -197,7 +203,7 @@ describe('Echarts Gauge transformProps', () => {
};
const chartProps = new ChartProps(chartPropsConfig);
- expect(transformProps(chartProps)).toEqual(
+ expect(transformProps(chartProps as EchartsGaugeChartProps)).toEqual(
expect.objectContaining({
width: 800,
height: 600,
@@ -244,7 +250,7 @@ describe('Echarts Gauge transformProps', () => {
});
it('should transform chart props for intervals', () => {
- const formData = {
+ const formData: SqlaFormData = {
...baseFormData,
groupby: ['year', 'platform'],
intervals: '50,100',
@@ -276,7 +282,7 @@ describe('Echarts Gauge transformProps', () => {
};
const chartProps = new ChartProps(chartPropsConfig);
- expect(transformProps(chartProps)).toEqual(
+ expect(transformProps(chartProps as EchartsGaugeChartProps)).toEqual(
expect.objectContaining({
width: 800,
height: 600,
diff --git a/superset-frontend/plugins/plugin-chart-echarts/test/Pie/transformProps.test.ts b/superset-frontend/plugins/plugin-chart-echarts/test/Pie/transformProps.test.ts
index a2b429b4a3235..41280c7667cc7 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/test/Pie/transformProps.test.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/test/Pie/transformProps.test.ts
@@ -22,7 +22,7 @@ import {
SqlaFormData,
} from '@superset-ui/core';
import transformProps, { formatPieLabel } from '../../src/Pie/transformProps';
-import { EchartsPieLabelType } from '../../src/Pie/types';
+import { EchartsPieChartProps, EchartsPieLabelType } from '../../src/Pie/types';
describe('Pie tranformProps', () => {
const formData: SqlaFormData = {
@@ -48,7 +48,7 @@ describe('Pie tranformProps', () => {
});
it('should tranform chart props for viz', () => {
- expect(transformProps(chartProps)).toEqual(
+ expect(transformProps(chartProps as EchartsPieChartProps)).toEqual(
expect.objectContaining({
width: 800,
height: 600,
diff --git a/superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/transformProps.test.ts b/superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/transformProps.test.ts
index 7d21524155e0d..4b5a21e53faf8 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/transformProps.test.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/transformProps.test.ts
@@ -24,12 +24,14 @@ import {
EventAnnotationLayer,
FormulaAnnotationLayer,
IntervalAnnotationLayer,
+ SqlaFormData,
TimeseriesAnnotationLayer,
} from '@superset-ui/core';
+import { EchartsTimeseriesChartProps } from '../../src/types';
import transformProps from '../../src/Timeseries/transformProps';
describe('EchartsTimeseries transformProps', () => {
- const formData = {
+ const formData: SqlaFormData = {
colorScheme: 'bnbColors',
datasource: '3__table',
granularity_sqla: 'ds',
@@ -54,7 +56,7 @@ describe('EchartsTimeseries transformProps', () => {
it('should tranform chart props for viz', () => {
const chartProps = new ChartProps(chartPropsConfig);
- expect(transformProps(chartProps)).toEqual(
+ expect(transformProps(chartProps as EchartsTimeseriesChartProps)).toEqual(
expect.objectContaining({
width: 800,
height: 600,
@@ -99,7 +101,7 @@ describe('EchartsTimeseries transformProps', () => {
annotationLayers: [formula],
},
});
- expect(transformProps(chartProps)).toEqual(
+ expect(transformProps(chartProps as EchartsTimeseriesChartProps)).toEqual(
expect.objectContaining({
width: 800,
height: 600,
@@ -227,7 +229,7 @@ describe('EchartsTimeseries transformProps', () => {
},
],
});
- expect(transformProps(chartProps)).toEqual(
+ expect(transformProps(chartProps as EchartsTimeseriesChartProps)).toEqual(
expect.objectContaining({
echartOptions: expect.objectContaining({
legend: expect.objectContaining({
@@ -266,7 +268,8 @@ describe('Does transformProps transform series correctly', () => {
name: string;
};
- const formData = {
+ const formData: SqlaFormData = {
+ viz_type: 'my_viz',
colorScheme: 'bnbColors',
datasource: '3__table',
granularity_sqla: 'ds',
@@ -329,8 +332,9 @@ describe('Does transformProps transform series correctly', () => {
it('should show labels when showValue is true', () => {
const chartProps = new ChartProps(chartPropsConfig);
- const transformedSeries = transformProps(chartProps).echartOptions
- .series as seriesType[];
+ const transformedSeries = transformProps(
+ chartProps as EchartsTimeseriesChartProps,
+ ).echartOptions.series as seriesType[];
transformedSeries.forEach(series => {
expect(series.label.show).toBe(true);
@@ -345,8 +349,9 @@ describe('Does transformProps transform series correctly', () => {
const chartProps = new ChartProps(updatedChartPropsConfig);
- const transformedSeries = transformProps(chartProps).echartOptions
- .series as seriesType[];
+ const transformedSeries = transformProps(
+ chartProps as EchartsTimeseriesChartProps,
+ ).echartOptions.series as seriesType[];
transformedSeries.forEach(series => {
expect(series.label.show).toBe(false);
@@ -361,8 +366,9 @@ describe('Does transformProps transform series correctly', () => {
const chartProps = new ChartProps(updatedChartPropsConfig);
- const transformedSeries = transformProps(chartProps).echartOptions
- .series as seriesType[];
+ const transformedSeries = transformProps(
+ chartProps as EchartsTimeseriesChartProps,
+ ).echartOptions.series as seriesType[];
const showValueIndexes: number[] = [];
@@ -400,8 +406,9 @@ describe('Does transformProps transform series correctly', () => {
it('should show labels on values >= percentageThreshold if onlyTotal is false', () => {
const chartProps = new ChartProps(chartPropsConfig);
- const transformedSeries = transformProps(chartProps).echartOptions
- .series as seriesType[];
+ const transformedSeries = transformProps(
+ chartProps as EchartsTimeseriesChartProps,
+ ).echartOptions.series as seriesType[];
const expectedThresholds = totalStackedValues.map(
total => ((formData.percentageThreshold || 0) / 100) * total,
@@ -430,8 +437,9 @@ describe('Does transformProps transform series correctly', () => {
const chartProps = new ChartProps(updatedChartPropsConfig);
- const transformedSeries = transformProps(chartProps).echartOptions
- .series as seriesType[];
+ const transformedSeries = transformProps(
+ chartProps as EchartsTimeseriesChartProps,
+ ).echartOptions.series as seriesType[];
transformedSeries.forEach((series, seriesIndex) => {
expect(series.label.show).toBe(true);
diff --git a/superset-frontend/plugins/plugin-chart-echarts/test/Treemap/transformProps.test.ts b/superset-frontend/plugins/plugin-chart-echarts/test/Treemap/transformProps.test.ts
index 07661fe55574c..9bb6fa03bae4c 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/test/Treemap/transformProps.test.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/test/Treemap/transformProps.test.ts
@@ -17,6 +17,7 @@
* under the License.
*/
import { ChartProps } from '@superset-ui/core';
+import { EchartsTreemapChartProps } from '../../src/Treemap/types';
import transformProps from '../../src/Treemap/transformProps';
describe('Treemap tranformProps', () => {
@@ -42,7 +43,7 @@ describe('Treemap tranformProps', () => {
});
it('should tranform chart props for viz', () => {
- expect(transformProps(chartProps)).toEqual(
+ expect(transformProps(chartProps as EchartsTreemapChartProps)).toEqual(
expect.objectContaining({
width: 800,
height: 600,
diff --git a/superset-frontend/plugins/plugin-chart-pivot-table/test/plugin/buildQuery.test.ts b/superset-frontend/plugins/plugin-chart-pivot-table/test/plugin/buildQuery.test.ts
index e11b9943ba360..a602bd4048f61 100644
--- a/superset-frontend/plugins/plugin-chart-pivot-table/test/plugin/buildQuery.test.ts
+++ b/superset-frontend/plugins/plugin-chart-pivot-table/test/plugin/buildQuery.test.ts
@@ -18,9 +18,10 @@
*/
import buildQuery from '../../src/plugin/buildQuery';
+import { PivotTableQueryFormData } from '../../src/types';
describe('PivotTableChart buildQuery', () => {
- const formData = {
+ const formData: PivotTableQueryFormData = {
groupbyRows: ['row1', 'row2'],
groupbyColumns: ['col1', 'col2'],
metrics: ['metric1', 'metric2'],
@@ -46,6 +47,7 @@ describe('PivotTableChart buildQuery', () => {
setDataMask: () => {},
legacy_order_by: 'count',
order_desc: true,
+ margin: 0,
};
it('should build groupby with series in form data', () => {
diff --git a/superset-frontend/plugins/plugin-chart-table/src/types.ts b/superset-frontend/plugins/plugin-chart-table/src/types.ts
index e95f55441edf1..7c50f99cb4ae6 100644
--- a/superset-frontend/plugins/plugin-chart-table/src/types.ts
+++ b/superset-frontend/plugins/plugin-chart-table/src/types.ts
@@ -74,7 +74,7 @@ export type TableChartFormData = QueryFormData & {
};
export interface TableChartProps extends ChartProps {
- ownCurrentState: {
+ ownCurrentState?: {
pageSize?: number;
currentPage?: number;
};
diff --git a/superset-frontend/plugins/plugin-chart-table/test/testData.ts b/superset-frontend/plugins/plugin-chart-table/test/testData.ts
index 127ac08a3f4c1..fb9b9b7ca9e30 100644
--- a/superset-frontend/plugins/plugin-chart-table/test/testData.ts
+++ b/superset-frontend/plugins/plugin-chart-table/test/testData.ts
@@ -79,6 +79,8 @@ const basicQueryResult: ChartDataResponseResult = {
rowcount: 100,
stacktrace: null,
status: 'success',
+ from_dttm: null,
+ to_dttm: null,
};
/**
diff --git a/superset-frontend/src/SqlLab/components/App/index.jsx b/superset-frontend/src/SqlLab/components/App/index.jsx
index c98ff12e87017..8a0ade9509ac6 100644
--- a/superset-frontend/src/SqlLab/components/App/index.jsx
+++ b/superset-frontend/src/SqlLab/components/App/index.jsx
@@ -20,7 +20,7 @@ import React from 'react';
import PropTypes from 'prop-types';
import { bindActionCreators } from 'redux';
import { connect } from 'react-redux';
-import { t, supersetTheme, ThemeProvider } from '@superset-ui/core';
+import { t } from '@superset-ui/core';
import throttle from 'lodash/throttle';
import ToastContainer from 'src/components/MessageToasts/ToastContainer';
import {
@@ -98,13 +98,11 @@ class App extends React.PureComponent {
return window.location.replace('/superset/sqllab/history/');
}
return (
-
-
-
-
-
-
-
+
+
+
+
+
);
}
}
diff --git a/superset-frontend/src/SqlLab/components/ResultSet/index.tsx b/superset-frontend/src/SqlLab/components/ResultSet/index.tsx
index 4d8818b1d9747..dbde25ef2b4f2 100644
--- a/superset-frontend/src/SqlLab/components/ResultSet/index.tsx
+++ b/superset-frontend/src/SqlLab/components/ResultSet/index.tsx
@@ -278,7 +278,10 @@ export default class ResultSet extends React.PureComponent<
dbId,
datasetToOverwrite.datasetId,
sql,
- results.selected_columns.map(d => ({ column_name: d.name })),
+ results.selected_columns.map(d => ({
+ column_name: d.name,
+ is_dttm: d.is_date,
+ })),
datasetToOverwrite.owners.map((o: DatasetOwner) => o.id),
true,
);
diff --git a/superset-frontend/src/SqlLab/components/RunQueryActionButton/RunQueryActionButton.test.jsx b/superset-frontend/src/SqlLab/components/RunQueryActionButton/RunQueryActionButton.test.jsx
index 198759c69ecb6..823f10741ac09 100644
--- a/superset-frontend/src/SqlLab/components/RunQueryActionButton/RunQueryActionButton.test.jsx
+++ b/superset-frontend/src/SqlLab/components/RunQueryActionButton/RunQueryActionButton.test.jsx
@@ -17,8 +17,8 @@
* under the License.
*/
import React from 'react';
-import { shallow } from 'enzyme';
-
+import { mount } from 'enzyme';
+import { supersetTheme, ThemeProvider } from '@superset-ui/core';
import RunQueryActionButton from 'src/SqlLab/components/RunQueryActionButton';
import Button from 'src/components/Button';
@@ -35,7 +35,10 @@ describe('RunQueryActionButton', () => {
};
beforeEach(() => {
- wrapper = shallow( );
+ wrapper = mount( , {
+ wrappingComponent: ThemeProvider,
+ wrappingComponentProps: { theme: supersetTheme },
+ });
});
it('is a valid react element', () => {
diff --git a/superset-frontend/src/SqlLab/components/RunQueryActionButton/index.tsx b/superset-frontend/src/SqlLab/components/RunQueryActionButton/index.tsx
index 398ec3011008d..2a9e0fbaf8d8b 100644
--- a/superset-frontend/src/SqlLab/components/RunQueryActionButton/index.tsx
+++ b/superset-frontend/src/SqlLab/components/RunQueryActionButton/index.tsx
@@ -17,7 +17,7 @@
* under the License.
*/
import React from 'react';
-import { t, styled, supersetTheme } from '@superset-ui/core';
+import { t, styled, useTheme } from '@superset-ui/core';
import { Menu } from 'src/components/Menu';
import Button, { ButtonProps } from 'src/components/Button';
@@ -93,6 +93,8 @@ const RunQueryActionButton = ({
runQuery,
stopQuery,
}: Props) => {
+ const theme = useTheme();
+
const shouldShowStopBtn =
!!queryState && ['running', 'pending'].indexOf(queryState) > -1;
@@ -123,8 +125,8 @@ const RunQueryActionButton = ({
diff --git a/superset-frontend/src/SqlLab/components/SouthPane/index.tsx b/superset-frontend/src/SqlLab/components/SouthPane/index.tsx
index 3fb0f9c5261e4..afdb13e6f7fb3 100644
--- a/superset-frontend/src/SqlLab/components/SouthPane/index.tsx
+++ b/superset-frontend/src/SqlLab/components/SouthPane/index.tsx
@@ -94,6 +94,7 @@ const StyledPane = styled.div`
}
`;
+const EXTRA_HEIGHT_RESULTS = 24; // we need extra height in RESULTS tab. because the height from props was calculated based on PREVIEW tab.
const StyledEmptyStateWrapper = styled.div`
height: 100%;
.ant-empty-image img {
@@ -164,7 +165,7 @@ export default function SouthPane({
query={latestQuery}
actions={actions}
user={user}
- height={innerTabContentHeight}
+ height={innerTabContentHeight + EXTRA_HEIGHT_RESULTS}
database={databases[latestQuery.dbId]}
displayLimit={displayLimit}
defaultQueryLimit={defaultQueryLimit}
diff --git a/superset-frontend/src/SqlLab/types.ts b/superset-frontend/src/SqlLab/types.ts
index b60ca8604be90..f1e088f003ee1 100644
--- a/superset-frontend/src/SqlLab/types.ts
+++ b/superset-frontend/src/SqlLab/types.ts
@@ -23,6 +23,7 @@ import { ToastType } from 'src/components/MessageToasts/types';
export type Column = {
name: string;
+ is_date?: boolean;
};
export type QueryState =
diff --git a/superset-frontend/src/assets/images/icons/drag.svg b/superset-frontend/src/assets/images/icons/drag.svg
index 7e2a5dc69c7b2..9d4aa0a5f941d 100644
--- a/superset-frontend/src/assets/images/icons/drag.svg
+++ b/superset-frontend/src/assets/images/icons/drag.svg
@@ -16,7 +16,7 @@ KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
-
-
-
+
+
+
diff --git a/superset-frontend/src/components/Button/index.tsx b/superset-frontend/src/components/Button/index.tsx
index bfe8bdb6597a3..ea8cd4cd3525c 100644
--- a/superset-frontend/src/components/Button/index.tsx
+++ b/superset-frontend/src/components/Button/index.tsx
@@ -229,10 +229,19 @@ export default function Button(props: ButtonProps) {
id={`${kebabCase(tooltip)}-tooltip`}
title={tooltip}
>
- {/* this ternary wraps the button in a span so that the tooltip shows up
- when the button is disabled. */}
+ {/* wrap the button in a span so that the tooltip shows up
+ when the button is disabled. */}
{disabled ? (
- {button}
+ .superset-button': {
+ marginLeft: theme.gridUnit * 2,
+ },
+ }}
+ >
+ {button}
+
) : (
button
)}
diff --git a/superset-frontend/src/components/CertifiedBadge/index.tsx b/superset-frontend/src/components/CertifiedBadge/index.tsx
index 6ad82fb1c83a8..80581e6320d70 100644
--- a/superset-frontend/src/components/CertifiedBadge/index.tsx
+++ b/superset-frontend/src/components/CertifiedBadge/index.tsx
@@ -17,7 +17,7 @@
* under the License.
*/
import React from 'react';
-import { t, supersetTheme } from '@superset-ui/core';
+import { t, useTheme } from '@superset-ui/core';
import Icons, { IconType } from 'src/components/Icons';
import { Tooltip } from 'src/components/Tooltip';
@@ -32,6 +32,8 @@ function CertifiedBadge({
details,
size = 'l',
}: CertifiedBadgeProps) {
+ const theme = useTheme();
+
return (
}
>
-
+
);
}
diff --git a/superset-frontend/src/components/Datasource/DatasourceModal.tsx b/superset-frontend/src/components/Datasource/DatasourceModal.tsx
index 92f35d622edd8..e03c416505a39 100644
--- a/superset-frontend/src/components/Datasource/DatasourceModal.tsx
+++ b/superset-frontend/src/components/Datasource/DatasourceModal.tsx
@@ -226,7 +226,18 @@ const DatasourceModal: FunctionComponent = ({
buttonStyle="primary"
data-test="datasource-modal-save"
onClick={onClickSave}
- disabled={isSaving || errors.length > 0}
+ disabled={
+ isSaving ||
+ errors.length > 0 ||
+ currentDatasource.is_managed_externally
+ }
+ tooltip={
+ currentDatasource.is_managed_externally
+ ? t(
+ "This dataset is managed externally, and can't be edited in Superset",
+ )
+ : ''
+ }
>
{t('Save')}
diff --git a/superset-frontend/src/components/Form/LabeledErrorBoundInput.tsx b/superset-frontend/src/components/Form/LabeledErrorBoundInput.tsx
index a5225e8ef4d39..be9e0af16f2c1 100644
--- a/superset-frontend/src/components/Form/LabeledErrorBoundInput.tsx
+++ b/superset-frontend/src/components/Form/LabeledErrorBoundInput.tsx
@@ -29,7 +29,7 @@ export interface LabeledErrorBoundInputProps {
validationMethods:
| { onBlur: (value: any) => void }
| { onChange: (value: any) => void };
- errorMessage: string | null;
+ errorMessage?: string | null;
helpText?: string;
required?: boolean;
hasTooltip?: boolean;
diff --git a/superset-frontend/src/components/Icons/Icon.tsx b/superset-frontend/src/components/Icons/Icon.tsx
index d45943502dbd5..7d698d0d542a8 100644
--- a/superset-frontend/src/components/Icons/Icon.tsx
+++ b/superset-frontend/src/components/Icons/Icon.tsx
@@ -42,7 +42,7 @@ export const StyledIcon = styled(AntdIconComponent)`
: '24px'};
`;
-interface IconProps extends IconType {
+export interface IconProps extends IconType {
fileName: string;
}
diff --git a/superset-frontend/src/components/ReportModal/index.tsx b/superset-frontend/src/components/ReportModal/index.tsx
index 0963c0fe9f4e7..c8273bd985801 100644
--- a/superset-frontend/src/components/ReportModal/index.tsx
+++ b/superset-frontend/src/components/ReportModal/index.tsx
@@ -31,6 +31,7 @@ import { connect, useDispatch, useSelector } from 'react-redux';
import { addReport, editReport } from 'src/reports/actions/reports';
import { AlertObject } from 'src/views/CRUD/alert/types';
+import Alert from 'src/components/Alert';
import TimezoneSelector from 'src/components/TimezoneSelector';
import LabeledErrorBoundInput from 'src/components/Form/LabeledErrorBoundInput';
import Icons from 'src/components/Icons';
@@ -38,6 +39,7 @@ import withToasts from 'src/components/MessageToasts/withToasts';
import { CronError } from 'src/components/CronPicker';
import { RadioChangeEvent } from 'src/components';
import {
+ antDErrorAlertStyles,
StyledModal,
StyledTopSection,
StyledBottomSection,
@@ -73,7 +75,7 @@ export interface ReportObject {
working_timeout: number;
creation_method: string;
force_screenshot: boolean;
- error?: string;
+ error: string;
}
interface ChartObject {
@@ -93,6 +95,7 @@ interface ReportProps {
addReport: (report?: ReportObject) => {};
onHide: () => {};
onReportAdd: (report?: ReportObject) => {};
+ addDangerToast: (msg: string) => void;
show: boolean;
userId: number;
userEmail: string;
@@ -128,9 +131,7 @@ type ReportActionType =
}
| {
type: ActionType.error;
- payload: {
- name: string[];
- };
+ payload: { name: string[] };
};
const TEXT_BASED_VISUALIZATION_TYPES = [
@@ -146,6 +147,10 @@ const NOTIFICATION_FORMATS = {
CSV: 'CSV',
};
+const defaultErrorMsg = t(
+ 'We were unable to create your report. Please try again.',
+);
+
const reportReducer = (
state: Partial | null,
action: ReportActionType,
@@ -171,7 +176,7 @@ const reportReducer = (
case ActionType.error:
return {
...state,
- error: action.payload.name[0],
+ error: action.payload?.name[0] || defaultErrorMsg,
};
default:
return state;
@@ -250,9 +255,8 @@ const ReportModal: FunctionComponent = ({
await dispatch(addReport(newReportValues as ReportObject));
onHide();
} catch (e) {
- const parsedError = await getClientErrorObject(e);
- const errorMessage = parsedError.message;
- onReducerChange(ActionType.error, errorMessage);
+ const { message } = await getClientErrorObject(e);
+ onReducerChange(ActionType.error, message);
}
}
@@ -315,6 +319,15 @@ const ReportModal: FunctionComponent = ({
>
);
+ const errorAlert = () => (
+ antDErrorAlertStyles(theme)}
+ message={t('Report Creation Error')}
+ description={currentReport?.error}
+ />
+ );
+
return (
= ({
value: target.value,
}),
}}
- errorMessage={currentReport?.error || ''}
label="Report Name"
data-test="report-name-test"
/>
-
= ({
value: target.value,
}),
}}
- errorMessage=""
label={t('Description')}
placeholder={t(
'Include a description that will be sent with your report',
@@ -401,6 +411,7 @@ const ReportModal: FunctionComponent = ({
/>
{isChart && renderMessageContentSection}
+ {currentReport?.error && errorAlert()}
);
};
diff --git a/superset-frontend/src/components/ReportModal/styles.tsx b/superset-frontend/src/components/ReportModal/styles.tsx
index ce71ab47256f7..b37939b4feca6 100644
--- a/superset-frontend/src/components/ReportModal/styles.tsx
+++ b/superset-frontend/src/components/ReportModal/styles.tsx
@@ -106,3 +106,24 @@ export const StyledRadio = styled(Radio)`
export const StyledRadioGroup = styled(Radio.Group)`
margin-left: ${({ theme }) => theme.gridUnit * 0.5}px;
`;
+
+export const antDErrorAlertStyles = (theme: SupersetTheme) => css`
+ border: ${theme.colors.error.base} 1px solid;
+ padding: ${theme.gridUnit * 4}px;
+ margin: ${theme.gridUnit * 8}px ${theme.gridUnit * 4}px;
+ color: ${theme.colors.error.dark2};
+ .ant-alert-message {
+ font-size: ${theme.typography.sizes.s + 1}px;
+ font-weight: bold;
+ }
+ .ant-alert-description {
+ font-size: ${theme.typography.sizes.s + 1}px;
+ line-height: ${theme.gridUnit * 4}px;
+ .ant-alert-icon {
+ margin-right: ${theme.gridUnit * 2.5}px;
+ font-size: ${theme.typography.sizes.l + 1}px;
+ position: relative;
+ top: ${theme.gridUnit / 4}px;
+ }
+ }
+`;
diff --git a/superset-frontend/src/components/Select/Select.tsx b/superset-frontend/src/components/Select/Select.tsx
index fde08fdf3d336..9c7b92c38cf88 100644
--- a/superset-frontend/src/components/Select/Select.tsx
+++ b/superset-frontend/src/components/Select/Select.tsx
@@ -42,7 +42,7 @@ import Icons from 'src/components/Icons';
import { getClientErrorObject } from 'src/utils/getClientErrorObject';
import { SLOW_DEBOUNCE } from 'src/constants';
import { rankedSearchCompare } from 'src/utils/rankedSearchCompare';
-import { getValue, hasOption } from './utils';
+import { getValue, hasOption, isObject } from './utils';
const { Option } = AntdSelect;
@@ -385,18 +385,20 @@ const Select = (
const hasCustomLabels = fullSelectOptions.some(opt => !!opt?.customLabel);
- const handleOnSelect = (selectedItem: string | number | AntdLabeledValue) => {
+ const handleOnSelect = (
+ selectedItem: string | number | AntdLabeledValue | undefined,
+ ) => {
if (isSingleMode) {
setSelectValue(selectedItem);
} else {
setSelectValue(previousState => {
const array = ensureIsArray(previousState);
- const isObject = typeof selectedItem === 'object';
- const value = isObject ? selectedItem.value : selectedItem;
+ const isLabeledValue = isObject(selectedItem);
+ const value = isLabeledValue ? selectedItem.value : selectedItem;
// Tokenized values can contain duplicated values
if (!hasOption(value, array)) {
const result = [...array, selectedItem];
- return isObject
+ return isLabeledValue
? (result as AntdLabeledValue[])
: (result as (string | number)[]);
}
@@ -406,9 +408,11 @@ const Select = (
setInputValue('');
};
- const handleOnDeselect = (value: string | number | AntdLabeledValue) => {
+ const handleOnDeselect = (
+ value: string | number | AntdLabeledValue | undefined,
+ ) => {
if (Array.isArray(selectValue)) {
- if (typeof value === 'number' || typeof value === 'string') {
+ if (typeof value === 'number' || typeof value === 'string' || !value) {
const array = selectValue as (string | number)[];
setSelectValue(array.filter(element => element !== value));
} else {
diff --git a/superset-frontend/src/components/Select/utils.ts b/superset-frontend/src/components/Select/utils.ts
index 4eda84a7411db..73c6dd3533242 100644
--- a/superset-frontend/src/components/Select/utils.ts
+++ b/superset-frontend/src/components/Select/utils.ts
@@ -25,7 +25,7 @@ import {
GroupedOptionsType,
} from 'react-select';
-function isObject(value: unknown): value is Record {
+export function isObject(value: unknown): value is Record {
return (
value !== null &&
typeof value === 'object' &&
diff --git a/superset-frontend/src/dashboard/components/Header/index.jsx b/superset-frontend/src/dashboard/components/Header/index.jsx
index 89b1b9bee673c..7fd1afc82eb3b 100644
--- a/superset-frontend/src/dashboard/components/Header/index.jsx
+++ b/superset-frontend/src/dashboard/components/Header/index.jsx
@@ -492,7 +492,8 @@ class Header extends React.PureComponent {
} = this.props;
const userCanEdit =
dashboardInfo.dash_edit_perm &&
- filterboxMigrationState !== FILTER_BOX_MIGRATION_STATES.REVIEWING;
+ filterboxMigrationState !== FILTER_BOX_MIGRATION_STATES.REVIEWING &&
+ !dashboardInfo.is_managed_externally;
const userCanShare = dashboardInfo.dash_share_perm;
const userCanSaveAs =
dashboardInfo.dash_save_perm &&
diff --git a/superset-frontend/src/dashboard/components/PropertiesModal/index.tsx b/superset-frontend/src/dashboard/components/PropertiesModal/index.tsx
index 67c86cb1fc7de..effd18b3d07c4 100644
--- a/superset-frontend/src/dashboard/components/PropertiesModal/index.tsx
+++ b/superset-frontend/src/dashboard/components/PropertiesModal/index.tsx
@@ -75,6 +75,7 @@ type DashboardInfo = {
slug: string;
certifiedBy: string;
certificationDetails: string;
+ isManagedExternally: boolean;
};
const PropertiesModal = ({
@@ -151,6 +152,7 @@ const PropertiesModal = ({
owners,
roles,
metadata,
+ is_managed_externally,
} = dashboardData;
const dashboardInfo = {
id,
@@ -158,6 +160,7 @@ const PropertiesModal = ({
slug: slug || '',
certifiedBy: certified_by || '',
certificationDetails: certification_details || '',
+ isManagedExternally: is_managed_externally || false,
};
form.setFieldsValue(dashboardInfo);
@@ -515,6 +518,14 @@ const PropertiesModal = ({
buttonStyle="primary"
className="m-r-5"
cta
+ disabled={dashboardInfo?.isManagedExternally}
+ tooltip={
+ dashboardInfo?.isManagedExternally
+ ? t(
+ "This dashboard is managed externally, and can't be edited in Superset",
+ )
+ : ''
+ }
>
{saveLabel}
diff --git a/superset-frontend/src/dashboard/components/dnd/DragHandle.tsx b/superset-frontend/src/dashboard/components/dnd/DragHandle.tsx
index 08a224e4b80a3..5209c99fee728 100644
--- a/superset-frontend/src/dashboard/components/dnd/DragHandle.tsx
+++ b/superset-frontend/src/dashboard/components/dnd/DragHandle.tsx
@@ -17,33 +17,35 @@
* under the License.
*/
import React, { LegacyRef } from 'react';
-import cx from 'classnames';
+import { css, styled } from '@superset-ui/core';
+import Icons from 'src/components/Icons';
interface DragHandleProps {
position: 'left' | 'top';
- innerRef: LegacyRef | undefined;
- dotCount: number;
+ innerRef?: LegacyRef | undefined;
}
+const DragHandleContainer = styled.div<{ position: 'left' | 'top' }>`
+ ${({ theme, position }) => css`
+ height: ${theme.gridUnit * 5}px;
+ overflow: hidden;
+ cursor: move;
+ ${position === 'top' &&
+ css`
+ transform: rotate(90deg);
+ `}
+ & path {
+ fill: ${theme.colors.grayscale.base};
+ }
+ `}
+`;
export default function DragHandle({
position = 'left',
innerRef = null,
- dotCount = 8,
}: DragHandleProps) {
return (
-
- {Array(dotCount)
- .fill(null)
- .map((_, i) => (
-
- ))}
-
+
+
+
);
}
diff --git a/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/FilterSetUnit.tsx b/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/FilterSetUnit.tsx
index 2c21dc6afe01f..53ea1c94c5289 100644
--- a/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/FilterSetUnit.tsx
+++ b/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/FilterSetUnit.tsx
@@ -24,7 +24,7 @@ import {
FilterSet,
HandlerFunction,
styled,
- supersetTheme,
+ useTheme,
t,
} from '@superset-ui/core';
import { CheckOutlined, EllipsisOutlined } from '@ant-design/icons';
@@ -76,6 +76,8 @@ const FilterSetUnit: FC = ({
isApplied,
onRebuild,
}) => {
+ const theme = useTheme();
+
const menu = (
{t('Edit')}
@@ -105,9 +107,7 @@ const FilterSetUnit: FC = ({
{isApplied && (
-
+
)}
{onDelete && (
= ({
drag(drop(ref));
return (
-
+
{children}
);
diff --git a/superset-frontend/src/dashboard/stylesheets/dnd.less b/superset-frontend/src/dashboard/stylesheets/dnd.less
index 59293407a9a2c..2465c6fac0661 100644
--- a/superset-frontend/src/dashboard/stylesheets/dnd.less
+++ b/superset-frontend/src/dashboard/stylesheets/dnd.less
@@ -91,33 +91,6 @@
min-height: 16px;
}
-/* drag handles */
-.drag-handle {
- overflow: hidden;
- width: 16px;
- cursor: move;
-}
-
-.drag-handle--left {
- width: 8px;
-}
-
-.drag-handle-dot {
- float: left;
- height: 2px;
- margin: 1px;
- width: 2px;
-
- &:after {
- content: '';
- background: @gray;
- float: left;
- height: 2px;
- margin: -1px;
- width: 2px;
- }
-}
-
/* empty drop targets */
.dashboard-component-tabs-content {
& > .empty-droptarget {
diff --git a/superset-frontend/src/explore/components/DatasourcePanel/DatasourcePanelDragOption/index.tsx b/superset-frontend/src/explore/components/DatasourcePanel/DatasourcePanelDragOption/index.tsx
index 518f7ebabc8be..613a58e15d6d3 100644
--- a/superset-frontend/src/explore/components/DatasourcePanel/DatasourcePanelDragOption/index.tsx
+++ b/superset-frontend/src/explore/components/DatasourcePanel/DatasourcePanelDragOption/index.tsx
@@ -18,29 +18,36 @@
*/
import React from 'react';
import { useDrag } from 'react-dnd';
-import { Metric, styled } from '@superset-ui/core';
+import { css, Metric, styled } from '@superset-ui/core';
+import { ColumnMeta } from '@superset-ui/chart-controls';
import { DndItemType } from 'src/explore/components/DndItemType';
import {
StyledColumnOption,
StyledMetricOption,
} from 'src/explore/components/optionRenderers';
-import { ColumnMeta } from '@superset-ui/chart-controls';
+import Icons from 'src/components/Icons';
+
import { DatasourcePanelDndItem } from '../types';
const DatasourceItemContainer = styled.div`
- display: flex;
- align-items: center;
- width: 100%;
- height: ${({ theme }) => theme.gridUnit * 6}px;
- cursor: pointer;
-
- > div {
+ ${({ theme }) => css`
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
width: 100%;
- }
+ height: ${theme.gridUnit * 6}px;
+ padding: 0 ${theme.gridUnit}px;
+
+ // hack to make the drag preview image corners rounded
+ transform: translate(0, 0);
+ background-color: inherit;
+ border-radius: 4px;
- :hover {
- background-color: ${({ theme }) => theme.colors.grayscale.light2};
- }
+ > div {
+ min-width: 0;
+ margin-right: ${theme.gridUnit * 2}px;
+ }
+ `}
`;
interface DatasourcePanelDragOptionProps extends DatasourcePanelDndItem {
@@ -79,6 +86,7 @@ export default function DatasourcePanelDragOption(
) : (
)}
+
);
}
diff --git a/superset-frontend/src/explore/components/DatasourcePanel/index.tsx b/superset-frontend/src/explore/components/DatasourcePanel/index.tsx
index 04378cb9985be..ebed661be9e46 100644
--- a/superset-frontend/src/explore/components/DatasourcePanel/index.tsx
+++ b/superset-frontend/src/explore/components/DatasourcePanel/index.tsx
@@ -17,6 +17,7 @@
* under the License.
*/
import React, { useEffect, useMemo, useRef, useState } from 'react';
+import { css, styled, t } from '@superset-ui/core';
import {
ControlConfig,
DatasourceMeta,
@@ -24,7 +25,6 @@ import {
} from '@superset-ui/chart-controls';
import { debounce } from 'lodash';
import { matchSorter, rankings } from 'match-sorter';
-import { css, styled, t } from '@superset-ui/core';
import Collapse from 'src/components/Collapse';
import { Input } from 'src/components/Input';
import { FAST_DEBOUNCE } from 'src/constants';
@@ -49,6 +49,10 @@ export interface Props {
shouldForceUpdate?: number;
}
+const enableExploreDnd = isFeatureEnabled(
+ FeatureFlag.ENABLE_EXPLORE_DRAG_AND_DROP,
+);
+
const Button = styled.button`
background: none;
border: none;
@@ -63,7 +67,7 @@ const ButtonContainer = styled.div`
const DatasourceContainer = styled.div`
${({ theme }) => css`
- background-color: ${theme.colors.grayscale.light4};
+ background-color: ${theme.colors.grayscale.light5};
position: relative;
height: 100%;
display: flex;
@@ -97,26 +101,55 @@ const DatasourceContainer = styled.div`
`;
const LabelWrapper = styled.div`
- overflow: hidden;
- text-overflow: ellipsis;
+ ${({ theme }) => css`
+ overflow: hidden;
+ text-overflow: ellipsis;
+ font-size: ${theme.typography.sizes.s}px;
+ background-color: ${theme.colors.grayscale.light4};
+ margin: ${theme.gridUnit * 2}px 0;
+ border-radius: 4px;
+ padding: 0 ${theme.gridUnit}px;
- & > span {
- white-space: nowrap;
- }
+ &:first-of-type {
+ margin-top: 0;
+ }
+ &:last-of-type {
+ margin-bottom: 0;
+ }
- .option-label {
- display: inline;
- }
+ ${enableExploreDnd &&
+ css`
+ padding: 0;
+ cursor: pointer;
+ &:hover {
+ background-color: ${theme.colors.grayscale.light3};
+ }
+ `}
- .metric-option {
- & > svg {
- min-width: ${({ theme }) => `${theme.gridUnit * 4}px`};
+ & > span {
+ white-space: nowrap;
}
- & > .option-label {
- overflow: hidden;
- text-overflow: ellipsis;
+
+ .option-label {
+ display: inline;
+ }
+
+ .metric-option {
+ & > svg {
+ min-width: ${theme.gridUnit * 4}px;
+ }
+ & > .option-label {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
}
- }
+ `}
+`;
+
+const SectionHeader = styled.span`
+ ${({ theme }) => css`
+ font-size: ${theme.typography.sizes.s}px;
+ `}
`;
const LabelContainer = (props: {
@@ -134,10 +167,6 @@ const LabelContainer = (props: {
);
};
-const enableExploreDnd = isFeatureEnabled(
- FeatureFlag.ENABLE_EXPLORE_DRAG_AND_DROP,
-);
-
export default function DataSourcePanel({
datasource,
controls: { datasource: datasourceControl },
@@ -273,13 +302,12 @@ export default function DataSourcePanel({
/>
{t('Metrics')}}
+ header={{t('Metrics')} }
key="metrics"
>
@@ -315,7 +343,7 @@ export default function DataSourcePanel({
)}
{t('Columns')}}
+ header={{t('Columns')} }
key="column"
>
diff --git a/superset-frontend/src/explore/components/ExploreViewContainer/index.jsx b/superset-frontend/src/explore/components/ExploreViewContainer/index.jsx
index eba2fc8ebdeac..527392275c51c 100644
--- a/superset-frontend/src/explore/components/ExploreViewContainer/index.jsx
+++ b/superset-frontend/src/explore/components/ExploreViewContainer/index.jsx
@@ -101,7 +101,7 @@ const Styles = styled.div`
max-height: 100%;
}
.data-source-selection {
- background-color: ${({ theme }) => theme.colors.grayscale.light4};
+ background-color: ${({ theme }) => theme.colors.grayscale.light5};
padding: ${({ theme }) => 2 * theme.gridUnit}px 0;
border-right: 1px solid ${({ theme }) => theme.colors.grayscale.light2};
}
diff --git a/superset-frontend/src/explore/components/PropertiesModal/index.tsx b/superset-frontend/src/explore/components/PropertiesModal/index.tsx
index 484ae7d9abbfc..7fa4ef4580ec1 100644
--- a/superset-frontend/src/explore/components/PropertiesModal/index.tsx
+++ b/superset-frontend/src/explore/components/PropertiesModal/index.tsx
@@ -204,7 +204,14 @@ function PropertiesModal({
buttonSize="small"
buttonStyle="primary"
onClick={form.submit}
- disabled={submitting || !name}
+ disabled={submitting || !name || slice.is_managed_externally}
+ tooltip={
+ slice.is_managed_externally
+ ? t(
+ "This chart is managed externally, and can't be edited in Superset",
+ )
+ : ''
+ }
cta
>
{t('Save')}
diff --git a/superset-frontend/src/explore/components/SaveModal.tsx b/superset-frontend/src/explore/components/SaveModal.tsx
index b5c47145e0c97..9c3e01eba072b 100644
--- a/superset-frontend/src/explore/components/SaveModal.tsx
+++ b/superset-frontend/src/explore/components/SaveModal.tsx
@@ -79,7 +79,10 @@ class SaveModal extends React.Component
{
}
canOverwriteSlice(): boolean {
- return this.props.slice?.owners?.includes(this.props.userId);
+ return (
+ this.props.slice?.owners?.includes(this.props.userId) &&
+ !this.props.slice?.is_managed_externally
+ );
}
componentDidMount() {
diff --git a/superset-frontend/src/explore/components/controls/DatasourceControl/DatasourceControl.test.jsx b/superset-frontend/src/explore/components/controls/DatasourceControl/DatasourceControl.test.jsx
index 4248e8634cc9e..73c2777663a19 100644
--- a/superset-frontend/src/explore/components/controls/DatasourceControl/DatasourceControl.test.jsx
+++ b/superset-frontend/src/explore/components/controls/DatasourceControl/DatasourceControl.test.jsx
@@ -19,7 +19,8 @@
import React from 'react';
import sinon from 'sinon';
import configureStore from 'redux-mock-store';
-import { shallow } from 'enzyme';
+import { mount, shallow } from 'enzyme';
+import { supersetTheme, ThemeProvider } from '@superset-ui/core';
import { Menu } from 'src/components/Menu';
import {
DatasourceModal,
@@ -60,8 +61,10 @@ describe('DatasourceControl', () => {
...defaultProps,
...overrideProps,
};
- return shallow( , {
+ return mount( , {
context: { store },
+ wrappingComponent: ThemeProvider,
+ wrappingComponentProps: { theme: supersetTheme },
});
}
@@ -80,7 +83,7 @@ describe('DatasourceControl', () => {
expect(wrapper.find('[data-test="datasource-menu"]')).toExist();
let menuWrapper = shallow(
- {wrapper.find('[data-test="datasource-menu"]').prop('overlay')}
+ {wrapper.find('[data-test="datasource-menu"]').first().prop('overlay')}
,
);
expect(menuWrapper.find(Menu.Item)).toHaveLength(3);
@@ -91,7 +94,7 @@ describe('DatasourceControl', () => {
expect(wrapper.find('[data-test="datasource-menu"]')).toExist();
menuWrapper = shallow(
- {wrapper.find('[data-test="datasource-menu"]').prop('overlay')}
+ {wrapper.find('[data-test="datasource-menu"]').first().prop('overlay')}
,
);
expect(menuWrapper.find(Menu.Item)).toHaveLength(2);
@@ -113,7 +116,7 @@ describe('DatasourceControl', () => {
expect(wrapper.find('[data-test="datasource-menu"]')).toExist();
menuWrapper = shallow(
- {wrapper.find('[data-test="datasource-menu"]').prop('overlay')}
+ {wrapper.find('[data-test="datasource-menu"]').first().prop('overlay')}
,
);
expect(menuWrapper.find(Menu.Item)).toHaveLength(2);
diff --git a/superset-frontend/src/explore/components/controls/DatasourceControl/DatasourceControl.test.tsx b/superset-frontend/src/explore/components/controls/DatasourceControl/DatasourceControl.test.tsx
index 43ac29b2c7a05..f4f66ef43ead8 100644
--- a/superset-frontend/src/explore/components/controls/DatasourceControl/DatasourceControl.test.tsx
+++ b/superset-frontend/src/explore/components/controls/DatasourceControl/DatasourceControl.test.tsx
@@ -33,6 +33,7 @@ const createProps = () => ({
default: null,
description: null,
value: '25__table',
+ form_data: {},
datasource: {
id: 25,
database: {
diff --git a/superset-frontend/src/explore/components/controls/DatasourceControl/index.jsx b/superset-frontend/src/explore/components/controls/DatasourceControl/index.jsx
index 35004e43cbf0a..f7cda8b752504 100644
--- a/superset-frontend/src/explore/components/controls/DatasourceControl/index.jsx
+++ b/superset-frontend/src/explore/components/controls/DatasourceControl/index.jsx
@@ -19,7 +19,7 @@
*/
import React from 'react';
import PropTypes from 'prop-types';
-import { t, styled, supersetTheme } from '@superset-ui/core';
+import { t, styled, withTheme } from '@superset-ui/core';
import { getUrlParam } from 'src/utils/urlUtils';
import { AntdDropdown } from 'src/components';
@@ -183,7 +183,7 @@ class DatasourceControl extends React.PureComponent {
render() {
const { showChangeDatasourceModal, showEditDatasourceModal } = this.state;
- const { datasource, onChange } = this.props;
+ const { datasource, onChange, theme } = this.props;
const isMissingDatasource = datasource.id == null;
let isMissingParams = false;
if (isMissingDatasource) {
@@ -235,7 +235,7 @@ class DatasourceControl extends React.PureComponent {
)}
{healthCheckMessage && (
-
+
)}
{extra?.warning_markdown && (
@@ -325,4 +325,4 @@ class DatasourceControl extends React.PureComponent {
DatasourceControl.propTypes = propTypes;
DatasourceControl.defaultProps = defaultProps;
-export default DatasourceControl;
+export default withTheme(DatasourceControl);
diff --git a/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSimpleTabContent/index.tsx b/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSimpleTabContent/index.tsx
index 58b1b25081f2a..4c521d8aad451 100644
--- a/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSimpleTabContent/index.tsx
+++ b/superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSimpleTabContent/index.tsx
@@ -406,11 +406,15 @@ const AdhocFilterEditPopoverSimpleTabContent: React.FC = props => {
{...operatorSelectProps}
/>
{MULTI_OPERATORS.has(operatorId) || suggestions.length > 0 ? (
-
+ // We need to delay rendering the select because we can't pass a primitive value without options
+ // We can't pass value = [null] and options=[]
+ comparatorSelectProps.value && suggestions.length === 0 ? null : (
+
+ )
) : (
{
it('renders a StyledColumnOption given a column', () => {
- const wrapper = shallow(
- ,
- );
- expect(wrapper.find(StyledColumnOption)).toExist();
+ render( );
+ expect(screen.getByText('a_column')).toBeVisible();
});
it('renders a StyledColumnOption given an adhoc metric', () => {
- const wrapper = shallow(
- ,
- );
- expect(wrapper.find(StyledColumnOption)).toExist();
+ render( );
+ expect(screen.getByText('SUM(source)')).toBeVisible();
});
it('renders the metric name given a saved metric', () => {
- const wrapper = mount(
+ render(
,
);
- expect(wrapper.find('.option-label').text()).toBe('my_custom_metric');
+ expect(screen.getByText('my_custom_metric')).toBeVisible();
});
});
diff --git a/superset-frontend/src/explore/components/controls/OptionControls/index.tsx b/superset-frontend/src/explore/components/controls/OptionControls/index.tsx
index 0e68b5d4d0459..b97d197cdc9a5 100644
--- a/superset-frontend/src/explore/components/controls/OptionControls/index.tsx
+++ b/superset-frontend/src/explore/components/controls/OptionControls/index.tsx
@@ -56,7 +56,6 @@ export const Label = styled.div`
padding-left: ${theme.gridUnit}px;
svg {
margin-right: ${theme.gridUnit}px;
- margin-left: ${theme.gridUnit}px;
}
.type-label {
margin-right: ${theme.gridUnit * 2}px;
@@ -306,7 +305,7 @@ export const OptionControlLabel = ({
- {isFunction && }
+ {isFunction && }
{getLabelContent()}
{isExtra && (
diff --git a/superset-frontend/src/explore/controls.jsx b/superset-frontend/src/explore/controls.jsx
index 2abcd9bb8cc84..974a79b9af7d8 100644
--- a/superset-frontend/src/explore/controls.jsx
+++ b/superset-frontend/src/explore/controls.jsx
@@ -75,7 +75,7 @@ export const PRIMARY_COLOR = { r: 0, g: 122, b: 135, a: 1 };
// input choices & options
export const D3_FORMAT_OPTIONS = [
- ['SMART_NUMBER', 'Adaptative formating'],
+ ['SMART_NUMBER', 'Adaptive formatting'],
['~g', 'Original value'],
[',d', ',d (12345.432 => 12,345)'],
['.1s', '.1s (12345.432 => 10k)'],
@@ -98,7 +98,7 @@ export const D3_FORMAT_DOCS =
'D3 format syntax: https://github.com/d3/d3-format';
export const D3_TIME_FORMAT_OPTIONS = [
- ['smart_date', 'Adaptative formating'],
+ ['smart_date', 'Adaptive formatting'],
['%d/%m/%Y', '%d/%m/%Y | 14/01/2019'],
['%m/%d/%Y', '%m/%d/%Y | 01/14/2019'],
['%Y-%m-%d', '%Y-%m-%d | 2019-01-14'],
diff --git a/superset-frontend/src/types/Chart.ts b/superset-frontend/src/types/Chart.ts
index 866cdedf2479d..cf4a64b6baa66 100644
--- a/superset-frontend/src/types/Chart.ts
+++ b/superset-frontend/src/types/Chart.ts
@@ -43,6 +43,7 @@ export interface Chart {
form_data: {
viz_type: string;
};
+ is_managed_externally: boolean;
}
export type Slice = {
@@ -55,6 +56,7 @@ export type Slice = {
certification_details?: string;
form_data?: QueryFormData;
query_context?: object;
+ is_managed_externally: boolean;
};
export default Chart;
diff --git a/superset-frontend/src/views/CRUD/alert/components/AlertStatusIcon.tsx b/superset-frontend/src/views/CRUD/alert/components/AlertStatusIcon.tsx
index 048a12f35e5e5..dca3563b63fbe 100644
--- a/superset-frontend/src/views/CRUD/alert/components/AlertStatusIcon.tsx
+++ b/superset-frontend/src/views/CRUD/alert/components/AlertStatusIcon.tsx
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-import { t, supersetTheme, useTheme } from '@superset-ui/core';
+import { t, SupersetTheme, useTheme } from '@superset-ui/core';
import React from 'react';
import { Tooltip } from 'src/components/Tooltip';
import Icons from 'src/components/Icons';
@@ -25,7 +25,7 @@ import { AlertState } from '../types';
function getStatusColor(
status: string,
isReportEnabled: boolean,
- theme: typeof supersetTheme,
+ theme: SupersetTheme,
) {
switch (status) {
case AlertState.Working:
diff --git a/superset-frontend/src/views/CRUD/chart/types.ts b/superset-frontend/src/views/CRUD/chart/types.ts
index 209d009fd3b28..e16b42a23f185 100644
--- a/superset-frontend/src/views/CRUD/chart/types.ts
+++ b/superset-frontend/src/views/CRUD/chart/types.ts
@@ -24,4 +24,5 @@ export type ChartObject = {
cache_timeout?: number;
datasource_id?: number;
datasource_type?: number;
+ is_managed_externally: boolean;
};
diff --git a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
index 81ae065b23de7..a92d6f6440eda 100644
--- a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
@@ -348,6 +348,7 @@ function dbReducer(
} as DatabaseObject['extra_json'];
deserializeExtraJSON = {
+ ...deserializeExtraJSON,
...JSON.parse(action.payload.extra || ''),
metadata_params: JSON.stringify(extra_json?.metadata_params),
engine_params: JSON.stringify(extra_json?.engine_params),
@@ -816,12 +817,24 @@ const DatabaseModal: FunctionComponent = ({
return [];
};
- const renderEditModalFooter = () => (
+ const renderEditModalFooter = (db: Partial | null) => (
<>
{t('Close')}
-
+
{t('Finish')}
>
@@ -1032,7 +1045,7 @@ const DatabaseModal: FunctionComponent = ({
title={
{isEditMode ? t('Edit database') : t('Connect a database')}
}
- footer={isEditMode ? renderEditModalFooter() : renderModalFooter()}
+ footer={isEditMode ? renderEditModalFooter(db) : renderModalFooter()}
>
diff --git a/superset-frontend/src/views/CRUD/data/database/types.ts b/superset-frontend/src/views/CRUD/data/database/types.ts
index c03891689e90b..f8e1a7806e316 100644
--- a/superset-frontend/src/views/CRUD/data/database/types.ts
+++ b/superset-frontend/src/views/CRUD/data/database/types.ts
@@ -95,6 +95,9 @@ export type DatabaseObject = {
disable_data_preview?: boolean; // in SQL Lab
};
+ // External management
+ is_managed_externally: boolean;
+
// Temporary storage
catalog?: Array;
query_input?: string;
diff --git a/superset-frontend/src/views/CRUD/data/dataset/types.ts b/superset-frontend/src/views/CRUD/data/dataset/types.ts
index f8fdc7bdcde73..97d6f5a28048b 100644
--- a/superset-frontend/src/views/CRUD/data/dataset/types.ts
+++ b/superset-frontend/src/views/CRUD/data/dataset/types.ts
@@ -59,4 +59,5 @@ export type DatasetObject = {
columns: ColumnObject[];
metrics: MetricObject[];
extra?: string;
+ is_managed_externally: boolean;
};
diff --git a/superset-frontend/src/views/CRUD/hooks.ts b/superset-frontend/src/views/CRUD/hooks.ts
index ae58aef0d9e0f..b0ca13d96a2d6 100644
--- a/superset-frontend/src/views/CRUD/hooks.ts
+++ b/superset-frontend/src/views/CRUD/hooks.ts
@@ -566,6 +566,7 @@ export const useChartEditModal = (
cache_timeout: chart.cache_timeout,
certified_by: chart.certified_by,
certification_details: chart.certification_details,
+ is_managed_externally: chart.is_managed_externally,
});
}
diff --git a/superset-frontend/tools/eslint-plugin-theme-colors/colors.js b/superset-frontend/tools/eslint-plugin-theme-colors/colors.js
new file mode 100644
index 0000000000000..7c4d3a1a5d25c
--- /dev/null
+++ b/superset-frontend/tools/eslint-plugin-theme-colors/colors.js
@@ -0,0 +1,172 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+// https://www.w3.org/wiki/CSS/Properties/color/keywords
+module.exports = [
+ 'black',
+ 'silver',
+ 'gray',
+ 'grey',
+ 'white',
+ 'maroon',
+ 'red',
+ 'purple',
+ 'fuchsia',
+ 'green',
+ 'lime',
+ 'olive',
+ 'yellow',
+ 'navy',
+ 'blue',
+ 'teal',
+ 'aqua',
+ 'aliceblue',
+ 'antiquewhite',
+ 'aquamarine',
+ 'azure',
+ 'beige',
+ 'bisque',
+ 'blanchedalmond',
+ 'blueviolet',
+ 'brown',
+ 'burlywood',
+ 'cadetblue',
+ 'chartreuse',
+ 'chocolate',
+ 'coral',
+ 'cornflowerblue',
+ 'cornsilk',
+ 'crimson',
+ 'cyan',
+ 'darkblue',
+ 'darkcyan',
+ 'darkgoldenrod',
+ 'darkgray',
+ 'darkgreen',
+ 'darkgrey',
+ 'darkkhaki',
+ 'darkmagenta',
+ 'darkolivegreen',
+ 'darkorange',
+ 'darkorchid',
+ 'darkred',
+ 'darksalmon',
+ 'darkseagreen',
+ 'darkslateblue',
+ 'darkslategray',
+ 'darkslategrey',
+ 'darkturquoise',
+ 'darkviolet',
+ 'deeppink',
+ 'deepskyblue',
+ 'dimgray',
+ 'dimgrey',
+ 'dodgerblue',
+ 'firebrick',
+ 'floralwhite',
+ 'forestgreen',
+ 'fuchsia',
+ 'gainsboro',
+ 'ghostwhite',
+ 'gold',
+ 'goldenrod',
+ 'greenyellow',
+ 'honeydew',
+ 'hotpink',
+ 'indianred',
+ 'indigo',
+ 'ivory',
+ 'khaki',
+ 'lavender',
+ 'lavenderblush',
+ 'lawngreen',
+ 'lemonchiffon',
+ 'lightblue',
+ 'lightcoral',
+ 'lightcyan',
+ 'lightgoldenrodyellow',
+ 'lightgray',
+ 'lightgreen',
+ 'lightgrey',
+ 'lightpink',
+ 'lightsalmon',
+ 'lightseagreen',
+ 'lightskyblue',
+ 'lightslategray',
+ 'lightslategrey',
+ 'lightsteelblue',
+ 'lightyellow',
+ 'limegreen',
+ 'linen',
+ 'magenta',
+ 'maroon',
+ 'mediumaquamarine',
+ 'mediumblue',
+ 'mediumorchid',
+ 'mediumpurple',
+ 'mediumseagreen',
+ 'mediumslateblue',
+ 'mediumspringgreen',
+ 'mediumturquoise',
+ 'mediumvioletred',
+ 'midnightblue',
+ 'mintcream',
+ 'mistyrose',
+ 'moccasin',
+ 'navajowhite',
+ 'oldlace',
+ 'olivedrab',
+ 'orange',
+ 'orangered',
+ 'orchid',
+ 'palegoldenrod',
+ 'palegreen',
+ 'paleturquoise',
+ 'palevioletred',
+ 'papayawhip',
+ 'peachpuff',
+ 'peru',
+ 'pink',
+ 'plum',
+ 'powderblue',
+ 'rosybrown',
+ 'royalblue',
+ 'saddlebrown',
+ 'salmon',
+ 'sandybrown',
+ 'seagreen',
+ 'seashell',
+ 'sienna',
+ 'skyblue',
+ 'slateblue',
+ 'slategray',
+ 'slategrey',
+ 'snow',
+ 'springgreen',
+ 'steelblue',
+ 'tan',
+ 'teal',
+ 'thistle',
+ 'tomato',
+ 'turquoise',
+ 'violet',
+ 'wheat',
+ 'whitesmoke',
+ 'yellowgreen',
+];
diff --git a/superset-frontend/tools/eslint-plugin-theme-colors/index.js b/superset-frontend/tools/eslint-plugin-theme-colors/index.js
new file mode 100644
index 0000000000000..ce0d492a1ce5f
--- /dev/null
+++ b/superset-frontend/tools/eslint-plugin-theme-colors/index.js
@@ -0,0 +1,114 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @fileoverview Rule to warn about literal colors
+ * @author Apache
+ */
+
+const COLOR_KEYWORDS = require('./colors');
+
+function hasHexColor(quasi) {
+ if (typeof quasi === 'string') {
+ const regex = /#([a-f0-9]{3}|[a-f0-9]{4}(?:[a-f0-9]{2}){0,2})\b/gi;
+ return !!quasi.match(regex);
+ }
+ return false;
+}
+
+function hasRgbColor(quasi) {
+ if (typeof quasi === 'string') {
+ const regex = /rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)/i;
+ return !!quasi.match(regex);
+ }
+ return false;
+}
+
+function hasLiteralColor(quasi, strict = false) {
+ if (typeof quasi === 'string') {
+ // matches literal colors at the start or end of a CSS prop
+ return COLOR_KEYWORDS.some(color => {
+ const regexColon = new RegExp(`: ${color}`);
+ const regexSemicolon = new RegExp(` ${color};`);
+ return (
+ !!quasi.match(regexColon) ||
+ !!quasi.match(regexSemicolon) ||
+ (strict && quasi === color)
+ );
+ });
+ }
+ return false;
+}
+
+const WARNING_MESSAGE =
+ 'Theme color variables are preferred over rgb(a)/hex/literal colors';
+
+//------------------------------------------------------------------------------
+// Rule Definition
+//------------------------------------------------------------------------------
+
+/** @type {import('eslint').Rule.RuleModule} */
+module.exports = {
+ rules: {
+ 'no-literal-colors': {
+ create(context) {
+ const warned = [];
+ return {
+ TemplateElement(node) {
+ const rawValue = node?.value?.raw;
+ const isParentProperty =
+ node?.parent?.parent?.type === 'TaggedTemplateExpression';
+ const loc = node?.parent?.parent?.loc;
+ const locId = loc && JSON.stringify(loc);
+ const hasWarned = warned.includes(locId);
+ if (
+ !hasWarned &&
+ isParentProperty &&
+ rawValue &&
+ (hasLiteralColor(rawValue) ||
+ hasHexColor(rawValue) ||
+ hasRgbColor(rawValue))
+ ) {
+ context.report(node, loc, WARNING_MESSAGE);
+ warned.push(locId);
+ }
+ },
+ Literal(node) {
+ const value = node?.value;
+ const isParentProperty = node?.parent?.type === 'Property';
+ const locId = JSON.stringify(node.loc);
+ const hasWarned = warned.includes(locId);
+
+ if (
+ !hasWarned &&
+ isParentProperty &&
+ value &&
+ (hasLiteralColor(value, true) ||
+ hasHexColor(value) ||
+ hasRgbColor(value))
+ ) {
+ context.report(node, node.loc, WARNING_MESSAGE);
+ warned.push(locId);
+ }
+ },
+ };
+ },
+ },
+ },
+};
diff --git a/superset-frontend/tools/eslint-plugin-theme-colors/package.json b/superset-frontend/tools/eslint-plugin-theme-colors/package.json
new file mode 100644
index 0000000000000..6832811e8a386
--- /dev/null
+++ b/superset-frontend/tools/eslint-plugin-theme-colors/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "eslint-plugin-theme-colors",
+ "version": "1.0.0",
+ "description": "Warns about rgb(a)/hex/literal colors",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "keywords": [],
+ "license": "Apache-2.0",
+ "author": "Apache",
+ "dependencies": {},
+ "engines": {
+ "node": "^16.9.1",
+ "npm": "^7.5.4"
+ }
+}
diff --git a/superset-frontend/tsconfig.json b/superset-frontend/tsconfig.json
index a040843986bae..818147ca7cc87 100644
--- a/superset-frontend/tsconfig.json
+++ b/superset-frontend/tsconfig.json
@@ -72,6 +72,7 @@
"./packages/*/types/**/*",
"./plugins/*/src/**/*",
"./plugins/*/types/**/*",
- "./packages/*/test/**/*"
+ "./packages/*/test/**/*",
+ "./plugins/*/test/**/*"
]
}
diff --git a/superset-frontend/webpack.config.js b/superset-frontend/webpack.config.js
index 6b3c4e30a8b13..c2c818dbeadd0 100644
--- a/superset-frontend/webpack.config.js
+++ b/superset-frontend/webpack.config.js
@@ -414,6 +414,7 @@ const config = {
svgoConfig: {
plugins: {
removeViewBox: false,
+ icon: true,
},
},
},
diff --git a/superset/annotation_layers/annotations/commands/update.py b/superset/annotation_layers/annotations/commands/update.py
index ccf11b6536582..9e3012acb69bf 100644
--- a/superset/annotation_layers/annotations/commands/update.py
+++ b/superset/annotation_layers/annotations/commands/update.py
@@ -73,7 +73,9 @@ def validate(self) -> None:
# Validate short descr uniqueness on this layer
if not AnnotationDAO.validate_update_uniqueness(
- layer_id, short_descr, annotation_id=self._model_id,
+ layer_id,
+ short_descr,
+ annotation_id=self._model_id,
):
exceptions.append(AnnotationUniquenessValidationError())
else:
diff --git a/superset/annotation_layers/annotations/schemas.py b/superset/annotation_layers/annotations/schemas.py
index fd03b14f51b4f..5e0bac56f73e0 100644
--- a/superset/annotation_layers/annotations/schemas.py
+++ b/superset/annotation_layers/annotations/schemas.py
@@ -64,13 +64,17 @@ class AnnotationPostSchema(Schema):
)
long_descr = fields.String(description=annotation_long_descr, allow_none=True)
start_dttm = fields.DateTime(
- description=annotation_start_dttm, required=True, allow_none=False,
+ description=annotation_start_dttm,
+ required=True,
+ allow_none=False,
)
end_dttm = fields.DateTime(
description=annotation_end_dttm, required=True, allow_none=False
)
json_metadata = fields.String(
- description=annotation_json_metadata, validate=validate_json, allow_none=True,
+ description=annotation_json_metadata,
+ validate=validate_json,
+ allow_none=True,
)
diff --git a/superset/cachekeys/api.py b/superset/cachekeys/api.py
index ff19f3a0fe834..6eb0d54d9eef0 100644
--- a/superset/cachekeys/api.py
+++ b/superset/cachekeys/api.py
@@ -110,8 +110,10 @@ def invalidate(self) -> Response:
)
try:
- delete_stmt = CacheKey.__table__.delete().where( # pylint: disable=no-member
- CacheKey.cache_key.in_(cache_keys)
+ delete_stmt = (
+ CacheKey.__table__.delete().where( # pylint: disable=no-member
+ CacheKey.cache_key.in_(cache_keys)
+ )
)
db.session.execute(delete_stmt)
db.session.commit()
diff --git a/superset/cachekeys/schemas.py b/superset/cachekeys/schemas.py
index a97aebdf2c66d..a44a7c545add4 100644
--- a/superset/cachekeys/schemas.py
+++ b/superset/cachekeys/schemas.py
@@ -25,9 +25,15 @@
class Datasource(Schema):
- database_name = fields.String(description="Datasource name",)
- datasource_name = fields.String(description=datasource_name_description,)
- schema = fields.String(description="Datasource schema",)
+ database_name = fields.String(
+ description="Datasource name",
+ )
+ datasource_name = fields.String(
+ description=datasource_name_description,
+ )
+ schema = fields.String(
+ description="Datasource schema",
+ )
datasource_type = fields.String(
description=datasource_type_description,
validate=validate.OneOf(choices=("druid", "table", "view")),
@@ -37,7 +43,8 @@ class Datasource(Schema):
class CacheInvalidationRequestSchema(Schema):
datasource_uids = fields.List(
- fields.String(), description=datasource_uid_description,
+ fields.String(),
+ description=datasource_uid_description,
)
datasources = fields.List(
fields.Nested(Datasource),
diff --git a/superset/charts/api.py b/superset/charts/api.py
index df36a203ea0b6..260ae4442c75c 100644
--- a/superset/charts/api.py
+++ b/superset/charts/api.py
@@ -125,9 +125,11 @@ def ensure_thumbnails_enabled(self) -> Optional[Response]:
"slice_name",
"viz_type",
"query_context",
+ "is_managed_externally",
]
show_select_columns = show_columns + ["table.id"]
list_columns = [
+ "is_managed_externally",
"certified_by",
"certification_details",
"cache_timeout",
diff --git a/superset/charts/schemas.py b/superset/charts/schemas.py
index 27ea165919d5b..2a967eda27f9d 100644
--- a/superset/charts/schemas.py
+++ b/superset/charts/schemas.py
@@ -209,6 +209,8 @@ class ChartPostSchema(Schema):
certification_details = fields.String(
description=certification_details_description, allow_none=True
)
+ is_managed_externally = fields.Boolean(allow_none=True, default=False)
+ external_url = fields.String(allow_none=True)
class ChartPutSchema(Schema):
@@ -250,6 +252,8 @@ class ChartPutSchema(Schema):
certification_details = fields.String(
description=certification_details_description, allow_none=True
)
+ is_managed_externally = fields.Boolean(allow_none=True, default=False)
+ external_url = fields.String(allow_none=True)
class ChartGetDatasourceObjectDataResponseSchema(Schema):
@@ -275,7 +279,8 @@ class ChartCacheScreenshotResponseSchema(Schema):
class ChartDataColumnSchema(Schema):
column_name = fields.String(
- description="The name of the target column", example="mycol",
+ description="The name of the target column",
+ example="mycol",
)
type = fields.String(description="Type of target column", example="BIGINT")
@@ -321,7 +326,8 @@ class ChartDataAdhocMetricSchema(Schema):
example="metric_aec60732-fac0-4b17-b736-93f1a5c93e30",
)
timeGrain = fields.String(
- description="Optional time grain for temporal filters", example="PT1M",
+ description="Optional time grain for temporal filters",
+ example="PT1M",
)
isExtra = fields.Boolean(
description="Indicates if the filter has been added by a filter component as "
@@ -366,7 +372,8 @@ class ChartDataAggregateOptionsSchema(ChartDataPostProcessingOperationOptionsSch
groupby = (
fields.List(
fields.String(
- allow_none=False, description="Columns by which to group by",
+ allow_none=False,
+ description="Columns by which to group by",
),
minLength=1,
required=True,
@@ -421,7 +428,9 @@ class ChartDataRollingOptionsSchema(ChartDataPostProcessingOperationOptionsSchem
example="percentile",
)
window = fields.Integer(
- description="Size of the rolling window in days.", required=True, example=7,
+ description="Size of the rolling window in days.",
+ required=True,
+ example=7,
)
rolling_type_options = fields.Dict(
desctiption="Optional options to pass to rolling method. Needed for "
@@ -588,7 +597,9 @@ class ChartDataBoxplotOptionsSchema(ChartDataPostProcessingOperationOptionsSchem
"""
groupby = fields.List(
- fields.String(description="Columns by which to group the query.",),
+ fields.String(
+ description="Columns by which to group the query.",
+ ),
allow_none=True,
)
@@ -695,13 +706,16 @@ class ChartDataGeohashDecodeOptionsSchema(
"""
geohash = fields.String(
- description="Name of source column containing geohash string", required=True,
+ description="Name of source column containing geohash string",
+ required=True,
)
latitude = fields.String(
- description="Name of target column for decoded latitude", required=True,
+ description="Name of target column for decoded latitude",
+ required=True,
)
longitude = fields.String(
- description="Name of target column for decoded longitude", required=True,
+ description="Name of target column for decoded longitude",
+ required=True,
)
@@ -713,13 +727,16 @@ class ChartDataGeohashEncodeOptionsSchema(
"""
latitude = fields.String(
- description="Name of source latitude column", required=True,
+ description="Name of source latitude column",
+ required=True,
)
longitude = fields.String(
- description="Name of source longitude column", required=True,
+ description="Name of source longitude column",
+ required=True,
)
geohash = fields.String(
- description="Name of target column for encoded geohash string", required=True,
+ description="Name of target column for encoded geohash string",
+ required=True,
)
@@ -735,10 +752,12 @@ class ChartDataGeodeticParseOptionsSchema(
required=True,
)
latitude = fields.String(
- description="Name of target column for decoded latitude", required=True,
+ description="Name of target column for decoded latitude",
+ required=True,
)
longitude = fields.String(
- description="Name of target column for decoded longitude", required=True,
+ description="Name of target column for decoded longitude",
+ required=True,
)
altitude = fields.String(
description="Name of target column for decoded altitude. If omitted, "
@@ -785,7 +804,10 @@ class ChartDataPostProcessingOperationSchema(Schema):
"column": "age",
"options": {"q": 0.25},
},
- "age_mean": {"operator": "mean", "column": "age",},
+ "age_mean": {
+ "operator": "mean",
+ "column": "age",
+ },
},
},
)
@@ -812,7 +834,8 @@ class ChartDataFilterSchema(Schema):
example=["China", "France", "Japan"],
)
grain = fields.String(
- description="Optional time grain for temporal filters", example="PT1M",
+ description="Optional time grain for temporal filters",
+ example="PT1M",
)
isExtra = fields.Boolean(
description="Indicates if the filter has been added by a filter component as "
@@ -869,7 +892,10 @@ class AnnotationLayerSchema(Schema):
description="Type of annotation layer",
validate=validate.OneOf(choices=[ann.value for ann in AnnotationType]),
)
- color = fields.String(description="Layer color", allow_none=True,)
+ color = fields.String(
+ description="Layer color",
+ allow_none=True,
+ )
descriptionColumns = fields.List(
fields.String(),
description="Columns to use as the description. If none are provided, "
@@ -907,7 +933,8 @@ class AnnotationLayerSchema(Schema):
)
show = fields.Boolean(description="Should the layer be shown", required=True)
showLabel = fields.Boolean(
- description="Should the label always be shown", allow_none=True,
+ description="Should the label always be shown",
+ allow_none=True,
)
showMarkers = fields.Boolean(
description="Should markers be shown. Only applies to line annotations.",
@@ -915,16 +942,34 @@ class AnnotationLayerSchema(Schema):
)
sourceType = fields.String(
description="Type of source for annotation data",
- validate=validate.OneOf(choices=("", "line", "NATIVE", "table",)),
+ validate=validate.OneOf(
+ choices=(
+ "",
+ "line",
+ "NATIVE",
+ "table",
+ )
+ ),
)
style = fields.String(
description="Line style. Only applies to time-series annotations",
- validate=validate.OneOf(choices=("dashed", "dotted", "solid", "longDashed",)),
+ validate=validate.OneOf(
+ choices=(
+ "dashed",
+ "dotted",
+ "solid",
+ "longDashed",
+ )
+ ),
)
timeColumn = fields.String(
- description="Column with event date or interval start date", allow_none=True,
+ description="Column with event date or interval start date",
+ allow_none=True,
+ )
+ titleColumn = fields.String(
+ description="Column with title",
+ allow_none=True,
)
- titleColumn = fields.String(description="Column with title", allow_none=True,)
width = fields.Float(
description="Width of annotation line",
validate=[
@@ -944,7 +989,10 @@ class AnnotationLayerSchema(Schema):
class ChartDataDatasourceSchema(Schema):
description = "Chart datasource"
- id = fields.Integer(description="Datasource id", required=True,)
+ id = fields.Integer(
+ description="Datasource id",
+ required=True,
+ )
type = fields.String(
description="Datasource type",
validate=validate.OneOf(choices=("druid", "table")),
@@ -1035,7 +1083,8 @@ class Meta: # pylint: disable=too-few-public-methods
allow_none=True,
)
is_timeseries = fields.Boolean(
- description="Is the `query_object` a timeseries.", allow_none=True,
+ description="Is the `query_object` a timeseries.",
+ allow_none=True,
)
series_columns = fields.List(
fields.Raw(),
@@ -1080,7 +1129,8 @@ class Meta: # pylint: disable=too-few-public-methods
],
)
order_desc = fields.Boolean(
- description="Reverse order. Default: `false`", allow_none=True,
+ description="Reverse order. Default: `false`",
+ allow_none=True,
)
extras = fields.Nested(
ChartDataExtrasSchema,
@@ -1147,7 +1197,10 @@ class Meta: # pylint: disable=too-few-public-methods
description="Should the rowcount of the actual query be returned",
allow_none=True,
)
- time_offsets = fields.List(fields.String(), allow_none=True,)
+ time_offsets = fields.List(
+ fields.String(),
+ allow_none=True,
+ )
class ChartDataQueryContextSchema(Schema):
@@ -1186,7 +1239,9 @@ class AnnotationDataSchema(Schema):
required=True,
)
records = fields.List(
- fields.Dict(keys=fields.String(),),
+ fields.Dict(
+ keys=fields.String(),
+ ),
description="records mapping the column name to it's value",
required=True,
)
@@ -1202,10 +1257,14 @@ class ChartDataResponseResult(Schema):
allow_none=True,
)
cache_key = fields.String(
- description="Unique cache key for query object", required=True, allow_none=True,
+ description="Unique cache key for query object",
+ required=True,
+ allow_none=True,
)
cached_dttm = fields.String(
- description="Cache timestamp", required=True, allow_none=True,
+ description="Cache timestamp",
+ required=True,
+ allow_none=True,
)
cache_timeout = fields.Integer(
description="Cache timeout in following order: custom timeout, datasource "
@@ -1213,12 +1272,19 @@ class ChartDataResponseResult(Schema):
required=True,
allow_none=True,
)
- error = fields.String(description="Error", allow_none=True,)
+ error = fields.String(
+ description="Error",
+ allow_none=True,
+ )
is_cached = fields.Boolean(
- description="Is the result cached", required=True, allow_none=None,
+ description="Is the result cached",
+ required=True,
+ allow_none=None,
)
query = fields.String(
- description="The executed query statement", required=True, allow_none=False,
+ description="The executed query statement",
+ required=True,
+ allow_none=False,
)
status = fields.String(
description="Status of the query",
@@ -1236,10 +1302,12 @@ class ChartDataResponseResult(Schema):
allow_none=False,
)
stacktrace = fields.String(
- desciption="Stacktrace if there was an error", allow_none=True,
+ desciption="Stacktrace if there was an error",
+ allow_none=True,
)
rowcount = fields.Integer(
- description="Amount of rows in result set", allow_none=False,
+ description="Amount of rows in result set",
+ allow_none=False,
)
data = fields.List(fields.Dict(), description="A list with results")
colnames = fields.List(fields.String(), description="A list of column names")
@@ -1269,13 +1337,24 @@ class ChartDataResponseSchema(Schema):
class ChartDataAsyncResponseSchema(Schema):
channel_id = fields.String(
- description="Unique session async channel ID", allow_none=False,
+ description="Unique session async channel ID",
+ allow_none=False,
+ )
+ job_id = fields.String(
+ description="Unique async job ID",
+ allow_none=False,
+ )
+ user_id = fields.String(
+ description="Requesting user ID",
+ allow_none=True,
+ )
+ status = fields.String(
+ description="Status value for async job",
+ allow_none=False,
)
- job_id = fields.String(description="Unique async job ID", allow_none=False,)
- user_id = fields.String(description="Requesting user ID", allow_none=True,)
- status = fields.String(description="Status value for async job", allow_none=False,)
result_url = fields.String(
- description="Unique result URL for fetching async query data", allow_none=False,
+ description="Unique result URL for fetching async query data",
+ allow_none=False,
)
@@ -1300,6 +1379,8 @@ class ImportV1ChartSchema(Schema):
uuid = fields.UUID(required=True)
version = fields.String(required=True)
dataset_uuid = fields.UUID(required=True)
+ is_managed_externally = fields.Boolean(allow_none=True, default=False)
+ external_url = fields.String(allow_none=True)
CHART_SCHEMAS = (
diff --git a/superset/cli/examples.py b/superset/cli/examples.py
index 97394633ba047..26ed9451f0765 100755
--- a/superset/cli/examples.py
+++ b/superset/cli/examples.py
@@ -93,10 +93,16 @@ def load_examples_run(
@click.option("--load-test-data", "-t", is_flag=True, help="Load additional test data")
@click.option("--load-big-data", "-b", is_flag=True, help="Load additional big data")
@click.option(
- "--only-metadata", "-m", is_flag=True, help="Only load metadata, skip actual data",
+ "--only-metadata",
+ "-m",
+ is_flag=True,
+ help="Only load metadata, skip actual data",
)
@click.option(
- "--force", "-f", is_flag=True, help="Force load data even if table already exists",
+ "--force",
+ "-f",
+ is_flag=True,
+ help="Force load data even if table already exists",
)
def load_examples(
load_test_data: bool,
diff --git a/superset/cli/importexport.py b/superset/cli/importexport.py
index 8ca86939f2065..d6bbeb67fe287 100755
--- a/superset/cli/importexport.py
+++ b/superset/cli/importexport.py
@@ -36,10 +36,16 @@
@click.command()
@click.argument("directory")
@click.option(
- "--overwrite", "-o", is_flag=True, help="Overwriting existing metadata definitions",
+ "--overwrite",
+ "-o",
+ is_flag=True,
+ help="Overwriting existing metadata definitions",
)
@click.option(
- "--force", "-f", is_flag=True, help="Force load data even if table already exists",
+ "--force",
+ "-f",
+ is_flag=True,
+ help="Force load data even if table already exists",
)
def import_directory(directory: str, overwrite: bool, force: bool) -> None:
"""Imports configs from a given directory"""
@@ -47,7 +53,9 @@ def import_directory(directory: str, overwrite: bool, force: bool) -> None:
from superset.examples.utils import load_configs_from_directory
load_configs_from_directory(
- root=Path(directory), overwrite=overwrite, force_data=force,
+ root=Path(directory),
+ overwrite=overwrite,
+ force_data=force,
)
@@ -56,7 +64,9 @@ def import_directory(directory: str, overwrite: bool, force: bool) -> None:
@click.command()
@with_appcontext
@click.option(
- "--dashboard-file", "-f", help="Specify the the file to export to",
+ "--dashboard-file",
+ "-f",
+ help="Specify the the file to export to",
)
def export_dashboards(dashboard_file: Optional[str] = None) -> None:
"""Export dashboards to ZIP file"""
@@ -64,7 +74,9 @@ def export_dashboards(dashboard_file: Optional[str] = None) -> None:
from superset.dashboards.commands.export import ExportDashboardsCommand
from superset.models.dashboard import Dashboard
- g.user = security_manager.find_user(username="admin")
+ g.user = security_manager.find_user( # pylint: disable=assigning-non-slot
+ username="admin"
+ )
dashboard_ids = [id_ for (id_,) in db.session.query(Dashboard.id).all()]
timestamp = datetime.now().strftime("%Y%m%dT%H%M%S")
@@ -88,7 +100,9 @@ def export_dashboards(dashboard_file: Optional[str] = None) -> None:
@click.command()
@with_appcontext
@click.option(
- "--datasource-file", "-f", help="Specify the the file to export to",
+ "--datasource-file",
+ "-f",
+ help="Specify the the file to export to",
)
def export_datasources(datasource_file: Optional[str] = None) -> None:
"""Export datasources to ZIP file"""
@@ -96,7 +110,9 @@ def export_datasources(datasource_file: Optional[str] = None) -> None:
from superset.connectors.sqla.models import SqlaTable
from superset.datasets.commands.export import ExportDatasetsCommand
- g.user = security_manager.find_user(username="admin")
+ g.user = security_manager.find_user( # pylint: disable=assigning-non-slot
+ username="admin"
+ )
dataset_ids = [id_ for (id_,) in db.session.query(SqlaTable.id).all()]
timestamp = datetime.now().strftime("%Y%m%dT%H%M%S")
@@ -118,7 +134,9 @@ def export_datasources(datasource_file: Optional[str] = None) -> None:
@click.command()
@with_appcontext
@click.option(
- "--path", "-p", help="Path to a single ZIP file",
+ "--path",
+ "-p",
+ help="Path to a single ZIP file",
)
@click.option(
"--username",
@@ -135,7 +153,9 @@ def import_dashboards(path: str, username: Optional[str]) -> None:
)
if username is not None:
- g.user = security_manager.find_user(username=username)
+ g.user = security_manager.find_user( # pylint: disable=assigning-non-slot
+ username=username
+ )
if is_zipfile(path):
with ZipFile(path) as bundle:
contents = get_contents_from_bundle(bundle)
@@ -154,7 +174,9 @@ def import_dashboards(path: str, username: Optional[str]) -> None:
@click.command()
@with_appcontext
@click.option(
- "--path", "-p", help="Path to a single ZIP file",
+ "--path",
+ "-p",
+ help="Path to a single ZIP file",
)
def import_datasources(path: str) -> None:
"""Import datasources from ZIP file"""
@@ -179,7 +201,6 @@ def import_datasources(path: str) -> None:
)
sys.exit(1)
-
else:
@click.command()
@@ -299,7 +320,9 @@ def import_dashboards(path: str, recursive: bool, username: str) -> None:
elif path_object.exists() and recursive:
files.extend(path_object.rglob("*.json"))
if username is not None:
- g.user = security_manager.find_user(username=username)
+ g.user = security_manager.find_user( # pylint: disable=assigning-non-slot
+ username=username
+ )
contents = {}
for path_ in files:
with open(path_) as file:
diff --git a/superset/cli/main.py b/superset/cli/main.py
index a1a03e9de26d0..aaad7be42e864 100755
--- a/superset/cli/main.py
+++ b/superset/cli/main.py
@@ -32,7 +32,8 @@
@click.group(
- cls=FlaskGroup, context_settings={"token_normalize_func": normalize_token},
+ cls=FlaskGroup,
+ context_settings={"token_normalize_func": normalize_token},
)
@with_appcontext
def superset() -> None:
diff --git a/superset/cli/test.py b/superset/cli/test.py
index df0142b654094..db065287b008b 100755
--- a/superset/cli/test.py
+++ b/superset/cli/test.py
@@ -15,7 +15,6 @@
# specific language governing permissions and limitations
# under the License.
import logging
-from datetime import datetime, timedelta
import click
from colorama import Fore
@@ -23,7 +22,6 @@
import superset.utils.database as database_utils
from superset import app, security_manager
-from superset.utils.celery import session_scope
logger = logging.getLogger(__name__)
@@ -88,23 +86,3 @@ def load_test_users_run() -> None:
password="general",
)
sm.get_session.commit()
-
-
-@click.command()
-@with_appcontext
-def alert() -> None:
- """Run the alert scheduler loop"""
- # this command is just for testing purposes
- # pylint: disable=import-outside-toplevel
- from superset.models.schedules import ScheduleType
- from superset.tasks.schedules import schedule_window
-
- click.secho("Processing one alert loop", fg="green")
- with session_scope(nullpool=True) as session:
- schedule_window(
- report_type=ScheduleType.alert,
- start_at=datetime.now() - timedelta(1000),
- stop_at=datetime.now(),
- resolution=6000,
- session=session,
- )
diff --git a/superset/cli/thumbnails.py b/superset/cli/thumbnails.py
index 5615d947bf30f..5556cff92f620 100755
--- a/superset/cli/thumbnails.py
+++ b/superset/cli/thumbnails.py
@@ -44,7 +44,11 @@
help="Only process dashboards",
)
@click.option(
- "--charts_only", "-c", is_flag=True, default=False, help="Only process charts",
+ "--charts_only",
+ "-c",
+ is_flag=True,
+ default=False,
+ help="Only process charts",
)
@click.option(
"--force",
diff --git a/superset/cli/update.py b/superset/cli/update.py
index c3a7a2d5a8a24..f7b4edd1269b8 100755
--- a/superset/cli/update.py
+++ b/superset/cli/update.py
@@ -128,7 +128,7 @@ def update_api_docs() -> None:
"""Regenerate the openapi.json file in docs"""
superset_dir = os.path.abspath(os.path.dirname(__file__))
openapi_json = os.path.join(
- superset_dir, "..", "docs", "src", "resources", "openapi.json"
+ superset_dir, "..", "..", "docs", "static", "resources", "openapi.json"
)
api_version = "v1"
@@ -149,6 +149,7 @@ def update_api_docs() -> None:
click.secho("Generating openapi.json", fg="green")
with open(openapi_json, "w") as outfile:
json.dump(api_spec.to_dict(), outfile, sort_keys=True, indent=2)
+ outfile.write("\n")
else:
click.secho("API version not found", err=True)
diff --git a/superset/columns/models.py b/superset/columns/models.py
index 039f73ff57579..fbe045e3d3925 100644
--- a/superset/columns/models.py
+++ b/superset/columns/models.py
@@ -35,7 +35,10 @@
class Column(
- Model, AuditMixinNullable, ExtraJSONMixin, ImportExportMixin,
+ Model,
+ AuditMixinNullable,
+ ExtraJSONMixin,
+ ImportExportMixin,
):
"""
A "column".
diff --git a/superset/commands/base.py b/superset/commands/base.py
index 2592a03fa77e2..552b95feb2e1e 100644
--- a/superset/commands/base.py
+++ b/superset/commands/base.py
@@ -24,7 +24,7 @@
class BaseCommand(ABC):
"""
- Base class for all Command like Superset Logic objects
+ Base class for all Command like Superset Logic objects
"""
@abstractmethod
diff --git a/superset/commands/exceptions.py b/superset/commands/exceptions.py
index 8b4b717f31d72..2a60318b46e05 100644
--- a/superset/commands/exceptions.py
+++ b/superset/commands/exceptions.py
@@ -23,7 +23,7 @@
class CommandException(SupersetException):
- """ Common base class for Command exceptions. """
+ """Common base class for Command exceptions."""
def __repr__(self) -> str:
if self._exception:
@@ -52,7 +52,7 @@ def __init__(
class CommandInvalidError(CommandException):
- """ Common base class for Command Invalid errors. """
+ """Common base class for Command Invalid errors."""
status = 422
diff --git a/superset/commands/importers/v1/utils.py b/superset/commands/importers/v1/utils.py
index de86e3f3cc6ab..3999669356ae9 100644
--- a/superset/commands/importers/v1/utils.py
+++ b/superset/commands/importers/v1/utils.py
@@ -79,7 +79,9 @@ def load_metadata(contents: Dict[str, str]) -> Dict[str, str]:
def validate_metadata_type(
- metadata: Optional[Dict[str, str]], type_: str, exceptions: List[ValidationError],
+ metadata: Optional[Dict[str, str]],
+ type_: str,
+ exceptions: List[ValidationError],
) -> None:
"""Validate that the type declared in METADATA_FILE_NAME is correct"""
if metadata and "type" in metadata:
diff --git a/superset/commands/utils.py b/superset/commands/utils.py
index c68dde3d5a758..f7564b3de7689 100644
--- a/superset/commands/utils.py
+++ b/superset/commands/utils.py
@@ -34,7 +34,9 @@
def populate_owners(
- user: User, owner_ids: Optional[List[int]], default_to_user: bool,
+ user: User,
+ owner_ids: Optional[List[int]],
+ default_to_user: bool,
) -> List[User]:
"""
Helper function for commands, will fetch all users from owners id's
diff --git a/superset/common/query_actions.py b/superset/common/query_actions.py
index 6664db9fe5c1a..2b85125b0e98a 100644
--- a/superset/common/query_actions.py
+++ b/superset/common/query_actions.py
@@ -79,7 +79,9 @@ def _get_timegrains(
def _get_query(
- query_context: "QueryContext", query_obj: "QueryObject", _: bool,
+ query_context: "QueryContext",
+ query_obj: "QueryObject",
+ _: bool,
) -> Dict[str, Any]:
datasource = _get_datasource(query_context, query_obj)
result = {"language": datasource.query_language}
diff --git a/superset/common/query_context.py b/superset/common/query_context.py
index bc906a92c7321..4a91c6ad6db17 100644
--- a/superset/common/query_context.py
+++ b/superset/common/query_context.py
@@ -69,7 +69,7 @@ def __init__(
result_format: ChartDataResultFormat,
force: bool = False,
custom_cache_timeout: Optional[int] = None,
- cache_values: Dict[str, Any]
+ cache_values: Dict[str, Any],
) -> None:
self.datasource = datasource
self.result_type = result_type
@@ -81,11 +81,16 @@ def __init__(
self.cache_values = cache_values
self._processor = QueryContextProcessor(self)
- def get_data(self, df: pd.DataFrame,) -> Union[str, List[Dict[str, Any]]]:
+ def get_data(
+ self,
+ df: pd.DataFrame,
+ ) -> Union[str, List[Dict[str, Any]]]:
return self._processor.get_data(df)
def get_payload(
- self, cache_query_context: Optional[bool] = False, force_cached: bool = False,
+ self,
+ cache_query_context: Optional[bool] = False,
+ force_cached: bool = False,
) -> Dict[str, Any]:
"""Returns the query results with both metadata and data"""
return self._processor.get_payload(cache_query_context, force_cached)
@@ -103,7 +108,9 @@ def query_cache_key(self, query_obj: QueryObject, **kwargs: Any) -> Optional[str
return self._processor.query_cache_key(query_obj, **kwargs)
def get_df_payload(
- self, query_obj: QueryObject, force_cached: Optional[bool] = False,
+ self,
+ query_obj: QueryObject,
+ force_cached: Optional[bool] = False,
) -> Dict[str, Any]:
return self._processor.get_df_payload(query_obj, force_cached)
@@ -111,7 +118,9 @@ def get_query_result(self, query_object: QueryObject) -> QueryResult:
return self._processor.get_query_result(query_object)
def processing_time_offsets(
- self, df: pd.DataFrame, query_object: QueryObject,
+ self,
+ df: pd.DataFrame,
+ query_object: QueryObject,
) -> CachedTimeOffset:
return self._processor.processing_time_offsets(df, query_object)
diff --git a/superset/common/query_context_factory.py b/superset/common/query_context_factory.py
index 50eb6b02f3bea..cb40b9540818c 100644
--- a/superset/common/query_context_factory.py
+++ b/superset/common/query_context_factory.py
@@ -50,7 +50,7 @@ def create(
result_type: Optional[ChartDataResultType] = None,
result_format: Optional[ChartDataResultFormat] = None,
force: bool = False,
- custom_cache_timeout: Optional[int] = None
+ custom_cache_timeout: Optional[int] = None,
) -> QueryContext:
datasource_model_instance = None
if datasource:
diff --git a/superset/common/query_context_processor.py b/superset/common/query_context_processor.py
index 7954f86cdba0c..202088c853ed7 100644
--- a/superset/common/query_context_processor.py
+++ b/superset/common/query_context_processor.py
@@ -99,7 +99,10 @@ def get_df_payload(
"""Handles caching around the df payload retrieval"""
cache_key = self.query_cache_key(query_obj)
cache = QueryCacheManager.get(
- cache_key, CacheRegion.DATA, self._query_context.force, force_cached,
+ cache_key,
+ CacheRegion.DATA,
+ self._query_context.force,
+ force_cached,
)
if query_obj and cache_key and not cache.is_loaded:
@@ -235,7 +238,9 @@ def normalize_df(self, df: pd.DataFrame, query_object: QueryObject) -> pd.DataFr
return df
def processing_time_offsets( # pylint: disable=too-many-locals
- self, df: pd.DataFrame, query_object: QueryObject,
+ self,
+ df: pd.DataFrame,
+ query_object: QueryObject,
) -> CachedTimeOffset:
query_context = self._query_context
# ensure query_object is immutable
@@ -250,7 +255,8 @@ def processing_time_offsets( # pylint: disable=too-many-locals
for offset in time_offsets:
try:
query_object_clone.from_dttm = get_past_or_future(
- offset, outer_from_dttm,
+ offset,
+ outer_from_dttm,
)
query_object_clone.to_dttm = get_past_or_future(offset, outer_to_dttm)
except ValueError as ex:
@@ -322,7 +328,9 @@ def processing_time_offsets( # pylint: disable=too-many-locals
# df left join `offset_metrics_df`
offset_df = df_utils.left_join_df(
- left_df=df, right_df=offset_metrics_df, join_keys=join_keys,
+ left_df=df,
+ right_df=offset_metrics_df,
+ join_keys=join_keys,
)
offset_slice = offset_df[metrics_mapping.values()]
@@ -358,7 +366,9 @@ def get_data(self, df: pd.DataFrame) -> Union[str, List[Dict[str, Any]]]:
return df.to_dict(orient="records")
def get_payload(
- self, cache_query_context: Optional[bool] = False, force_cached: bool = False,
+ self,
+ cache_query_context: Optional[bool] = False,
+ force_cached: bool = False,
) -> Dict[str, Any]:
"""Returns the query results with both metadata and data"""
diff --git a/superset/common/query_object.py b/superset/common/query_object.py
index b2e6fe1bb330d..78a76fc3cdee7 100644
--- a/superset/common/query_object.py
+++ b/superset/common/query_object.py
@@ -341,7 +341,11 @@ def to_dict(self) -> Dict[str, Any]:
def __repr__(self) -> str:
# we use `print` or `logging` output QueryObject
- return json.dumps(self.to_dict(), sort_keys=True, default=str,)
+ return json.dumps(
+ self.to_dict(),
+ sort_keys=True,
+ default=str,
+ )
def cache_key(self, **extra: Any) -> str:
"""
diff --git a/superset/common/query_object_factory.py b/superset/common/query_object_factory.py
index 2d051e36c729e..64ae99deebabc 100644
--- a/superset/common/query_object_factory.py
+++ b/superset/common/query_object_factory.py
@@ -80,7 +80,8 @@ def _convert_to_model(self, datasource: DatasourceDict) -> BaseDatasource:
)
def _process_extras( # pylint: disable=no-self-use
- self, extras: Optional[Dict[str, Any]],
+ self,
+ extras: Optional[Dict[str, Any]],
) -> Dict[str, Any]:
extras = extras or {}
return extras
diff --git a/superset/common/utils/dataframe_utils.py b/superset/common/utils/dataframe_utils.py
index 55d03e6343410..a0216ad54e839 100644
--- a/superset/common/utils/dataframe_utils.py
+++ b/superset/common/utils/dataframe_utils.py
@@ -26,7 +26,9 @@
def left_join_df(
- left_df: pd.DataFrame, right_df: pd.DataFrame, join_keys: List[str],
+ left_df: pd.DataFrame,
+ right_df: pd.DataFrame,
+ join_keys: List[str],
) -> pd.DataFrame:
df = left_df.set_index(join_keys).join(right_df.set_index(join_keys))
df.reset_index(inplace=True)
diff --git a/superset/config.py b/superset/config.py
index bd32fc54a32b2..4c68aa25515dd 100644
--- a/superset/config.py
+++ b/superset/config.py
@@ -43,7 +43,6 @@
from superset.constants import CHANGE_ME_SECRET_KEY
from superset.jinja_context import BaseTemplateProcessor
-from superset.key_value.types import KeyType
from superset.stats_logger import DummyStatsLogger
from superset.superset_typing import CacheConfig
from superset.utils.core import is_test, parse_boolean_string
@@ -300,8 +299,6 @@ def _try_json_readsha(filepath: str, length: int) -> Optional[str]:
# { 'name': 'Yahoo', 'url': 'https://open.login.yahoo.com/' },
# { 'name': 'Flickr', 'url': 'https://www.flickr.com/' },
-AUTH_STRICT_RESPONSE_CODES = True
-
# ---------------------------------------------------
# Roles config
# ---------------------------------------------------
@@ -602,8 +599,6 @@ def _try_json_readsha(filepath: str, length: int) -> Optional[str]:
# store cache keys by datasource UID (via CacheKey) for custom processing/invalidation
STORE_CACHE_KEYS_IN_METADATA_DB = False
-PERMALINK_KEY_TYPE: KeyType = "uuid"
-
# CORS Options
ENABLE_CORS = False
CORS_OPTIONS: Dict[Any, Any] = {}
@@ -747,13 +742,13 @@ def _try_json_readsha(filepath: str, length: int) -> Optional[str]:
class CeleryConfig: # pylint: disable=too-few-public-methods
- BROKER_URL = "sqla+sqlite:///celerydb.sqlite"
- CELERY_IMPORTS = ("superset.sql_lab", "superset.tasks")
- CELERY_RESULT_BACKEND = "db+sqlite:///celery_results.sqlite"
- CELERYD_LOG_LEVEL = "DEBUG"
- CELERYD_PREFETCH_MULTIPLIER = 1
- CELERY_ACKS_LATE = False
- CELERY_ANNOTATIONS = {
+ broker_url = "sqla+sqlite:///celerydb.sqlite"
+ imports = ("superset.sql_lab",)
+ result_backend = "db+sqlite:///celery_results.sqlite"
+ worker_log_level = "DEBUG"
+ worker_prefetch_multiplier = 1
+ task_acks_late = False
+ task_annotations = {
"sql_lab.get_sql_results": {"rate_limit": "100/s"},
"email_reports.send": {
"rate_limit": "1/s",
@@ -762,7 +757,7 @@ class CeleryConfig: # pylint: disable=too-few-public-methods
"ignore_result": True,
},
}
- CELERYBEAT_SCHEDULE = {
+ beat_schedule = {
"email_reports.schedule_hourly": {
"task": "email_reports.schedule_hourly",
"schedule": crontab(minute=1, hour="*"),
@@ -1056,17 +1051,10 @@ def SQL_QUERY_MUTATOR( # pylint: disable=invalid-name,unused-argument
return sql
-# Enable / disable scheduled email reports
-#
-# Warning: This config key is deprecated and will be removed in version 2.0.0"
-ENABLE_SCHEDULED_EMAIL_REPORTS = False
-
-# Enable / disable Alerts, where users can define custom SQL that
-# will send emails with screenshots of charts or dashboards periodically
-# if it meets the criteria
-#
-# Warning: This config key is deprecated and will be removed in version 2.0.0"
-ENABLE_ALERTS = False
+# This auth provider is used by background (offline) tasks that need to access
+# protected resources. Can be overridden by end users in order to support
+# custom auth mechanisms
+MACHINE_AUTH_PROVIDER_CLASS = "superset.utils.machine_auth.MachineAuthProvider"
# ---------------------------------------------------
# Alerts & Reports
@@ -1092,43 +1080,6 @@ def SQL_QUERY_MUTATOR( # pylint: disable=invalid-name,unused-argument
SLACK_API_TOKEN: Optional[Union[Callable[[], str], str]] = None
SLACK_PROXY = None
-# If enabled, certain features are run in debug mode
-# Current list:
-# * Emails are sent using dry-run mode (logging only)
-#
-# Warning: This config key is deprecated and will be removed in version 2.0.0"
-SCHEDULED_EMAIL_DEBUG_MODE = False
-
-# This auth provider is used by background (offline) tasks that need to access
-# protected resources. Can be overridden by end users in order to support
-# custom auth mechanisms
-MACHINE_AUTH_PROVIDER_CLASS = "superset.utils.machine_auth.MachineAuthProvider"
-
-# Email reports - minimum time resolution (in minutes) for the crontab
-#
-# Warning: This config key is deprecated and will be removed in version 2.0.0"
-EMAIL_REPORTS_CRON_RESOLUTION = 15
-
-# The MAX duration (in seconds) a email schedule can run for before being killed
-# by celery.
-#
-# Warning: This config key is deprecated and will be removed in version 2.0.0"
-EMAIL_ASYNC_TIME_LIMIT_SEC = int(timedelta(minutes=5).total_seconds())
-
-# Send bcc of all reports to this address. Set to None to disable.
-# This is useful for maintaining an audit trail of all email deliveries.
-#
-# Warning: This config key is deprecated and will be removed in version 2.0.0"
-EMAIL_REPORT_BCC_ADDRESS = None
-
-# User credentials to use for generating reports
-# This user should have permissions to browse all the dashboards and
-# slices.
-# TODO: In the future, login as the owner of the item to generate reports
-#
-# Warning: This config key is deprecated and will be removed in version 2.0.0"
-EMAIL_REPORTS_USER = "admin"
-
# The webdriver to use for generating reports. Use one of the following
# firefox
# Requires: geckodriver and firefox installations
@@ -1255,12 +1206,6 @@ def SQL_QUERY_MUTATOR( # pylint: disable=invalid-name,unused-argument
# Example: SSL_CERT_PATH = "/certs"
SSL_CERT_PATH: Optional[str] = None
-# Turn this key to False to disable ownership check on the old dataset MVC and
-# datasource API /datasource/save.
-#
-# Warning: This config key is deprecated and will be removed in version 2.0.0"
-OLD_API_CHECK_DATASET_OWNERSHIP = True
-
# SQLA table mutator, every time we fetch the metadata for a certain table
# (superset.connectors.sqla.models.SqlaTable), we call this hook
# to allow mutating the object with this callback.
diff --git a/superset/connectors/base/models.py b/superset/connectors/base/models.py
index 939a1fc1c7c27..9aacb0dc8c641 100644
--- a/superset/connectors/base/models.py
+++ b/superset/connectors/base/models.py
@@ -117,6 +117,8 @@ def name(self) -> str:
owners: List[User]
update_from_object_fields: List[str]
+ extra_import_fields = ["is_managed_externally", "external_url"]
+
@property
def kind(self) -> DatasourceKind:
return DatasourceKind.VIRTUAL if self.sql else DatasourceKind.PHYSICAL
diff --git a/superset/connectors/druid/models.py b/superset/connectors/druid/models.py
index 3a17ec5319374..bc4d0ba3817a4 100644
--- a/superset/connectors/druid/models.py
+++ b/superset/connectors/druid/models.py
@@ -128,7 +128,6 @@ def __init__(self, name: str, post_aggregator: Dict[str, Any]) -> None:
self.name = name
self.post_aggregator = post_aggregator
-
except NameError:
pass
diff --git a/superset/connectors/druid/views.py b/superset/connectors/druid/views.py
index cd7e5d279ba25..b387aff6962e8 100644
--- a/superset/connectors/druid/views.py
+++ b/superset/connectors/druid/views.py
@@ -62,7 +62,9 @@ def ensure_enabled(self) -> None:
class DruidColumnInlineView( # pylint: disable=too-many-ancestors
- CompactCRUDMixin, EnsureEnabledMixin, SupersetModelView,
+ CompactCRUDMixin,
+ EnsureEnabledMixin,
+ SupersetModelView,
):
datamodel = SQLAInterface(models.DruidColumn)
include_route_methods = RouteMethod.RELATED_VIEW_SET
@@ -151,7 +153,9 @@ def post_add(self, item: "DruidColumnInlineView") -> None:
class DruidMetricInlineView( # pylint: disable=too-many-ancestors
- CompactCRUDMixin, EnsureEnabledMixin, SupersetModelView,
+ CompactCRUDMixin,
+ EnsureEnabledMixin,
+ SupersetModelView,
):
datamodel = SQLAInterface(models.DruidMetric)
include_route_methods = RouteMethod.RELATED_VIEW_SET
@@ -206,7 +210,10 @@ class DruidMetricInlineView( # pylint: disable=too-many-ancestors
class DruidClusterModelView( # pylint: disable=too-many-ancestors
- EnsureEnabledMixin, SupersetModelView, DeleteMixin, YamlExportMixin,
+ EnsureEnabledMixin,
+ SupersetModelView,
+ DeleteMixin,
+ YamlExportMixin,
):
datamodel = SQLAInterface(models.DruidCluster)
include_route_methods = RouteMethod.CRUD_SET
@@ -270,7 +277,10 @@ def _delete(self, pk: int) -> None:
class DruidDatasourceModelView( # pylint: disable=too-many-ancestors
- EnsureEnabledMixin, DatasourceModelView, DeleteMixin, YamlExportMixin,
+ EnsureEnabledMixin,
+ DatasourceModelView,
+ DeleteMixin,
+ YamlExportMixin,
):
datamodel = SQLAInterface(models.DruidDatasource)
include_route_methods = RouteMethod.CRUD_SET
diff --git a/superset/connectors/sqla/models.py b/superset/connectors/sqla/models.py
index bbd1b5d84dad7..5b89919d0e8d6 100644
--- a/superset/connectors/sqla/models.py
+++ b/superset/connectors/sqla/models.py
@@ -78,6 +78,7 @@
from superset.connectors.sqla.utils import (
get_physical_table_metadata,
get_virtual_table_metadata,
+ load_or_create_tables,
validate_adhoc_subquery,
)
from superset.datasets.models import Dataset as NewDataset
@@ -311,7 +312,9 @@ def datasource(self) -> RelationshipProperty:
return self.table
def get_time_filter(
- self, start_dttm: DateTime, end_dttm: DateTime,
+ self,
+ start_dttm: DateTime,
+ end_dttm: DateTime,
) -> ColumnElement:
col = self.get_sqla_col(label="__time")
l = []
@@ -687,7 +690,9 @@ def external_metadata(self) -> List[Dict[str, str]]:
if self.sql:
return get_virtual_table_metadata(dataset=self)
return get_physical_table_metadata(
- database=self.database, table_name=self.table_name, schema_name=self.schema,
+ database=self.database,
+ table_name=self.table_name,
+ schema_name=self.schema,
)
@property
@@ -1013,7 +1018,10 @@ def _get_sqla_row_level_filters(
return all_filters
except TemplateError as ex:
raise QueryObjectValidationError(
- _("Error in jinja expression in RLS filters: %(msg)s", msg=ex.message,)
+ _(
+ "Error in jinja expression in RLS filters: %(msg)s",
+ msg=ex.message,
+ )
) from ex
def text(self, clause: str) -> TextClause:
@@ -1233,7 +1241,8 @@ def get_sqla_query( # pylint: disable=too-many-arguments,too-many-locals,too-ma
):
time_filters.append(
columns_by_name[self.main_dttm_col].get_time_filter(
- from_dttm, to_dttm,
+ from_dttm,
+ to_dttm,
)
)
time_filters.append(dttm_col.get_time_filter(from_dttm, to_dttm))
@@ -1444,7 +1453,8 @@ def get_sqla_query( # pylint: disable=too-many-arguments,too-many-locals,too-ma
if dttm_col and not db_engine_spec.time_groupby_inline:
inner_time_filter = [
dttm_col.get_time_filter(
- inner_from_dttm or from_dttm, inner_to_dttm or to_dttm,
+ inner_from_dttm or from_dttm,
+ inner_to_dttm or to_dttm,
)
]
subq = subq.where(and_(*(where_clause_and + inner_time_filter)))
@@ -1473,7 +1483,9 @@ def get_sqla_query( # pylint: disable=too-many-arguments,too-many-locals,too-ma
orderby = [
(
self._get_series_orderby(
- series_limit_metric, metrics_by_name, columns_by_name,
+ series_limit_metric,
+ metrics_by_name,
+ columns_by_name,
),
not order_desc,
)
@@ -1549,7 +1561,10 @@ def _get_series_orderby(
return ob
def _normalize_prequery_result_type(
- self, row: pd.Series, dimension: str, columns_by_name: Dict[str, TableColumn],
+ self,
+ row: pd.Series,
+ dimension: str,
+ columns_by_name: Dict[str, TableColumn],
) -> Union[str, int, float, bool, Text]:
"""
Convert a prequery result type to its equivalent Python type.
@@ -1594,7 +1609,9 @@ def _get_top_groups(
group = []
for dimension in dimensions:
value = self._normalize_prequery_result_type(
- row, dimension, columns_by_name,
+ row,
+ dimension,
+ columns_by_name,
)
group.append(groupby_exprs[dimension] == value)
@@ -1933,7 +1950,9 @@ def update_table( # pylint: disable=unused-argument
@staticmethod
def after_insert(
- mapper: Mapper, connection: Connection, target: "SqlaTable",
+ mapper: Mapper,
+ connection: Connection,
+ target: "SqlaTable",
) -> None:
"""
Shadow write the dataset to new models.
@@ -1962,7 +1981,9 @@ def after_insert(
@staticmethod
def after_delete( # pylint: disable=unused-argument
- mapper: Mapper, connection: Connection, target: "SqlaTable",
+ mapper: Mapper,
+ connection: Connection,
+ target: "SqlaTable",
) -> None:
"""
Shadow write the dataset to new models.
@@ -1985,7 +2006,9 @@ def after_delete( # pylint: disable=unused-argument
@staticmethod
def after_update( # pylint: disable=too-many-branches, too-many-locals, too-many-statements
- mapper: Mapper, connection: Connection, target: "SqlaTable",
+ mapper: Mapper,
+ connection: Connection,
+ target: "SqlaTable",
) -> None:
"""
Shadow write the dataset to new models.
@@ -2220,7 +2243,10 @@ def write_shadow_dataset( # pylint: disable=too-many-locals
if column.is_active is False:
continue
- extra_json = json.loads(column.extra or "{}")
+ try:
+ extra_json = json.loads(column.extra or "{}")
+ except json.decoder.JSONDecodeError:
+ extra_json = {}
for attr in {"groupby", "filterable", "verbose_name", "python_date_format"}:
value = getattr(column, attr)
if value:
@@ -2247,7 +2273,10 @@ def write_shadow_dataset( # pylint: disable=too-many-locals
# create metrics
for metric in dataset.metrics:
- extra_json = json.loads(metric.extra or "{}")
+ try:
+ extra_json = json.loads(metric.extra or "{}")
+ except json.decoder.JSONDecodeError:
+ extra_json = {}
for attr in {"verbose_name", "metric_type", "d3format"}:
value = getattr(metric, attr)
if value:
@@ -2278,8 +2307,7 @@ def write_shadow_dataset( # pylint: disable=too-many-locals
)
# physical dataset
- tables = []
- if dataset.sql is None:
+ if not dataset.sql:
physical_columns = [column for column in columns if column.is_physical]
# create table
@@ -2292,7 +2320,7 @@ def write_shadow_dataset( # pylint: disable=too-many-locals
is_managed_externally=dataset.is_managed_externally,
external_url=dataset.external_url,
)
- tables.append(table)
+ tables = [table]
# virtual dataset
else:
@@ -2303,18 +2331,14 @@ def write_shadow_dataset( # pylint: disable=too-many-locals
# find referenced tables
parsed = ParsedQuery(dataset.sql)
referenced_tables = parsed.tables
-
- # predicate for finding the referenced tables
- predicate = or_(
- *[
- and_(
- NewTable.schema == (table.schema or dataset.schema),
- NewTable.name == table.table,
- )
- for table in referenced_tables
- ]
+ tables = load_or_create_tables(
+ session,
+ dataset.database_id,
+ dataset.schema,
+ referenced_tables,
+ conditional_quote,
+ engine,
)
- tables = session.query(NewTable).filter(predicate).all()
# create the new dataset
new_dataset = NewDataset(
@@ -2323,7 +2347,7 @@ def write_shadow_dataset( # pylint: disable=too-many-locals
expression=dataset.sql or conditional_quote(dataset.table_name),
tables=tables,
columns=columns,
- is_physical=dataset.sql is None,
+ is_physical=not dataset.sql,
is_managed_externally=dataset.is_managed_externally,
external_url=dataset.external_url,
)
diff --git a/superset/connectors/sqla/utils.py b/superset/connectors/sqla/utils.py
index 984eef78f4b76..4fc11a4d1d16b 100644
--- a/superset/connectors/sqla/utils.py
+++ b/superset/connectors/sqla/utils.py
@@ -15,13 +15,17 @@
# specific language governing permissions and limitations
# under the License.
from contextlib import closing
-from typing import Dict, List, Optional, TYPE_CHECKING
+from typing import Callable, Dict, List, Optional, Set, TYPE_CHECKING
import sqlparse
from flask_babel import lazy_gettext as _
+from sqlalchemy import and_, inspect, or_
+from sqlalchemy.engine import Engine
from sqlalchemy.exc import NoSuchTableError
+from sqlalchemy.orm import Session
from sqlalchemy.sql.type_api import TypeEngine
+from superset.columns.models import Column as NewColumn
from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
from superset.exceptions import (
SupersetGenericDBErrorException,
@@ -29,14 +33,20 @@
)
from superset.models.core import Database
from superset.result_set import SupersetResultSet
-from superset.sql_parse import has_table_query, ParsedQuery
+from superset.sql_parse import has_table_query, ParsedQuery, Table
+from superset.tables.models import Table as NewTable
if TYPE_CHECKING:
from superset.connectors.sqla.models import SqlaTable
+TEMPORAL_TYPES = {"DATETIME", "DATE", "TIME", "TIMEDELTA"}
+
+
def get_physical_table_metadata(
- database: Database, table_name: str, schema_name: Optional[str] = None,
+ database: Database,
+ table_name: str,
+ schema_name: Optional[str] = None,
) -> List[Dict[str, str]]:
"""Use SQLAlchemy inspector to get table metadata"""
db_engine_spec = database.db_engine_spec
@@ -72,7 +82,11 @@ def get_physical_table_metadata(
# from different drivers that fall outside CompileError
except Exception: # pylint: disable=broad-except
col.update(
- {"type": "UNKNOWN", "generic_type": None, "is_dttm": None,}
+ {
+ "type": "UNKNOWN",
+ "generic_type": None,
+ "is_dttm": None,
+ }
)
return cols
@@ -145,3 +159,78 @@ def validate_adhoc_subquery(raw_sql: str) -> None:
)
)
return
+
+
+def load_or_create_tables( # pylint: disable=too-many-arguments
+ session: Session,
+ database_id: int,
+ default_schema: Optional[str],
+ tables: Set[Table],
+ conditional_quote: Callable[[str], str],
+ engine: Engine,
+) -> List[NewTable]:
+ """
+ Load or create new table model instances.
+ """
+ if not tables:
+ return []
+
+ # set the default schema in tables that don't have it
+ if default_schema:
+ fixed_tables = list(tables)
+ for i, table in enumerate(fixed_tables):
+ if table.schema is None:
+ fixed_tables[i] = Table(table.table, default_schema, table.catalog)
+ tables = set(fixed_tables)
+
+ # load existing tables
+ predicate = or_(
+ *[
+ and_(
+ NewTable.database_id == database_id,
+ NewTable.schema == table.schema,
+ NewTable.name == table.table,
+ )
+ for table in tables
+ ]
+ )
+ new_tables = session.query(NewTable).filter(predicate).all()
+
+ # add missing tables
+ existing = {(table.schema, table.name) for table in new_tables}
+ for table in tables:
+ if (table.schema, table.table) not in existing:
+ try:
+ inspector = inspect(engine)
+ column_metadata = inspector.get_columns(
+ table.table, schema=table.schema
+ )
+ except Exception: # pylint: disable=broad-except
+ continue
+ columns = [
+ NewColumn(
+ name=column["name"],
+ type=str(column["type"]),
+ expression=conditional_quote(column["name"]),
+ is_temporal=column["type"].python_type.__name__.upper()
+ in TEMPORAL_TYPES,
+ is_aggregation=False,
+ is_physical=True,
+ is_spatial=False,
+ is_partition=False,
+ is_increase_desired=True,
+ )
+ for column in column_metadata
+ ]
+ new_tables.append(
+ NewTable(
+ name=table.table,
+ schema=table.schema,
+ catalog=None,
+ database_id=database_id,
+ columns=columns,
+ )
+ )
+ existing.add((table.schema, table.table))
+
+ return new_tables
diff --git a/superset/connectors/sqla/views.py b/superset/connectors/sqla/views.py
index 4b43d2f046f6b..116b18869d009 100644
--- a/superset/connectors/sqla/views.py
+++ b/superset/connectors/sqla/views.py
@@ -17,17 +17,15 @@
"""Views used by the SqlAlchemy connector"""
import logging
import re
-from dataclasses import dataclass, field
-from typing import Any, cast, Dict, List, Union
+from typing import Any, cast
from flask import current_app, flash, Markup, redirect
from flask_appbuilder import CompactCRUDMixin, expose
-from flask_appbuilder.actions import action
from flask_appbuilder.fieldwidgets import Select2Widget
from flask_appbuilder.hooks import before_request
from flask_appbuilder.models.sqla.interface import SQLAInterface
from flask_appbuilder.security.decorators import has_access
-from flask_babel import gettext as __, lazy_gettext as _
+from flask_babel import lazy_gettext as _
from werkzeug.exceptions import NotFound
from wtforms.ext.sqlalchemy.fields import QuerySelectField
from wtforms.validators import Regexp
@@ -39,14 +37,12 @@
from superset.superset_typing import FlaskResponse
from superset.utils import core as utils
from superset.views.base import (
- check_ownership,
create_table_permissions,
DatasourceFilter,
DeleteMixin,
ListWidgetWithCheckboxes,
SupersetListWidget,
SupersetModelView,
- validate_sqlatable,
YamlExportMixin,
)
@@ -181,27 +177,6 @@ class TableColumnInlineView(CompactCRUDMixin, SupersetModelView):
edit_form_extra_fields = add_form_extra_fields
- def pre_add(self, item: "models.SqlMetric") -> None:
- logger.warning(
- "This endpoint is deprecated and will be removed in version 2.0.0"
- )
- if app.config["OLD_API_CHECK_DATASET_OWNERSHIP"]:
- check_ownership(item.table)
-
- def pre_update(self, item: "models.SqlMetric") -> None:
- logger.warning(
- "This endpoint is deprecated and will be removed in version 2.0.0"
- )
- if app.config["OLD_API_CHECK_DATASET_OWNERSHIP"]:
- check_ownership(item.table)
-
- def pre_delete(self, item: "models.SqlMetric") -> None:
- logger.warning(
- "This endpoint is deprecated and will be removed in version 2.0.0"
- )
- if app.config["OLD_API_CHECK_DATASET_OWNERSHIP"]:
- check_ownership(item.table)
-
class SqlMetricInlineView(CompactCRUDMixin, SupersetModelView):
datamodel = SQLAInterface(models.SqlMetric)
@@ -274,27 +249,6 @@ class SqlMetricInlineView(CompactCRUDMixin, SupersetModelView):
edit_form_extra_fields = add_form_extra_fields
- def pre_add(self, item: "models.SqlMetric") -> None:
- logger.warning(
- "This endpoint is deprecated and will be removed in version 2.0.0"
- )
- if app.config["OLD_API_CHECK_DATASET_OWNERSHIP"]:
- check_ownership(item.table)
-
- def pre_update(self, item: "models.SqlMetric") -> None:
- logger.warning(
- "This endpoint is deprecated and will be removed in version 2.0.0"
- )
- if app.config["OLD_API_CHECK_DATASET_OWNERSHIP"]:
- check_ownership(item.table)
-
- def pre_delete(self, item: "models.SqlMetric") -> None:
- logger.warning(
- "This endpoint is deprecated and will be removed in version 2.0.0"
- )
- if app.config["OLD_API_CHECK_DATASET_OWNERSHIP"]:
- check_ownership(item.table)
-
class RowLevelSecurityListWidget(
SupersetListWidget
@@ -513,19 +467,6 @@ class TableModelView( # pylint: disable=too-many-ancestors
)
}
- def pre_add(self, item: "TableModelView") -> None:
- logger.warning(
- "This endpoint is deprecated and will be removed in version 2.0.0"
- )
- validate_sqlatable(item)
-
- def pre_update(self, item: "TableModelView") -> None:
- logger.warning(
- "This endpoint is deprecated and will be removed in version 2.0.0"
- )
- if app.config["OLD_API_CHECK_DATASET_OWNERSHIP"]:
- check_ownership(item)
-
def post_add( # pylint: disable=arguments-differ
self,
item: "TableModelView",
@@ -561,89 +502,6 @@ def edit(self, pk: str) -> FlaskResponse:
return resp
return redirect("/superset/explore/table/{}/".format(pk))
- @action(
- "refresh", __("Refresh Metadata"), __("Refresh column metadata"), "fa-refresh"
- )
- def refresh( # pylint: disable=no-self-use,
- self, tables: Union["TableModelView", List["TableModelView"]]
- ) -> FlaskResponse:
- logger.warning(
- "This endpoint is deprecated and will be removed in version 2.0.0"
- )
- if not isinstance(tables, list):
- tables = [tables]
-
- @dataclass
- class RefreshResults:
- successes: List[TableModelView] = field(default_factory=list)
- failures: List[TableModelView] = field(default_factory=list)
- added: Dict[str, List[str]] = field(default_factory=dict)
- removed: Dict[str, List[str]] = field(default_factory=dict)
- modified: Dict[str, List[str]] = field(default_factory=dict)
-
- results = RefreshResults()
-
- for table_ in tables:
- try:
- metadata_results = table_.fetch_metadata()
- if metadata_results.added:
- results.added[table_.table_name] = metadata_results.added
- if metadata_results.removed:
- results.removed[table_.table_name] = metadata_results.removed
- if metadata_results.modified:
- results.modified[table_.table_name] = metadata_results.modified
- results.successes.append(table_)
- except Exception: # pylint: disable=broad-except
- results.failures.append(table_)
-
- if len(results.successes) > 0:
- success_msg = _(
- "Metadata refreshed for the following table(s): %(tables)s",
- tables=", ".join([t.table_name for t in results.successes]),
- )
- flash(success_msg, "info")
- if results.added:
- added_tables = []
- for table, cols in results.added.items():
- added_tables.append(f"{table} ({', '.join(cols)})")
- flash(
- _(
- "The following tables added new columns: %(tables)s",
- tables=", ".join(added_tables),
- ),
- "info",
- )
- if results.removed:
- removed_tables = []
- for table, cols in results.removed.items():
- removed_tables.append(f"{table} ({', '.join(cols)})")
- flash(
- _(
- "The following tables removed columns: %(tables)s",
- tables=", ".join(removed_tables),
- ),
- "info",
- )
- if results.modified:
- modified_tables = []
- for table, cols in results.modified.items():
- modified_tables.append(f"{table} ({', '.join(cols)})")
- flash(
- _(
- "The following tables update column metadata: %(tables)s",
- tables=", ".join(modified_tables),
- ),
- "info",
- )
- if len(results.failures) > 0:
- failure_msg = _(
- "Unable to refresh metadata for the following table(s): %(tables)s",
- tables=", ".join([t.table_name for t in results.failures]),
- )
- flash(failure_msg, "danger")
-
- return redirect("/tablemodelview/list/")
-
@expose("/list/")
@has_access
def list(self) -> FlaskResponse:
diff --git a/superset/dashboards/api.py b/superset/dashboards/api.py
index df67d8f775c52..5e761cdd1f092 100644
--- a/superset/dashboards/api.py
+++ b/superset/dashboards/api.py
@@ -147,6 +147,7 @@ def ensure_thumbnails_enabled(self) -> Optional[Response]:
"owners.email",
"roles.id",
"roles.name",
+ "is_managed_externally",
]
list_select_columns = list_columns + ["changed_on", "changed_by_fk"]
order_columns = [
diff --git a/superset/dashboards/commands/importers/v0.py b/superset/dashboards/commands/importers/v0.py
index f317d51086c9d..a7fbb51c057d5 100644
--- a/superset/dashboards/commands/importers/v0.py
+++ b/superset/dashboards/commands/importers/v0.py
@@ -151,7 +151,8 @@ def alter_native_filters(dashboard: Dashboard) -> None:
old_dataset_id = target.get("datasetId")
if dataset_id_mapping and old_dataset_id is not None:
target["datasetId"] = dataset_id_mapping.get(
- old_dataset_id, old_dataset_id,
+ old_dataset_id,
+ old_dataset_id,
)
dashboard.json_metadata = json.dumps(json_metadata)
diff --git a/superset/dashboards/filter_sets/commands/base.py b/superset/dashboards/filter_sets/commands/base.py
index af31bbd7a1a94..0e902e5e687ca 100644
--- a/superset/dashboards/filter_sets/commands/base.py
+++ b/superset/dashboards/filter_sets/commands/base.py
@@ -85,7 +85,8 @@ def check_ownership(self) -> None:
)
except NotAuthorizedException as err:
raise FilterSetForbiddenError(
- str(self._filter_set_id), "user not authorized to access the filterset",
+ str(self._filter_set_id),
+ "user not authorized to access the filterset",
) from err
except FilterSetForbiddenError as err:
raise err
diff --git a/superset/dashboards/filter_sets/schemas.py b/superset/dashboards/filter_sets/schemas.py
index 3c0436d697b23..c1a13b424e815 100644
--- a/superset/dashboards/filter_sets/schemas.py
+++ b/superset/dashboards/filter_sets/schemas.py
@@ -46,7 +46,11 @@ def _validate_json_meta_data(self, json_meta_data: str) -> None:
class FilterSetPostSchema(FilterSetSchema):
json_metadata_schema: JsonMetadataSchema = JsonMetadataSchema()
# pylint: disable=W0613
- name = fields.String(required=True, allow_none=False, validate=Length(0, 500),)
+ name = fields.String(
+ required=True,
+ allow_none=False,
+ validate=Length(0, 500),
+ )
description = fields.String(
required=False, allow_none=True, validate=[Length(1, 1000)]
)
diff --git a/superset/dashboards/filter_state/commands/create.py b/superset/dashboards/filter_state/commands/create.py
index a37ee072fa75e..137623027a1fc 100644
--- a/superset/dashboards/filter_state/commands/create.py
+++ b/superset/dashboards/filter_state/commands/create.py
@@ -18,10 +18,11 @@
from superset.dashboards.dao import DashboardDAO
from superset.extensions import cache_manager
+from superset.key_value.utils import random_key
from superset.temporary_cache.commands.create import CreateTemporaryCacheCommand
from superset.temporary_cache.commands.entry import Entry
from superset.temporary_cache.commands.parameters import CommandParameters
-from superset.temporary_cache.utils import cache_key, random_key
+from superset.temporary_cache.utils import cache_key
class CreateFilterStateCommand(CreateTemporaryCacheCommand):
diff --git a/superset/dashboards/filter_state/commands/update.py b/superset/dashboards/filter_state/commands/update.py
index 6a9cd3931c9c8..d27277f9afb97 100644
--- a/superset/dashboards/filter_state/commands/update.py
+++ b/superset/dashboards/filter_state/commands/update.py
@@ -20,11 +20,12 @@
from superset.dashboards.dao import DashboardDAO
from superset.extensions import cache_manager
+from superset.key_value.utils import random_key
from superset.temporary_cache.commands.entry import Entry
from superset.temporary_cache.commands.exceptions import TemporaryCacheAccessDeniedError
from superset.temporary_cache.commands.parameters import CommandParameters
from superset.temporary_cache.commands.update import UpdateTemporaryCacheCommand
-from superset.temporary_cache.utils import cache_key, random_key
+from superset.temporary_cache.utils import cache_key
class UpdateFilterStateCommand(UpdateTemporaryCacheCommand):
diff --git a/superset/dashboards/filters.py b/superset/dashboards/filters.py
index e398af97b744a..5f79392e71ecd 100644
--- a/superset/dashboards/filters.py
+++ b/superset/dashboards/filters.py
@@ -170,7 +170,9 @@ class FilterRelatedRoles(BaseFilter): # pylint: disable=too-few-public-methods
def apply(self, query: Query, value: Optional[Any]) -> Query:
role_model = security_manager.role_model
if value:
- return query.filter(role_model.name.ilike(f"%{value}%"),)
+ return query.filter(
+ role_model.name.ilike(f"%{value}%"),
+ )
return query
@@ -184,7 +186,15 @@ class DashboardCertifiedFilter(BaseFilter): # pylint: disable=too-few-public-me
def apply(self, query: Query, value: Any) -> Query:
if value is True:
- return query.filter(and_(Dashboard.certified_by.isnot(None),))
+ return query.filter(
+ and_(
+ Dashboard.certified_by.isnot(None),
+ )
+ )
if value is False:
- return query.filter(and_(Dashboard.certified_by.is_(None),))
+ return query.filter(
+ and_(
+ Dashboard.certified_by.is_(None),
+ )
+ )
return query
diff --git a/superset/dashboards/permalink/api.py b/superset/dashboards/permalink/api.py
index 2236c4de2a1af..ca536af8f7400 100644
--- a/superset/dashboards/permalink/api.py
+++ b/superset/dashboards/permalink/api.py
@@ -16,7 +16,7 @@
# under the License.
import logging
-from flask import current_app, g, request, Response
+from flask import g, request, Response
from flask_appbuilder.api import BaseApi, expose, protect, safe
from marshmallow import ValidationError
@@ -101,18 +101,22 @@ def post(self, pk: str) -> Response:
500:
$ref: '#/components/responses/500'
"""
- key_type = current_app.config["PERMALINK_KEY_TYPE"]
try:
state = self.add_model_schema.load(request.json)
key = CreateDashboardPermalinkCommand(
- actor=g.user, dashboard_id=pk, state=state, key_type=key_type,
+ actor=g.user,
+ dashboard_id=pk,
+ state=state,
).run()
http_origin = request.headers.environ.get("HTTP_ORIGIN")
url = f"{http_origin}/superset/dashboard/p/{key}/"
return self.response(201, key=key, url=url)
except (ValidationError, DashboardPermalinkInvalidStateError) as ex:
return self.response(400, message=str(ex))
- except (DashboardAccessDeniedError, KeyValueAccessDeniedError,) as ex:
+ except (
+ DashboardAccessDeniedError,
+ KeyValueAccessDeniedError,
+ ) as ex:
return self.response(403, message=str(ex))
except DashboardNotFoundError as ex:
return self.response(404, message=str(ex))
@@ -158,10 +162,7 @@ def get(self, key: str) -> Response:
$ref: '#/components/responses/500'
"""
try:
- key_type = current_app.config["PERMALINK_KEY_TYPE"]
- value = GetDashboardPermalinkCommand(
- actor=g.user, key=key, key_type=key_type
- ).run()
+ value = GetDashboardPermalinkCommand(actor=g.user, key=key).run()
if not value:
return self.response_404()
return self.response(200, **value)
diff --git a/superset/dashboards/permalink/commands/base.py b/superset/dashboards/permalink/commands/base.py
index 2c0343810e024..f4dc4f0726110 100644
--- a/superset/dashboards/permalink/commands/base.py
+++ b/superset/dashboards/permalink/commands/base.py
@@ -17,7 +17,13 @@
from abc import ABC
from superset.commands.base import BaseCommand
+from superset.key_value.shared_entries import get_permalink_salt
+from superset.key_value.types import KeyValueResource, SharedKey
class BaseDashboardPermalinkCommand(BaseCommand, ABC):
- resource = "dashboard_permalink"
+ resource = KeyValueResource.DASHBOARD_PERMALINK
+
+ @property
+ def salt(self) -> str:
+ return get_permalink_salt(SharedKey.DASHBOARD_PERMALINK_SALT)
diff --git a/superset/dashboards/permalink/commands/create.py b/superset/dashboards/permalink/commands/create.py
index a97f228dd83d1..4ffd41104ea08 100644
--- a/superset/dashboards/permalink/commands/create.py
+++ b/superset/dashboards/permalink/commands/create.py
@@ -24,7 +24,7 @@
from superset.dashboards.permalink.exceptions import DashboardPermalinkCreateFailedError
from superset.dashboards.permalink.types import DashboardPermalinkState
from superset.key_value.commands.create import CreateKeyValueCommand
-from superset.key_value.types import KeyType
+from superset.key_value.utils import encode_permalink_key
logger = logging.getLogger(__name__)
@@ -35,12 +35,10 @@ def __init__(
actor: User,
dashboard_id: str,
state: DashboardPermalinkState,
- key_type: KeyType,
):
self.actor = actor
self.dashboard_id = dashboard_id
self.state = state
- self.key_type = key_type
def run(self) -> str:
self.validate()
@@ -50,12 +48,14 @@ def run(self) -> str:
"dashboardId": self.dashboard_id,
"state": self.state,
}
- return CreateKeyValueCommand(
+ key = CreateKeyValueCommand(
actor=self.actor,
resource=self.resource,
value=value,
- key_type=self.key_type,
).run()
+ if key.id is None:
+ raise DashboardPermalinkCreateFailedError("Unexpected missing key id")
+ return encode_permalink_key(key=key.id, salt=self.salt)
except SQLAlchemyError as ex:
logger.exception("Error running create command")
raise DashboardPermalinkCreateFailedError() from ex
diff --git a/superset/dashboards/permalink/commands/get.py b/superset/dashboards/permalink/commands/get.py
index 6cb2749cbacb9..24bf77834a60c 100644
--- a/superset/dashboards/permalink/commands/get.py
+++ b/superset/dashboards/permalink/commands/get.py
@@ -27,25 +27,21 @@
from superset.dashboards.permalink.types import DashboardPermalinkValue
from superset.key_value.commands.get import GetKeyValueCommand
from superset.key_value.exceptions import KeyValueGetFailedError, KeyValueParseKeyError
-from superset.key_value.types import KeyType
+from superset.key_value.utils import decode_permalink_id
logger = logging.getLogger(__name__)
class GetDashboardPermalinkCommand(BaseDashboardPermalinkCommand):
- def __init__(
- self, actor: User, key: str, key_type: KeyType,
- ):
+ def __init__(self, actor: User, key: str):
self.actor = actor
self.key = key
- self.key_type = key_type
def run(self) -> Optional[DashboardPermalinkValue]:
self.validate()
try:
- command = GetKeyValueCommand(
- resource=self.resource, key=self.key, key_type=self.key_type
- )
+ key = decode_permalink_id(self.key, salt=self.salt)
+ command = GetKeyValueCommand(resource=self.resource, key=key)
value: Optional[DashboardPermalinkValue] = command.run()
if value:
DashboardDAO.get_by_id_or_slug(value["dashboardId"])
diff --git a/superset/dashboards/permalink/schemas.py b/superset/dashboards/permalink/schemas.py
index 91d60b02c23b7..a0fc1cbc5598f 100644
--- a/superset/dashboards/permalink/schemas.py
+++ b/superset/dashboards/permalink/schemas.py
@@ -19,7 +19,9 @@
class DashboardPermalinkPostSchema(Schema):
filterState = fields.Dict(
- required=True, allow_none=False, description="Native filter state",
+ required=False,
+ allow_none=True,
+ description="Native filter state",
)
urlParams = fields.List(
fields.Tuple(
diff --git a/superset/dashboards/permalink/types.py b/superset/dashboards/permalink/types.py
index 815c5bfe91d47..e93076ba23785 100644
--- a/superset/dashboards/permalink/types.py
+++ b/superset/dashboards/permalink/types.py
@@ -18,7 +18,7 @@
class DashboardPermalinkState(TypedDict):
- filterState: Dict[str, Any]
+ filterState: Optional[Dict[str, Any]]
hash: Optional[str]
urlParams: Optional[List[Tuple[str, str]]]
diff --git a/superset/dashboards/schemas.py b/superset/dashboards/schemas.py
index 661c61e1c2483..9b668df7212d0 100644
--- a/superset/dashboards/schemas.py
+++ b/superset/dashboards/schemas.py
@@ -166,6 +166,7 @@ class DashboardGetResponseSchema(Schema):
owners = fields.List(fields.Nested(UserSchema))
roles = fields.List(fields.Nested(RolesSchema))
changed_on_humanized = fields.String(data_key="changed_on_delta_humanized")
+ is_managed_externally = fields.Boolean(allow_none=True, default=False)
class DatabaseSchema(Schema):
@@ -242,13 +243,16 @@ class DashboardPostSchema(BaseDashboardSchema):
)
css = fields.String()
json_metadata = fields.String(
- description=json_metadata_description, validate=validate_json_metadata,
+ description=json_metadata_description,
+ validate=validate_json_metadata,
)
published = fields.Boolean(description=published_description)
certified_by = fields.String(description=certified_by_description, allow_none=True)
certification_details = fields.String(
description=certification_details_description, allow_none=True
)
+ is_managed_externally = fields.Boolean(allow_none=True, default=False)
+ external_url = fields.String(allow_none=True)
class DashboardPutSchema(BaseDashboardSchema):
@@ -278,6 +282,8 @@ class DashboardPutSchema(BaseDashboardSchema):
certification_details = fields.String(
description=certification_details_description, allow_none=True
)
+ is_managed_externally = fields.Boolean(allow_none=True, default=False)
+ external_url = fields.String(allow_none=True)
class ChartFavStarResponseResult(Schema):
@@ -301,3 +307,5 @@ class ImportV1DashboardSchema(Schema):
position = fields.Dict()
metadata = fields.Dict()
version = fields.String(required=True)
+ is_managed_externally = fields.Boolean(allow_none=True, default=False)
+ external_url = fields.String(allow_none=True)
diff --git a/superset/databases/api.py b/superset/databases/api.py
index 3737addedeb92..0de8bcf83e9ba 100644
--- a/superset/databases/api.py
+++ b/superset/databases/api.py
@@ -123,6 +123,7 @@ class DatabaseRestApi(BaseSupersetModelRestApi):
"parameters_schema",
"server_cert",
"sqlalchemy_uri",
+ "is_managed_externally",
]
list_columns = [
"allow_file_upload",
@@ -880,7 +881,10 @@ def function_names(self, pk: int) -> Response:
database = DatabaseDAO.find_by_id(pk)
if not database:
return self.response_404()
- return self.response(200, function_names=database.function_names,)
+ return self.response(
+ 200,
+ function_names=database.function_names,
+ )
@expose("/available/", methods=["GET"])
@protect()
diff --git a/superset/databases/commands/exceptions.py b/superset/databases/commands/exceptions.py
index 9ba58373e197a..bde76c021c88a 100644
--- a/superset/databases/commands/exceptions.py
+++ b/superset/databases/commands/exceptions.py
@@ -47,7 +47,8 @@ def __init__(self) -> None:
class DatabaseRequiredFieldValidationError(ValidationError):
def __init__(self, field_name: str) -> None:
super().__init__(
- [_("Field is required")], field_name=field_name,
+ [_("Field is required")],
+ field_name=field_name,
)
@@ -100,7 +101,8 @@ class DatabaseUpdateFailedError(UpdateFailedError):
class DatabaseConnectionFailedError( # pylint: disable=too-many-ancestors
- DatabaseCreateFailedError, DatabaseUpdateFailedError,
+ DatabaseCreateFailedError,
+ DatabaseUpdateFailedError,
):
message = _("Connection failed, please check your connection settings")
diff --git a/superset/databases/commands/test_connection.py b/superset/databases/commands/test_connection.py
index d3076017bc404..1155f4774db42 100644
--- a/superset/databases/commands/test_connection.py
+++ b/superset/databases/commands/test_connection.py
@@ -91,8 +91,9 @@ def run(self) -> None:
engine.dialect.do_ping,
args=(conn,),
)
- except sqlite3.ProgrammingError:
+ except (sqlite3.ProgrammingError, RuntimeError):
# SQLite can't run on a separate thread, so ``func_timeout`` fails
+ # RuntimeError catches the equivalent error from duckdb.
alive = engine.dialect.do_ping(conn)
except FunctionTimedOut as ex:
raise SupersetTimeoutException(
diff --git a/superset/databases/commands/validate.py b/superset/databases/commands/validate.py
index e2dcc581d7fbf..91e76d8d55efb 100644
--- a/superset/databases/commands/validate.py
+++ b/superset/databases/commands/validate.py
@@ -57,7 +57,8 @@ def run(self) -> None:
raise InvalidEngineError(
SupersetError(
message=__(
- 'Engine "%(engine)s" is not a valid engine.', engine=engine,
+ 'Engine "%(engine)s" is not a valid engine.',
+ engine=engine,
),
error_type=SupersetErrorType.GENERIC_DB_ENGINE_ERROR,
level=ErrorLevel.ERROR,
@@ -101,7 +102,8 @@ def run(self) -> None:
# try to connect
sqlalchemy_uri = engine_spec.build_sqlalchemy_uri( # type: ignore
- self._properties.get("parameters"), encrypted_extra,
+ self._properties.get("parameters"),
+ encrypted_extra,
)
if self._model and sqlalchemy_uri == self._model.safe_sqlalchemy_uri():
sqlalchemy_uri = self._model.sqlalchemy_uri_decrypted
diff --git a/superset/databases/dao.py b/superset/databases/dao.py
index 3d2cdf6d4ffa0..d8813dc8eba3e 100644
--- a/superset/databases/dao.py
+++ b/superset/databases/dao.py
@@ -42,7 +42,8 @@ def validate_uniqueness(database_name: str) -> bool:
@staticmethod
def validate_update_uniqueness(database_id: int, database_name: str) -> bool:
database_query = db.session.query(Database).filter(
- Database.database_name == database_name, Database.id != database_id,
+ Database.database_name == database_name,
+ Database.id != database_id,
)
return not db.session.query(database_query.exists()).scalar()
diff --git a/superset/databases/filters.py b/superset/databases/filters.py
index bee7d2c7b2134..bd0729767ee4e 100644
--- a/superset/databases/filters.py
+++ b/superset/databases/filters.py
@@ -27,7 +27,8 @@ class DatabaseFilter(BaseFilter):
# TODO(bogdan): consider caching.
def can_access_databases( # noqa pylint: disable=no-self-use
- self, view_menu_name: str,
+ self,
+ view_menu_name: str,
) -> Set[str]:
return {
security_manager.unpack_database_and_schema(vm).database
diff --git a/superset/databases/schemas.py b/superset/databases/schemas.py
index 4483b051f1be0..4fa38415ef2fc 100644
--- a/superset/databases/schemas.py
+++ b/superset/databases/schemas.py
@@ -308,7 +308,12 @@ def get_engine_spec(engine: Optional[str]) -> Type[BaseEngineSpec]:
engine_specs = get_engine_specs()
if engine not in engine_specs:
raise ValidationError(
- [_('Engine "%(engine)s" is not a valid engine.', engine=engine,)]
+ [
+ _(
+ 'Engine "%(engine)s" is not a valid engine.',
+ engine=engine,
+ )
+ ]
)
return engine_specs[engine]
@@ -324,7 +329,9 @@ class Meta: # pylint: disable=too-few-public-methods
description="DB-specific parameters for configuration",
)
database_name = fields.String(
- description=database_name_description, allow_none=True, validate=Length(1, 250),
+ description=database_name_description,
+ allow_none=True,
+ validate=Length(1, 250),
)
impersonate_user = fields.Boolean(description=impersonate_user_description)
extra = fields.String(description=extra_description, validate=extra_validator)
@@ -351,7 +358,9 @@ class Meta: # pylint: disable=too-few-public-methods
unknown = EXCLUDE
database_name = fields.String(
- description=database_name_description, required=True, validate=Length(1, 250),
+ description=database_name_description,
+ required=True,
+ validate=Length(1, 250),
)
cache_timeout = fields.Integer(
description=cache_timeout_description, allow_none=True
@@ -386,6 +395,8 @@ class Meta: # pylint: disable=too-few-public-methods
description=sqlalchemy_uri_description,
validate=[Length(1, 1024), sqlalchemy_uri_validator],
)
+ is_managed_externally = fields.Boolean(allow_none=True, default=False)
+ external_url = fields.String(allow_none=True)
class DatabasePutSchema(Schema, DatabaseParametersSchemaMixin):
@@ -393,7 +404,9 @@ class Meta: # pylint: disable=too-few-public-methods
unknown = EXCLUDE
database_name = fields.String(
- description=database_name_description, allow_none=True, validate=Length(1, 250),
+ description=database_name_description,
+ allow_none=True,
+ validate=Length(1, 250),
)
cache_timeout = fields.Integer(
description=cache_timeout_description, allow_none=True
@@ -428,11 +441,15 @@ class Meta: # pylint: disable=too-few-public-methods
description=sqlalchemy_uri_description,
validate=[Length(0, 1024), sqlalchemy_uri_validator],
)
+ is_managed_externally = fields.Boolean(allow_none=True, default=False)
+ external_url = fields.String(allow_none=True)
class DatabaseTestConnectionSchema(Schema, DatabaseParametersSchemaMixin):
database_name = fields.String(
- description=database_name_description, allow_none=True, validate=Length(1, 250),
+ description=database_name_description,
+ allow_none=True,
+ validate=Length(1, 250),
)
impersonate_user = fields.Boolean(description=impersonate_user_description)
extra = fields.String(description=extra_description, validate=extra_validator)
@@ -619,6 +636,8 @@ def fix_allow_csv_upload(
extra = fields.Nested(ImportV1DatabaseExtraSchema)
uuid = fields.UUID(required=True)
version = fields.String(required=True)
+ is_managed_externally = fields.Boolean(allow_none=True, default=False)
+ external_url = fields.String(allow_none=True)
# pylint: disable=no-self-use, unused-argument
@validates_schema
diff --git a/superset/datasets/api.py b/superset/datasets/api.py
index b94b9ca12482a..bf7147cb7f176 100644
--- a/superset/datasets/api.py
+++ b/superset/datasets/api.py
@@ -163,7 +163,11 @@ class DatasetRestApi(BaseSupersetModelRestApi):
"url",
"extra",
]
- show_columns = show_select_columns + ["columns.type_generic", "database.backend"]
+ show_columns = show_select_columns + [
+ "columns.type_generic",
+ "database.backend",
+ "is_managed_externally",
+ ]
add_model_schema = DatasetPostSchema()
edit_model_schema = DatasetPutSchema()
add_columns = ["database", "schema", "table_name", "owners"]
diff --git a/superset/datasets/commands/importers/v0.py b/superset/datasets/commands/importers/v0.py
index 1508298a23e88..7f13261edd3d4 100644
--- a/superset/datasets/commands/importers/v0.py
+++ b/superset/datasets/commands/importers/v0.py
@@ -285,7 +285,10 @@ class ImportDatasetsCommand(BaseCommand):
# pylint: disable=unused-argument
def __init__(
- self, contents: Dict[str, str], *args: Any, **kwargs: Any,
+ self,
+ contents: Dict[str, str],
+ *args: Any,
+ **kwargs: Any,
):
self.contents = contents
self._configs: Dict[str, Any] = {}
diff --git a/superset/datasets/commands/update.py b/superset/datasets/commands/update.py
index 9ae2bd4a189c9..9d448a6c19392 100644
--- a/superset/datasets/commands/update.py
+++ b/superset/datasets/commands/update.py
@@ -65,7 +65,8 @@ def run(self) -> Model:
if self._model:
try:
dataset = DatasetDAO.update(
- model=self._model, properties=self._properties,
+ model=self._model,
+ properties=self._properties,
)
return dataset
except DAOUpdateFailedError as ex:
diff --git a/superset/datasets/schemas.py b/superset/datasets/schemas.py
index 775798d274fa7..8e4ded92d7057 100644
--- a/superset/datasets/schemas.py
+++ b/superset/datasets/schemas.py
@@ -80,6 +80,8 @@ class DatasetPostSchema(Schema):
schema = fields.String(validate=Length(0, 250))
table_name = fields.String(required=True, allow_none=False, validate=Length(1, 250))
owners = fields.List(fields.Integer())
+ is_managed_externally = fields.Boolean(allow_none=True, default=False)
+ external_url = fields.String(allow_none=True)
class DatasetPutSchema(Schema):
@@ -100,6 +102,8 @@ class DatasetPutSchema(Schema):
columns = fields.List(fields.Nested(DatasetColumnsPutSchema))
metrics = fields.List(fields.Nested(DatasetMetricsPutSchema))
extra = fields.String(allow_none=True)
+ is_managed_externally = fields.Boolean(allow_none=True, default=False)
+ external_url = fields.String(allow_none=True)
class DatasetRelatedChart(Schema):
@@ -212,6 +216,8 @@ def fix_extra(self, data: Dict[str, Any], **kwargs: Any) -> Dict[str, Any]:
version = fields.String(required=True)
database_uuid = fields.UUID(required=True)
data = fields.URL()
+ is_managed_externally = fields.Boolean(allow_none=True, default=False)
+ external_url = fields.String(allow_none=True)
class DatasetSchema(SQLAlchemyAutoSchema):
diff --git a/superset/db_engine_specs/base.py b/superset/db_engine_specs/base.py
index 5c73e2f666e26..200c7c8eac83c 100644
--- a/superset/db_engine_specs/base.py
+++ b/superset/db_engine_specs/base.py
@@ -205,7 +205,11 @@ class BaseEngineSpec: # pylint: disable=too-many-public-methods
types.BigInteger(),
GenericDataType.NUMERIC,
),
- (re.compile(r"^long", re.IGNORECASE), types.Float(), GenericDataType.NUMERIC,),
+ (
+ re.compile(r"^long", re.IGNORECASE),
+ types.Float(),
+ GenericDataType.NUMERIC,
+ ),
(
re.compile(r"^decimal", re.IGNORECASE),
types.Numeric(),
@@ -216,13 +220,21 @@ class BaseEngineSpec: # pylint: disable=too-many-public-methods
types.Numeric(),
GenericDataType.NUMERIC,
),
- (re.compile(r"^float", re.IGNORECASE), types.Float(), GenericDataType.NUMERIC,),
+ (
+ re.compile(r"^float", re.IGNORECASE),
+ types.Float(),
+ GenericDataType.NUMERIC,
+ ),
(
re.compile(r"^double", re.IGNORECASE),
types.Float(),
GenericDataType.NUMERIC,
),
- (re.compile(r"^real", re.IGNORECASE), types.REAL, GenericDataType.NUMERIC,),
+ (
+ re.compile(r"^real", re.IGNORECASE),
+ types.REAL,
+ GenericDataType.NUMERIC,
+ ),
(
re.compile(r"^smallserial", re.IGNORECASE),
types.SmallInteger(),
@@ -258,7 +270,11 @@ class BaseEngineSpec: # pylint: disable=too-many-public-methods
types.DateTime(),
GenericDataType.TEMPORAL,
),
- (re.compile(r"^time", re.IGNORECASE), types.Time(), GenericDataType.TEMPORAL,),
+ (
+ re.compile(r"^time", re.IGNORECASE),
+ types.Time(),
+ GenericDataType.TEMPORAL,
+ ),
(
re.compile(r"^interval", re.IGNORECASE),
types.Interval(),
@@ -351,7 +367,8 @@ def get_dbapi_mapped_exception(cls, exception: Exception) -> Exception:
@classmethod
def get_allow_cost_estimate( # pylint: disable=unused-argument
- cls, extra: Dict[str, Any],
+ cls,
+ extra: Dict[str, Any],
) -> bool:
return False
@@ -618,7 +635,10 @@ def normalize_indexes(cls, indexes: List[Dict[str, Any]]) -> List[Dict[str, Any]
@classmethod
def extra_table_metadata( # pylint: disable=unused-argument
- cls, database: "Database", table_name: str, schema_name: str,
+ cls,
+ database: "Database",
+ table_name: str,
+ schema_name: str,
) -> Dict[str, Any]:
"""
Returns engine-specific table metadata
@@ -944,7 +964,10 @@ def get_schema_names(cls, inspector: Inspector) -> List[str]:
@classmethod
def get_table_names( # pylint: disable=unused-argument
- cls, database: "Database", inspector: Inspector, schema: Optional[str],
+ cls,
+ database: "Database",
+ inspector: Inspector,
+ schema: Optional[str],
) -> List[str]:
"""
Get all tables from schema
@@ -961,7 +984,10 @@ def get_table_names( # pylint: disable=unused-argument
@classmethod
def get_view_names( # pylint: disable=unused-argument
- cls, database: "Database", inspector: Inspector, schema: Optional[str],
+ cls,
+ database: "Database",
+ inspector: Inspector,
+ schema: Optional[str],
) -> List[str]:
"""
Get all views from schema
@@ -1193,7 +1219,10 @@ def modify_url_for_impersonation(
@classmethod
def update_impersonation_config(
- cls, connect_args: Dict[str, Any], uri: str, username: Optional[str],
+ cls,
+ connect_args: Dict[str, Any],
+ uri: str,
+ username: Optional[str],
) -> None:
"""
Update a configuration dictionary
@@ -1207,7 +1236,10 @@ def update_impersonation_config(
@classmethod
def execute( # pylint: disable=unused-argument
- cls, cursor: Any, query: str, **kwargs: Any,
+ cls,
+ cursor: Any,
+ query: str,
+ **kwargs: Any,
) -> None:
"""
Execute a SQL query
@@ -1333,7 +1365,8 @@ def column_datatype_to_string(
@classmethod
def get_function_names( # pylint: disable=unused-argument
- cls, database: "Database",
+ cls,
+ database: "Database",
) -> List[str]:
"""
Get a list of function names that are able to be called on the database.
@@ -1471,7 +1504,9 @@ def has_implicit_cancel(cls) -> bool:
@classmethod
def get_cancel_query_id( # pylint: disable=unused-argument
- cls, cursor: Any, query: Query,
+ cls,
+ cursor: Any,
+ query: Query,
) -> Optional[str]:
"""
Select identifiers from the database engine that uniquely identifies the
@@ -1487,7 +1522,10 @@ def get_cancel_query_id( # pylint: disable=unused-argument
@classmethod
def cancel_query( # pylint: disable=unused-argument
- cls, cursor: Any, query: Query, cancel_query_id: str,
+ cls,
+ cursor: Any,
+ query: Query,
+ cancel_query_id: str,
) -> bool:
"""
Cancel query in the underlying database.
@@ -1515,7 +1553,7 @@ class BasicParametersSchema(Schema):
port = fields.Integer(
required=True,
description=__("Database port"),
- validate=Range(min=0, max=2 ** 16, max_inclusive=False),
+ validate=Range(min=0, max=2**16, max_inclusive=False),
)
database = fields.String(required=True, description=__("Database name"))
query = fields.Dict(
@@ -1665,7 +1703,7 @@ def validate_parameters(
extra={"invalid": ["port"]},
),
)
- if not (isinstance(port, int) and 0 <= port < 2 ** 16):
+ if not (isinstance(port, int) and 0 <= port < 2**16):
errors.append(
SupersetError(
message=(
diff --git a/superset/db_engine_specs/bigquery.py b/superset/db_engine_specs/bigquery.py
index 30e04c4f2fe9b..2c9f81b1bdde0 100644
--- a/superset/db_engine_specs/bigquery.py
+++ b/superset/db_engine_specs/bigquery.py
@@ -72,7 +72,8 @@
class BigQueryParametersSchema(Schema):
credentials_info = EncryptedString(
- required=False, description="Contents of BigQuery JSON credentials.",
+ required=False,
+ description="Contents of BigQuery JSON credentials.",
)
query = fields.Dict(required=False)
diff --git a/superset/db_engine_specs/duckdb.py b/superset/db_engine_specs/duckdb.py
new file mode 100644
index 0000000000000..9f2d7422128b1
--- /dev/null
+++ b/superset/db_engine_specs/duckdb.py
@@ -0,0 +1,80 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+from __future__ import annotations
+
+import re
+from datetime import datetime
+from typing import Any, Dict, List, Optional, Pattern, Tuple, TYPE_CHECKING
+
+from flask_babel import gettext as __
+from sqlalchemy.engine.reflection import Inspector
+
+from superset.db_engine_specs.base import BaseEngineSpec
+from superset.errors import SupersetErrorType
+from superset.utils import core as utils
+
+if TYPE_CHECKING:
+ # prevent circular imports
+ from superset.models.core import Database
+
+
+COLUMN_DOES_NOT_EXIST_REGEX = re.compile("no such column: (?P.+)")
+
+
+class DuckDBEngineSpec(BaseEngineSpec):
+ engine = "duckdb"
+ engine_name = "DuckDB"
+
+ _time_grain_expressions = {
+ None: "{col}",
+ "PT1S": "DATE_TRUNC('second', {col})",
+ "PT1M": "DATE_TRUNC('minute', {col})",
+ "PT1H": "DATE_TRUNC('hour', {col})",
+ "P1D": "DATE_TRUNC('day', {col})",
+ "P1W": "DATE_TRUNC('week', {col})",
+ "P1M": "DATE_TRUNC('month', {col})",
+ "P0.25Y": "DATE_TRUNC('quarter', {col})",
+ "P1Y": "DATE_TRUNC('year', {col})",
+ }
+
+ custom_errors: Dict[Pattern[str], Tuple[str, SupersetErrorType, Dict[str, Any]]] = {
+ COLUMN_DOES_NOT_EXIST_REGEX: (
+ __('We can\'t seem to resolve the column "%(column_name)s"'),
+ SupersetErrorType.COLUMN_DOES_NOT_EXIST_ERROR,
+ {},
+ ),
+ }
+
+ @classmethod
+ def epoch_to_dttm(cls) -> str:
+ return "datetime({col}, 'unixepoch')"
+
+ @classmethod
+ def convert_dttm(
+ cls, target_type: str, dttm: datetime, db_extra: Optional[Dict[str, Any]] = None
+ ) -> Optional[str]:
+ tt = target_type.upper()
+ if tt in (utils.TemporalType.TEXT, utils.TemporalType.DATETIME):
+ return f"""'{dttm.isoformat(sep=" ", timespec="microseconds")}'"""
+ return None
+
+ @classmethod
+ def get_table_names(
+ cls, database: Database, inspector: Inspector, schema: Optional[str]
+ ) -> List[str]:
+ """Need to disregard the schema for DuckDB"""
+ return sorted(inspector.get_table_names())
diff --git a/superset/db_engine_specs/gsheets.py b/superset/db_engine_specs/gsheets.py
index 3889e990795d9..888513f518482 100644
--- a/superset/db_engine_specs/gsheets.py
+++ b/superset/db_engine_specs/gsheets.py
@@ -82,7 +82,10 @@ class GSheetsEngineSpec(SqliteEngineSpec):
@classmethod
def modify_url_for_impersonation(
- cls, url: URL, impersonate_user: bool, username: Optional[str],
+ cls,
+ url: URL,
+ impersonate_user: bool,
+ username: Optional[str],
) -> None:
if impersonate_user and username is not None:
user = security_manager.find_user(username=username)
@@ -91,7 +94,10 @@ def modify_url_for_impersonation(
@classmethod
def extra_table_metadata(
- cls, database: "Database", table_name: str, schema_name: str,
+ cls,
+ database: "Database",
+ table_name: str,
+ schema_name: str,
) -> Dict[str, Any]:
engine = cls.get_engine(database, schema=schema_name)
with closing(engine.raw_connection()) as conn:
@@ -150,7 +156,8 @@ def parameters_json_schema(cls) -> Any:
@classmethod
def validate_parameters(
- cls, parameters: GSheetsParametersType,
+ cls,
+ parameters: GSheetsParametersType,
) -> List[SupersetError]:
errors: List[SupersetError] = []
encrypted_credentials = parameters.get("service_account_info") or "{}"
@@ -173,7 +180,9 @@ def validate_parameters(
subject = g.user.email if g.user else None
engine = create_engine(
- "gsheets://", service_account_info=encrypted_credentials, subject=subject,
+ "gsheets://",
+ service_account_info=encrypted_credentials,
+ subject=subject,
)
conn = engine.connect()
idx = 0
diff --git a/superset/db_engine_specs/hive.py b/superset/db_engine_specs/hive.py
index 611a98448b2ce..5f7e01d50271f 100644
--- a/superset/db_engine_specs/hive.py
+++ b/superset/db_engine_specs/hive.py
@@ -496,7 +496,10 @@ def modify_url_for_impersonation(
@classmethod
def update_impersonation_config(
- cls, connect_args: Dict[str, Any], uri: str, username: Optional[str],
+ cls,
+ connect_args: Dict[str, Any],
+ uri: str,
+ username: Optional[str],
) -> None:
"""
Update a configuration dictionary
diff --git a/superset/db_engine_specs/mysql.py b/superset/db_engine_specs/mysql.py
index 90cbe621faf56..9aa3c85e0fe62 100644
--- a/superset/db_engine_specs/mysql.py
+++ b/superset/db_engine_specs/mysql.py
@@ -74,24 +74,56 @@ class MySQLEngineSpec(BaseEngineSpec, BasicParametersMixin):
encryption_parameters = {"ssl": "1"}
column_type_mappings = (
- (re.compile(r"^int.*", re.IGNORECASE), INTEGER(), GenericDataType.NUMERIC,),
- (re.compile(r"^tinyint", re.IGNORECASE), TINYINT(), GenericDataType.NUMERIC,),
+ (
+ re.compile(r"^int.*", re.IGNORECASE),
+ INTEGER(),
+ GenericDataType.NUMERIC,
+ ),
+ (
+ re.compile(r"^tinyint", re.IGNORECASE),
+ TINYINT(),
+ GenericDataType.NUMERIC,
+ ),
(
re.compile(r"^mediumint", re.IGNORECASE),
MEDIUMINT(),
GenericDataType.NUMERIC,
),
- (re.compile(r"^decimal", re.IGNORECASE), DECIMAL(), GenericDataType.NUMERIC,),
- (re.compile(r"^float", re.IGNORECASE), FLOAT(), GenericDataType.NUMERIC,),
- (re.compile(r"^double", re.IGNORECASE), DOUBLE(), GenericDataType.NUMERIC,),
- (re.compile(r"^bit", re.IGNORECASE), BIT(), GenericDataType.NUMERIC,),
- (re.compile(r"^tinytext", re.IGNORECASE), TINYTEXT(), GenericDataType.STRING,),
+ (
+ re.compile(r"^decimal", re.IGNORECASE),
+ DECIMAL(),
+ GenericDataType.NUMERIC,
+ ),
+ (
+ re.compile(r"^float", re.IGNORECASE),
+ FLOAT(),
+ GenericDataType.NUMERIC,
+ ),
+ (
+ re.compile(r"^double", re.IGNORECASE),
+ DOUBLE(),
+ GenericDataType.NUMERIC,
+ ),
+ (
+ re.compile(r"^bit", re.IGNORECASE),
+ BIT(),
+ GenericDataType.NUMERIC,
+ ),
+ (
+ re.compile(r"^tinytext", re.IGNORECASE),
+ TINYTEXT(),
+ GenericDataType.STRING,
+ ),
(
re.compile(r"^mediumtext", re.IGNORECASE),
MEDIUMTEXT(),
GenericDataType.STRING,
),
- (re.compile(r"^longtext", re.IGNORECASE), LONGTEXT(), GenericDataType.STRING,),
+ (
+ re.compile(r"^longtext", re.IGNORECASE),
+ LONGTEXT(),
+ GenericDataType.STRING,
+ ),
)
_time_grain_expressions = {
diff --git a/superset/db_engine_specs/postgres.py b/superset/db_engine_specs/postgres.py
index f6c6888ee97bb..f81e2f7b3e4a6 100644
--- a/superset/db_engine_specs/postgres.py
+++ b/superset/db_engine_specs/postgres.py
@@ -188,8 +188,16 @@ class PostgresEngineSpec(PostgresBaseEngineSpec, BasicParametersMixin):
lambda match: ARRAY(int(match[2])) if match[2] else String(),
GenericDataType.STRING,
),
- (re.compile(r"^json.*", re.IGNORECASE), JSON(), GenericDataType.STRING,),
- (re.compile(r"^enum.*", re.IGNORECASE), ENUM(), GenericDataType.STRING,),
+ (
+ re.compile(r"^json.*", re.IGNORECASE),
+ JSON(),
+ GenericDataType.STRING,
+ ),
+ (
+ re.compile(r"^enum.*", re.IGNORECASE),
+ ENUM(),
+ GenericDataType.STRING,
+ ),
)
@classmethod
diff --git a/superset/db_engine_specs/presto.py b/superset/db_engine_specs/presto.py
index 62e2f349f1e4e..60cb9c7acaca6 100644
--- a/superset/db_engine_specs/presto.py
+++ b/superset/db_engine_specs/presto.py
@@ -214,7 +214,10 @@ def get_allow_cost_estimate(cls, extra: Dict[str, Any]) -> bool:
@classmethod
def update_impersonation_config(
- cls, connect_args: Dict[str, Any], uri: str, username: Optional[str],
+ cls,
+ connect_args: Dict[str, Any],
+ uri: str,
+ username: Optional[str],
) -> None:
"""
Update a configuration dictionary
@@ -487,7 +490,11 @@ def _show_columns(
types.VARBINARY(),
GenericDataType.STRING,
),
- (re.compile(r"^json.*", re.IGNORECASE), types.JSON(), GenericDataType.STRING,),
+ (
+ re.compile(r"^json.*", re.IGNORECASE),
+ types.JSON(),
+ GenericDataType.STRING,
+ ),
(
re.compile(r"^date.*", re.IGNORECASE),
types.DATETIME(),
diff --git a/superset/db_engine_specs/trino.py b/superset/db_engine_specs/trino.py
index d902a917a6a11..31e9a0aa7b3a3 100644
--- a/superset/db_engine_specs/trino.py
+++ b/superset/db_engine_specs/trino.py
@@ -94,7 +94,10 @@ def adjust_database_uri(
@classmethod
def update_impersonation_config(
- cls, connect_args: Dict[str, Any], uri: str, username: Optional[str],
+ cls,
+ connect_args: Dict[str, Any],
+ uri: str,
+ username: Optional[str],
) -> None:
"""
Update a configuration dictionary
diff --git a/superset/examples/birth_names.py b/superset/examples/birth_names.py
index 830d39801124d..1380958b2ad4a 100644
--- a/superset/examples/birth_names.py
+++ b/superset/examples/birth_names.py
@@ -186,8 +186,16 @@ def create_slices(tbl: SqlaTable, admin_owner: bool) -> Tuple[List[Slice], List[
default_query_context = {
"result_format": "json",
"result_type": "full",
- "datasource": {"id": tbl.id, "type": "table",},
- "queries": [{"columns": [], "metrics": [],},],
+ "datasource": {
+ "id": tbl.id,
+ "type": "table",
+ },
+ "queries": [
+ {
+ "columns": [],
+ "metrics": [],
+ },
+ ],
}
admin = get_admin_user()
@@ -381,7 +389,12 @@ def create_slices(tbl: SqlaTable, admin_owner: bool) -> Tuple[List[Slice], List[
),
query_context=get_slice_json(
default_query_context,
- queries=[{"columns": ["name", "state"], "metrics": [metric],}],
+ queries=[
+ {
+ "columns": ["name", "state"],
+ "metrics": [metric],
+ }
+ ],
),
),
]
diff --git a/superset/examples/world_bank.py b/superset/examples/world_bank.py
index 0b0473f93232e..015a8f9297978 100644
--- a/superset/examples/world_bank.py
+++ b/superset/examples/world_bank.py
@@ -43,7 +43,9 @@
def load_world_bank_health_n_pop( # pylint: disable=too-many-locals, too-many-statements
- only_metadata: bool = False, force: bool = False, sample: bool = False,
+ only_metadata: bool = False,
+ force: bool = False,
+ sample: bool = False,
) -> None:
"""Loads the world bank health dataset, slices and a dashboard"""
tbl_name = "wb_health_population"
diff --git a/superset/exceptions.py b/superset/exceptions.py
index 6b259044862ba..2ae75f122970f 100644
--- a/superset/exceptions.py
+++ b/superset/exceptions.py
@@ -129,7 +129,10 @@ def __init__(
extra: Optional[Dict[str, Any]] = None,
) -> None:
super().__init__(
- SupersetErrorType.GENERIC_DB_ENGINE_ERROR, message, level, extra,
+ SupersetErrorType.GENERIC_DB_ENGINE_ERROR,
+ message,
+ level,
+ extra,
)
@@ -144,7 +147,10 @@ def __init__(
extra: Optional[Dict[str, Any]] = None,
) -> None:
super().__init__(
- error, message, level, extra,
+ error,
+ message,
+ level,
+ extra,
)
diff --git a/superset/explore/form_data/commands/create.py b/superset/explore/form_data/commands/create.py
index a325241c6641d..7b1f866c505df 100644
--- a/superset/explore/form_data/commands/create.py
+++ b/superset/explore/form_data/commands/create.py
@@ -24,8 +24,9 @@
from superset.explore.form_data.commands.state import TemporaryExploreState
from superset.explore.utils import check_access
from superset.extensions import cache_manager
+from superset.key_value.utils import random_key
from superset.temporary_cache.commands.exceptions import TemporaryCacheCreateFailedError
-from superset.temporary_cache.utils import cache_key, random_key
+from superset.temporary_cache.utils import cache_key
from superset.utils.schema import validate_json
logger = logging.getLogger(__name__)
diff --git a/superset/explore/form_data/commands/update.py b/superset/explore/form_data/commands/update.py
index 0c986ee102cb0..596c5f6e27ef2 100644
--- a/superset/explore/form_data/commands/update.py
+++ b/superset/explore/form_data/commands/update.py
@@ -26,11 +26,12 @@
from superset.explore.form_data.commands.state import TemporaryExploreState
from superset.explore.utils import check_access
from superset.extensions import cache_manager
+from superset.key_value.utils import random_key
from superset.temporary_cache.commands.exceptions import (
TemporaryCacheAccessDeniedError,
TemporaryCacheUpdateFailedError,
)
-from superset.temporary_cache.utils import cache_key, random_key
+from superset.temporary_cache.utils import cache_key
from superset.utils.schema import validate_json
logger = logging.getLogger(__name__)
@@ -38,7 +39,8 @@
class UpdateFormDataCommand(BaseCommand, ABC):
def __init__(
- self, cmd_params: CommandParameters,
+ self,
+ cmd_params: CommandParameters,
):
self._cmd_params = cmd_params
diff --git a/superset/explore/permalink/api.py b/superset/explore/permalink/api.py
index 025b1a45481c8..1d78e4354ae19 100644
--- a/superset/explore/permalink/api.py
+++ b/superset/explore/permalink/api.py
@@ -16,7 +16,7 @@
# under the License.
import logging
-from flask import current_app, g, request, Response
+from flask import g, request, Response
from flask_appbuilder.api import BaseApi, expose, protect, safe
from marshmallow import ValidationError
@@ -98,12 +98,9 @@ def post(self) -> Response:
500:
$ref: '#/components/responses/500'
"""
- key_type = current_app.config["PERMALINK_KEY_TYPE"]
try:
state = self.add_model_schema.load(request.json)
- key = CreateExplorePermalinkCommand(
- actor=g.user, state=state, key_type=key_type,
- ).run()
+ key = CreateExplorePermalinkCommand(actor=g.user, state=state).run()
http_origin = request.headers.environ.get("HTTP_ORIGIN")
url = f"{http_origin}/superset/explore/p/{key}/"
return self.response(201, key=key, url=url)
@@ -159,16 +156,16 @@ def get(self, key: str) -> Response:
$ref: '#/components/responses/500'
"""
try:
- key_type = current_app.config["PERMALINK_KEY_TYPE"]
- value = GetExplorePermalinkCommand(
- actor=g.user, key=key, key_type=key_type
- ).run()
+ value = GetExplorePermalinkCommand(actor=g.user, key=key).run()
if not value:
return self.response_404()
return self.response(200, **value)
except ExplorePermalinkInvalidStateError as ex:
return self.response(400, message=str(ex))
- except (ChartAccessDeniedError, DatasetAccessDeniedError,) as ex:
+ except (
+ ChartAccessDeniedError,
+ DatasetAccessDeniedError,
+ ) as ex:
return self.response(403, message=str(ex))
except (ChartNotFoundError, DatasetNotFoundError) as ex:
return self.response(404, message=str(ex))
diff --git a/superset/explore/permalink/commands/base.py b/superset/explore/permalink/commands/base.py
index 01a96405da026..bef9546e21686 100644
--- a/superset/explore/permalink/commands/base.py
+++ b/superset/explore/permalink/commands/base.py
@@ -17,7 +17,13 @@
from abc import ABC
from superset.commands.base import BaseCommand
+from superset.key_value.shared_entries import get_permalink_salt
+from superset.key_value.types import KeyValueResource, SharedKey
class BaseExplorePermalinkCommand(BaseCommand, ABC):
- resource = "explore_permalink"
+ resource: KeyValueResource = KeyValueResource.EXPLORE_PERMALINK
+
+ @property
+ def salt(self) -> str:
+ return get_permalink_salt(SharedKey.EXPLORE_PERMALINK_SALT)
diff --git a/superset/explore/permalink/commands/create.py b/superset/explore/permalink/commands/create.py
index 936f20063b9bd..c09ca3b372121 100644
--- a/superset/explore/permalink/commands/create.py
+++ b/superset/explore/permalink/commands/create.py
@@ -24,18 +24,17 @@
from superset.explore.permalink.exceptions import ExplorePermalinkCreateFailedError
from superset.explore.utils import check_access
from superset.key_value.commands.create import CreateKeyValueCommand
-from superset.key_value.types import KeyType
+from superset.key_value.utils import encode_permalink_key
logger = logging.getLogger(__name__)
class CreateExplorePermalinkCommand(BaseExplorePermalinkCommand):
- def __init__(self, actor: User, state: Dict[str, Any], key_type: KeyType):
+ def __init__(self, actor: User, state: Dict[str, Any]):
self.actor = actor
self.chart_id: Optional[int] = state["formData"].get("slice_id")
self.datasource: str = state["formData"]["datasource"]
self.state = state
- self.key_type = key_type
def run(self) -> str:
self.validate()
@@ -52,9 +51,11 @@ def run(self) -> str:
actor=self.actor,
resource=self.resource,
value=value,
- key_type=self.key_type,
)
- return command.run()
+ key = command.run()
+ if key.id is None:
+ raise ExplorePermalinkCreateFailedError("Unexpected missing key id")
+ return encode_permalink_key(key=key.id, salt=self.salt)
except SQLAlchemyError as ex:
logger.exception("Error running create command")
raise ExplorePermalinkCreateFailedError() from ex
diff --git a/superset/explore/permalink/commands/get.py b/superset/explore/permalink/commands/get.py
index e22ab8332f3dc..1e3ea1fdc6f92 100644
--- a/superset/explore/permalink/commands/get.py
+++ b/superset/explore/permalink/commands/get.py
@@ -27,24 +27,23 @@
from superset.explore.utils import check_access
from superset.key_value.commands.get import GetKeyValueCommand
from superset.key_value.exceptions import KeyValueGetFailedError, KeyValueParseKeyError
-from superset.key_value.types import KeyType
+from superset.key_value.utils import decode_permalink_id
logger = logging.getLogger(__name__)
class GetExplorePermalinkCommand(BaseExplorePermalinkCommand):
- def __init__(
- self, actor: User, key: str, key_type: KeyType,
- ):
+ def __init__(self, actor: User, key: str):
self.actor = actor
self.key = key
- self.key_type = key_type
def run(self) -> Optional[ExplorePermalinkValue]:
self.validate()
try:
+ key = decode_permalink_id(self.key, salt=self.salt)
value: Optional[ExplorePermalinkValue] = GetKeyValueCommand(
- resource=self.resource, key=self.key, key_type=self.key_type
+ resource=self.resource,
+ key=key,
).run()
if value:
chart_id: Optional[int] = value.get("chartId")
diff --git a/superset/explore/permalink/schemas.py b/superset/explore/permalink/schemas.py
index 7392c2deda250..e1f9d069b853f 100644
--- a/superset/explore/permalink/schemas.py
+++ b/superset/explore/permalink/schemas.py
@@ -19,7 +19,9 @@
class ExplorePermalinkPostSchema(Schema):
formData = fields.Dict(
- required=True, allow_none=False, description="Chart form data",
+ required=True,
+ allow_none=False,
+ description="Chart form data",
)
urlParams = fields.List(
fields.Tuple(
diff --git a/superset/extensions/metastore_cache.py b/superset/extensions/metastore_cache.py
index 156f7771fbce7..1e5cff7ee3ccf 100644
--- a/superset/extensions/metastore_cache.py
+++ b/superset/extensions/metastore_cache.py
@@ -16,7 +16,6 @@
# under the License.
from datetime import datetime, timedelta
-from hashlib import md5
from typing import Any, Dict, List, Optional
from uuid import UUID, uuid3
@@ -24,10 +23,10 @@
from flask_caching import BaseCache
from superset.key_value.exceptions import KeyValueCreateFailedError
-from superset.key_value.types import KeyType
+from superset.key_value.types import KeyValueResource
+from superset.key_value.utils import get_uuid_namespace
-RESOURCE = "superset_metastore_cache"
-KEY_TYPE: KeyType = "uuid"
+RESOURCE = KeyValueResource.METASTORE_CACHE
class SupersetMetastoreCache(BaseCache):
@@ -39,15 +38,12 @@ def __init__(self, namespace: UUID, default_timeout: int = 300) -> None:
def factory(
cls, app: Flask, config: Dict[str, Any], args: List[Any], kwargs: Dict[str, Any]
) -> BaseCache:
- # base namespace for generating deterministic UUIDs
- md5_obj = md5()
seed = config.get("CACHE_KEY_PREFIX", "")
- md5_obj.update(seed.encode("utf-8"))
- kwargs["namespace"] = UUID(md5_obj.hexdigest())
+ kwargs["namespace"] = get_uuid_namespace(seed)
return cls(*args, **kwargs)
- def get_key(self, key: str) -> str:
- return str(uuid3(self.namespace, key))
+ def get_key(self, key: str) -> UUID:
+ return uuid3(self.namespace, key)
@staticmethod
def _prune() -> None:
@@ -70,7 +66,6 @@ def set(self, key: str, value: Any, timeout: Optional[int] = None) -> bool:
UpsertKeyValueCommand(
resource=RESOURCE,
- key_type=KEY_TYPE,
key=self.get_key(key),
value=value,
expires_on=self._get_expiry(timeout),
@@ -85,7 +80,6 @@ def add(self, key: str, value: Any, timeout: Optional[int] = None) -> bool:
CreateKeyValueCommand(
resource=RESOURCE,
value=value,
- key_type=KEY_TYPE,
key=self.get_key(key),
expires_on=self._get_expiry(timeout),
).run()
@@ -98,9 +92,7 @@ def get(self, key: str) -> Any:
# pylint: disable=import-outside-toplevel
from superset.key_value.commands.get import GetKeyValueCommand
- return GetKeyValueCommand(
- resource=RESOURCE, key_type=KEY_TYPE, key=self.get_key(key),
- ).run()
+ return GetKeyValueCommand(resource=RESOURCE, key=self.get_key(key)).run()
def has(self, key: str) -> bool:
entry = self.get(key)
@@ -112,6 +104,4 @@ def delete(self, key: str) -> Any:
# pylint: disable=import-outside-toplevel
from superset.key_value.commands.delete import DeleteKeyValueCommand
- return DeleteKeyValueCommand(
- resource=RESOURCE, key_type=KEY_TYPE, key=self.get_key(key),
- ).run()
+ return DeleteKeyValueCommand(resource=RESOURCE, key=self.get_key(key)).run()
diff --git a/superset/tasks/alerts/__init__.py b/superset/importexport/__init__.py
similarity index 97%
rename from superset/tasks/alerts/__init__.py
rename to superset/importexport/__init__.py
index fd9417fe5c1e9..13a83393a9124 100644
--- a/superset/tasks/alerts/__init__.py
+++ b/superset/importexport/__init__.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
diff --git a/superset/initialization/__init__.py b/superset/initialization/__init__.py
index f6ffd3ec3a09e..2b970b718fadf 100644
--- a/superset/initialization/__init__.py
+++ b/superset/initialization/__init__.py
@@ -150,13 +150,7 @@ def init_views(self) -> None:
from superset.reports.logs.api import ReportExecutionLogRestApi
from superset.security.api import SecurityRestApi
from superset.views.access_requests import AccessRequestsModelView
- from superset.views.alerts import (
- AlertLogModelView,
- AlertModelView,
- AlertObservationModelView,
- AlertView,
- ReportView,
- )
+ from superset.views.alerts import AlertView
from superset.views.annotations import (
AnnotationLayerModelView,
AnnotationModelView,
@@ -185,10 +179,6 @@ def init_views(self) -> None:
from superset.views.log.api import LogRestApi
from superset.views.log.views import LogModelView
from superset.views.redirects import R
- from superset.views.schedules import (
- DashboardEmailScheduleView,
- SliceEmailScheduleView,
- )
from superset.views.sql_lab import (
SavedQueryView,
SavedQueryViewApi,
@@ -393,50 +383,6 @@ def init_views(self) -> None:
#
# Conditionally setup email views
#
- if self.config["ENABLE_SCHEDULED_EMAIL_REPORTS"]:
- logging.warning(
- "ENABLE_SCHEDULED_EMAIL_REPORTS "
- "is deprecated and will be removed in version 2.0.0"
- )
-
- appbuilder.add_separator(
- "Manage", cond=lambda: self.config["ENABLE_SCHEDULED_EMAIL_REPORTS"]
- )
- appbuilder.add_view(
- DashboardEmailScheduleView,
- "Dashboard Email Schedules",
- label=__("Dashboard Emails"),
- category="Manage",
- category_label=__("Manage"),
- icon="fa-search",
- menu_cond=lambda: self.config["ENABLE_SCHEDULED_EMAIL_REPORTS"],
- )
- appbuilder.add_view(
- SliceEmailScheduleView,
- "Chart Emails",
- label=__("Chart Email Schedules"),
- category="Manage",
- category_label=__("Manage"),
- icon="fa-search",
- menu_cond=lambda: self.config["ENABLE_SCHEDULED_EMAIL_REPORTS"],
- )
-
- if self.config["ENABLE_ALERTS"]:
- logging.warning(
- "ENABLE_ALERTS is deprecated and will be removed in version 2.0.0"
- )
-
- appbuilder.add_view(
- AlertModelView,
- "Alerts",
- label=__("Alerts"),
- category="Manage",
- category_label=__("Manage"),
- icon="fa-exclamation-triangle",
- menu_cond=lambda: bool(self.config["ENABLE_ALERTS"]),
- )
- appbuilder.add_view_no_menu(AlertLogModelView)
- appbuilder.add_view_no_menu(AlertObservationModelView)
appbuilder.add_view(
AlertView,
@@ -447,7 +393,6 @@ def init_views(self) -> None:
icon="fa-exclamation-triangle",
menu_cond=lambda: feature_flag_manager.is_feature_enabled("ALERT_REPORTS"),
)
- appbuilder.add_view_no_menu(ReportView)
appbuilder.add_view(
AccessRequestsModelView,
diff --git a/superset/jinja_context.py b/superset/jinja_context.py
index f21fbbb1b745a..ab3aa5070ca66 100644
--- a/superset/jinja_context.py
+++ b/superset/jinja_context.py
@@ -355,7 +355,10 @@ def safe_proxy(func: Callable[..., Any], *args: Any, **kwargs: Any) -> Any:
return_value = json.loads(json.dumps(return_value))
except TypeError as ex:
raise SupersetTemplateException(
- _("Unsupported return value for method %(name)s", name=func.__name__,)
+ _(
+ "Unsupported return value for method %(name)s",
+ name=func.__name__,
+ )
) from ex
return return_value
diff --git a/superset/key_value/commands/__init__.py b/superset/key_value/commands/__init__.py
new file mode 100644
index 0000000000000..13a83393a9124
--- /dev/null
+++ b/superset/key_value/commands/__init__.py
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/superset/key_value/commands/create.py b/superset/key_value/commands/create.py
index e3c228adbac56..5125ce7b01e28 100644
--- a/superset/key_value/commands/create.py
+++ b/superset/key_value/commands/create.py
@@ -17,7 +17,7 @@
import logging
import pickle
from datetime import datetime
-from typing import Any, Optional
+from typing import Any, Optional, Union
from uuid import UUID
from flask_appbuilder.security.sqla.models import User
@@ -27,27 +27,25 @@
from superset.commands.base import BaseCommand
from superset.key_value.exceptions import KeyValueCreateFailedError
from superset.key_value.models import KeyValueEntry
-from superset.key_value.types import KeyType
-from superset.key_value.utils import extract_key
+from superset.key_value.types import Key, KeyValueResource
logger = logging.getLogger(__name__)
class CreateKeyValueCommand(BaseCommand):
actor: Optional[User]
- resource: str
+ resource: KeyValueResource
value: Any
- key_type: KeyType
- key: Optional[str]
+ key: Optional[Union[int, UUID]]
expires_on: Optional[datetime]
+ # pylint: disable=too-many-arguments
def __init__(
self,
- resource: str,
+ resource: KeyValueResource,
value: Any,
- key_type: KeyType = "uuid",
actor: Optional[User] = None,
- key: Optional[str] = None,
+ key: Optional[Union[int, UUID]] = None,
expires_on: Optional[datetime] = None,
):
"""
@@ -55,7 +53,6 @@ def __init__(
:param resource: the resource (dashboard, chart etc)
:param value: the value to persist in the key-value store
- :param key_type: the type of the key to return
:param actor: the user performing the command
:param key: id of entry (autogenerated if undefined)
:param expires_on: entry expiration time
@@ -64,11 +61,10 @@ def __init__(
self.resource = resource
self.actor = actor
self.value = value
- self.key_type = key_type
self.key = key
self.expires_on = expires_on
- def run(self) -> str:
+ def run(self) -> Key:
try:
return self.create()
except SQLAlchemyError as ex:
@@ -79,9 +75,9 @@ def run(self) -> str:
def validate(self) -> None:
pass
- def create(self) -> str:
+ def create(self) -> Key:
entry = KeyValueEntry(
- resource=self.resource,
+ resource=self.resource.value,
value=pickle.dumps(self.value),
created_on=datetime.now(),
created_by_fk=None
@@ -91,12 +87,12 @@ def create(self) -> str:
)
if self.key is not None:
try:
- if self.key_type == "uuid":
- entry.uuid = UUID(self.key)
+ if isinstance(self.key, UUID):
+ entry.uuid = self.key
else:
- entry.id = int(self.key)
+ entry.id = self.key
except ValueError as ex:
raise KeyValueCreateFailedError() from ex
db.session.add(entry)
db.session.commit()
- return extract_key(entry, self.key_type)
+ return Key(id=entry.id, uuid=entry.uuid)
diff --git a/superset/key_value/commands/delete.py b/superset/key_value/commands/delete.py
index 06cf4230c1ee2..f8ad291714ae1 100644
--- a/superset/key_value/commands/delete.py
+++ b/superset/key_value/commands/delete.py
@@ -15,40 +15,35 @@
# specific language governing permissions and limitations
# under the License.
import logging
-from typing import Optional
+from typing import Union
+from uuid import UUID
-from flask_appbuilder.security.sqla.models import User
from sqlalchemy.exc import SQLAlchemyError
from superset import db
from superset.commands.base import BaseCommand
from superset.key_value.exceptions import KeyValueDeleteFailedError
from superset.key_value.models import KeyValueEntry
-from superset.key_value.types import KeyType
+from superset.key_value.types import KeyValueResource
from superset.key_value.utils import get_filter
logger = logging.getLogger(__name__)
class DeleteKeyValueCommand(BaseCommand):
- key: str
- key_type: KeyType
- resource: str
+ key: Union[int, UUID]
+ resource: KeyValueResource
- def __init__(
- self, resource: str, key: str, key_type: KeyType = "uuid",
- ):
+ def __init__(self, resource: KeyValueResource, key: Union[int, UUID]):
"""
Delete a key-value pair
:param resource: the resource (dashboard, chart etc)
:param key: the key to delete
- :param key_type: the type of key
:return: was the entry deleted or not
"""
self.resource = resource
self.key = key
- self.key_type = key_type
def run(self) -> bool:
try:
@@ -62,7 +57,7 @@ def validate(self) -> None:
pass
def delete(self) -> bool:
- filter_ = get_filter(self.resource, self.key, self.key_type)
+ filter_ = get_filter(self.resource, self.key)
entry = (
db.session.query(KeyValueEntry)
.filter_by(**filter_)
diff --git a/superset/key_value/commands/delete_expired.py b/superset/key_value/commands/delete_expired.py
index 09507397e187f..4031d13968302 100644
--- a/superset/key_value/commands/delete_expired.py
+++ b/superset/key_value/commands/delete_expired.py
@@ -17,20 +17,22 @@
import logging
from datetime import datetime
+from sqlalchemy import and_
from sqlalchemy.exc import SQLAlchemyError
from superset import db
from superset.commands.base import BaseCommand
from superset.key_value.exceptions import KeyValueDeleteFailedError
from superset.key_value.models import KeyValueEntry
+from superset.key_value.types import KeyValueResource
logger = logging.getLogger(__name__)
class DeleteExpiredKeyValueCommand(BaseCommand):
- resource: str
+ resource: KeyValueResource
- def __init__(self, resource: str):
+ def __init__(self, resource: KeyValueResource):
"""
Delete all expired key-value pairs
@@ -50,11 +52,15 @@ def run(self) -> None:
def validate(self) -> None:
pass
- @staticmethod
- def delete_expired() -> None:
+ def delete_expired(self) -> None:
(
db.session.query(KeyValueEntry)
- .filter(KeyValueEntry.expires_on <= datetime.now())
+ .filter(
+ and_(
+ KeyValueEntry.resource == self.resource.value,
+ KeyValueEntry.expires_on <= datetime.now(),
+ )
+ )
.delete()
)
db.session.commit()
diff --git a/superset/key_value/commands/get.py b/superset/key_value/commands/get.py
index b0530b976ba7c..01560949e37ff 100644
--- a/superset/key_value/commands/get.py
+++ b/superset/key_value/commands/get.py
@@ -18,7 +18,8 @@
import logging
import pickle
from datetime import datetime
-from typing import Any, Optional
+from typing import Any, Optional, Union
+from uuid import UUID
from sqlalchemy.exc import SQLAlchemyError
@@ -26,29 +27,26 @@
from superset.commands.base import BaseCommand
from superset.key_value.exceptions import KeyValueGetFailedError
from superset.key_value.models import KeyValueEntry
-from superset.key_value.types import KeyType
+from superset.key_value.types import KeyValueResource
from superset.key_value.utils import get_filter
logger = logging.getLogger(__name__)
class GetKeyValueCommand(BaseCommand):
- key: str
- key_type: KeyType
- resource: str
+ resource: KeyValueResource
+ key: Union[int, UUID]
- def __init__(self, resource: str, key: str, key_type: KeyType = "uuid"):
+ def __init__(self, resource: KeyValueResource, key: Union[int, UUID]):
"""
Retrieve a key value entry
:param resource: the resource (dashboard, chart etc)
:param key: the key to retrieve
- :param key_type: the type of the key to retrieve
:return: the value associated with the key if present
"""
self.resource = resource
self.key = key
- self.key_type = key_type
def run(self) -> Any:
try:
@@ -61,7 +59,7 @@ def validate(self) -> None:
pass
def get(self) -> Optional[Any]:
- filter_ = get_filter(self.resource, self.key, self.key_type)
+ filter_ = get_filter(self.resource, self.key)
entry = (
db.session.query(KeyValueEntry)
.filter_by(**filter_)
diff --git a/superset/key_value/commands/update.py b/superset/key_value/commands/update.py
index b739cfea86041..48fd8daa8a458 100644
--- a/superset/key_value/commands/update.py
+++ b/superset/key_value/commands/update.py
@@ -18,7 +18,8 @@
import logging
import pickle
from datetime import datetime
-from typing import Any, Optional
+from typing import Any, Optional, Union
+from uuid import UUID
from flask_appbuilder.security.sqla.models import User
from sqlalchemy.exc import SQLAlchemyError
@@ -27,27 +28,26 @@
from superset.commands.base import BaseCommand
from superset.key_value.exceptions import KeyValueUpdateFailedError
from superset.key_value.models import KeyValueEntry
-from superset.key_value.types import KeyType
-from superset.key_value.utils import extract_key, get_filter
+from superset.key_value.types import Key, KeyValueResource
+from superset.key_value.utils import get_filter
logger = logging.getLogger(__name__)
class UpdateKeyValueCommand(BaseCommand):
actor: Optional[User]
- resource: str
+ resource: KeyValueResource
value: Any
- key: str
- key_type: KeyType
+ key: Union[int, UUID]
expires_on: Optional[datetime]
+ # pylint: disable=too-many-argumentsåå
def __init__(
self,
- resource: str,
- key: str,
+ resource: KeyValueResource,
+ key: Union[int, UUID],
value: Any,
actor: Optional[User] = None,
- key_type: KeyType = "uuid",
expires_on: Optional[datetime] = None,
):
"""
@@ -57,7 +57,6 @@ def __init__(
:param key: the key to update
:param value: the value to persist in the key-value store
:param actor: the user performing the command
- :param key_type: the type of the key to update
:param expires_on: entry expiration time
:return: the key associated with the updated value
"""
@@ -65,10 +64,9 @@ def __init__(
self.resource = resource
self.key = key
self.value = value
- self.key_type = key_type
self.expires_on = expires_on
- def run(self) -> Optional[str]:
+ def run(self) -> Optional[Key]:
try:
return self.update()
except SQLAlchemyError as ex:
@@ -79,8 +77,8 @@ def run(self) -> Optional[str]:
def validate(self) -> None:
pass
- def update(self) -> Optional[str]:
- filter_ = get_filter(self.resource, self.key, self.key_type)
+ def update(self) -> Optional[Key]:
+ filter_ = get_filter(self.resource, self.key)
entry: KeyValueEntry = (
db.session.query(KeyValueEntry)
.filter_by(**filter_)
@@ -96,6 +94,6 @@ def update(self) -> Optional[str]:
)
db.session.merge(entry)
db.session.commit()
- return extract_key(entry, self.key_type)
+ return Key(id=entry.id, uuid=entry.uuid)
return None
diff --git a/superset/key_value/commands/upsert.py b/superset/key_value/commands/upsert.py
index 4afc4c38e424a..8fd0bd240f2be 100644
--- a/superset/key_value/commands/upsert.py
+++ b/superset/key_value/commands/upsert.py
@@ -18,7 +18,8 @@
import logging
import pickle
from datetime import datetime
-from typing import Any, Optional
+from typing import Any, Optional, Union
+from uuid import UUID
from flask_appbuilder.security.sqla.models import User
from sqlalchemy.exc import SQLAlchemyError
@@ -28,27 +29,26 @@
from superset.key_value.commands.create import CreateKeyValueCommand
from superset.key_value.exceptions import KeyValueUpdateFailedError
from superset.key_value.models import KeyValueEntry
-from superset.key_value.types import KeyType
-from superset.key_value.utils import extract_key, get_filter
+from superset.key_value.types import Key, KeyValueResource
+from superset.key_value.utils import get_filter
logger = logging.getLogger(__name__)
class UpsertKeyValueCommand(BaseCommand):
actor: Optional[User]
- resource: str
+ resource: KeyValueResource
value: Any
- key: str
- key_type: KeyType
+ key: Union[int, UUID]
expires_on: Optional[datetime]
+ # pylint: disable=too-many-arguments
def __init__(
self,
- resource: str,
- key: str,
+ resource: KeyValueResource,
+ key: Union[int, UUID],
value: Any,
actor: Optional[User] = None,
- key_type: KeyType = "uuid",
expires_on: Optional[datetime] = None,
):
"""
@@ -66,10 +66,9 @@ def __init__(
self.resource = resource
self.key = key
self.value = value
- self.key_type = key_type
self.expires_on = expires_on
- def run(self) -> Optional[str]:
+ def run(self) -> Optional[Key]:
try:
return self.upsert()
except SQLAlchemyError as ex:
@@ -80,8 +79,8 @@ def run(self) -> Optional[str]:
def validate(self) -> None:
pass
- def upsert(self) -> Optional[str]:
- filter_ = get_filter(self.resource, self.key, self.key_type)
+ def upsert(self) -> Optional[Key]:
+ filter_ = get_filter(self.resource, self.key)
entry: KeyValueEntry = (
db.session.query(KeyValueEntry)
.filter_by(**filter_)
@@ -97,13 +96,11 @@ def upsert(self) -> Optional[str]:
)
db.session.merge(entry)
db.session.commit()
- return extract_key(entry, self.key_type)
- else:
- return CreateKeyValueCommand(
- resource=self.resource,
- value=self.value,
- key_type=self.key_type,
- actor=self.actor,
- key=self.key,
- expires_on=self.expires_on,
- ).run()
+ return Key(entry.id, entry.uuid)
+ return CreateKeyValueCommand(
+ resource=self.resource,
+ value=self.value,
+ actor=self.actor,
+ key=self.key,
+ expires_on=self.expires_on,
+ ).run()
diff --git a/superset/key_value/shared_entries.py b/superset/key_value/shared_entries.py
new file mode 100644
index 0000000000000..5dda89a7b3163
--- /dev/null
+++ b/superset/key_value/shared_entries.py
@@ -0,0 +1,51 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from typing import Any, Optional
+from uuid import uuid3
+
+from superset.key_value.types import KeyValueResource, SharedKey
+from superset.key_value.utils import get_uuid_namespace, random_key
+from superset.utils.memoized import memoized
+
+RESOURCE = KeyValueResource.APP
+NAMESPACE = get_uuid_namespace("")
+
+
+def get_shared_value(key: SharedKey) -> Optional[Any]:
+ # pylint: disable=import-outside-toplevel
+ from superset.key_value.commands.get import GetKeyValueCommand
+
+ uuid_key = uuid3(NAMESPACE, key)
+ return GetKeyValueCommand(RESOURCE, key=uuid_key).run()
+
+
+def set_shared_value(key: SharedKey, value: Any) -> None:
+ # pylint: disable=import-outside-toplevel
+ from superset.key_value.commands.create import CreateKeyValueCommand
+
+ uuid_key = uuid3(NAMESPACE, key)
+ CreateKeyValueCommand(resource=RESOURCE, value=value, key=uuid_key).run()
+
+
+@memoized
+def get_permalink_salt(key: SharedKey) -> str:
+ salt = get_shared_value(key)
+ if salt is None:
+ salt = random_key()
+ set_shared_value(key, value=salt)
+ return salt
diff --git a/superset/key_value/types.py b/superset/key_value/types.py
index d36520ddbfb75..c3064fbef4d42 100644
--- a/superset/key_value/types.py
+++ b/superset/key_value/types.py
@@ -15,7 +15,8 @@
# specific language governing permissions and limitations
# under the License.
from dataclasses import dataclass
-from typing import Literal, Optional, TypedDict
+from enum import Enum
+from typing import Optional, TypedDict
from uuid import UUID
@@ -25,10 +26,19 @@ class Key:
uuid: Optional[UUID]
-KeyType = Literal["id", "uuid"]
-
-
class KeyValueFilter(TypedDict, total=False):
resource: str
id: Optional[int]
uuid: Optional[UUID]
+
+
+class KeyValueResource(str, Enum):
+ APP = "app"
+ DASHBOARD_PERMALINK = "dashboard_permalink"
+ EXPLORE_PERMALINK = "explore_permalink"
+ METASTORE_CACHE = "superset_metastore_cache"
+
+
+class SharedKey(str, Enum):
+ DASHBOARD_PERMALINK_SALT = "dashboard_permalink_salt"
+ EXPLORE_PERMALINK_SALT = "explore_permalink_salt"
diff --git a/superset/key_value/utils.py b/superset/key_value/utils.py
index 50aa34918e434..b2e8e729b0466 100644
--- a/superset/key_value/utils.py
+++ b/superset/key_value/utils.py
@@ -14,44 +14,52 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from typing import Literal
+from __future__ import annotations
+
+from hashlib import md5
+from secrets import token_urlsafe
+from typing import Union
from uuid import UUID
-from flask import current_app
+import hashids
+from flask_babel import gettext as _
from superset.key_value.exceptions import KeyValueParseKeyError
-from superset.key_value.models import KeyValueEntry
-from superset.key_value.types import Key, KeyType, KeyValueFilter
-
-
-def parse_permalink_key(key: str) -> Key:
- key_type: Literal["id", "uuid"] = current_app.config["PERMALINK_KEY_TYPE"]
- if key_type == "id":
- return Key(id=int(key), uuid=None)
- return Key(id=None, uuid=UUID(key))
+from superset.key_value.types import KeyValueFilter, KeyValueResource
+HASHIDS_MIN_LENGTH = 11
-def format_permalink_key(key: Key) -> str:
- """
- return the string representation of the key
- :param key: a key object with either a numerical or uuid key
- :return: a formatted string
- """
- return str(key.id if key.id is not None else key.uuid)
+def random_key() -> str:
+ return token_urlsafe(48)
-def extract_key(entry: KeyValueEntry, key_type: KeyType) -> str:
- return str(entry.id if key_type == "id" else entry.uuid)
-
-
-def get_filter(resource: str, key: str, key_type: KeyType) -> KeyValueFilter:
+def get_filter(resource: KeyValueResource, key: Union[int, UUID]) -> KeyValueFilter:
try:
- filter_: KeyValueFilter = {"resource": resource}
- if key_type == "uuid":
- filter_["uuid"] = UUID(key)
+ filter_: KeyValueFilter = {"resource": resource.value}
+ if isinstance(key, UUID):
+ filter_["uuid"] = key
else:
- filter_["id"] = int(key)
+ filter_["id"] = key
return filter_
except ValueError as ex:
raise KeyValueParseKeyError() from ex
+
+
+def encode_permalink_key(key: int, salt: str) -> str:
+ obj = hashids.Hashids(salt, min_length=HASHIDS_MIN_LENGTH)
+ return obj.encode(key)
+
+
+def decode_permalink_id(key: str, salt: str) -> int:
+ obj = hashids.Hashids(salt, min_length=HASHIDS_MIN_LENGTH)
+ ids = obj.decode(key)
+ if len(ids) == 1:
+ return ids[0]
+ raise KeyValueParseKeyError(_("Invalid permalink key"))
+
+
+def get_uuid_namespace(seed: str) -> UUID:
+ md5_obj = md5()
+ md5_obj.update(seed.encode("utf-8"))
+ return UUID(md5_obj.hexdigest())
diff --git a/superset/migrations/shared/security_converge.py b/superset/migrations/shared/security_converge.py
index 856efc27bc417..19caa3932b874 100644
--- a/superset/migrations/shared/security_converge.py
+++ b/superset/migrations/shared/security_converge.py
@@ -214,7 +214,9 @@ def _delete_old_permissions(
def migrate_roles(
- session: Session, pvm_key_map: PvmMigrationMapType, commit: bool = False,
+ session: Session,
+ pvm_key_map: PvmMigrationMapType,
+ commit: bool = False,
) -> None:
"""
Migrates all existing roles that have the permissions to be migrated
diff --git a/superset/migrations/shared/utils.py b/superset/migrations/shared/utils.py
index 03317181178d7..bff25e05d137f 100644
--- a/superset/migrations/shared/utils.py
+++ b/superset/migrations/shared/utils.py
@@ -14,10 +14,39 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
+import logging
+from typing import Any, Iterator, Optional, Set
+
from alembic import op
from sqlalchemy import engine_from_config
from sqlalchemy.engine import reflection
from sqlalchemy.exc import NoSuchTableError
+from sqloxide import parse_sql
+
+from superset.sql_parse import ParsedQuery, Table
+
+logger = logging.getLogger("alembic")
+
+
+# mapping between sqloxide and SQLAlchemy dialects
+sqloxide_dialects = {
+ "ansi": {"trino", "trinonative", "presto"},
+ "hive": {"hive", "databricks"},
+ "ms": {"mssql"},
+ "mysql": {"mysql"},
+ "postgres": {
+ "cockroachdb",
+ "hana",
+ "netezza",
+ "postgres",
+ "postgresql",
+ "redshift",
+ "vertica",
+ },
+ "snowflake": {"snowflake"},
+ "sqlite": {"sqlite", "gsheets", "shillelagh"},
+ "clickhouse": {"clickhouse"},
+}
def table_has_column(table: str, column: str) -> bool:
@@ -38,3 +67,40 @@ def table_has_column(table: str, column: str) -> bool:
return any(col["name"] == column for col in insp.get_columns(table))
except NoSuchTableError:
return False
+
+
+def find_nodes_by_key(element: Any, target: str) -> Iterator[Any]:
+ """
+ Find all nodes in a SQL tree matching a given key.
+ """
+ if isinstance(element, list):
+ for child in element:
+ yield from find_nodes_by_key(child, target)
+ elif isinstance(element, dict):
+ for key, value in element.items():
+ if key == target:
+ yield value
+ else:
+ yield from find_nodes_by_key(value, target)
+
+
+def extract_table_references(sql_text: str, sqla_dialect: str) -> Set[Table]:
+ """
+ Return all the dependencies from a SQL sql_text.
+ """
+ dialect = "generic"
+ for dialect, sqla_dialects in sqloxide_dialects.items():
+ if sqla_dialect in sqla_dialects:
+ break
+ try:
+ tree = parse_sql(sql_text, dialect=dialect)
+ except Exception: # pylint: disable=broad-except
+ logger.warning("Unable to parse query with sqloxide: %s", sql_text)
+ # fallback to sqlparse
+ parsed = ParsedQuery(sql_text)
+ return parsed.tables
+
+ return {
+ Table(*[part["value"] for part in table["name"][::-1]])
+ for table in find_nodes_by_key(tree, "Table")
+ }
diff --git a/superset/migrations/versions/021b81fe4fbb_add_type_to_native_filter_configuration.py b/superset/migrations/versions/021b81fe4fbb_add_type_to_native_filter_configuration.py
index 8238e8f6391ef..9c26159ba0a89 100644
--- a/superset/migrations/versions/021b81fe4fbb_add_type_to_native_filter_configuration.py
+++ b/superset/migrations/versions/021b81fe4fbb_add_type_to_native_filter_configuration.py
@@ -91,7 +91,8 @@ def downgrade():
for dashboard in session.query(Dashboard).all():
logger.info(
- "[RemoveTypeToNativeFilter] Updating Dashobard", dashboard.id,
+ "[RemoveTypeToNativeFilter] Updating Dashobard",
+ dashboard.id,
)
if not dashboard.json_metadata:
logger.info(
diff --git a/superset/migrations/versions/1f6dca87d1a2_security_converge_dashboards.py b/superset/migrations/versions/1f6dca87d1a2_security_converge_dashboards.py
index f9743873b9b72..ae350848c25d4 100644
--- a/superset/migrations/versions/1f6dca87d1a2_security_converge_dashboards.py
+++ b/superset/migrations/versions/1f6dca87d1a2_security_converge_dashboards.py
@@ -39,24 +39,63 @@
Pvm,
)
-NEW_PVMS = {"Dashboard": ("can_read", "can_write",)}
+NEW_PVMS = {
+ "Dashboard": (
+ "can_read",
+ "can_write",
+ )
+}
PVM_MAP = {
Pvm("DashboardModelView", "can_add"): (Pvm("Dashboard", "can_write"),),
Pvm("DashboardModelView", "can_delete"): (Pvm("Dashboard", "can_write"),),
- Pvm("DashboardModelView", "can_download_dashboards",): (
- Pvm("Dashboard", "can_read"),
- ),
- Pvm("DashboardModelView", "can_edit",): (Pvm("Dashboard", "can_write"),),
- Pvm("DashboardModelView", "can_favorite_status",): (Pvm("Dashboard", "can_read"),),
- Pvm("DashboardModelView", "can_list",): (Pvm("Dashboard", "can_read"),),
- Pvm("DashboardModelView", "can_mulexport",): (Pvm("Dashboard", "can_read"),),
- Pvm("DashboardModelView", "can_show",): (Pvm("Dashboard", "can_read"),),
- Pvm("DashboardModelView", "muldelete",): (Pvm("Dashboard", "can_write"),),
- Pvm("DashboardModelView", "mulexport",): (Pvm("Dashboard", "can_read"),),
- Pvm("DashboardModelViewAsync", "can_list",): (Pvm("Dashboard", "can_read"),),
- Pvm("DashboardModelViewAsync", "muldelete",): (Pvm("Dashboard", "can_write"),),
- Pvm("DashboardModelViewAsync", "mulexport",): (Pvm("Dashboard", "can_read"),),
- Pvm("Dashboard", "can_new",): (Pvm("Dashboard", "can_write"),),
+ Pvm(
+ "DashboardModelView",
+ "can_download_dashboards",
+ ): (Pvm("Dashboard", "can_read"),),
+ Pvm(
+ "DashboardModelView",
+ "can_edit",
+ ): (Pvm("Dashboard", "can_write"),),
+ Pvm(
+ "DashboardModelView",
+ "can_favorite_status",
+ ): (Pvm("Dashboard", "can_read"),),
+ Pvm(
+ "DashboardModelView",
+ "can_list",
+ ): (Pvm("Dashboard", "can_read"),),
+ Pvm(
+ "DashboardModelView",
+ "can_mulexport",
+ ): (Pvm("Dashboard", "can_read"),),
+ Pvm(
+ "DashboardModelView",
+ "can_show",
+ ): (Pvm("Dashboard", "can_read"),),
+ Pvm(
+ "DashboardModelView",
+ "muldelete",
+ ): (Pvm("Dashboard", "can_write"),),
+ Pvm(
+ "DashboardModelView",
+ "mulexport",
+ ): (Pvm("Dashboard", "can_read"),),
+ Pvm(
+ "DashboardModelViewAsync",
+ "can_list",
+ ): (Pvm("Dashboard", "can_read"),),
+ Pvm(
+ "DashboardModelViewAsync",
+ "muldelete",
+ ): (Pvm("Dashboard", "can_write"),),
+ Pvm(
+ "DashboardModelViewAsync",
+ "mulexport",
+ ): (Pvm("Dashboard", "can_read"),),
+ Pvm(
+ "Dashboard",
+ "can_new",
+ ): (Pvm("Dashboard", "can_write"),),
}
diff --git a/superset/migrations/versions/2e5a0ee25ed4_refractor_alerting.py b/superset/migrations/versions/2e5a0ee25ed4_refractor_alerting.py
index 98bd8a4f54443..4eca5f147bd60 100644
--- a/superset/migrations/versions/2e5a0ee25ed4_refractor_alerting.py
+++ b/superset/migrations/versions/2e5a0ee25ed4_refractor_alerting.py
@@ -43,9 +43,18 @@ def upgrade():
sa.Column("created_by_fk", sa.Integer(), nullable=True),
sa.Column("changed_by_fk", sa.Integer(), nullable=True),
sa.Column("alert_id", sa.Integer(), nullable=False),
- sa.ForeignKeyConstraint(["alert_id"], ["alerts.id"],),
- sa.ForeignKeyConstraint(["changed_by_fk"], ["ab_user.id"],),
- sa.ForeignKeyConstraint(["created_by_fk"], ["ab_user.id"],),
+ sa.ForeignKeyConstraint(
+ ["alert_id"],
+ ["alerts.id"],
+ ),
+ sa.ForeignKeyConstraint(
+ ["changed_by_fk"],
+ ["ab_user.id"],
+ ),
+ sa.ForeignKeyConstraint(
+ ["created_by_fk"],
+ ["ab_user.id"],
+ ),
sa.PrimaryKeyConstraint("id"),
)
op.create_table(
@@ -58,10 +67,22 @@ def upgrade():
sa.Column("changed_by_fk", sa.Integer(), nullable=True),
sa.Column("alert_id", sa.Integer(), nullable=False),
sa.Column("database_id", sa.Integer(), nullable=False),
- sa.ForeignKeyConstraint(["alert_id"], ["alerts.id"],),
- sa.ForeignKeyConstraint(["changed_by_fk"], ["ab_user.id"],),
- sa.ForeignKeyConstraint(["created_by_fk"], ["ab_user.id"],),
- sa.ForeignKeyConstraint(["database_id"], ["dbs.id"],),
+ sa.ForeignKeyConstraint(
+ ["alert_id"],
+ ["alerts.id"],
+ ),
+ sa.ForeignKeyConstraint(
+ ["changed_by_fk"],
+ ["ab_user.id"],
+ ),
+ sa.ForeignKeyConstraint(
+ ["created_by_fk"],
+ ["ab_user.id"],
+ ),
+ sa.ForeignKeyConstraint(
+ ["database_id"],
+ ["dbs.id"],
+ ),
sa.PrimaryKeyConstraint("id"),
)
op.create_table(
@@ -72,8 +93,14 @@ def upgrade():
sa.Column("alert_id", sa.Integer(), nullable=True),
sa.Column("value", sa.Float(), nullable=True),
sa.Column("error_msg", sa.String(length=500), nullable=True),
- sa.ForeignKeyConstraint(["alert_id"], ["alerts.id"],),
- sa.ForeignKeyConstraint(["observer_id"], ["sql_observers.id"],),
+ sa.ForeignKeyConstraint(
+ ["alert_id"],
+ ["alerts.id"],
+ ),
+ sa.ForeignKeyConstraint(
+ ["observer_id"],
+ ["sql_observers.id"],
+ ),
sa.PrimaryKeyConstraint("id"),
)
op.create_index(
diff --git a/superset/migrations/versions/2f1d15e8a6af_add_alerts.py b/superset/migrations/versions/2f1d15e8a6af_add_alerts.py
index a817f558e8ace..bb85d51983763 100644
--- a/superset/migrations/versions/2f1d15e8a6af_add_alerts.py
+++ b/superset/migrations/versions/2f1d15e8a6af_add_alerts.py
@@ -49,8 +49,14 @@ def upgrade():
sa.Column("dashboard_id", sa.Integer(), nullable=True),
sa.Column("last_eval_dttm", sa.DateTime(), nullable=True),
sa.Column("last_state", sa.String(length=10), nullable=True),
- sa.ForeignKeyConstraint(["dashboard_id"], ["dashboards.id"],),
- sa.ForeignKeyConstraint(["slice_id"], ["slices.id"],),
+ sa.ForeignKeyConstraint(
+ ["dashboard_id"],
+ ["dashboards.id"],
+ ),
+ sa.ForeignKeyConstraint(
+ ["slice_id"],
+ ["slices.id"],
+ ),
sa.PrimaryKeyConstraint("id"),
)
op.create_index(op.f("ix_alerts_active"), "alerts", ["active"], unique=False)
@@ -62,7 +68,10 @@ def upgrade():
sa.Column("dttm_end", sa.DateTime(), nullable=True),
sa.Column("alert_id", sa.Integer(), nullable=True),
sa.Column("state", sa.String(length=10), nullable=True),
- sa.ForeignKeyConstraint(["alert_id"], ["alerts.id"],),
+ sa.ForeignKeyConstraint(
+ ["alert_id"],
+ ["alerts.id"],
+ ),
sa.PrimaryKeyConstraint("id"),
)
op.create_table(
@@ -70,8 +79,14 @@ def upgrade():
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("user_id", sa.Integer(), nullable=True),
sa.Column("alert_id", sa.Integer(), nullable=True),
- sa.ForeignKeyConstraint(["alert_id"], ["alerts.id"],),
- sa.ForeignKeyConstraint(["user_id"], ["ab_user.id"],),
+ sa.ForeignKeyConstraint(
+ ["alert_id"],
+ ["alerts.id"],
+ ),
+ sa.ForeignKeyConstraint(
+ ["user_id"],
+ ["ab_user.id"],
+ ),
sa.PrimaryKeyConstraint("id"),
)
diff --git a/superset/migrations/versions/3317e9248280_add_creation_method_to_reports_model.py b/superset/migrations/versions/3317e9248280_add_creation_method_to_reports_model.py
index 68b4383ca9da7..0a5608ae77087 100644
--- a/superset/migrations/versions/3317e9248280_add_creation_method_to_reports_model.py
+++ b/superset/migrations/versions/3317e9248280_add_creation_method_to_reports_model.py
@@ -34,7 +34,9 @@ def upgrade():
with op.batch_alter_table("report_schedule") as batch_op:
batch_op.add_column(
sa.Column(
- "creation_method", sa.VARCHAR(255), server_default="alerts_reports",
+ "creation_method",
+ sa.VARCHAR(255),
+ server_default="alerts_reports",
)
)
batch_op.create_index(
diff --git a/superset/migrations/versions/40f16acf1ba7_security_converge_reports.py b/superset/migrations/versions/40f16acf1ba7_security_converge_reports.py
index 227c421944a53..2886bfbb15d7a 100644
--- a/superset/migrations/versions/40f16acf1ba7_security_converge_reports.py
+++ b/superset/migrations/versions/40f16acf1ba7_security_converge_reports.py
@@ -39,13 +39,27 @@
Pvm,
)
-NEW_PVMS = {"ReportSchedule": ("can_read", "can_write",)}
+NEW_PVMS = {
+ "ReportSchedule": (
+ "can_read",
+ "can_write",
+ )
+}
PVM_MAP = {
Pvm("ReportSchedule", "can_list"): (Pvm("ReportSchedule", "can_read"),),
Pvm("ReportSchedule", "can_show"): (Pvm("ReportSchedule", "can_read"),),
- Pvm("ReportSchedule", "can_add",): (Pvm("ReportSchedule", "can_write"),),
- Pvm("ReportSchedule", "can_edit",): (Pvm("ReportSchedule", "can_write"),),
- Pvm("ReportSchedule", "can_delete",): (Pvm("ReportSchedule", "can_write"),),
+ Pvm(
+ "ReportSchedule",
+ "can_add",
+ ): (Pvm("ReportSchedule", "can_write"),),
+ Pvm(
+ "ReportSchedule",
+ "can_edit",
+ ): (Pvm("ReportSchedule", "can_write"),),
+ Pvm(
+ "ReportSchedule",
+ "can_delete",
+ ): (Pvm("ReportSchedule", "can_write"),),
}
diff --git a/superset/migrations/versions/42b4c9e01447_security_converge_databases.py b/superset/migrations/versions/42b4c9e01447_security_converge_databases.py
index 3c3c31fb663fc..d8d6a2a3315bd 100644
--- a/superset/migrations/versions/42b4c9e01447_security_converge_databases.py
+++ b/superset/migrations/versions/42b4c9e01447_security_converge_databases.py
@@ -39,17 +39,43 @@
Pvm,
)
-NEW_PVMS = {"Database": ("can_read", "can_write",)}
+NEW_PVMS = {
+ "Database": (
+ "can_read",
+ "can_write",
+ )
+}
PVM_MAP = {
Pvm("DatabaseView", "can_add"): (Pvm("Database", "can_write"),),
Pvm("DatabaseView", "can_delete"): (Pvm("Database", "can_write"),),
- Pvm("DatabaseView", "can_edit",): (Pvm("Database", "can_write"),),
- Pvm("DatabaseView", "can_list",): (Pvm("Database", "can_read"),),
- Pvm("DatabaseView", "can_mulexport",): (Pvm("Database", "can_read"),),
- Pvm("DatabaseView", "can_post",): (Pvm("Database", "can_write"),),
- Pvm("DatabaseView", "can_show",): (Pvm("Database", "can_read"),),
- Pvm("DatabaseView", "muldelete",): (Pvm("Database", "can_write"),),
- Pvm("DatabaseView", "yaml_export",): (Pvm("Database", "can_read"),),
+ Pvm(
+ "DatabaseView",
+ "can_edit",
+ ): (Pvm("Database", "can_write"),),
+ Pvm(
+ "DatabaseView",
+ "can_list",
+ ): (Pvm("Database", "can_read"),),
+ Pvm(
+ "DatabaseView",
+ "can_mulexport",
+ ): (Pvm("Database", "can_read"),),
+ Pvm(
+ "DatabaseView",
+ "can_post",
+ ): (Pvm("Database", "can_write"),),
+ Pvm(
+ "DatabaseView",
+ "can_show",
+ ): (Pvm("Database", "can_read"),),
+ Pvm(
+ "DatabaseView",
+ "muldelete",
+ ): (Pvm("Database", "can_write"),),
+ Pvm(
+ "DatabaseView",
+ "yaml_export",
+ ): (Pvm("Database", "can_read"),),
}
diff --git a/superset/migrations/versions/45731db65d9c_security_converge_datasets.py b/superset/migrations/versions/45731db65d9c_security_converge_datasets.py
index 5b4670857faf4..c7a1c81629ebf 100644
--- a/superset/migrations/versions/45731db65d9c_security_converge_datasets.py
+++ b/superset/migrations/versions/45731db65d9c_security_converge_datasets.py
@@ -38,7 +38,12 @@
Pvm,
)
-NEW_PVMS = {"Dataset": ("can_read", "can_write",)}
+NEW_PVMS = {
+ "Dataset": (
+ "can_read",
+ "can_write",
+ )
+}
PVM_MAP = {
Pvm("SqlMetricInlineView", "can_add"): (Pvm("Dataset", "can_write"),),
Pvm("SqlMetricInlineView", "can_delete"): (Pvm("Dataset", "can_write"),),
@@ -50,15 +55,33 @@
Pvm("TableColumnInlineView", "can_edit"): (Pvm("Dataset", "can_write"),),
Pvm("TableColumnInlineView", "can_list"): (Pvm("Dataset", "can_read"),),
Pvm("TableColumnInlineView", "can_show"): (Pvm("Dataset", "can_read"),),
- Pvm("TableModelView", "can_add",): (Pvm("Dataset", "can_write"),),
- Pvm("TableModelView", "can_delete",): (Pvm("Dataset", "can_write"),),
- Pvm("TableModelView", "can_edit",): (Pvm("Dataset", "can_write"),),
+ Pvm(
+ "TableModelView",
+ "can_add",
+ ): (Pvm("Dataset", "can_write"),),
+ Pvm(
+ "TableModelView",
+ "can_delete",
+ ): (Pvm("Dataset", "can_write"),),
+ Pvm(
+ "TableModelView",
+ "can_edit",
+ ): (Pvm("Dataset", "can_write"),),
Pvm("TableModelView", "can_list"): (Pvm("Dataset", "can_read"),),
Pvm("TableModelView", "can_mulexport"): (Pvm("Dataset", "can_read"),),
Pvm("TableModelView", "can_show"): (Pvm("Dataset", "can_read"),),
- Pvm("TableModelView", "muldelete",): (Pvm("Dataset", "can_write"),),
- Pvm("TableModelView", "refresh",): (Pvm("Dataset", "can_write"),),
- Pvm("TableModelView", "yaml_export",): (Pvm("Dataset", "can_read"),),
+ Pvm(
+ "TableModelView",
+ "muldelete",
+ ): (Pvm("Dataset", "can_write"),),
+ Pvm(
+ "TableModelView",
+ "refresh",
+ ): (Pvm("Dataset", "can_write"),),
+ Pvm(
+ "TableModelView",
+ "yaml_export",
+ ): (Pvm("Dataset", "can_read"),),
}
diff --git a/superset/migrations/versions/49b5a32daba5_add_report_schedules.py b/superset/migrations/versions/49b5a32daba5_add_report_schedules.py
index edf65728b577c..3a3b172bfe65f 100644
--- a/superset/migrations/versions/49b5a32daba5_add_report_schedules.py
+++ b/superset/migrations/versions/49b5a32daba5_add_report_schedules.py
@@ -114,8 +114,14 @@ def upgrade():
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("user_id", sa.Integer(), nullable=False),
sa.Column("report_schedule_id", sa.Integer(), nullable=False),
- sa.ForeignKeyConstraint(["report_schedule_id"], ["report_schedule.id"],),
- sa.ForeignKeyConstraint(["user_id"], ["ab_user.id"],),
+ sa.ForeignKeyConstraint(
+ ["report_schedule_id"],
+ ["report_schedule.id"],
+ ),
+ sa.ForeignKeyConstraint(
+ ["user_id"],
+ ["ab_user.id"],
+ ),
sa.PrimaryKeyConstraint("id"),
)
diff --git a/superset/migrations/versions/4b84f97828aa_security_converge_logs.py b/superset/migrations/versions/4b84f97828aa_security_converge_logs.py
index 51862e3430513..284b7f7525e3e 100644
--- a/superset/migrations/versions/4b84f97828aa_security_converge_logs.py
+++ b/superset/migrations/versions/4b84f97828aa_security_converge_logs.py
@@ -37,10 +37,18 @@
revision = "4b84f97828aa"
down_revision = "45731db65d9c"
-NEW_PVMS = {"Log": ("can_read", "can_write",)}
+NEW_PVMS = {
+ "Log": (
+ "can_read",
+ "can_write",
+ )
+}
PVM_MAP = {
Pvm("LogModelView", "can_show"): (Pvm("Log", "can_read"),),
- Pvm("LogModelView", "can_add",): (Pvm("Log", "can_write"),),
+ Pvm(
+ "LogModelView",
+ "can_add",
+ ): (Pvm("Log", "can_write"),),
Pvm("LogModelView", "can_list"): (Pvm("Log", "can_read"),),
}
diff --git a/superset/migrations/versions/58df9d617f14_add_on_saved_query_delete_tab_state_.py b/superset/migrations/versions/58df9d617f14_add_on_saved_query_delete_tab_state_.py
index 220370f828049..57e13cf1488e6 100644
--- a/superset/migrations/versions/58df9d617f14_add_on_saved_query_delete_tab_state_.py
+++ b/superset/migrations/versions/58df9d617f14_add_on_saved_query_delete_tab_state_.py
@@ -62,5 +62,8 @@ def downgrade():
)
batch_op.create_foreign_key(
- "saved_query_id", "saved_query", ["saved_query_id"], ["id"],
+ "saved_query_id",
+ "saved_query",
+ ["saved_query_id"],
+ ["id"],
)
diff --git a/superset/migrations/versions/73fd22e742ab_add_dynamic_plugins_py.py b/superset/migrations/versions/73fd22e742ab_add_dynamic_plugins_py.py
index 0a9e37aac2ec6..e4c2d0bc519ff 100644
--- a/superset/migrations/versions/73fd22e742ab_add_dynamic_plugins_py.py
+++ b/superset/migrations/versions/73fd22e742ab_add_dynamic_plugins_py.py
@@ -42,8 +42,14 @@ def upgrade():
sa.Column("bundle_url", sa.String(length=1000), nullable=False),
sa.Column("created_by_fk", sa.Integer(), nullable=True),
sa.Column("changed_by_fk", sa.Integer(), nullable=True),
- sa.ForeignKeyConstraint(["changed_by_fk"], ["ab_user.id"],),
- sa.ForeignKeyConstraint(["created_by_fk"], ["ab_user.id"],),
+ sa.ForeignKeyConstraint(
+ ["changed_by_fk"],
+ ["ab_user.id"],
+ ),
+ sa.ForeignKeyConstraint(
+ ["created_by_fk"],
+ ["ab_user.id"],
+ ),
sa.PrimaryKeyConstraint("id"),
sa.UniqueConstraint("key"),
sa.UniqueConstraint("name"),
diff --git a/superset/migrations/versions/8ee129739cf9_security_converge_css_templates.py b/superset/migrations/versions/8ee129739cf9_security_converge_css_templates.py
index cc641006d6afb..401dc5c4b143f 100644
--- a/superset/migrations/versions/8ee129739cf9_security_converge_css_templates.py
+++ b/superset/migrations/versions/8ee129739cf9_security_converge_css_templates.py
@@ -39,16 +39,39 @@
Pvm,
)
-NEW_PVMS = {"CssTemplate": ("can_read", "can_write",)}
+NEW_PVMS = {
+ "CssTemplate": (
+ "can_read",
+ "can_write",
+ )
+}
PVM_MAP = {
Pvm("CssTemplateModelView", "can_list"): (Pvm("CssTemplate", "can_read"),),
Pvm("CssTemplateModelView", "can_show"): (Pvm("CssTemplate", "can_read"),),
- Pvm("CssTemplateModelView", "can_add",): (Pvm("CssTemplate", "can_write"),),
- Pvm("CssTemplateModelView", "can_edit",): (Pvm("CssTemplate", "can_write"),),
- Pvm("CssTemplateModelView", "can_delete",): (Pvm("CssTemplate", "can_write"),),
- Pvm("CssTemplateModelView", "muldelete",): (Pvm("CssTemplate", "can_write"),),
- Pvm("CssTemplateAsyncModelView", "can_list",): (Pvm("CssTemplate", "can_read"),),
- Pvm("CssTemplateAsyncModelView", "muldelete",): (Pvm("CssTemplate", "can_write"),),
+ Pvm(
+ "CssTemplateModelView",
+ "can_add",
+ ): (Pvm("CssTemplate", "can_write"),),
+ Pvm(
+ "CssTemplateModelView",
+ "can_edit",
+ ): (Pvm("CssTemplate", "can_write"),),
+ Pvm(
+ "CssTemplateModelView",
+ "can_delete",
+ ): (Pvm("CssTemplate", "can_write"),),
+ Pvm(
+ "CssTemplateModelView",
+ "muldelete",
+ ): (Pvm("CssTemplate", "can_write"),),
+ Pvm(
+ "CssTemplateAsyncModelView",
+ "can_list",
+ ): (Pvm("CssTemplate", "can_read"),),
+ Pvm(
+ "CssTemplateAsyncModelView",
+ "muldelete",
+ ): (Pvm("CssTemplate", "can_write"),),
}
diff --git a/superset/migrations/versions/96e99fb176a0_add_import_mixing_to_saved_query.py b/superset/migrations/versions/96e99fb176a0_add_import_mixing_to_saved_query.py
index 2dc38e214a633..57d22aa089aa2 100644
--- a/superset/migrations/versions/96e99fb176a0_add_import_mixing_to_saved_query.py
+++ b/superset/migrations/versions/96e99fb176a0_add_import_mixing_to_saved_query.py
@@ -65,7 +65,10 @@ def upgrade():
with op.batch_alter_table("saved_query") as batch_op:
batch_op.add_column(
sa.Column(
- "uuid", UUIDType(binary=True), primary_key=False, default=uuid4,
+ "uuid",
+ UUIDType(binary=True),
+ primary_key=False,
+ default=uuid4,
),
)
except OperationalError:
diff --git a/superset/migrations/versions/978245563a02_migrate_iframe_to_dash_markdown.py b/superset/migrations/versions/978245563a02_migrate_iframe_to_dash_markdown.py
index ccc845cdc0041..6b63c468eca0c 100644
--- a/superset/migrations/versions/978245563a02_migrate_iframe_to_dash_markdown.py
+++ b/superset/migrations/versions/978245563a02_migrate_iframe_to_dash_markdown.py
@@ -159,7 +159,10 @@ def upgrade():
for key_to_remove in keys_to_remove:
del position_dict[key_to_remove]
dashboard.position_json = json.dumps(
- position_dict, indent=None, separators=(",", ":"), sort_keys=True,
+ position_dict,
+ indent=None,
+ separators=(",", ":"),
+ sort_keys=True,
)
session.merge(dashboard)
diff --git a/superset/migrations/versions/abe27eaf93db_add_extra_config_column_to_alerts.py b/superset/migrations/versions/abe27eaf93db_add_extra_config_column_to_alerts.py
index a956058434118..5a20fc894a639 100644
--- a/superset/migrations/versions/abe27eaf93db_add_extra_config_column_to_alerts.py
+++ b/superset/migrations/versions/abe27eaf93db_add_extra_config_column_to_alerts.py
@@ -39,7 +39,12 @@ def upgrade():
with op.batch_alter_table("report_schedule") as batch_op:
batch_op.add_column(
- sa.Column("extra", sa.Text(), nullable=True, default="{}",),
+ sa.Column(
+ "extra",
+ sa.Text(),
+ nullable=True,
+ default="{}",
+ ),
)
bind.execute(report_schedule.update().values({"extra": "{}"}))
with op.batch_alter_table("report_schedule") as batch_op:
diff --git a/superset/migrations/versions/af30ca79208f_collapse_alerting_models_into_a_single_.py b/superset/migrations/versions/af30ca79208f_collapse_alerting_models_into_a_single_.py
index 4d3c5983e3fb1..9502a66f4db32 100644
--- a/superset/migrations/versions/af30ca79208f_collapse_alerting_models_into_a_single_.py
+++ b/superset/migrations/versions/af30ca79208f_collapse_alerting_models_into_a_single_.py
@@ -118,7 +118,8 @@ def upgrade():
sa.Column("validator_config", sa.Text(), default="", nullable=True),
)
op.add_column(
- "alerts", sa.Column("database_id", sa.Integer(), default=0, nullable=False),
+ "alerts",
+ sa.Column("database_id", sa.Integer(), default=0, nullable=False),
)
op.add_column("alerts", sa.Column("sql", sa.Text(), default="", nullable=False))
op.add_column(
@@ -159,7 +160,10 @@ def upgrade():
sa.Column("alert_id", sa.Integer(), nullable=True),
sa.Column("value", sa.Float(), nullable=True),
sa.Column("error_msg", sa.String(length=500), nullable=True),
- sa.ForeignKeyConstraint(["alert_id"], ["alerts.id"],),
+ sa.ForeignKeyConstraint(
+ ["alert_id"],
+ ["alerts.id"],
+ ),
sa.PrimaryKeyConstraint("id"),
)
else:
@@ -192,7 +196,11 @@ def downgrade():
sa.Column("created_on", sa.DateTime(), nullable=True),
sa.Column("changed_on", sa.DateTime(), nullable=True),
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
- sa.Column("validator_type", sa.String(length=100), nullable=False,),
+ sa.Column(
+ "validator_type",
+ sa.String(length=100),
+ nullable=False,
+ ),
sa.Column("config", sa.Text(), nullable=True),
sa.Column("created_by_fk", sa.Integer(), autoincrement=False, nullable=True),
sa.Column("changed_by_fk", sa.Integer(), autoincrement=False, nullable=True),
@@ -261,10 +269,22 @@ def downgrade():
sa.Column("created_by_fk", sa.Integer(), nullable=True),
sa.Column("created_on", sa.DateTime(), nullable=True),
sa.Column("slack_channel", sa.Text(), nullable=True),
- sa.ForeignKeyConstraint(["dashboard_id"], ["dashboards.id"],),
- sa.ForeignKeyConstraint(["slice_id"], ["slices.id"],),
- sa.ForeignKeyConstraint(["created_by_fk"], ["ab_user.id"],),
- sa.ForeignKeyConstraint(["changed_by_fk"], ["ab_user.id"],),
+ sa.ForeignKeyConstraint(
+ ["dashboard_id"],
+ ["dashboards.id"],
+ ),
+ sa.ForeignKeyConstraint(
+ ["slice_id"],
+ ["slices.id"],
+ ),
+ sa.ForeignKeyConstraint(
+ ["created_by_fk"],
+ ["ab_user.id"],
+ ),
+ sa.ForeignKeyConstraint(
+ ["changed_by_fk"],
+ ["ab_user.id"],
+ ),
sa.PrimaryKeyConstraint("id"),
)
else:
diff --git a/superset/migrations/versions/b4456560d4f3_change_table_unique_constraint.py b/superset/migrations/versions/b4456560d4f3_change_table_unique_constraint.py
index d22f72cf03c7d..5ce049f8e4a2e 100644
--- a/superset/migrations/versions/b4456560d4f3_change_table_unique_constraint.py
+++ b/superset/migrations/versions/b4456560d4f3_change_table_unique_constraint.py
@@ -42,6 +42,6 @@ def upgrade():
def downgrade():
try:
# Trying since sqlite doesn't like constraints
- op.drop_constraint(u"_customer_location_uc", "tables", type_="unique")
+ op.drop_constraint("_customer_location_uc", "tables", type_="unique")
except Exception:
pass
diff --git a/superset/migrations/versions/b56500de1855_add_uuid_column_to_import_mixin.py b/superset/migrations/versions/b56500de1855_add_uuid_column_to_import_mixin.py
index 7bef33bc87260..747ec9fb4f77f 100644
--- a/superset/migrations/versions/b56500de1855_add_uuid_column_to_import_mixin.py
+++ b/superset/migrations/versions/b56500de1855_add_uuid_column_to_import_mixin.py
@@ -171,7 +171,10 @@ def upgrade():
with op.batch_alter_table(table_name) as batch_op:
batch_op.add_column(
sa.Column(
- "uuid", UUIDType(binary=True), primary_key=False, default=uuid4,
+ "uuid",
+ UUIDType(binary=True),
+ primary_key=False,
+ default=uuid4,
),
)
diff --git a/superset/migrations/versions/b5998378c225_add_certificate_to_dbs.py b/superset/migrations/versions/b5998378c225_add_certificate_to_dbs.py
index ae99486807194..404ea96e4402a 100644
--- a/superset/migrations/versions/b5998378c225_add_certificate_to_dbs.py
+++ b/superset/migrations/versions/b5998378c225_add_certificate_to_dbs.py
@@ -36,7 +36,8 @@ def upgrade():
kwargs: Dict[str, str] = {}
bind = op.get_bind()
op.add_column(
- "dbs", sa.Column("server_cert", sa.LargeBinary(), nullable=True, **kwargs),
+ "dbs",
+ sa.Column("server_cert", sa.LargeBinary(), nullable=True, **kwargs),
)
diff --git a/superset/migrations/versions/b8d3a24d9131_new_dataset_models.py b/superset/migrations/versions/b8d3a24d9131_new_dataset_models.py
index d0a999d8542d1..75f5293034ead 100644
--- a/superset/migrations/versions/b8d3a24d9131_new_dataset_models.py
+++ b/superset/migrations/versions/b8d3a24d9131_new_dataset_models.py
@@ -25,7 +25,7 @@
"""
import json
-from typing import List
+from typing import Callable, List, Optional, Set
from uuid import uuid4
import sqlalchemy as sa
@@ -40,7 +40,9 @@
from superset import app, db
from superset.connectors.sqla.models import ADDITIVE_METRIC_TYPES
from superset.extensions import encrypted_field_factory
-from superset.sql_parse import ParsedQuery
+from superset.migrations.shared.utils import extract_table_references
+from superset.models.core import Database as OriginalDatabase
+from superset.sql_parse import Table
# revision identifiers, used by Alembic.
revision = "b8d3a24d9131"
@@ -228,6 +230,85 @@ class NewDataset(Base):
external_url = sa.Column(sa.Text, nullable=True)
+TEMPORAL_TYPES = {"DATETIME", "DATE", "TIME", "TIMEDELTA"}
+
+
+def load_or_create_tables(
+ session: Session,
+ database_id: int,
+ default_schema: Optional[str],
+ tables: Set[Table],
+ conditional_quote: Callable[[str], str],
+) -> List[NewTable]:
+ """
+ Load or create new table model instances.
+ """
+ if not tables:
+ return []
+
+ # set the default schema in tables that don't have it
+ if default_schema:
+ tables = list(tables)
+ for i, table in enumerate(tables):
+ if table.schema is None:
+ tables[i] = Table(table.table, default_schema, table.catalog)
+
+ # load existing tables
+ predicate = or_(
+ *[
+ and_(
+ NewTable.database_id == database_id,
+ NewTable.schema == table.schema,
+ NewTable.name == table.table,
+ )
+ for table in tables
+ ]
+ )
+ new_tables = session.query(NewTable).filter(predicate).all()
+
+ # use original database model to get the engine
+ engine = (
+ session.query(OriginalDatabase)
+ .filter_by(id=database_id)
+ .one()
+ .get_sqla_engine(default_schema)
+ )
+ inspector = inspect(engine)
+
+ # add missing tables
+ existing = {(table.schema, table.name) for table in new_tables}
+ for table in tables:
+ if (table.schema, table.table) not in existing:
+ column_metadata = inspector.get_columns(table.table, schema=table.schema)
+ columns = [
+ NewColumn(
+ name=column["name"],
+ type=str(column["type"]),
+ expression=conditional_quote(column["name"]),
+ is_temporal=column["type"].python_type.__name__.upper()
+ in TEMPORAL_TYPES,
+ is_aggregation=False,
+ is_physical=True,
+ is_spatial=False,
+ is_partition=False,
+ is_increase_desired=True,
+ )
+ for column in column_metadata
+ ]
+ new_tables.append(
+ NewTable(
+ name=table.table,
+ schema=table.schema,
+ catalog=None,
+ database_id=database_id,
+ columns=columns,
+ )
+ )
+ existing.add((table.schema, table.table))
+
+ return new_tables
+
+
def after_insert(target: SqlaTable) -> None: # pylint: disable=too-many-locals
"""
Copy old datasets to the new models.
@@ -253,7 +334,10 @@ def after_insert(target: SqlaTable) -> None: # pylint: disable=too-many-locals
if column.is_active is False:
continue
- extra_json = json.loads(column.extra or "{}")
+ try:
+ extra_json = json.loads(column.extra or "{}")
+ except json.decoder.JSONDecodeError:
+ extra_json = {}
for attr in {"groupby", "filterable", "verbose_name", "python_date_format"}:
value = getattr(column, attr)
if value:
@@ -279,7 +363,10 @@ def after_insert(target: SqlaTable) -> None: # pylint: disable=too-many-locals
# create metrics
for metric in target.metrics:
- extra_json = json.loads(metric.extra or "{}")
+ try:
+ extra_json = json.loads(metric.extra or "{}")
+ except json.decoder.JSONDecodeError:
+ extra_json = {}
for attr in {"verbose_name", "metric_type", "d3format"}:
value = getattr(metric, attr)
if value:
@@ -309,8 +396,7 @@ def after_insert(target: SqlaTable) -> None: # pylint: disable=too-many-locals
)
# physical dataset
- tables = []
- if target.sql is None:
+ if not target.sql:
physical_columns = [column for column in columns if column.is_physical]
# create table
@@ -323,7 +409,7 @@ def after_insert(target: SqlaTable) -> None: # pylint: disable=too-many-locals
is_managed_externally=target.is_managed_externally,
external_url=target.external_url,
)
- tables.append(table)
+ tables = [table]
# virtual dataset
else:
@@ -332,20 +418,14 @@ def after_insert(target: SqlaTable) -> None: # pylint: disable=too-many-locals
column.is_physical = False
# find referenced tables
- parsed = ParsedQuery(target.sql)
- referenced_tables = parsed.tables
-
- # predicate for finding the referenced tables
- predicate = or_(
- *[
- and_(
- NewTable.schema == (table.schema or target.schema),
- NewTable.name == table.table,
- )
- for table in referenced_tables
- ]
+ referenced_tables = extract_table_references(target.sql, dialect_class.name)
+ tables = load_or_create_tables(
+ session,
+ target.database_id,
+ target.schema,
+ referenced_tables,
+ conditional_quote,
)
- tables = session.query(NewTable).filter(predicate).all()
# create the new dataset
dataset = NewDataset(
@@ -354,7 +434,7 @@ def after_insert(target: SqlaTable) -> None: # pylint: disable=too-many-locals
expression=target.sql or conditional_quote(target.table_name),
tables=tables,
columns=columns,
- is_physical=target.sql is None,
+ is_physical=not target.sql,
is_managed_externally=target.is_managed_externally,
external_url=target.external_url,
)
@@ -379,16 +459,46 @@ def upgrade():
sa.Column("name", sa.TEXT(), nullable=False),
sa.Column("type", sa.TEXT(), nullable=False),
sa.Column("expression", sa.TEXT(), nullable=False),
- sa.Column("is_physical", sa.BOOLEAN(), nullable=False, default=True,),
+ sa.Column(
+ "is_physical",
+ sa.BOOLEAN(),
+ nullable=False,
+ default=True,
+ ),
sa.Column("description", sa.TEXT(), nullable=True),
sa.Column("warning_text", sa.TEXT(), nullable=True),
sa.Column("unit", sa.TEXT(), nullable=True),
sa.Column("is_temporal", sa.BOOLEAN(), nullable=False),
- sa.Column("is_spatial", sa.BOOLEAN(), nullable=False, default=False,),
- sa.Column("is_partition", sa.BOOLEAN(), nullable=False, default=False,),
- sa.Column("is_aggregation", sa.BOOLEAN(), nullable=False, default=False,),
- sa.Column("is_additive", sa.BOOLEAN(), nullable=False, default=False,),
- sa.Column("is_increase_desired", sa.BOOLEAN(), nullable=False, default=True,),
+ sa.Column(
+ "is_spatial",
+ sa.BOOLEAN(),
+ nullable=False,
+ default=False,
+ ),
+ sa.Column(
+ "is_partition",
+ sa.BOOLEAN(),
+ nullable=False,
+ default=False,
+ ),
+ sa.Column(
+ "is_aggregation",
+ sa.BOOLEAN(),
+ nullable=False,
+ default=False,
+ ),
+ sa.Column(
+ "is_additive",
+ sa.BOOLEAN(),
+ nullable=False,
+ default=False,
+ ),
+ sa.Column(
+ "is_increase_desired",
+ sa.BOOLEAN(),
+ nullable=False,
+ default=True,
+ ),
sa.Column(
"is_managed_externally",
sa.Boolean(),
@@ -459,7 +569,12 @@ def upgrade():
sa.Column("sqlatable_id", sa.INTEGER(), nullable=True),
sa.Column("name", sa.TEXT(), nullable=False),
sa.Column("expression", sa.TEXT(), nullable=False),
- sa.Column("is_physical", sa.BOOLEAN(), nullable=False, default=False,),
+ sa.Column(
+ "is_physical",
+ sa.BOOLEAN(),
+ nullable=False,
+ default=False,
+ ),
sa.Column(
"is_managed_externally",
sa.Boolean(),
diff --git a/superset/migrations/versions/c25cb2c78727_security_converge_annotations.py b/superset/migrations/versions/c25cb2c78727_security_converge_annotations.py
index 33099dd2e74b2..eedc721c98788 100644
--- a/superset/migrations/versions/c25cb2c78727_security_converge_annotations.py
+++ b/superset/migrations/versions/c25cb2c78727_security_converge_annotations.py
@@ -39,19 +39,51 @@
down_revision = "ccb74baaa89b"
-NEW_PVMS = {"Annotation": ("can_read", "can_write",)}
+NEW_PVMS = {
+ "Annotation": (
+ "can_read",
+ "can_write",
+ )
+}
PVM_MAP = {
Pvm("AnnotationLayerModelView", "can_delete"): (Pvm("Annotation", "can_write"),),
Pvm("AnnotationLayerModelView", "can_list"): (Pvm("Annotation", "can_read"),),
- Pvm("AnnotationLayerModelView", "can_show",): (Pvm("Annotation", "can_read"),),
- Pvm("AnnotationLayerModelView", "can_add",): (Pvm("Annotation", "can_write"),),
- Pvm("AnnotationLayerModelView", "can_edit",): (Pvm("Annotation", "can_write"),),
- Pvm("AnnotationModelView", "can_annotation",): (Pvm("Annotation", "can_read"),),
- Pvm("AnnotationModelView", "can_show",): (Pvm("Annotation", "can_read"),),
- Pvm("AnnotationModelView", "can_add",): (Pvm("Annotation", "can_write"),),
- Pvm("AnnotationModelView", "can_delete",): (Pvm("Annotation", "can_write"),),
- Pvm("AnnotationModelView", "can_edit",): (Pvm("Annotation", "can_write"),),
- Pvm("AnnotationModelView", "can_list",): (Pvm("Annotation", "can_read"),),
+ Pvm(
+ "AnnotationLayerModelView",
+ "can_show",
+ ): (Pvm("Annotation", "can_read"),),
+ Pvm(
+ "AnnotationLayerModelView",
+ "can_add",
+ ): (Pvm("Annotation", "can_write"),),
+ Pvm(
+ "AnnotationLayerModelView",
+ "can_edit",
+ ): (Pvm("Annotation", "can_write"),),
+ Pvm(
+ "AnnotationModelView",
+ "can_annotation",
+ ): (Pvm("Annotation", "can_read"),),
+ Pvm(
+ "AnnotationModelView",
+ "can_show",
+ ): (Pvm("Annotation", "can_read"),),
+ Pvm(
+ "AnnotationModelView",
+ "can_add",
+ ): (Pvm("Annotation", "can_write"),),
+ Pvm(
+ "AnnotationModelView",
+ "can_delete",
+ ): (Pvm("Annotation", "can_write"),),
+ Pvm(
+ "AnnotationModelView",
+ "can_edit",
+ ): (Pvm("Annotation", "can_write"),),
+ Pvm(
+ "AnnotationModelView",
+ "can_list",
+ ): (Pvm("Annotation", "can_read"),),
}
diff --git a/superset/migrations/versions/c501b7c653a3_add_missing_uuid_column.py b/superset/migrations/versions/c501b7c653a3_add_missing_uuid_column.py
index f8b252ed0cba3..4cfbc104c01db 100644
--- a/superset/migrations/versions/c501b7c653a3_add_missing_uuid_column.py
+++ b/superset/migrations/versions/c501b7c653a3_add_missing_uuid_column.py
@@ -67,7 +67,10 @@ def upgrade():
with op.batch_alter_table(table_name) as batch_op:
batch_op.add_column(
sa.Column(
- "uuid", UUIDType(binary=True), primary_key=False, default=uuid4,
+ "uuid",
+ UUIDType(binary=True),
+ primary_key=False,
+ default=uuid4,
),
)
add_uuids(model, table_name, session)
diff --git a/superset/migrations/versions/c82ee8a39623_add_implicit_tags.py b/superset/migrations/versions/c82ee8a39623_add_implicit_tags.py
index 3bab3f6ec3af9..ad809d3e4564e 100644
--- a/superset/migrations/versions/c82ee8a39623_add_implicit_tags.py
+++ b/superset/migrations/versions/c82ee8a39623_add_implicit_tags.py
@@ -52,7 +52,10 @@ class AuditMixinNullable(AuditMixin):
@declared_attr
def created_by_fk(self) -> Column:
return Column(
- Integer, ForeignKey("ab_user.id"), default=self.get_user_id, nullable=True,
+ Integer,
+ ForeignKey("ab_user.id"),
+ default=self.get_user_id,
+ nullable=True,
)
@declared_attr
diff --git a/superset/migrations/versions/c878781977c6_alert_reports_shared_uniqueness.py b/superset/migrations/versions/c878781977c6_alert_reports_shared_uniqueness.py
index 62b4501bc343c..bb8f628bd7c24 100644
--- a/superset/migrations/versions/c878781977c6_alert_reports_shared_uniqueness.py
+++ b/superset/migrations/versions/c878781977c6_alert_reports_shared_uniqueness.py
@@ -80,7 +80,8 @@ def upgrade():
if isinstance(bind.dialect, MySQLDialect):
op.drop_index(
- op.f("name"), table_name="report_schedule",
+ op.f("name"),
+ table_name="report_schedule",
)
if isinstance(bind.dialect, PGDialect):
diff --git a/superset/migrations/versions/ccb74baaa89b_security_converge_charts.py b/superset/migrations/versions/ccb74baaa89b_security_converge_charts.py
index d025cd5762f98..66fc547d54496 100644
--- a/superset/migrations/versions/ccb74baaa89b_security_converge_charts.py
+++ b/superset/migrations/versions/ccb74baaa89b_security_converge_charts.py
@@ -39,22 +39,63 @@
Pvm,
)
-NEW_PVMS = {"Chart": ("can_read", "can_write",)}
+NEW_PVMS = {
+ "Chart": (
+ "can_read",
+ "can_write",
+ )
+}
PVM_MAP = {
Pvm("SliceModelView", "can_list"): (Pvm("Chart", "can_read"),),
Pvm("SliceModelView", "can_show"): (Pvm("Chart", "can_read"),),
- Pvm("SliceModelView", "can_edit",): (Pvm("Chart", "can_write"),),
- Pvm("SliceModelView", "can_delete",): (Pvm("Chart", "can_write"),),
- Pvm("SliceModelView", "can_add",): (Pvm("Chart", "can_write"),),
- Pvm("SliceModelView", "can_download",): (Pvm("Chart", "can_read"),),
- Pvm("SliceModelView", "muldelete",): (Pvm("Chart", "can_write"),),
- Pvm("SliceModelView", "can_mulexport",): (Pvm("Chart", "can_read"),),
- Pvm("SliceModelView", "can_favorite_status",): (Pvm("Chart", "can_read"),),
- Pvm("SliceModelView", "can_cache_screenshot",): (Pvm("Chart", "can_read"),),
- Pvm("SliceModelView", "can_screenshot",): (Pvm("Chart", "can_read"),),
- Pvm("SliceModelView", "can_data_from_cache",): (Pvm("Chart", "can_read"),),
- Pvm("SliceAsync", "can_list",): (Pvm("Chart", "can_read"),),
- Pvm("SliceAsync", "muldelete",): (Pvm("Chart", "can_write"),),
+ Pvm(
+ "SliceModelView",
+ "can_edit",
+ ): (Pvm("Chart", "can_write"),),
+ Pvm(
+ "SliceModelView",
+ "can_delete",
+ ): (Pvm("Chart", "can_write"),),
+ Pvm(
+ "SliceModelView",
+ "can_add",
+ ): (Pvm("Chart", "can_write"),),
+ Pvm(
+ "SliceModelView",
+ "can_download",
+ ): (Pvm("Chart", "can_read"),),
+ Pvm(
+ "SliceModelView",
+ "muldelete",
+ ): (Pvm("Chart", "can_write"),),
+ Pvm(
+ "SliceModelView",
+ "can_mulexport",
+ ): (Pvm("Chart", "can_read"),),
+ Pvm(
+ "SliceModelView",
+ "can_favorite_status",
+ ): (Pvm("Chart", "can_read"),),
+ Pvm(
+ "SliceModelView",
+ "can_cache_screenshot",
+ ): (Pvm("Chart", "can_read"),),
+ Pvm(
+ "SliceModelView",
+ "can_screenshot",
+ ): (Pvm("Chart", "can_read"),),
+ Pvm(
+ "SliceModelView",
+ "can_data_from_cache",
+ ): (Pvm("Chart", "can_read"),),
+ Pvm(
+ "SliceAsync",
+ "can_list",
+ ): (Pvm("Chart", "can_read"),),
+ Pvm(
+ "SliceAsync",
+ "muldelete",
+ ): (Pvm("Chart", "can_write"),),
}
diff --git a/superset/migrations/versions/d416d0d715cc_add_limiting_factor_column_to_query_.py b/superset/migrations/versions/d416d0d715cc_add_limiting_factor_column_to_query_.py
index 47db03d4555b5..532da44886643 100644
--- a/superset/migrations/versions/d416d0d715cc_add_limiting_factor_column_to_query_.py
+++ b/superset/migrations/versions/d416d0d715cc_add_limiting_factor_column_to_query_.py
@@ -33,7 +33,11 @@
def upgrade():
with op.batch_alter_table("query") as batch_op:
batch_op.add_column(
- sa.Column("limiting_factor", sa.VARCHAR(255), server_default="UNKNOWN",)
+ sa.Column(
+ "limiting_factor",
+ sa.VARCHAR(255),
+ server_default="UNKNOWN",
+ )
)
diff --git a/superset/migrations/versions/e38177dbf641_security_converge_saved_queries.py b/superset/migrations/versions/e38177dbf641_security_converge_saved_queries.py
index 85ce431758dd4..d3342fe535686 100644
--- a/superset/migrations/versions/e38177dbf641_security_converge_saved_queries.py
+++ b/superset/migrations/versions/e38177dbf641_security_converge_saved_queries.py
@@ -39,20 +39,55 @@
Pvm,
)
-NEW_PVMS = {"SavedQuery": ("can_read", "can_write",)}
+NEW_PVMS = {
+ "SavedQuery": (
+ "can_read",
+ "can_write",
+ )
+}
PVM_MAP = {
Pvm("SavedQueryView", "can_list"): (Pvm("SavedQuery", "can_read"),),
Pvm("SavedQueryView", "can_show"): (Pvm("SavedQuery", "can_read"),),
- Pvm("SavedQueryView", "can_add",): (Pvm("SavedQuery", "can_write"),),
- Pvm("SavedQueryView", "can_edit",): (Pvm("SavedQuery", "can_write"),),
- Pvm("SavedQueryView", "can_delete",): (Pvm("SavedQuery", "can_write"),),
- Pvm("SavedQueryView", "muldelete",): (Pvm("SavedQuery", "can_write"),),
- Pvm("SavedQueryView", "can_mulexport",): (Pvm("SavedQuery", "can_read"),),
- Pvm("SavedQueryViewApi", "can_show",): (Pvm("SavedQuery", "can_read"),),
- Pvm("SavedQueryViewApi", "can_edit",): (Pvm("SavedQuery", "can_write"),),
- Pvm("SavedQueryViewApi", "can_list",): (Pvm("SavedQuery", "can_read"),),
- Pvm("SavedQueryViewApi", "can_add",): (Pvm("SavedQuery", "can_write"),),
- Pvm("SavedQueryViewApi", "muldelete",): (Pvm("SavedQuery", "can_write"),),
+ Pvm(
+ "SavedQueryView",
+ "can_add",
+ ): (Pvm("SavedQuery", "can_write"),),
+ Pvm(
+ "SavedQueryView",
+ "can_edit",
+ ): (Pvm("SavedQuery", "can_write"),),
+ Pvm(
+ "SavedQueryView",
+ "can_delete",
+ ): (Pvm("SavedQuery", "can_write"),),
+ Pvm(
+ "SavedQueryView",
+ "muldelete",
+ ): (Pvm("SavedQuery", "can_write"),),
+ Pvm(
+ "SavedQueryView",
+ "can_mulexport",
+ ): (Pvm("SavedQuery", "can_read"),),
+ Pvm(
+ "SavedQueryViewApi",
+ "can_show",
+ ): (Pvm("SavedQuery", "can_read"),),
+ Pvm(
+ "SavedQueryViewApi",
+ "can_edit",
+ ): (Pvm("SavedQuery", "can_write"),),
+ Pvm(
+ "SavedQueryViewApi",
+ "can_list",
+ ): (Pvm("SavedQuery", "can_read"),),
+ Pvm(
+ "SavedQueryViewApi",
+ "can_add",
+ ): (Pvm("SavedQuery", "can_write"),),
+ Pvm(
+ "SavedQueryViewApi",
+ "muldelete",
+ ): (Pvm("SavedQuery", "can_write"),),
}
diff --git a/superset/migrations/versions/e5ef6828ac4e_add_rls_filter_type_and_grouping_key.py b/superset/migrations/versions/e5ef6828ac4e_add_rls_filter_type_and_grouping_key.py
index 01fcf60e93357..7e1de6112889e 100644
--- a/superset/migrations/versions/e5ef6828ac4e_add_rls_filter_type_and_grouping_key.py
+++ b/superset/migrations/versions/e5ef6828ac4e_add_rls_filter_type_and_grouping_key.py
@@ -53,6 +53,8 @@ def upgrade():
def downgrade():
with op.batch_alter_table("row_level_security_filters") as batch_op:
- batch_op.drop_index(op.f("ix_row_level_security_filters_filter_type"),)
+ batch_op.drop_index(
+ op.f("ix_row_level_security_filters_filter_type"),
+ )
batch_op.drop_column("filter_type")
batch_op.drop_column("group_key")
diff --git a/superset/models/__init__.py b/superset/models/__init__.py
index 573d22d1094fd..a102a0fff59a4 100644
--- a/superset/models/__init__.py
+++ b/superset/models/__init__.py
@@ -14,12 +14,4 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from . import (
- alerts,
- core,
- datasource_access_request,
- dynamic_plugins,
- schedules,
- sql_lab,
- user_attributes,
-)
+from . import core, datasource_access_request, dynamic_plugins, sql_lab, user_attributes
diff --git a/superset/models/alerts.py b/superset/models/alerts.py
deleted file mode 100644
index 163dcf027de0e..0000000000000
--- a/superset/models/alerts.py
+++ /dev/null
@@ -1,176 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-"""Models for scheduled execution of jobs"""
-import json
-import textwrap
-from datetime import datetime
-from typing import Any, Optional
-
-from flask_appbuilder import Model
-from sqlalchemy import (
- Boolean,
- Column,
- DateTime,
- Float,
- ForeignKey,
- Integer,
- String,
- Table,
- Text,
-)
-from sqlalchemy.ext.declarative import declared_attr
-from sqlalchemy.orm import backref, relationship, RelationshipProperty
-
-from superset import db, security_manager
-from superset.models.helpers import AuditMixinNullable
-
-metadata = Model.metadata # pylint: disable=no-member
-
-
-alert_owner = Table(
- "alert_owner",
- metadata,
- Column("id", Integer, primary_key=True),
- Column("user_id", Integer, ForeignKey("ab_user.id")),
- Column("alert_id", Integer, ForeignKey("alerts.id")),
-)
-
-
-class Alert(Model, AuditMixinNullable):
-
- """Schedules for emailing slices / dashboards"""
-
- __tablename__ = "alerts"
-
- id = Column(Integer, primary_key=True)
- label = Column(String(150), nullable=False)
- active = Column(Boolean, default=True, index=True)
- # TODO(bkyryliuk): enforce minimal supported frequency
- crontab = Column(String(50), nullable=False)
-
- alert_type = Column(String(50))
- owners = relationship(security_manager.user_model, secondary=alert_owner)
- recipients = Column(Text)
- slack_channel = Column(Text)
-
- # TODO(bkyryliuk): implement log_retention
- log_retention = Column(Integer, default=90)
- grace_period = Column(Integer, default=60 * 60 * 24)
-
- slice_id = Column(Integer, ForeignKey("slices.id"))
- slice = relationship("Slice", backref="alerts", foreign_keys=[slice_id])
-
- dashboard_id = Column(Integer, ForeignKey("dashboards.id"))
- dashboard = relationship("Dashboard", backref="alert", foreign_keys=[dashboard_id])
-
- last_eval_dttm = Column(DateTime, default=datetime.utcnow)
- last_state = Column(String(10))
-
- # Observation related columns
- sql = Column(Text, nullable=False)
-
- # Validation related columns
- validator_type = Column(String(100), nullable=False)
- validator_config = Column(
- Text,
- default=textwrap.dedent(
- """
- {
-
- }
- """
- ),
- )
-
- @declared_attr
- def database_id(self) -> int:
- return Column(Integer, ForeignKey("dbs.id"), nullable=False)
-
- @declared_attr
- def database(self) -> RelationshipProperty:
- return relationship(
- "Database",
- foreign_keys=[self.database_id],
- backref=backref("sql_observers", cascade="all, delete-orphan"),
- )
-
- def get_last_observation(self) -> Optional[Any]:
- observations = list(
- db.session.query(SQLObservation)
- .filter_by(alert_id=self.id)
- .order_by(SQLObservation.dttm.desc())
- .limit(1)
- )
-
- if observations:
- return observations[0]
-
- return None
-
- def __str__(self) -> str:
- return f"<{self.id}:{self.label}>"
-
- @property
- def pretty_config(self) -> str:
- """String representing the comparison that will trigger a validator"""
- config = json.loads(self.validator_config)
-
- if self.validator_type.lower() == "operator":
- return f"{config['op']} {config['threshold']}"
-
- if self.validator_type.lower() == "not null":
- return "!= Null or 0"
-
- return ""
-
-
-class AlertLog(Model):
- """Keeps track of alert-related operations"""
-
- __tablename__ = "alert_logs"
-
- id = Column(Integer, primary_key=True)
- scheduled_dttm = Column(DateTime)
- dttm_start = Column(DateTime, default=datetime.utcnow)
- dttm_end = Column(DateTime, default=datetime.utcnow)
- alert_id = Column(Integer, ForeignKey("alerts.id"))
- alert = relationship("Alert", backref="logs", foreign_keys=[alert_id])
- state = Column(String(10))
-
- @property
- def duration(self) -> int:
- return (self.dttm_end - self.dttm_start).total_seconds()
-
-
-# TODO: Currently SQLObservation table will constantly grow with no limit,
-# add some retention restriction or more to a more scalable db e.g.
-# https://github.com/apache/superset/blob/master/superset/utils/log.py#L32
-class SQLObservation(Model): # pylint: disable=too-few-public-methods
- """Keeps track of the collected observations for alerts."""
-
- __tablename__ = "sql_observations"
-
- id = Column(Integer, primary_key=True)
- dttm = Column(DateTime, default=datetime.utcnow, index=True)
- alert_id = Column(Integer, ForeignKey("alerts.id"))
- alert = relationship(
- "Alert",
- foreign_keys=[alert_id],
- backref=backref("observations", cascade="all, delete-orphan"),
- )
- value = Column(Float)
- error_msg = Column(String(500))
diff --git a/superset/models/core.py b/superset/models/core.py
index 51f0731009950..fcc7cf16d8ef2 100755
--- a/superset/models/core.py
+++ b/superset/models/core.py
@@ -165,7 +165,7 @@ class Database(
"allow_file_upload",
"extra",
]
- extra_import_fields = ["password"]
+ extra_import_fields = ["password", "is_managed_externally", "external_url"]
export_children = ["tables"]
def __repr__(self) -> str:
@@ -322,7 +322,9 @@ def set_sqlalchemy_uri(self, uri: str) -> None:
self.sqlalchemy_uri = str(conn) # hides the password
def get_effective_user(
- self, object_url: URL, user_name: Optional[str] = None,
+ self,
+ object_url: URL,
+ user_name: Optional[str] = None,
) -> Optional[str]:
"""
Get the effective user, especially during impersonation.
diff --git a/superset/models/dashboard.py b/superset/models/dashboard.py
index 55bf909b97353..7a8710af0d4af 100644
--- a/superset/models/dashboard.py
+++ b/superset/models/dashboard.py
@@ -163,6 +163,7 @@ class Dashboard(Model, AuditMixinNullable, ImportExportMixin):
"css",
"slug",
]
+ extra_import_fields = ["is_managed_externally", "external_url"]
def __repr__(self) -> str:
return f"Dashboard<{self.id or self.slug}>"
@@ -278,6 +279,7 @@ def data(self) -> Dict[str, Any]:
"slices": [slc.data for slc in self.slices],
"position_json": positions,
"last_modified_time": self.changed_on.replace(microsecond=0).timestamp(),
+ "is_managed_externally": self.is_managed_externally,
}
@cache_manager.cache.memoize(
@@ -342,7 +344,8 @@ def clear_cache_for_slice(cls, slice_id: int) -> None:
@debounce(0.1)
def clear_cache_for_datasource(cls, datasource_id: int) -> None:
filter_query = select(
- [dashboard_slices.c.dashboard_id], distinct=True,
+ [dashboard_slices.c.dashboard_id],
+ distinct=True,
).select_from(
join(
dashboard_slices,
diff --git a/superset/models/schedules.py b/superset/models/schedules.py
deleted file mode 100644
index f60890bfc3b56..0000000000000
--- a/superset/models/schedules.py
+++ /dev/null
@@ -1,104 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-"""Models for scheduled execution of jobs"""
-import enum
-from typing import Optional, Type
-
-from flask_appbuilder import Model
-from sqlalchemy import Boolean, Column, Enum, ForeignKey, Integer, String, Text
-from sqlalchemy.ext.declarative import declared_attr
-from sqlalchemy.orm import relationship, RelationshipProperty
-
-from superset import security_manager
-from superset.models.alerts import Alert
-from superset.models.helpers import AuditMixinNullable, ImportExportMixin
-
-metadata = Model.metadata # pylint: disable=no-member
-
-
-class ScheduleType(str, enum.Enum):
- # pylint: disable=invalid-name
- slice = "slice"
- dashboard = "dashboard"
- alert = "alert"
-
-
-class EmailDeliveryType(str, enum.Enum):
- # pylint: disable=invalid-name
- attachment = "Attachment"
- inline = "Inline"
-
-
-class SliceEmailReportFormat(str, enum.Enum):
- # pylint: disable=invalid-name
- visualization = "Visualization"
- data = "Raw data"
-
-
-class EmailSchedule:
-
- """Schedules for emailing slices / dashboards"""
-
- __tablename__ = "email_schedules"
-
- id = Column(Integer, primary_key=True)
- active = Column(Boolean, default=True, index=True)
- crontab = Column(String(50))
-
- @declared_attr
- def user_id(self) -> int:
- return Column(Integer, ForeignKey("ab_user.id"))
-
- @declared_attr
- def user(self) -> RelationshipProperty:
- return relationship(
- security_manager.user_model,
- backref=self.__tablename__,
- foreign_keys=[self.user_id],
- )
-
- recipients = Column(Text)
- slack_channel = Column(Text)
- deliver_as_group = Column(Boolean, default=False)
- delivery_type = Column(Enum(EmailDeliveryType))
-
-
-class DashboardEmailSchedule(
- Model, AuditMixinNullable, ImportExportMixin, EmailSchedule
-):
- __tablename__ = "dashboard_email_schedules"
- dashboard_id = Column(Integer, ForeignKey("dashboards.id"))
- dashboard = relationship(
- "Dashboard", backref="email_schedules", foreign_keys=[dashboard_id]
- )
-
-
-class SliceEmailSchedule(Model, AuditMixinNullable, ImportExportMixin, EmailSchedule):
- __tablename__ = "slice_email_schedules"
- slice_id = Column(Integer, ForeignKey("slices.id"))
- slice = relationship("Slice", backref="email_schedules", foreign_keys=[slice_id])
- email_format = Column(Enum(SliceEmailReportFormat))
-
-
-def get_scheduler_model(report_type: str) -> Optional[Type[EmailSchedule]]:
- if report_type == ScheduleType.dashboard:
- return DashboardEmailSchedule
- if report_type == ScheduleType.slice:
- return SliceEmailSchedule
- if report_type == ScheduleType.alert:
- return Alert
- return None
diff --git a/superset/models/slice.py b/superset/models/slice.py
index 9c22efec6d4db..862edb9ec8ce8 100644
--- a/superset/models/slice.py
+++ b/superset/models/slice.py
@@ -119,6 +119,7 @@ class Slice( # pylint: disable=too-many-public-methods
"cache_timeout",
]
export_parent = "table"
+ extra_import_fields = ["is_managed_externally", "external_url"]
def __repr__(self) -> str:
return self.slice_name or str(self.id)
@@ -226,6 +227,7 @@ def data(self) -> Dict[str, Any]:
"slice_url": self.slice_url,
"certified_by": self.certified_by,
"certification_details": self.certification_details,
+ "is_managed_externally": self.is_managed_externally,
}
@property
diff --git a/superset/queries/saved_queries/schemas.py b/superset/queries/saved_queries/schemas.py
index ca2ef800a67e9..1fbaf758a95a2 100644
--- a/superset/queries/saved_queries/schemas.py
+++ b/superset/queries/saved_queries/schemas.py
@@ -18,7 +18,11 @@
from marshmallow.validate import Length
openapi_spec_methods_override = {
- "get": {"get": {"description": "Get a saved query",}},
+ "get": {
+ "get": {
+ "description": "Get a saved query",
+ }
+ },
"get_list": {
"get": {
"description": "Get a list of saved queries, use Rison or JSON "
diff --git a/superset/reports/commands/base.py b/superset/reports/commands/base.py
index 3582767ef65f2..b17975a5a63e4 100644
--- a/superset/reports/commands/base.py
+++ b/superset/reports/commands/base.py
@@ -47,7 +47,7 @@ def validate(self) -> None:
def validate_chart_dashboard(
self, exceptions: List[ValidationError], update: bool = False
) -> None:
- """ Validate chart or dashboard relation """
+ """Validate chart or dashboard relation"""
chart_id = self._properties.get("chart")
dashboard_id = self._properties.get("dashboard")
creation_method = self._properties.get("creation_method")
diff --git a/superset/reports/commands/execute.py b/superset/reports/commands/execute.py
index 2a75d2e738ff3..c006d007c4c57 100644
--- a/superset/reports/commands/execute.py
+++ b/superset/reports/commands/execute.py
@@ -95,7 +95,9 @@ def __init__(
self._execution_id = execution_id
def set_state_and_log(
- self, state: ReportState, error_message: Optional[str] = None,
+ self,
+ state: ReportState,
+ error_message: Optional[str] = None,
) -> None:
"""
Updates current ReportSchedule state and TS. If on final state writes the log
@@ -104,7 +106,8 @@ def set_state_and_log(
now_dttm = datetime.utcnow()
self.set_state(state, now_dttm)
self.create_log(
- state, error_message=error_message,
+ state,
+ error_message=error_message,
)
def set_state(self, state: ReportState, dttm: datetime) -> None:
@@ -531,12 +534,14 @@ def next(self) -> None:
if self.is_on_working_timeout():
exception_timeout = ReportScheduleWorkingTimeoutError()
self.set_state_and_log(
- ReportState.ERROR, error_message=str(exception_timeout),
+ ReportState.ERROR,
+ error_message=str(exception_timeout),
)
raise exception_timeout
exception_working = ReportSchedulePreviousWorkingError()
self.set_state_and_log(
- ReportState.WORKING, error_message=str(exception_working),
+ ReportState.WORKING,
+ error_message=str(exception_working),
)
raise exception_working
diff --git a/superset/reports/dao.py b/superset/reports/dao.py
index 11947a349a650..079788fbd0e5f 100644
--- a/superset/reports/dao.py
+++ b/superset/reports/dao.py
@@ -227,7 +227,8 @@ def find_active(session: Optional[Session] = None) -> List[ReportSchedule]:
@staticmethod
def find_last_success_log(
- report_schedule: ReportSchedule, session: Optional[Session] = None,
+ report_schedule: ReportSchedule,
+ session: Optional[Session] = None,
) -> Optional[ReportExecutionLog]:
"""
Finds last success execution log for a given report
@@ -245,7 +246,8 @@ def find_last_success_log(
@staticmethod
def find_last_entered_working_log(
- report_schedule: ReportSchedule, session: Optional[Session] = None,
+ report_schedule: ReportSchedule,
+ session: Optional[Session] = None,
) -> Optional[ReportExecutionLog]:
"""
Finds last success execution log for a given report
@@ -264,7 +266,8 @@ def find_last_entered_working_log(
@staticmethod
def find_last_error_notification(
- report_schedule: ReportSchedule, session: Optional[Session] = None,
+ report_schedule: ReportSchedule,
+ session: Optional[Session] = None,
) -> Optional[ReportExecutionLog]:
"""
Finds last error email sent
diff --git a/superset/reports/schemas.py b/superset/reports/schemas.py
index 733903f8ea705..4076a2041cd99 100644
--- a/superset/reports/schemas.py
+++ b/superset/reports/schemas.py
@@ -203,7 +203,9 @@ class ReportSchedulePostSchema(Schema):
default=ReportDataFormat.VISUALIZATION,
validate=validate.OneOf(choices=tuple(key.value for key in ReportDataFormat)),
)
- extra = fields.Dict(default=None,)
+ extra = fields.Dict(
+ default=None,
+ )
force_screenshot = fields.Boolean(default=False)
@validates_schema
diff --git a/superset/security/manager.py b/superset/security/manager.py
index ac764d240549d..57f3f2f9586e3 100644
--- a/superset/security/manager.py
+++ b/superset/security/manager.py
@@ -1307,7 +1307,7 @@ def can_access_based_on_dashboard(datasource: "BaseDatasource") -> bool:
@staticmethod
def _get_current_epoch_time() -> float:
- """ This is used so the tests can mock time """
+ """This is used so the tests can mock time"""
return time.time()
@staticmethod
@@ -1376,7 +1376,8 @@ def get_guest_user_from_request(self, req: Request) -> Optional[GuestUser]:
def get_guest_user_from_token(self, token: GuestToken) -> GuestUser:
return self.guest_user_cls(
- token=token, roles=[self.find_role(current_app.config["GUEST_ROLE_NAME"])],
+ token=token,
+ roles=[self.find_role(current_app.config["GUEST_ROLE_NAME"])],
)
def parse_jwt_guest_token(self, raw_token: str) -> Dict[str, Any]:
diff --git a/superset/sqllab/command.py b/superset/sqllab/command.py
index 1c2674b060f19..bdc570b603433 100644
--- a/superset/sqllab/command.py
+++ b/superset/sqllab/command.py
@@ -170,7 +170,10 @@ def _validate_access(self, query: Query) -> None:
except Exception as ex:
raise QueryIsForbiddenToAccessException(self._execution_context, ex) from ex
- def _set_query_limit_if_required(self, rendered_query: str,) -> None:
+ def _set_query_limit_if_required(
+ self,
+ rendered_query: str,
+ ) -> None:
if self._is_required_to_set_limit():
self._set_query_limit(rendered_query)
diff --git a/superset/sqllab/query_render.py b/superset/sqllab/query_render.py
index a280e303a3669..c2f96542898d9 100644
--- a/superset/sqllab/query_render.py
+++ b/superset/sqllab/query_render.py
@@ -100,7 +100,12 @@ def _raise_undefined_parameter_exception(
extra={
"undefined_parameters": list(undefined_parameters),
"template_parameters": execution_context.template_params,
- "issue_codes": [{"code": 1006, "message": MSG_OF_1006,}],
+ "issue_codes": [
+ {
+ "code": 1006,
+ "message": MSG_OF_1006,
+ }
+ ],
},
)
diff --git a/superset/stats_logger.py b/superset/stats_logger.py
index 29f77112e0239..4b869042a90df 100644
--- a/superset/stats_logger.py
+++ b/superset/stats_logger.py
@@ -107,6 +107,5 @@ def timing(self, key: str, value: float) -> None:
def gauge(self, key: str, value: float) -> None:
self.client.gauge(key, value)
-
except Exception: # pylint: disable=broad-except
pass
diff --git a/superset/tasks/alerts/observer.py b/superset/tasks/alerts/observer.py
deleted file mode 100644
index cbe73d886ae94..0000000000000
--- a/superset/tasks/alerts/observer.py
+++ /dev/null
@@ -1,96 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-import logging
-from datetime import datetime
-from typing import Optional
-
-import pandas as pd
-from sqlalchemy.orm import Session
-
-from superset import jinja_context
-from superset.models.alerts import Alert, SQLObservation
-
-logger = logging.getLogger("tasks.email_reports")
-
-
-# Session needs to be passed along in the celery workers and db.session cannot be used.
-# For more info see: https://github.com/apache/superset/issues/10530
-def observe(alert_id: int, session: Session) -> Optional[str]:
- """Collect observations for the alert.
- Returns an error message if the observer value was not valid
- """
-
- alert = session.query(Alert).filter_by(id=alert_id).one()
-
- value = None
-
- tp = jinja_context.get_template_processor(database=alert.database)
- rendered_sql = tp.process_template(alert.sql)
- df = alert.database.get_df(rendered_sql)
-
- error_msg = validate_observer_result(df, alert.id, alert.label)
-
- if not error_msg and not df.empty and df.to_records()[0][1] is not None:
- value = float(df.to_records()[0][1])
-
- observation = SQLObservation(
- alert_id=alert_id, dttm=datetime.utcnow(), value=value, error_msg=error_msg,
- )
-
- session.add(observation)
- session.commit()
-
- return error_msg
-
-
-def validate_observer_result(
- sql_result: pd.DataFrame, alert_id: int, alert_label: str
-) -> Optional[str]:
- """
- Verifies if a DataFrame SQL query result to see if
- it contains a valid value for a SQLObservation.
- Returns an error message if the result is invalid.
- """
- try:
- if sql_result.empty:
- # empty results are used for the not null validator
- return None
-
- rows = sql_result.to_records()
-
- assert (
- len(rows) == 1
- ), f"Observer for alert <{alert_id}:{alert_label}> returned more than 1 row"
-
- assert (
- len(rows[0]) == 2
- ), f"Observer for alert <{alert_id}:{alert_label}> returned more than 1 column"
-
- if rows[0][1] is None:
- return None
-
- float(rows[0][1])
-
- except AssertionError as error:
- return str(error)
- except (TypeError, ValueError):
- return (
- f"Observer for alert <{alert_id}:{alert_label}> returned a non-number value"
- )
-
- return None
diff --git a/superset/tasks/alerts/validator.py b/superset/tasks/alerts/validator.py
deleted file mode 100644
index 38b5791341591..0000000000000
--- a/superset/tasks/alerts/validator.py
+++ /dev/null
@@ -1,111 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-import enum
-import json
-from operator import eq, ge, gt, le, lt, ne
-from typing import Callable, Optional
-
-import numpy as np
-
-from superset.exceptions import SupersetException
-from superset.models.alerts import Alert
-
-OPERATOR_FUNCTIONS = {">=": ge, ">": gt, "<=": le, "<": lt, "==": eq, "!=": ne}
-
-
-class AlertValidatorType(str, enum.Enum):
- NOT_NULL = "not null"
- OPERATOR = "operator"
-
- @classmethod
- def valid_type(cls, validator_type: str) -> bool:
- return any(val_type.value == validator_type for val_type in cls)
-
-
-def check_validator(validator_type: str, config: str) -> None:
- if not AlertValidatorType.valid_type(validator_type):
- raise SupersetException(
- f"Error: {validator_type} is not a valid validator type."
- )
-
- config_dict = json.loads(config)
-
- if validator_type == AlertValidatorType.OPERATOR.value:
-
- if not (config_dict.get("op") and config_dict.get("threshold") is not None):
- raise SupersetException(
- "Error: Operator Validator needs specified operator and threshold "
- 'values. Add "op" and "threshold" to config.'
- )
-
- if not config_dict["op"] in OPERATOR_FUNCTIONS.keys():
- raise SupersetException(
- f'Error: {config_dict["op"]} is an invalid operator type. Change '
- f'the "op" value in the config to one of '
- f'["<", "<=", ">", ">=", "==", "!="]'
- )
-
- if not isinstance(config_dict["threshold"], (int, float)):
- raise SupersetException(
- f'Error: {config_dict["threshold"]} is an invalid threshold value.'
- f' Change the "threshold" value in the config.'
- )
-
-
-def not_null_validator(
- alert: Alert, validator_config: str # pylint: disable=unused-argument
-) -> bool:
- """Returns True if a recent observation is not NULL"""
-
- observation = alert.get_last_observation()
- # TODO: Validate malformed observations/observations with errors separately
- if (
- not observation
- or observation.error_msg
- or observation.value in (0, None, np.nan)
- ):
- return False
- return True
-
-
-def operator_validator(alert: Alert, validator_config: str) -> bool:
- """
- Returns True if a recent observation is greater than or equal to
- the value given in the validator config
- """
- observation = alert.get_last_observation()
- if not observation or observation.value in (None, np.nan):
- return False
-
- operator = json.loads(validator_config)["op"]
- threshold = json.loads(validator_config)["threshold"]
- return OPERATOR_FUNCTIONS[operator](observation.value, threshold)
-
-
-def get_validator_function(
- validator_type: str,
-) -> Optional[Callable[[Alert, str], bool]]:
- """Returns a validation function based on validator_type"""
-
- alert_validators = {
- AlertValidatorType.NOT_NULL.value: not_null_validator,
- AlertValidatorType.OPERATOR.value: operator_validator,
- }
- if alert_validators.get(validator_type.lower()):
- return alert_validators[validator_type.lower()]
-
- return None
diff --git a/superset/tasks/async_queries.py b/superset/tasks/async_queries.py
index fcd6f91ebf754..6a42d961e9d9d 100644
--- a/superset/tasks/async_queries.py
+++ b/superset/tasks/async_queries.py
@@ -47,13 +47,17 @@
def ensure_user_is_set(user_id: Optional[int]) -> None:
user_is_not_set = not (hasattr(g, "user") and g.user is not None)
if user_is_not_set and user_id is not None:
- g.user = security_manager.get_user_by_id(user_id)
+ g.user = security_manager.get_user_by_id( # pylint: disable=assigning-non-slot
+ user_id
+ )
elif user_is_not_set:
- g.user = security_manager.get_anonymous_user()
+ g.user = ( # pylint: disable=assigning-non-slot
+ security_manager.get_anonymous_user()
+ )
def set_form_data(form_data: Dict[str, Any]) -> None:
- g.form_data = form_data
+ g.form_data = form_data # pylint: disable=assigning-non-slot
def _create_query_context_from_form(form_data: Dict[str, Any]) -> QueryContext:
@@ -67,7 +71,8 @@ def _create_query_context_from_form(form_data: Dict[str, Any]) -> QueryContext:
@celery_app.task(name="load_chart_data_into_cache", soft_time_limit=query_timeout)
def load_chart_data_into_cache(
- job_metadata: Dict[str, Any], form_data: Dict[str, Any],
+ job_metadata: Dict[str, Any],
+ form_data: Dict[str, Any],
) -> None:
# pylint: disable=import-outside-toplevel
from superset.charts.data.commands.get_data_command import ChartDataCommand
@@ -81,7 +86,9 @@ def load_chart_data_into_cache(
cache_key = result["cache_key"]
result_url = f"/api/v1/chart/data/{cache_key}"
async_query_manager.update_job(
- job_metadata, async_query_manager.STATUS_DONE, result_url=result_url,
+ job_metadata,
+ async_query_manager.STATUS_DONE,
+ result_url=result_url,
)
except SoftTimeLimitExceeded as ex:
logger.warning("A timeout occurred while loading chart data, error: %s", ex)
@@ -136,7 +143,9 @@ def load_explore_json_into_cache( # pylint: disable=too-many-locals
set_and_log_cache(cache_manager.cache, cache_key, cache_value)
result_url = f"/superset/explore_json/data/{cache_key}"
async_query_manager.update_job(
- job_metadata, async_query_manager.STATUS_DONE, result_url=result_url,
+ job_metadata,
+ async_query_manager.STATUS_DONE,
+ result_url=result_url,
)
except SoftTimeLimitExceeded as ex:
logger.warning("A timeout occurred while loading explore json, error: %s", ex)
diff --git a/superset/tasks/celery_app.py b/superset/tasks/celery_app.py
index f8b9bef0d7328..850709bfb4866 100644
--- a/superset/tasks/celery_app.py
+++ b/superset/tasks/celery_app.py
@@ -32,7 +32,7 @@
# Need to import late, as the celery_app will have been setup by "create_app()"
# pylint: disable=wrong-import-position, unused-import
-from . import cache, schedules, scheduler # isort:skip
+from . import cache, scheduler # isort:skip
# Export the celery app globally for Celery (as run on the cmd line) to find
app = celery_app
diff --git a/superset/tasks/scheduler.py b/superset/tasks/scheduler.py
index 4b1debea4b1b2..f4c6365df36e6 100644
--- a/superset/tasks/scheduler.py
+++ b/superset/tasks/scheduler.py
@@ -61,7 +61,13 @@ def scheduler() -> None:
active_schedule.working_timeout
+ app.config["ALERT_REPORTS_WORKING_SOFT_TIME_OUT_LAG"]
)
- execute.apply_async((active_schedule.id, schedule,), **async_options)
+ execute.apply_async(
+ (
+ active_schedule.id,
+ schedule,
+ ),
+ **async_options
+ )
@celery_app.task(name="reports.execute")
@@ -70,7 +76,9 @@ def execute(report_schedule_id: int, scheduled_dttm: str) -> None:
task_id = execute.request.id
scheduled_dttm_ = parser.parse(scheduled_dttm)
AsyncExecuteReportScheduleCommand(
- task_id, report_schedule_id, scheduled_dttm_,
+ task_id,
+ report_schedule_id,
+ scheduled_dttm_,
).run()
except ReportScheduleUnexpectedError as ex:
logger.error(
diff --git a/superset/tasks/schedules.py b/superset/tasks/schedules.py
deleted file mode 100644
index 05506d077a973..0000000000000
--- a/superset/tasks/schedules.py
+++ /dev/null
@@ -1,855 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-"""
-DEPRECATION NOTICE: this module is deprecated as of v1.0.0.
-It will be removed in future versions of Superset. Please
-migrate to the new scheduler: `superset.tasks.scheduler`.
-"""
-
-import logging
-import time
-import urllib.request
-from collections import namedtuple
-from datetime import datetime, timedelta
-from email.utils import make_msgid, parseaddr
-from enum import Enum
-from typing import (
- Any,
- Callable,
- Dict,
- Iterator,
- NamedTuple,
- Optional,
- Tuple,
- TYPE_CHECKING,
- Union,
-)
-from urllib.error import URLError
-
-import croniter
-import simplejson as json
-from celery.app.task import Task
-from dateutil.tz import tzlocal
-from flask import current_app, render_template, url_for
-from flask_babel import gettext as __
-from selenium.common.exceptions import WebDriverException
-from selenium.webdriver import chrome, firefox
-from selenium.webdriver.remote.webdriver import WebDriver
-from sqlalchemy import func
-from sqlalchemy.exc import NoSuchColumnError, ResourceClosedError
-from sqlalchemy.orm import Session
-
-from superset import app, security_manager, thumbnail_cache
-from superset.extensions import celery_app, machine_auth_provider_factory
-from superset.models.alerts import Alert, AlertLog
-from superset.models.dashboard import Dashboard
-from superset.models.schedules import (
- EmailDeliveryType,
- get_scheduler_model,
- ScheduleType,
- SliceEmailReportFormat,
-)
-from superset.models.slice import Slice
-from superset.tasks.alerts.observer import observe
-from superset.tasks.alerts.validator import get_validator_function
-from superset.tasks.slack_util import deliver_slack_msg
-from superset.utils.celery import session_scope
-from superset.utils.core import get_email_address_list, send_email_smtp
-from superset.utils.retries import retry_call
-from superset.utils.screenshots import ChartScreenshot, WebDriverProxy
-from superset.utils.urls import get_url_path
-
-if TYPE_CHECKING:
- from flask_appbuilder.security.sqla.models import User
- from werkzeug.datastructures import TypeConversionDict
-
-# Globals
-config = app.config
-logger = logging.getLogger("tasks.email_reports")
-logger.setLevel(logging.INFO)
-
-stats_logger = current_app.config["STATS_LOGGER"]
-EMAIL_PAGE_RENDER_WAIT = config["EMAIL_PAGE_RENDER_WAIT"]
-WEBDRIVER_BASEURL = config["WEBDRIVER_BASEURL"]
-WEBDRIVER_BASEURL_USER_FRIENDLY = config["WEBDRIVER_BASEURL_USER_FRIENDLY"]
-
-ReportContent = namedtuple(
- "ReportContent",
- [
- "body", # email body
- "data", # attachments
- "images", # embedded images for the email
- "slack_message", # html not supported, only markdown
- # attachments for the slack message, embedding not supported
- "slack_attachment",
- ],
-)
-
-
-class ScreenshotData(NamedTuple):
- url: str # url to chat/dashboard for this screenshot
- image: Optional[bytes] # bytes for the screenshot
-
-
-class AlertContent(NamedTuple):
- label: str # alert name
- sql: str # sql statement for alert
- observation_value: str # value from observation that triggered the alert
- validation_error_message: str # a string of the comparison that triggered an alert
- alert_url: str # url to alert details
- image_data: Optional[ScreenshotData] # data for the alert screenshot
-
-
-def _get_email_to_and_bcc(
- recipients: str, deliver_as_group: bool
-) -> Iterator[Tuple[str, str]]:
- bcc = config["EMAIL_REPORT_BCC_ADDRESS"]
-
- if deliver_as_group:
- to = recipients
- yield (to, bcc)
- else:
- for to in get_email_address_list(recipients):
- yield (to, bcc)
-
-
-# TODO(bkyryliuk): move email functionality into a separate module.
-def _deliver_email( # pylint: disable=too-many-arguments
- recipients: str,
- deliver_as_group: bool,
- subject: str,
- body: str,
- data: Optional[Dict[str, Any]],
- images: Optional[Dict[str, bytes]],
-) -> None:
- for (to, bcc) in _get_email_to_and_bcc(recipients, deliver_as_group):
- send_email_smtp(
- to,
- subject,
- body,
- config,
- data=data,
- images=images,
- bcc=bcc,
- mime_subtype="related",
- dryrun=config["SCHEDULED_EMAIL_DEBUG_MODE"],
- )
-
-
-def _generate_report_content(
- delivery_type: EmailDeliveryType, screenshot: bytes, name: str, url: str
-) -> ReportContent:
- data: Optional[Dict[str, Any]]
-
- # how to: https://api.slack.com/reference/surfaces/formatting
- slack_message = __(
- """
- *%(name)s*\n
- <%(url)s|Explore in Superset>
- """,
- name=name,
- url=url,
- )
-
- if delivery_type == EmailDeliveryType.attachment:
- images = None
- data = {"screenshot": screenshot}
- body = __(
- 'Explore in Superset
',
- name=name,
- url=url,
- )
- elif delivery_type == EmailDeliveryType.inline:
- # Get the domain from the 'From' address ..
- # and make a message id without the < > in the ends
- domain = parseaddr(config["SMTP_MAIL_FROM"])[1].split("@")[1]
- msgid = make_msgid(domain)[1:-1]
-
- images = {msgid: screenshot}
- data = None
- body = __(
- """
- Explore in Superset
-
- """,
- name=name,
- url=url,
- msgid=msgid,
- )
-
- return ReportContent(body, data, images, slack_message, screenshot)
-
-
-def _get_url_path(view: str, user_friendly: bool = False, **kwargs: Any) -> str:
- with app.test_request_context():
- base_url = (
- WEBDRIVER_BASEURL_USER_FRIENDLY if user_friendly else WEBDRIVER_BASEURL
- )
- return urllib.parse.urljoin(str(base_url), url_for(view, **kwargs))
-
-
-def create_webdriver(session: Session) -> WebDriver:
- return WebDriverProxy(driver_type=config["WEBDRIVER_TYPE"]).auth(
- get_reports_user(session)
- )
-
-
-def get_reports_user(session: Session) -> "User":
- return (
- session.query(security_manager.user_model)
- .filter(
- func.lower(security_manager.user_model.username)
- == func.lower(config["EMAIL_REPORTS_USER"])
- )
- .one()
- )
-
-
-def destroy_webdriver(
- driver: Union[chrome.webdriver.WebDriver, firefox.webdriver.WebDriver]
-) -> None:
- """
- Destroy a driver
- """
-
- # This is some very flaky code in selenium. Hence the retries
- # and catch-all exceptions
- try:
- retry_call(driver.close, max_tries=2)
- except Exception: # pylint: disable=broad-except
- pass
- try:
- driver.quit()
- except Exception: # pylint: disable=broad-except
- pass
-
-
-def deliver_dashboard( # pylint: disable=too-many-locals
- dashboard_id: int,
- recipients: Optional[str],
- slack_channel: Optional[str],
- delivery_type: EmailDeliveryType,
- deliver_as_group: bool,
-) -> None:
-
- """
- Given a schedule, delivery the dashboard as an email report
- """
- with session_scope(nullpool=True) as session:
- dashboard = session.query(Dashboard).filter_by(id=dashboard_id).one()
-
- dashboard_url = _get_url_path(
- "Superset.dashboard", dashboard_id_or_slug=dashboard.id
- )
- dashboard_url_user_friendly = _get_url_path(
- "Superset.dashboard", user_friendly=True, dashboard_id_or_slug=dashboard.id
- )
-
- # Create a driver, fetch the page, wait for the page to render
- driver = create_webdriver(session)
- window = config["WEBDRIVER_WINDOW"]["dashboard"]
- driver.set_window_size(*window)
- driver.get(dashboard_url)
- time.sleep(EMAIL_PAGE_RENDER_WAIT)
-
- # Set up a function to retry once for the element.
- # This is buggy in certain selenium versions with firefox driver
- get_element = getattr(driver, "find_element_by_class_name")
- element = retry_call(
- get_element,
- fargs=["grid-container"],
- max_tries=2,
- interval=EMAIL_PAGE_RENDER_WAIT,
- )
-
- try:
- screenshot = element.screenshot_as_png
- except WebDriverException:
- # Some webdrivers do not support screenshots for elements.
- # In such cases, take a screenshot of the entire page.
- screenshot = driver.screenshot()
- finally:
- destroy_webdriver(driver)
-
- # Generate the email body and attachments
- report_content = _generate_report_content(
- delivery_type,
- screenshot,
- dashboard.dashboard_title,
- dashboard_url_user_friendly,
- )
-
- subject = __(
- "%(prefix)s %(title)s",
- prefix=config["EMAIL_REPORTS_SUBJECT_PREFIX"],
- title=dashboard.dashboard_title,
- )
-
- if recipients:
- _deliver_email(
- recipients,
- deliver_as_group,
- subject,
- report_content.body,
- report_content.data,
- report_content.images,
- )
- if slack_channel:
- deliver_slack_msg(
- slack_channel,
- subject,
- report_content.slack_message,
- report_content.slack_attachment,
- )
-
-
-def _get_slice_data(
- slc: Slice, delivery_type: EmailDeliveryType, session: Session
-) -> ReportContent:
- slice_url = _get_url_path(
- "Superset.explore_json", csv="true", form_data=json.dumps({"slice_id": slc.id})
- )
-
- # URL to include in the email
- slice_url_user_friendly = _get_url_path(
- "Superset.slice", slice_id=slc.id, user_friendly=True
- )
-
- # Login on behalf of the "reports" user in order to get cookies to deal with auth
- auth_cookies = machine_auth_provider_factory.instance.get_auth_cookies(
- get_reports_user(session)
- )
- # Build something like "session=cool_sess.val;other-cookie=awesome_other_cookie"
- cookie_str = ";".join([f"{key}={val}" for key, val in auth_cookies.items()])
-
- opener = urllib.request.build_opener()
- opener.addheaders.append(("Cookie", cookie_str))
- response = opener.open(slice_url)
- if response.getcode() != 200:
- raise URLError(response.getcode())
-
- # TODO: Move to the csv module
- content = response.read()
- rows = [r.split(b",") for r in content.splitlines()]
-
- if delivery_type == EmailDeliveryType.inline:
- data = None
-
- # Parse the csv file and generate HTML
- columns = rows.pop(0)
- with app.app_context():
- body = render_template(
- "superset/reports/slice_data.html",
- columns=columns,
- rows=rows,
- name=slc.slice_name,
- link=slice_url_user_friendly,
- )
-
- elif delivery_type == EmailDeliveryType.attachment:
- data = {__("%(name)s.csv", name=slc.slice_name): content}
- body = __(
- 'Explore in Superset
',
- name=slc.slice_name,
- url=slice_url_user_friendly,
- )
-
- # how to: https://api.slack.com/reference/surfaces/formatting
- slack_message = __(
- """
- *%(slice_name)s*\n
- <%(slice_url_user_friendly)s|Explore in Superset>
- """,
- slice_name=slc.slice_name,
- slice_url_user_friendly=slice_url_user_friendly,
- )
-
- return ReportContent(body, data, None, slack_message, content)
-
-
-def _get_slice_screenshot(slice_id: int, session: Session) -> ScreenshotData:
- slice_obj = session.query(Slice).get(slice_id)
-
- chart_url = get_url_path("Superset.slice", slice_id=slice_obj.id, standalone="true")
- screenshot = ChartScreenshot(chart_url, slice_obj.digest)
- image_url = _get_url_path(
- "Superset.slice", user_friendly=True, slice_id=slice_obj.id,
- )
-
- user = security_manager.get_user_by_username(
- current_app.config["THUMBNAIL_SELENIUM_USER"], session=session
- )
- image_data = screenshot.compute_and_cache(
- user=user, cache=thumbnail_cache, force=True,
- )
-
- session.commit()
- return ScreenshotData(image_url, image_data)
-
-
-def _get_slice_visualization(
- slc: Slice, delivery_type: EmailDeliveryType, session: Session
-) -> ReportContent:
- # Create a driver, fetch the page, wait for the page to render
- driver = create_webdriver(session)
- window = config["WEBDRIVER_WINDOW"]["slice"]
- driver.set_window_size(*window)
-
- slice_url = _get_url_path("Superset.slice", slice_id=slc.id)
- slice_url_user_friendly = _get_url_path(
- "Superset.slice", slice_id=slc.id, user_friendly=True
- )
-
- driver.get(slice_url)
- time.sleep(EMAIL_PAGE_RENDER_WAIT)
-
- # Set up a function to retry once for the element.
- # This is buggy in certain selenium versions with firefox driver
- element = retry_call(
- driver.find_element_by_class_name,
- fargs=["chart-container"],
- max_tries=2,
- interval=EMAIL_PAGE_RENDER_WAIT,
- )
-
- try:
- screenshot = element.screenshot_as_png
- except WebDriverException:
- # Some webdrivers do not support screenshots for elements.
- # In such cases, take a screenshot of the entire page.
- screenshot = driver.screenshot()
- finally:
- destroy_webdriver(driver)
-
- # Generate the email body and attachments
- return _generate_report_content(
- delivery_type, screenshot, slc.slice_name, slice_url_user_friendly
- )
-
-
-def deliver_slice( # pylint: disable=too-many-arguments
- slice_id: int,
- recipients: Optional[str],
- slack_channel: Optional[str],
- delivery_type: EmailDeliveryType,
- email_format: SliceEmailReportFormat,
- deliver_as_group: bool,
- session: Session,
-) -> None:
- """
- Given a schedule, delivery the slice as an email report
- """
- slc = session.query(Slice).filter_by(id=slice_id).one()
-
- if email_format == SliceEmailReportFormat.data:
- report_content = _get_slice_data(slc, delivery_type, session)
- elif email_format == SliceEmailReportFormat.visualization:
- report_content = _get_slice_visualization(slc, delivery_type, session)
- else:
- raise RuntimeError("Unknown email report format")
-
- subject = __(
- "%(prefix)s %(title)s",
- prefix=config["EMAIL_REPORTS_SUBJECT_PREFIX"],
- title=slc.slice_name,
- )
-
- if recipients:
- _deliver_email(
- recipients,
- deliver_as_group,
- subject,
- report_content.body,
- report_content.data,
- report_content.images,
- )
- if slack_channel:
- deliver_slack_msg(
- slack_channel,
- subject,
- report_content.slack_message,
- report_content.slack_attachment,
- )
-
-
-@celery_app.task(
- name="email_reports.send",
- bind=True,
- soft_time_limit=config["EMAIL_ASYNC_TIME_LIMIT_SEC"],
-)
-def schedule_email_report(
- _task: Task,
- report_type: ScheduleType,
- schedule_id: int,
- recipients: Optional[str] = None,
- slack_channel: Optional[str] = None,
-) -> None:
- model_cls = get_scheduler_model(report_type)
- with session_scope(nullpool=True) as session:
- schedule = session.query(model_cls).get(schedule_id)
-
- # The user may have disabled the schedule. If so, ignore this
- if not schedule or not schedule.active:
- logger.info("Ignoring deactivated schedule")
- return
-
- recipients = recipients or schedule.recipients
- slack_channel = slack_channel or schedule.slack_channel
- logger.info(
- "Starting report for slack: %s and recipients: %s.",
- slack_channel,
- recipients,
- )
-
- if report_type == ScheduleType.dashboard:
- deliver_dashboard(
- schedule.dashboard_id,
- recipients,
- slack_channel,
- schedule.delivery_type,
- schedule.deliver_as_group,
- )
- elif report_type == ScheduleType.slice:
- deliver_slice(
- schedule.slice_id,
- recipients,
- slack_channel,
- schedule.delivery_type,
- schedule.email_format,
- schedule.deliver_as_group,
- session,
- )
- else:
- raise RuntimeError("Unknown report type")
-
-
-@celery_app.task(
- name="alerts.run_query",
- bind=True,
- # TODO: find cause of https://github.com/apache/superset/issues/10530
- # and remove retry
- autoretry_for=(NoSuchColumnError, ResourceClosedError,),
- retry_kwargs={"max_retries": 1},
- retry_backoff=True,
-)
-def schedule_alert_query(
- _task: Task,
- report_type: ScheduleType,
- schedule_id: int,
- recipients: Optional[str] = None,
- slack_channel: Optional[str] = None,
-) -> None:
- model_cls = get_scheduler_model(report_type)
- with session_scope(nullpool=True) as session:
- schedule = session.query(model_cls).get(schedule_id)
-
- # The user may have disabled the schedule. If so, ignore this
- if not schedule or not schedule.active:
- logger.info("Ignoring deactivated alert")
- return
-
- if report_type == ScheduleType.alert:
- evaluate_alert(
- schedule.id, schedule.label, session, recipients, slack_channel
- )
- else:
- raise RuntimeError("Unknown report type")
-
-
-class AlertState(str, Enum):
- ERROR = "error"
- TRIGGER = "trigger"
- PASS = "pass"
-
-
-def deliver_alert(
- alert_id: int,
- session: Session,
- recipients: Optional[str] = None,
- slack_channel: Optional[str] = None,
-) -> None:
- """
- Gathers alert information and sends out the alert
- to its respective email and slack recipients
- """
-
- alert = session.query(Alert).get(alert_id)
-
- logging.info("Triggering alert: %s", alert)
-
- # Set all the values for the alert report
- # Alternate values are used in the case of a test alert
- # where an alert might not have a validator
- recipients = recipients or alert.recipients
- slack_channel = slack_channel or alert.slack_channel
- validation_error_message = (
- str(alert.observations[-1].value) + " " + alert.pretty_config
- )
-
- if alert.slice:
- alert_content = AlertContent(
- alert.label,
- alert.sql,
- str(alert.observations[-1].value),
- validation_error_message,
- _get_url_path("AlertModelView.show", user_friendly=True, pk=alert_id),
- _get_slice_screenshot(alert.slice.id, session),
- )
- else:
- # TODO: dashboard delivery!
- alert_content = AlertContent(
- alert.label,
- alert.sql,
- str(alert.observations[-1].value),
- validation_error_message,
- _get_url_path("AlertModelView.show", user_friendly=True, pk=alert_id),
- None,
- )
-
- if recipients:
- deliver_email_alert(alert_content, recipients)
- if slack_channel:
- deliver_slack_alert(alert_content, slack_channel)
-
-
-def deliver_email_alert(alert_content: AlertContent, recipients: str) -> None:
- """Delivers an email alert to the given email recipients"""
- subject = f"[Superset] Triggered alert: {alert_content.label}"
- deliver_as_group = False
- data = None
- images = {}
- # TODO(JasonD28): add support for emails with no screenshot
- image_url = None
- if alert_content.image_data:
- image_url = alert_content.image_data.url
- if alert_content.image_data.image:
- images = {"screenshot": alert_content.image_data.image}
-
- body = render_template(
- "email/alert.txt",
- alert_url=alert_content.alert_url,
- label=alert_content.label,
- sql=alert_content.sql,
- observation_value=alert_content.observation_value,
- validation_error_message=alert_content.validation_error_message,
- image_url=image_url,
- )
-
- _deliver_email(recipients, deliver_as_group, subject, body, data, images)
-
-
-def deliver_slack_alert(alert_content: AlertContent, slack_channel: str) -> None:
- """Delivers a slack alert to the given slack channel"""
-
- subject = __("[Alert] %(label)s", label=alert_content.label)
-
- image = None
- if alert_content.image_data:
- slack_message = render_template(
- "slack/alert.txt",
- label=alert_content.label,
- sql=alert_content.sql,
- observation_value=alert_content.observation_value,
- validation_error_message=alert_content.validation_error_message,
- url=alert_content.image_data.url,
- alert_url=alert_content.alert_url,
- )
- image = alert_content.image_data.image
- else:
- slack_message = render_template(
- "slack/alert_no_screenshot.txt",
- label=alert_content.label,
- sql=alert_content.sql,
- observation_value=alert_content.observation_value,
- validation_error_message=alert_content.validation_error_message,
- alert_url=alert_content.alert_url,
- )
-
- deliver_slack_msg(
- slack_channel, subject, slack_message, image,
- )
-
-
-def evaluate_alert(
- alert_id: int,
- label: str,
- session: Session,
- recipients: Optional[str] = None,
- slack_channel: Optional[str] = None,
-) -> None:
- """Processes an alert to see if it should be triggered"""
-
- logger.info("Processing alert ID: %i", alert_id)
-
- state = None
- dttm_start = datetime.utcnow()
-
- try:
- logger.info("Querying observers for alert <%s:%s>", alert_id, label)
- error_msg = observe(alert_id, session)
- if error_msg:
- state = AlertState.ERROR
- logging.error(error_msg)
- except Exception as exc: # pylint: disable=broad-except
- state = AlertState.ERROR
- logging.exception(exc)
- logging.error("Failed at query observers for alert: %s (%s)", label, alert_id)
-
- dttm_end = datetime.utcnow()
-
- if state != AlertState.ERROR:
- # Don't validate alert on test runs since it may not be triggered
- if recipients or slack_channel:
- deliver_alert(alert_id, session, recipients, slack_channel)
- state = AlertState.TRIGGER
- # Validate during regular workflow and deliver only if triggered
- elif validate_observations(alert_id, label, session):
- deliver_alert(alert_id, session, recipients, slack_channel)
- state = AlertState.TRIGGER
- else:
- state = AlertState.PASS
-
- session.commit()
- alert = session.query(Alert).get(alert_id)
- if state != AlertState.ERROR:
- alert.last_eval_dttm = dttm_end
- alert.last_state = state
- alert.logs.append(
- AlertLog(
- scheduled_dttm=dttm_start,
- dttm_start=dttm_start,
- dttm_end=dttm_end,
- state=state,
- )
- )
- session.commit()
-
-
-def validate_observations(alert_id: int, label: str, session: Session) -> bool:
- """
- Runs an alert's validators to check if it should be triggered or not
- If so, return the name of the validator that returned true
- """
-
- logger.info("Validating observations for alert <%s:%s>", alert_id, label)
- alert = session.query(Alert).get(alert_id)
- validate = get_validator_function(alert.validator_type)
- return bool(validate and validate(alert, alert.validator_config))
-
-
-def next_schedules(
- crontab: str, start_at: datetime, stop_at: datetime, resolution: int = 0
-) -> Iterator[datetime]:
- crons = croniter.croniter(crontab, start_at - timedelta(seconds=1))
- previous = start_at - timedelta(days=1)
-
- for eta in crons.all_next(datetime):
- # Do not cross the time boundary
- if eta >= stop_at:
- break
-
- if eta < start_at:
- continue
-
- # Do not allow very frequent tasks
- if eta - previous < timedelta(seconds=resolution):
- continue
-
- yield eta
- previous = eta
-
-
-def schedule_window(
- report_type: str,
- start_at: datetime,
- stop_at: datetime,
- resolution: int,
- session: Session,
-) -> None:
- """
- Find all active schedules and schedule celery tasks for
- each of them with a specific ETA (determined by parsing
- the cron schedule for the schedule)
- """
- model_cls = get_scheduler_model(report_type)
-
- if not model_cls:
- return None
-
- schedules = session.query(model_cls).filter(model_cls.active.is_(True))
-
- for schedule in schedules:
- logging.info("Processing schedule %s", schedule)
- args = (report_type, schedule.id)
- schedule_start_at = start_at
-
- if (
- hasattr(schedule, "last_eval_dttm")
- and schedule.last_eval_dttm
- and schedule.last_eval_dttm > start_at
- ):
- schedule_start_at = schedule.last_eval_dttm + timedelta(seconds=1)
-
- # Schedule the job for the specified time window
- for eta in next_schedules(
- schedule.crontab, schedule_start_at, stop_at, resolution=resolution
- ):
- logging.info("Scheduled eta %s", eta)
- get_scheduler_action(report_type).apply_async(args, eta=eta) # type: ignore
-
- return None
-
-
-def get_scheduler_action(report_type: str) -> Optional[Callable[..., Any]]:
- if report_type == ScheduleType.dashboard:
- return schedule_email_report
- if report_type == ScheduleType.slice:
- return schedule_email_report
- if report_type == ScheduleType.alert:
- return schedule_alert_query
- return None
-
-
-@celery_app.task(name="email_reports.schedule_hourly")
-def schedule_hourly() -> None:
- """Celery beat job meant to be invoked hourly"""
- if not config["ENABLE_SCHEDULED_EMAIL_REPORTS"]:
- logger.info("Scheduled email reports not enabled in config")
- return
-
- resolution = config["EMAIL_REPORTS_CRON_RESOLUTION"] * 60
-
- # Get the top of the hour
- start_at = datetime.now(tzlocal()).replace(microsecond=0, second=0, minute=0)
- stop_at = start_at + timedelta(seconds=3600)
-
- with session_scope(nullpool=True) as session:
- schedule_window(ScheduleType.dashboard, start_at, stop_at, resolution, session)
- schedule_window(ScheduleType.slice, start_at, stop_at, resolution, session)
-
-
-@celery_app.task(name="alerts.schedule_check")
-def schedule_alerts() -> None:
- """Celery beat job meant to be invoked every minute to check alerts"""
- resolution = 0
- now = datetime.utcnow()
- start_at = now - timedelta(
- seconds=300
- ) # process any missed tasks in the past few minutes
- stop_at = now + timedelta(seconds=1)
- with session_scope(nullpool=True) as session:
- schedule_window(ScheduleType.alert, start_at, stop_at, resolution, session)
diff --git a/superset/tasks/slack_util.py b/superset/tasks/slack_util.py
index 769f7da8a0ff9..2f44d92605272 100644
--- a/superset/tasks/slack_util.py
+++ b/superset/tasks/slack_util.py
@@ -54,7 +54,8 @@ def deliver_slack_msg(
assert response["file"], str(response) # the uploaded file
else:
response = cast(
- SlackResponse, client.chat_postMessage(channel=slack_channel, text=body),
+ SlackResponse,
+ client.chat_postMessage(channel=slack_channel, text=body),
)
assert response["message"]["text"], str(response)
logger.info("Sent the report to the slack %s", slack_channel)
diff --git a/superset/tasks/thumbnails.py b/superset/tasks/thumbnails.py
index 5e4b8dfb755dc..94b83ddb372cf 100644
--- a/superset/tasks/thumbnails.py
+++ b/superset/tasks/thumbnails.py
@@ -72,5 +72,8 @@ def cache_dashboard_thumbnail(
current_app.config["THUMBNAIL_SELENIUM_USER"], session=session
)
screenshot.compute_and_cache(
- user=user, cache=thumbnail_cache, force=force, thumb_size=thumb_size,
+ user=user,
+ cache=thumbnail_cache,
+ force=force,
+ thumb_size=thumb_size,
)
diff --git a/superset/temporary_cache/api.py b/superset/temporary_cache/api.py
index b1c5999630b68..e91a2886691f4 100644
--- a/superset/temporary_cache/api.py
+++ b/superset/temporary_cache/api.py
@@ -63,10 +63,12 @@ class TemporaryCacheRestApi(BaseApi, ABC):
def add_apispec_components(self, api_spec: APISpec) -> None:
try:
api_spec.components.schema(
- TemporaryCachePostSchema.__name__, schema=TemporaryCachePostSchema,
+ TemporaryCachePostSchema.__name__,
+ schema=TemporaryCachePostSchema,
)
api_spec.components.schema(
- TemporaryCachePutSchema.__name__, schema=TemporaryCachePutSchema,
+ TemporaryCachePutSchema.__name__,
+ schema=TemporaryCachePutSchema,
)
except DuplicateComponentNameError:
pass
diff --git a/superset/temporary_cache/commands/update.py b/superset/temporary_cache/commands/update.py
index 584e16690b61f..92af8c14f20af 100644
--- a/superset/temporary_cache/commands/update.py
+++ b/superset/temporary_cache/commands/update.py
@@ -29,7 +29,8 @@
class UpdateTemporaryCacheCommand(BaseCommand, ABC):
def __init__(
- self, cmd_params: CommandParameters,
+ self,
+ cmd_params: CommandParameters,
):
self._parameters = cmd_params
diff --git a/superset/temporary_cache/utils.py b/superset/temporary_cache/utils.py
index 2f2f71f957e08..9ba2a8d036077 100644
--- a/superset/temporary_cache/utils.py
+++ b/superset/temporary_cache/utils.py
@@ -14,7 +14,6 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-from secrets import token_urlsafe
from typing import Any
SEPARATOR = ";"
@@ -22,7 +21,3 @@
def cache_key(*args: Any) -> str:
return SEPARATOR.join(str(arg) for arg in args)
-
-
-def random_key() -> str:
- return token_urlsafe(48)
diff --git a/superset/utils/async_query_manager.py b/superset/utils/async_query_manager.py
index a026fd6f3f3d7..847df76987ac1 100644
--- a/superset/utils/async_query_manager.py
+++ b/superset/utils/async_query_manager.py
@@ -134,7 +134,11 @@ def validate_session(response: Response) -> Response:
session["async_user_id"] = user_id
sub = str(user_id) if user_id else None
- token = self.generate_jwt({"channel": async_channel_id, "sub": sub})
+ token = jwt.encode(
+ {"channel": async_channel_id, "sub": sub},
+ self._jwt_secret,
+ algorithm="HS256",
+ )
response.set_cookie(
self._jwt_cookie_name,
@@ -146,21 +150,13 @@ def validate_session(response: Response) -> Response:
return response
- def generate_jwt(self, data: Dict[str, Any]) -> str:
- encoded_jwt = jwt.encode(data, self._jwt_secret, algorithm="HS256")
- return encoded_jwt.decode("utf-8")
-
- def parse_jwt(self, token: str) -> Dict[str, Any]:
- data = jwt.decode(token, self._jwt_secret, algorithms=["HS256"])
- return data
-
def parse_jwt_from_request(self, req: Request) -> Dict[str, Any]:
token = req.cookies.get(self._jwt_cookie_name)
if not token:
raise AsyncQueryTokenException("Token not preset")
try:
- return self.parse_jwt(token)
+ return jwt.decode(token, self._jwt_secret, algorithms=["HS256"])
except Exception as ex:
logger.warning(ex)
raise AsyncQueryTokenException("Failed to parse token") from ex
diff --git a/superset/utils/cache.py b/superset/utils/cache.py
index c10f296e1cac4..02a4cdfecc0ee 100644
--- a/superset/utils/cache.py
+++ b/superset/utils/cache.py
@@ -94,7 +94,8 @@ def view_cache_key(*args: Any, **kwargs: Any) -> str: # pylint: disable=unused-
def memoized_func(
- key: Callable[..., str] = view_cache_key, cache: Cache = cache_manager.cache,
+ key: Callable[..., str] = view_cache_key,
+ cache: Cache = cache_manager.cache,
) -> Callable[..., Any]:
"""Use this decorator to cache functions that have predefined first arg.
diff --git a/superset/utils/cache_manager.py b/superset/utils/cache_manager.py
index f7bb8d9e8f89f..c67644f308b1f 100644
--- a/superset/utils/cache_manager.py
+++ b/superset/utils/cache_manager.py
@@ -40,7 +40,7 @@ def _init_cache(
) -> None:
cache_config = app.config[cache_config_key]
cache_type = cache_config.get("CACHE_TYPE")
- if required and cache_type in (None, "SupersetMetastoreCache"):
+ if (required and cache_type is None) or cache_type == "SupersetMetastoreCache":
if cache_type is None and not app.debug:
logger.warning(
"Falling back to the built-in cache, that stores data in the "
@@ -49,12 +49,13 @@ def _init_cache(
"another dedicated caching backend for production deployments",
cache_config_key,
)
+ cache_type = CACHE_IMPORT_PATH
cache_key_prefix = cache_config.get("CACHE_KEY_PREFIX", cache_config_key)
cache_config.update(
- {"CACHE_TYPE": CACHE_IMPORT_PATH, "CACHE_KEY_PREFIX": cache_key_prefix}
+ {"CACHE_TYPE": cache_type, "CACHE_KEY_PREFIX": cache_key_prefix}
)
- if "CACHE_DEFAULT_TIMEOUT" not in cache_config:
+ if cache_type is not None and "CACHE_DEFAULT_TIMEOUT" not in cache_config:
default_timeout = app.config.get("CACHE_DEFAULT_TIMEOUT")
cache_config["CACHE_DEFAULT_TIMEOUT"] = default_timeout
diff --git a/superset/utils/core.py b/superset/utils/core.py
index b6ae3272cfed5..fbfbbf52f5699 100644
--- a/superset/utils/core.py
+++ b/superset/utils/core.py
@@ -357,7 +357,6 @@ def __init__(self, **args: Any) -> None:
}
}
-
except NameError:
pass
@@ -513,7 +512,9 @@ def format_timedelta(time_delta: timedelta) -> str:
return str(time_delta)
-def base_json_conv(obj: Any,) -> Any: # pylint: disable=inconsistent-return-statements
+def base_json_conv( # pylint: disable=inconsistent-return-statements
+ obj: Any,
+) -> Any:
if isinstance(obj, memoryview):
obj = obj.tobytes()
if isinstance(obj, np.int64):
@@ -1014,7 +1015,8 @@ def zlib_decompress(blob: bytes, decode: Optional[bool] = True) -> Union[bytes,
def simple_filter_to_adhoc(
- filter_clause: QueryObjectFilterClause, clause: str = "where",
+ filter_clause: QueryObjectFilterClause,
+ clause: str = "where",
) -> AdhocFilterClause:
result: AdhocFilterClause = {
"clause": clause.upper(),
@@ -1277,7 +1279,8 @@ def get_metric_name(
def get_column_names(
- columns: Optional[Sequence[Column]], verbose_map: Optional[Dict[str, Any]] = None,
+ columns: Optional[Sequence[Column]],
+ verbose_map: Optional[Dict[str, Any]] = None,
) -> List[str]:
return [
column
@@ -1287,7 +1290,8 @@ def get_column_names(
def get_metric_names(
- metrics: Optional[Sequence[Metric]], verbose_map: Optional[Dict[str, Any]] = None,
+ metrics: Optional[Sequence[Metric]],
+ verbose_map: Optional[Dict[str, Any]] = None,
) -> List[str]:
return [
metric
@@ -1297,7 +1301,8 @@ def get_metric_names(
def get_first_metric_name(
- metrics: Optional[Sequence[Metric]], verbose_map: Optional[Dict[str, Any]] = None,
+ metrics: Optional[Sequence[Metric]],
+ verbose_map: Optional[Dict[str, Any]] = None,
) -> Optional[str]:
metric_labels = get_metric_names(metrics, verbose_map)
return metric_labels[0] if metric_labels else None
@@ -1571,7 +1576,8 @@ def get_column_names_from_metrics(metrics: List[Metric]) -> List[str]:
def extract_dataframe_dtypes(
- df: pd.DataFrame, datasource: Optional["BaseDatasource"] = None,
+ df: pd.DataFrame,
+ datasource: Optional["BaseDatasource"] = None,
) -> List[GenericDataType]:
"""Serialize pandas/numpy dtypes to generic types"""
@@ -1632,7 +1638,8 @@ def is_test() -> bool:
def get_time_filter_status(
- datasource: "BaseDatasource", applied_time_extras: Dict[str, str],
+ datasource: "BaseDatasource",
+ applied_time_extras: Dict[str, str],
) -> Tuple[List[Dict[str, str]], List[Dict[str, str]]]:
temporal_columns = {col.column_name for col in datasource.columns if col.is_dttm}
applied: List[Dict[str, str]] = []
@@ -1786,7 +1793,10 @@ def parse_boolean_string(bool_str: Optional[str]) -> bool:
return False
-def apply_max_row_limit(limit: int, max_limit: Optional[int] = None,) -> int:
+def apply_max_row_limit(
+ limit: int,
+ max_limit: Optional[int] = None,
+) -> int:
"""
Override row limit if max global limit is defined
diff --git a/superset/utils/date_parser.py b/superset/utils/date_parser.py
index 76a13696952ef..cc0693770bfa7 100644
--- a/superset/utils/date_parser.py
+++ b/superset/utils/date_parser.py
@@ -99,7 +99,8 @@ def dttm_from_timetuple(date_: struct_time) -> datetime:
def get_past_or_future(
- human_readable: Optional[str], source_time: Optional[datetime] = None,
+ human_readable: Optional[str],
+ source_time: Optional[datetime] = None,
) -> datetime:
cal = parsedatetime.Calendar()
source_dttm = dttm_from_timetuple(
@@ -109,7 +110,8 @@ def get_past_or_future(
def parse_human_timedelta(
- human_readable: Optional[str], source_time: Optional[datetime] = None,
+ human_readable: Optional[str],
+ source_time: Optional[datetime] = None,
) -> timedelta:
"""
Returns ``datetime.timedelta`` from natural language time deltas
@@ -135,7 +137,8 @@ def parse_past_timedelta(
or datetime.timedelta(365).
"""
return -parse_human_timedelta(
- delta_str if delta_str.startswith("-") else f"-{delta_str}", source_time,
+ delta_str if delta_str.startswith("-") else f"-{delta_str}",
+ source_time,
)
diff --git a/superset/utils/encrypt.py b/superset/utils/encrypt.py
index 0fa2a6d177a06..7c93764f691ba 100644
--- a/superset/utils/encrypt.py
+++ b/superset/utils/encrypt.py
@@ -156,7 +156,8 @@ def _re_encrypt_row(
raise Exception from exc
re_encrypted_columns[column_name] = encrypted_type.process_bind_param(
- unencrypted_value, self._dialect,
+ unencrypted_value,
+ self._dialect,
)
set_cols = ",".join(
diff --git a/superset/utils/log.py b/superset/utils/log.py
index ecee213ebef29..4eafb669328fc 100644
--- a/superset/utils/log.py
+++ b/superset/utils/log.py
@@ -195,7 +195,10 @@ def log_with_context( # pylint: disable=too-many-locals
@contextmanager
def log_context(
- self, action: str, object_ref: Optional[str] = None, log_to_statsd: bool = True,
+ self,
+ action: str,
+ object_ref: Optional[str] = None,
+ log_to_statsd: bool = True,
) -> Iterator[Callable[..., None]]:
"""
Log an event with additional information from the request context.
diff --git a/superset/utils/machine_auth.py b/superset/utils/machine_auth.py
index 778f2a6b1de04..01347f90f1c25 100644
--- a/superset/utils/machine_auth.py
+++ b/superset/utils/machine_auth.py
@@ -40,10 +40,14 @@ def __init__(
# overridden via config, as opposed to the entire provider implementation
self._auth_webdriver_func_override = auth_webdriver_func_override
- def authenticate_webdriver(self, driver: WebDriver, user: "User",) -> WebDriver:
+ def authenticate_webdriver(
+ self,
+ driver: WebDriver,
+ user: "User",
+ ) -> WebDriver:
"""
- Default AuthDriverFuncType type that sets a session cookie flask-login style
- :return: The WebDriver passed in (fluent)
+ Default AuthDriverFuncType type that sets a session cookie flask-login style
+ :return: The WebDriver passed in (fluent)
"""
# Short-circuit this method if we have an override configured
if self._auth_webdriver_func_override:
diff --git a/superset/utils/mock_data.py b/superset/utils/mock_data.py
index 1c6515804b7fa..ea83f7398251f 100644
--- a/superset/utils/mock_data.py
+++ b/superset/utils/mock_data.py
@@ -112,7 +112,9 @@ def get_type_generator( # pylint: disable=too-many-return-statements,too-many-b
if isinstance(sqltype, sqlalchemy.sql.sqltypes.TIME):
return lambda: time(
- random.randrange(24), random.randrange(60), random.randrange(60),
+ random.randrange(24),
+ random.randrange(60),
+ random.randrange(60),
)
if isinstance(
diff --git a/superset/utils/pandas_postprocessing/cum.py b/superset/utils/pandas_postprocessing/cum.py
index d2bd5761176fa..b94f048e5cd62 100644
--- a/superset/utils/pandas_postprocessing/cum.py
+++ b/superset/utils/pandas_postprocessing/cum.py
@@ -28,7 +28,11 @@
@validate_column_args("columns")
-def cum(df: DataFrame, operator: str, columns: Dict[str, str],) -> DataFrame:
+def cum(
+ df: DataFrame,
+ operator: str,
+ columns: Dict[str, str],
+) -> DataFrame:
"""
Calculate cumulative sum/product/min/max for select columns.
diff --git a/superset/utils/pandas_postprocessing/flatten.py b/superset/utils/pandas_postprocessing/flatten.py
index a348801e31f3b..49f250ec1c9b9 100644
--- a/superset/utils/pandas_postprocessing/flatten.py
+++ b/superset/utils/pandas_postprocessing/flatten.py
@@ -22,7 +22,10 @@
)
-def flatten(df: pd.DataFrame, reset_index: bool = True,) -> pd.DataFrame:
+def flatten(
+ df: pd.DataFrame,
+ reset_index: bool = True,
+) -> pd.DataFrame:
"""
Convert N-dimensional DataFrame to a flat DataFrame
diff --git a/superset/utils/pandas_postprocessing/geography.py b/superset/utils/pandas_postprocessing/geography.py
index 8ea75d2450293..33a27c2df4074 100644
--- a/superset/utils/pandas_postprocessing/geography.py
+++ b/superset/utils/pandas_postprocessing/geography.py
@@ -50,7 +50,10 @@ def geohash_decode(
def geohash_encode(
- df: DataFrame, geohash: str, longitude: str, latitude: str,
+ df: DataFrame,
+ geohash: str,
+ longitude: str,
+ latitude: str,
) -> DataFrame:
"""
Encode longitude and latitude into geohash
@@ -65,7 +68,8 @@ def geohash_encode(
encode_df = df[[latitude, longitude]]
encode_df.columns = ["latitude", "longitude"]
encode_df["geohash"] = encode_df.apply(
- lambda row: geohash_lib.encode(row["latitude"], row["longitude"]), axis=1,
+ lambda row: geohash_lib.encode(row["latitude"], row["longitude"]),
+ axis=1,
)
return _append_columns(df, encode_df, {"geohash": geohash})
except ValueError as ex:
diff --git a/superset/utils/pandas_postprocessing/prophet.py b/superset/utils/pandas_postprocessing/prophet.py
index 8a85e581b52af..d66298b1790cc 100644
--- a/superset/utils/pandas_postprocessing/prophet.py
+++ b/superset/utils/pandas_postprocessing/prophet.py
@@ -114,7 +114,10 @@ def prophet( # pylint: disable=too-many-arguments
raise InvalidPostProcessingError(_("Time grain missing"))
if time_grain not in PROPHET_TIME_GRAIN_MAP:
raise InvalidPostProcessingError(
- _("Unsupported time grain: %(time_grain)s", time_grain=time_grain,)
+ _(
+ "Unsupported time grain: %(time_grain)s",
+ time_grain=time_grain,
+ )
)
freq = PROPHET_TIME_GRAIN_MAP[time_grain]
# check type at runtime due to marhsmallow schema not being able to handle
diff --git a/superset/utils/pandas_postprocessing/resample.py b/superset/utils/pandas_postprocessing/resample.py
index a777672b9db1a..a82d7031e9c12 100644
--- a/superset/utils/pandas_postprocessing/resample.py
+++ b/superset/utils/pandas_postprocessing/resample.py
@@ -20,6 +20,7 @@
from flask_babel import gettext as _
from superset.exceptions import InvalidPostProcessingError
+from superset.utils.pandas_postprocessing.utils import RESAMPLE_METHOD
def resample(
@@ -40,9 +41,15 @@ def resample(
"""
if not isinstance(df.index, pd.DatetimeIndex):
raise InvalidPostProcessingError(_("Resample operation requires DatetimeIndex"))
+ if method not in RESAMPLE_METHOD:
+ raise InvalidPostProcessingError(
+ _("Resample method should in ") + ", ".join(RESAMPLE_METHOD) + "."
+ )
if method == "asfreq" and fill_value is not None:
_df = df.resample(rule).asfreq(fill_value=fill_value)
+ elif method == "linear":
+ _df = df.resample(rule).interpolate()
else:
_df = getattr(df.resample(rule), method)()
return _df
diff --git a/superset/utils/pandas_postprocessing/utils.py b/superset/utils/pandas_postprocessing/utils.py
index 7aebe1e0d0346..46f5a0c50529c 100644
--- a/superset/utils/pandas_postprocessing/utils.py
+++ b/superset/utils/pandas_postprocessing/utils.py
@@ -92,6 +92,8 @@
"P1W/1970-01-04T00:00:00Z": "W",
}
+RESAMPLE_METHOD = ("asfreq", "bfill", "ffill", "linear", "median", "mean", "sum")
+
FLAT_COLUMN_SEPARATOR = ", "
@@ -146,7 +148,8 @@ def wrapped(df: DataFrame, **options: Any) -> Any:
def _get_aggregate_funcs(
- df: DataFrame, aggregates: Dict[str, Dict[str, Any]],
+ df: DataFrame,
+ aggregates: Dict[str, Dict[str, Any]],
) -> Dict[str, NamedAgg]:
"""
Converts a set of aggregate config objects into functions that pandas can use as
@@ -168,7 +171,10 @@ def _get_aggregate_funcs(
)
if "operator" not in agg_obj:
raise InvalidPostProcessingError(
- _("Operator undefined for aggregator: %(name)s", name=name,)
+ _(
+ "Operator undefined for aggregator: %(name)s",
+ name=name,
+ )
)
operator = agg_obj["operator"]
if callable(operator):
@@ -177,7 +183,10 @@ def _get_aggregate_funcs(
func = NUMPY_FUNCTIONS.get(operator)
if not func:
raise InvalidPostProcessingError(
- _("Invalid numpy function: %(operator)s", operator=operator,)
+ _(
+ "Invalid numpy function: %(operator)s",
+ operator=operator,
+ )
)
options = agg_obj.get("options", {})
aggfunc = partial(func, **options)
diff --git a/superset/utils/profiler.py b/superset/utils/profiler.py
index a4710bb24341e..d17b69d8bdc9a 100644
--- a/superset/utils/profiler.py
+++ b/superset/utils/profiler.py
@@ -35,7 +35,9 @@ class SupersetProfiler: # pylint: disable=too-few-public-methods
"""
def __init__(
- self, app: Callable[[Any, Any], Any], interval: float = 0.0001,
+ self,
+ app: Callable[[Any, Any], Any],
+ interval: float = 0.0001,
):
self.app = app
self.interval = interval
diff --git a/superset/views/__init__.py b/superset/views/__init__.py
index c3a349ce495c6..c33601f7278d6 100644
--- a/superset/views/__init__.py
+++ b/superset/views/__init__.py
@@ -27,7 +27,6 @@
dynamic_plugins,
health,
redirects,
- schedules,
sql_lab,
tags,
)
diff --git a/superset/views/alerts.py b/superset/views/alerts.py
index 04640fa223fe8..b97587ec71855 100644
--- a/superset/views/alerts.py
+++ b/superset/views/alerts.py
@@ -14,76 +14,19 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-"""
-DEPRECATION NOTICE: this module is deprecated and will be removed on 2.0.
-"""
-from croniter import croniter
-from flask import abort, current_app as app, flash, Markup
-from flask_appbuilder import CompactCRUDMixin, permission_name
+from flask import abort
+from flask_appbuilder import permission_name
from flask_appbuilder.api import expose
-from flask_appbuilder.hooks import before_request
-from flask_appbuilder.models.sqla.interface import SQLAInterface
from flask_appbuilder.security.decorators import has_access
-from flask_babel import lazy_gettext as _
-from werkzeug.exceptions import NotFound
from superset import is_feature_enabled
-from superset.constants import RouteMethod
-from superset.models.alerts import Alert, AlertLog, SQLObservation
from superset.superset_typing import FlaskResponse
-from superset.tasks.alerts.validator import check_validator
-from superset.utils import core as utils
-from superset.utils.core import get_email_address_str, markdown
-from ..exceptions import SupersetException
-from .base import BaseSupersetView, SupersetModelView
+from .base import BaseSupersetView
# TODO: access control rules for this module
-class EnsureEnabledMixin:
- @staticmethod
- def is_enabled() -> bool:
- return bool(app.config["ENABLE_ALERTS"])
-
- @before_request
- def ensure_enabled(self) -> None:
- if not self.is_enabled():
- raise NotFound()
-
-
-class AlertLogModelView(
- CompactCRUDMixin, EnsureEnabledMixin, SupersetModelView
-): # pylint: disable=too-many-ancestors
- datamodel = SQLAInterface(AlertLog)
- include_route_methods = {RouteMethod.LIST} | {"show"}
- base_order = ("dttm_start", "desc")
- list_columns = (
- "scheduled_dttm",
- "dttm_start",
- "duration",
- "state",
- )
-
-
-class AlertObservationModelView(
- CompactCRUDMixin, EnsureEnabledMixin, SupersetModelView
-): # pylint: disable=too-many-ancestors
- datamodel = SQLAInterface(SQLObservation)
- include_route_methods = {RouteMethod.LIST} | {"show"}
- base_order = ("dttm", "desc")
- list_title = _("List Observations")
- show_title = _("Show Observation")
- list_columns = (
- "dttm",
- "value",
- "error_msg",
- )
- label_columns = {
- "error_msg": _("Error Message"),
- }
-
-
class BaseAlertReportView(BaseSupersetView):
route_base = "/report"
class_permission_name = "ReportSchedule"
@@ -109,144 +52,3 @@ def log(self, pk: int) -> FlaskResponse: # pylint: disable=unused-argument
class AlertView(BaseAlertReportView):
route_base = "/alert"
class_permission_name = "ReportSchedule"
-
-
-class ReportView(BaseAlertReportView):
- route_base = "/report"
- class_permission_name = "ReportSchedule"
-
-
-class AlertModelView(EnsureEnabledMixin, SupersetModelView):
- datamodel = SQLAInterface(Alert)
- route_base = "/alerts"
- include_route_methods = RouteMethod.CRUD_SET | {"log"}
-
- list_columns = (
- "label",
- "owners",
- "database",
- "sql",
- "pretty_config",
- "crontab",
- "last_eval_dttm",
- "last_state",
- "active",
- "owners",
- )
- show_columns = (
- "label",
- "database",
- "sql",
- "validator_type",
- "validator_config",
- "active",
- "crontab",
- "owners",
- "slice",
- "recipients",
- "slack_channel",
- "log_retention",
- "grace_period",
- "last_eval_dttm",
- "last_state",
- )
- order_columns = ["label", "last_eval_dttm", "last_state", "active"]
- add_columns = (
- "label",
- "database",
- "sql",
- "validator_type",
- "validator_config",
- "active",
- "crontab",
- # TODO: implement different types of alerts
- # "alert_type",
- "owners",
- "recipients",
- "slack_channel",
- "slice",
- # TODO: implement dashboard screenshots with alerts
- # "dashboard",
- "log_retention",
- "grace_period",
- )
- label_columns = {
- "log_retention": _("Log Retentions (days)"),
- }
- description_columns = {
- "crontab": markdown(
- "A CRON-like expression. "
- "[Crontab Guru](https://crontab.guru/) is "
- "a helpful resource that can help you craft a CRON expression.",
- True,
- ),
- "recipients": _("A semicolon ';' delimited list of email addresses"),
- "log_retention": _("How long to keep the logs around for this alert"),
- "grace_period": _(
- "Once an alert is triggered, how long, in seconds, before "
- "Superset nags you again."
- ),
- "sql": _(
- "A SQL statement that defines whether the alert should get triggered or "
- "not. The query is expected to return either NULL or a number value."
- ),
- "validator_type": utils.markdown(
- "Determines when to trigger alert based off value from alert query. "
- "Alerts will be triggered with these validator types:"
- "Not Null - When the return value is Not NULL, Empty, or 0 "
- "Operator - When `sql_return_value comparison_operator threshold`"
- " is True e.g. `50 <= 75` Supports the comparison operators <, <=, "
- ">, >=, ==, and != ",
- True,
- ),
- "validator_config": utils.markdown(
- "JSON string containing values the validator will compare against. "
- "Each validator needs the following values:"
- "Not Null - Nothing. You can leave the config as it is. "
- 'Operator`"op": "operator"` with an operator from ["<", '
- '"<=", ">", ">=", "==", "!="] e.g. `"op": ">="` '
- '`"threshold": threshold_value` e.g. `"threshold": 50`'
- ' Example config: { "op":">=", "threshold": 60 }'
- " ",
- True,
- ),
- }
-
- edit_columns = add_columns
- related_views = [
- AlertObservationModelView,
- AlertLogModelView,
- ]
-
- @expose("/list/")
- @has_access
- def list(self) -> FlaskResponse:
- flash(
- Markup(
- _(
- "This feature is deprecated and will be removed on 2.0. "
- "Take a look at the replacement feature "
- ""
- "Alerts & Reports documentation "
- )
- ),
- "warning",
- )
- return super().list()
-
- def pre_add(self, item: "AlertModelView") -> None:
- item.recipients = get_email_address_str(item.recipients)
-
- if not croniter.is_valid(item.crontab):
- raise SupersetException("Invalid crontab format")
-
- item.validator_type = item.validator_type.lower()
- check_validator(item.validator_type, item.validator_config)
-
- def pre_update(self, item: "AlertModelView") -> None:
- item.validator_type = item.validator_type.lower()
- check_validator(item.validator_type, item.validator_config)
-
- def post_update(self, item: "AlertModelView") -> None:
- self.post_add(item)
diff --git a/superset/views/base.py b/superset/views/base.py
index ae1f7a66b4f1f..863ca2f84ab67 100644
--- a/superset/views/base.py
+++ b/superset/views/base.py
@@ -629,7 +629,7 @@ def apply(self, query: Query, value: Any) -> Query:
)
-class CsvResponse(Response): # pylint: disable=too-many-ancestors
+class CsvResponse(Response):
"""
Override Response to take into account csv encoding from config.py
"""
diff --git a/superset/views/core.py b/superset/views/core.py
index 5959584f1c2d3..c806470e8f1de 100755
--- a/superset/views/core.py
+++ b/superset/views/core.py
@@ -104,7 +104,7 @@
from superset.queries.dao import QueryDAO
from superset.security.analytics_db_safety import check_sqlalchemy_uri
from superset.sql_lab import get_sql_results
-from superset.sql_parse import ParsedQuery, Table
+from superset.sql_parse import ParsedQuery
from superset.sql_validators import get_validator_by_name
from superset.sqllab.command import CommandResult, ExecuteSqlCommand
from superset.sqllab.command_status import SqlJsonExecutionStatus
@@ -319,7 +319,9 @@ def approve(self) -> FlaskResponse: # pylint: disable=too-many-locals,no-self-u
def clean_fulfilled_requests(session: Session) -> None:
for dar in session.query(DAR).all():
datasource = ConnectorRegistry.get_datasource(
- dar.datasource_type, dar.datasource_id, session,
+ dar.datasource_type,
+ dar.datasource_id,
+ session,
)
if not datasource or security_manager.can_access_datasource(datasource):
# Dataset does not exist anymore
@@ -627,7 +629,8 @@ def explore_json(
and not security_manager.can_access("can_csv", "Superset")
):
return json_error_response(
- _("You don't have the rights to ") + _("download as csv"), status=403,
+ _("You don't have the rights to ") + _("download as csv"),
+ status=403,
)
form_data = get_form_data()[0]
@@ -748,8 +751,7 @@ def explore(
form_data_key = request.args.get("form_data_key")
if key is not None:
- key_type = config["PERMALINK_KEY_TYPE"]
- command = GetExplorePermalinkCommand(g.user, key, key_type)
+ command = GetExplorePermalinkCommand(g.user, key)
try:
permalink_value = command.run()
if permalink_value:
@@ -944,7 +946,9 @@ def filter( # pylint: disable=no-self-use
"""
# TODO: Cache endpoint by user, datasource and column
datasource = ConnectorRegistry.get_datasource(
- datasource_type, datasource_id, db.session,
+ datasource_type,
+ datasource_id,
+ db.session,
)
if not datasource:
return json_error_response(DATASOURCE_MISSING_ERR)
@@ -1080,31 +1084,6 @@ def save_or_overwrite_slice(
return json_success(json.dumps(response))
- @api
- @has_access_api
- @event_logger.log_this
- @expose("/schemas//")
- @expose("/schemas///")
- def schemas( # pylint: disable=no-self-use
- self, db_id: int, force_refresh: str = "false"
- ) -> FlaskResponse:
- logger.warning(
- "This API endpoint is deprecated and will be removed in version 2.0.0"
- )
- db_id = int(db_id)
- database = db.session.query(Database).get(db_id)
- if database:
- schemas = database.get_all_schema_names(
- cache=database.schema_cache_enabled,
- cache_timeout=database.schema_cache_timeout,
- force=force_refresh.lower() == "true",
- )
- schemas = security_manager.get_schemas_accessible_by_user(database, schemas)
- else:
- schemas = []
-
- return Response(json.dumps({"schemas": schemas}), mimetype="application/json")
-
@api
@has_access_api
@event_logger.log_this
@@ -1427,7 +1406,10 @@ def get_user_activity_access_error(user_id: int) -> Optional[FlaskResponse]:
try:
security_manager.raise_for_user_activity_access(user_id)
except SupersetSecurityException as ex:
- return json_error_response(ex.message, status=403,)
+ return json_error_response(
+ ex.message,
+ status=403,
+ )
return None
@api
@@ -1450,7 +1432,8 @@ def recent_activity( # pylint: disable=too-many-locals
has_subject_title = or_(
and_(
- Dashboard.dashboard_title is not None, Dashboard.dashboard_title != "",
+ Dashboard.dashboard_title is not None,
+ Dashboard.dashboard_title != "",
),
and_(Slice.slice_name is not None, Slice.slice_name != ""),
)
@@ -1484,7 +1467,10 @@ def recent_activity( # pylint: disable=too-many-locals
Slice.slice_name,
)
.outerjoin(Dashboard, Dashboard.id == subqry.c.dashboard_id)
- .outerjoin(Slice, Slice.id == subqry.c.slice_id,)
+ .outerjoin(
+ Slice,
+ Slice.id == subqry.c.slice_id,
+ )
.filter(has_subject_title)
.order_by(subqry.c.dttm.desc())
.limit(limit)
@@ -1536,18 +1522,6 @@ def recent_activity( # pylint: disable=too-many-locals
)
return json_success(json.dumps(payload, default=utils.json_int_dttm_ser))
- @api
- @has_access_api
- @event_logger.log_this
- @expose("/csrf_token/", methods=["GET"])
- def csrf_token(self) -> FlaskResponse:
- logger.warning(
- "This API endpoint is deprecated and will be removed in version 2.0.0"
- )
- return Response(
- self.render_template("superset/csrf_token.json"), mimetype="text/json"
- )
-
@api
@has_access_api
@event_logger.log_this
@@ -1841,7 +1815,7 @@ def warm_up_cache( # pylint: disable=too-many-locals,no-self-use
force=True,
)
- g.form_data = form_data
+ g.form_data = form_data # pylint: disable=assigning-non-slot
payload = obj.get_payload()
delattr(g, "form_data")
error = payload["errors"] or None
@@ -1891,47 +1865,6 @@ def favstar( # pylint: disable=no-self-use
session.commit()
return json_success(json.dumps({"count": count}))
- @api
- @has_access_api
- @event_logger.log_this
- @expose("/dashboard//published/", methods=("GET", "POST"))
- def publish( # pylint: disable=no-self-use
- self, dashboard_id: int
- ) -> FlaskResponse:
- """Gets and toggles published status on dashboards"""
- logger.warning(
- "This API endpoint is deprecated and will be removed in version 2.0.0"
- )
- session = db.session()
- Role = ab_models.Role
- dash = (
- session.query(Dashboard).filter(Dashboard.id == dashboard_id).one_or_none()
- )
- admin_role = session.query(Role).filter(Role.name == "Admin").one_or_none()
-
- if request.method == "GET":
- if dash:
- return json_success(json.dumps({"published": dash.published}))
-
- return json_error_response(
- f"ERROR: cannot find dashboard {dashboard_id}", status=404
- )
-
- edit_perm = (
- is_owner(dash, g.user) or admin_role in security_manager.get_user_roles()
- )
- if not edit_perm:
- username = g.user.username if hasattr(g.user, "username") else "user"
- return json_error_response(
- f'ERROR: "{username}" cannot alter '
- f'dashboard "{dash.dashboard_title}"',
- status=403,
- )
-
- dash.published = str(request.form["published"]).lower() == "true"
- session.commit()
- return json_success(json.dumps({"published": dash.published}))
-
@has_access
@expose("/dashboard//")
@event_logger.log_this_with_extra_payload
@@ -2006,11 +1939,11 @@ def dashboard(
@has_access
@expose("/dashboard/p//", methods=["GET"])
def dashboard_permalink( # pylint: disable=no-self-use
- self, key: str,
+ self,
+ key: str,
) -> FlaskResponse:
- key_type = config["PERMALINK_KEY_TYPE"]
try:
- value = GetDashboardPermalinkCommand(g.user, key, key_type).run()
+ value = GetDashboardPermalinkCommand(g.user, key).run()
except DashboardPermalinkGetFailedError as ex:
flash(__("Error: %(msg)s", msg=ex.message), "danger")
return redirect("/dashboard/list/")
@@ -2200,63 +2133,6 @@ def extra_table_metadata( # pylint: disable=no-self-use
)
return json_success(json.dumps(payload))
- @has_access
- @expose("/select_star//")
- @expose("/select_star///")
- @event_logger.log_this
- def select_star(
- self, database_id: int, table_name: str, schema: Optional[str] = None
- ) -> FlaskResponse:
- logging.warning(
- "%s.select_star "
- "This API endpoint is deprecated and will be removed in version 2.0.0",
- self.__class__.__name__,
- )
- stats_logger.incr(f"{self.__class__.__name__}.select_star.init")
- database = db.session.query(Database).get(database_id)
- if not database:
- stats_logger.incr(
- f"deprecated.{self.__class__.__name__}.select_star.database_not_found"
- )
- raise SupersetErrorException(
- SupersetError(
- message=__("The database was not found."),
- error_type=SupersetErrorType.DATABASE_NOT_FOUND_ERROR,
- level=ErrorLevel.ERROR,
- ),
- status=404,
- )
- schema = utils.parse_js_uri_path_item(schema, eval_undefined=True)
- table_name = utils.parse_js_uri_path_item(table_name) # type: ignore
- if not self.appbuilder.sm.can_access_table(database, Table(table_name, schema)):
- stats_logger.incr(
- f"deprecated.{self.__class__.__name__}.select_star.permission_denied"
- )
- logging.warning(
- "Permission denied for user %s on table: %s schema: %s",
- str(g.user),
- table_name,
- schema,
- )
- raise SupersetErrorException(
- SupersetError(
- message=__(
- "You are not authorized to fetch samples from this table. If "
- "you think this is an error, please reach out to your "
- "administrator."
- ),
- error_type=SupersetErrorType.QUERY_SECURITY_ACCESS_ERROR,
- level=ErrorLevel.ERROR,
- ),
- status=403,
- )
- stats_logger.incr(f"deprecated.{self.__class__.__name__}.select_star.success")
- return json_success(
- database.select_star(
- table_name, schema, latest_partition=True, show_cols=True
- )
- )
-
@has_access_api
@expose("/estimate_query_cost//", methods=["POST"])
@expose("/estimate_query_cost///", methods=["POST"])
@@ -2581,7 +2457,8 @@ def _set_http_status_into_Sql_lab_exception(ex: SqlLabException) -> None:
ex.status = 403
def _create_response_from_execution_context( # pylint: disable=invalid-name, no-self-use
- self, command_result: CommandResult,
+ self,
+ command_result: CommandResult,
) -> FlaskResponse:
status_code = 200
@@ -2672,7 +2549,9 @@ def fetch_datasource_metadata(self) -> FlaskResponse: # pylint: disable=no-self
datasource_id, datasource_type = request.args["datasourceKey"].split("__")
datasource = ConnectorRegistry.get_datasource(
- datasource_type, datasource_id, db.session,
+ datasource_type,
+ datasource_id,
+ db.session,
)
# Check if datasource exists
if not datasource:
diff --git a/superset/views/dashboard/views.py b/superset/views/dashboard/views.py
index 471d168e1ec64..49bdf76edcb0b 100644
--- a/superset/views/dashboard/views.py
+++ b/superset/views/dashboard/views.py
@@ -155,7 +155,8 @@ def embedded(
login_manager.reload_user(AnonymousUserMixin())
add_extra_log_payload(
- dashboard_id=dashboard_id_or_slug, dashboard_version="v2",
+ dashboard_id=dashboard_id_or_slug,
+ dashboard_version="v2",
)
bootstrap_data = {
diff --git a/superset/views/database/views.py b/superset/views/database/views.py
index 659a1be78d8e3..bb2e018994e44 100644
--- a/superset/views/database/views.py
+++ b/superset/views/database/views.py
@@ -275,11 +275,13 @@ def form_post(self, form: ExcelToDatabaseForm) -> Response:
flash(message, "danger")
return redirect("/exceltodatabaseview/form")
- uploaded_tmp_file_path = tempfile.NamedTemporaryFile( # pylint: disable=consider-using-with
- dir=app.config["UPLOAD_FOLDER"],
- suffix=os.path.splitext(form.excel_file.data.filename)[1].lower(),
- delete=False,
- ).name
+ uploaded_tmp_file_path = (
+ tempfile.NamedTemporaryFile( # pylint: disable=consider-using-with
+ dir=app.config["UPLOAD_FOLDER"],
+ suffix=os.path.splitext(form.excel_file.data.filename)[1].lower(),
+ delete=False,
+ ).name
+ )
try:
utils.ensure_path_exists(config["UPLOAD_FOLDER"])
diff --git a/superset/views/datasource/schemas.py b/superset/views/datasource/schemas.py
index 162f35b4730b1..64b2b854bb148 100644
--- a/superset/views/datasource/schemas.py
+++ b/superset/views/datasource/schemas.py
@@ -44,7 +44,9 @@ class ExternalMetadataSchema(Schema):
# pylint: disable=no-self-use,unused-argument
@post_load
def normalize(
- self, data: ExternalMetadataParams, **kwargs: Any,
+ self,
+ data: ExternalMetadataParams,
+ **kwargs: Any,
) -> ExternalMetadataParams:
return ExternalMetadataParams(
datasource_type=data["datasource_type"],
diff --git a/superset/views/datasource/views.py b/superset/views/datasource/views.py
index 7e1ffa0468e90..2504f458eabc2 100644
--- a/superset/views/datasource/views.py
+++ b/superset/views/datasource/views.py
@@ -161,8 +161,8 @@ def external_metadata(
def external_metadata_by_name(self, **kwargs: Any) -> FlaskResponse:
"""Gets table metadata from the source system and SQLAlchemy inspector"""
try:
- params: ExternalMetadataParams = (
- ExternalMetadataSchema().load(kwargs.get("rison"))
+ params: ExternalMetadataParams = ExternalMetadataSchema().load(
+ kwargs.get("rison")
)
except ValidationError as err:
return json_error_response(str(err), status=400)
diff --git a/superset/views/schedules.py b/superset/views/schedules.py
deleted file mode 100644
index 39d4af9b8b259..0000000000000
--- a/superset/views/schedules.py
+++ /dev/null
@@ -1,349 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-"""
-DEPRECATION NOTICE: this module is deprecated and will be removed on 2.0.
-"""
-
-import enum
-from typing import Type, Union
-
-import simplejson as json
-from croniter import croniter
-from flask import current_app as app, flash, g, Markup
-from flask_appbuilder import expose
-from flask_appbuilder.hooks import before_request
-from flask_appbuilder.models.sqla.interface import SQLAInterface
-from flask_appbuilder.security.decorators import has_access
-from flask_babel import lazy_gettext as _
-from werkzeug.exceptions import NotFound
-from wtforms import BooleanField, Form, StringField
-
-from superset import db, security_manager
-from superset.constants import RouteMethod
-from superset.exceptions import SupersetException
-from superset.models.dashboard import Dashboard
-from superset.models.schedules import (
- DashboardEmailSchedule,
- ScheduleType,
- SliceEmailSchedule,
-)
-from superset.models.slice import Slice
-from superset.superset_typing import FlaskResponse
-from superset.tasks.schedules import schedule_email_report
-from superset.utils.core import get_email_address_list, json_iso_dttm_ser
-from superset.views.core import json_success
-
-from .base import DeleteMixin, SupersetModelView
-
-
-class EmailScheduleView(SupersetModelView, DeleteMixin):
- include_route_methods = RouteMethod.CRUD_SET
- _extra_data = {"test_email": False, "test_email_recipients": None}
-
- @staticmethod
- def is_enabled() -> bool:
- return app.config["ENABLE_SCHEDULED_EMAIL_REPORTS"]
-
- @before_request
- def ensure_enabled(self) -> None:
- if not self.is_enabled():
- raise NotFound()
-
- @property
- def schedule_type(self) -> str:
- raise NotImplementedError()
-
- @property
- def schedule_type_model(self) -> Type[Union[Dashboard, Slice]]:
- raise NotImplementedError()
-
- page_size = 20
-
- add_exclude_columns = [
- "user",
- "created_on",
- "changed_on",
- "created_by",
- "changed_by",
- ]
-
- edit_exclude_columns = add_exclude_columns
-
- description_columns = {
- "deliver_as_group": "If enabled, send a single email to all "
- "recipients (in email/To: field)",
- "crontab": "Unix style crontab schedule to deliver emails. "
- "Changes to schedules reflect in one hour.",
- "delivery_type": "Indicates how the rendered content is delivered",
- }
-
- add_form_extra_fields = {
- "test_email": BooleanField(
- "Send Test Email",
- default=False,
- description="If enabled, we send a test mail on create / update",
- ),
- "test_email_recipients": StringField(
- "Test Email Recipients",
- default=None,
- description="List of recipients to send test email to. "
- "If empty, we send it to the original recipients",
- ),
- "test_slack_channel": StringField(
- "Test Slack Channel",
- default=None,
- description="A slack channel to send a test message to.",
- ),
- }
-
- edit_form_extra_fields = add_form_extra_fields
-
- def process_form(self, form: Form, is_created: bool) -> None:
- if form.test_email_recipients.data:
- test_email_recipients = form.test_email_recipients.data.strip()
- else:
- test_email_recipients = None
-
- test_slack_channel = (
- form.test_slack_channel.data.strip()
- if form.test_slack_channel.data
- else None
- )
-
- self._extra_data["test_email"] = form.test_email.data
- self._extra_data["test_email_recipients"] = test_email_recipients
- self._extra_data["test_slack_channel"] = test_slack_channel
-
- def pre_add(self, item: "EmailScheduleView") -> None:
- try:
- recipients = get_email_address_list(item.recipients)
- item.recipients = ", ".join(recipients)
- except Exception as ex:
- raise SupersetException("Invalid email list") from ex
-
- item.user = item.user or g.user
- if not croniter.is_valid(item.crontab):
- raise SupersetException("Invalid crontab format")
-
- def pre_update(self, item: "EmailScheduleView") -> None:
- self.pre_add(item)
-
- def post_add(self, item: "EmailScheduleView") -> None:
- # Schedule a test mail if the user requested for it.
- if self._extra_data["test_email"]:
- recipients = self._extra_data["test_email_recipients"] or item.recipients
- slack_channel = self._extra_data["test_slack_channel"] or item.slack_channel
- args = (self.schedule_type, item.id)
- kwargs = dict(recipients=recipients, slack_channel=slack_channel)
- schedule_email_report.apply_async(args=args, kwargs=kwargs)
-
- # Notify the user that schedule changes will be activate only in the
- # next hour
- if item.active:
- flash("Schedule changes will get applied in one hour", "warning")
-
- def post_update(self, item: "EmailScheduleView") -> None:
- self.post_add(item)
-
- @has_access
- @expose("/fetch//", methods=["GET"])
- def fetch_schedules(self, item_id: int) -> FlaskResponse:
-
- query = db.session.query(self.datamodel.obj)
- query = query.join(self.schedule_type_model).filter(
- self.schedule_type_model.id == item_id
- )
-
- schedules = []
- for schedule in query.all():
- info = {"schedule": schedule.id}
-
- for col in self.list_columns + self.add_exclude_columns:
- info[col] = getattr(schedule, col)
-
- if isinstance(info[col], enum.Enum):
- info[col] = info[col].name
- elif isinstance(info[col], security_manager.user_model):
- info[col] = info[col].username
-
- info["user"] = schedule.user.username
- info[self.schedule_type] = getattr(schedule, self.schedule_type).id
- schedules.append(info)
-
- return json_success(json.dumps(schedules, default=json_iso_dttm_ser))
-
-
-class DashboardEmailScheduleView(
- EmailScheduleView
-): # pylint: disable=too-many-ancestors
- schedule_type = ScheduleType.dashboard
- schedule_type_model = Dashboard
-
- add_title = _("Schedule Email Reports for Dashboards")
- edit_title = add_title
- list_title = _("Manage Email Reports for Dashboards")
-
- datamodel = SQLAInterface(DashboardEmailSchedule)
- order_columns = ["user", "dashboard", "created_on"]
-
- list_columns = [
- "dashboard",
- "active",
- "crontab",
- "user",
- "deliver_as_group",
- "delivery_type",
- ]
-
- add_columns = [
- "dashboard",
- "active",
- "crontab",
- "recipients",
- "slack_channel",
- "deliver_as_group",
- "delivery_type",
- "test_email",
- "test_email_recipients",
- "test_slack_channel",
- ]
-
- edit_columns = add_columns
-
- search_columns = [
- "dashboard",
- "active",
- "user",
- "deliver_as_group",
- "delivery_type",
- ]
-
- label_columns = {
- "dashboard": _("Dashboard"),
- "created_on": _("Created On"),
- "changed_on": _("Changed On"),
- "user": _("User"),
- "active": _("Active"),
- "crontab": _("Crontab"),
- "recipients": _("Recipients"),
- "slack_channel": _("Slack Channel"),
- "deliver_as_group": _("Deliver As Group"),
- "delivery_type": _("Delivery Type"),
- }
-
- @expose("/list/")
- @has_access
- def list(self) -> FlaskResponse:
- flash(
- Markup(
- _(
- "This feature is deprecated and will be removed on 2.0. "
- "Take a look at the replacement feature "
- ""
- "Alerts & Reports documentation "
- )
- ),
- "warning",
- )
- return super().list()
-
- def pre_add(self, item: "DashboardEmailScheduleView") -> None:
- if item.dashboard is None:
- raise SupersetException("Dashboard is mandatory")
- super().pre_add(item)
-
-
-class SliceEmailScheduleView(EmailScheduleView): # pylint: disable=too-many-ancestors
- schedule_type = ScheduleType.slice
- schedule_type_model = Slice
- add_title = _("Schedule Email Reports for Charts")
- edit_title = add_title
- list_title = _("Manage Email Reports for Charts")
-
- datamodel = SQLAInterface(SliceEmailSchedule)
- order_columns = ["user", "slice", "created_on"]
- list_columns = [
- "slice",
- "active",
- "crontab",
- "user",
- "deliver_as_group",
- "delivery_type",
- "email_format",
- ]
-
- add_columns = [
- "slice",
- "active",
- "crontab",
- "recipients",
- "slack_channel",
- "deliver_as_group",
- "delivery_type",
- "email_format",
- "test_email",
- "test_email_recipients",
- "test_slack_channel",
- ]
-
- edit_columns = add_columns
-
- search_columns = [
- "slice",
- "active",
- "user",
- "deliver_as_group",
- "delivery_type",
- "email_format",
- ]
-
- label_columns = {
- "slice": _("Chart"),
- "created_on": _("Created On"),
- "changed_on": _("Changed On"),
- "user": _("User"),
- "active": _("Active"),
- "crontab": _("Crontab"),
- "recipients": _("Recipients"),
- "slack_channel": _("Slack Channel"),
- "deliver_as_group": _("Deliver As Group"),
- "delivery_type": _("Delivery Type"),
- "email_format": _("Email Format"),
- }
-
- @expose("/list/")
- @has_access
- def list(self) -> FlaskResponse:
- flash(
- Markup(
- _(
- "This feature is deprecated and will be removed on 2.0. "
- "Take a look at the replacement feature "
- ""
- "Alerts & Reports documentation "
- )
- ),
- "warning",
- )
- return super().list()
-
- def pre_add(self, item: "SliceEmailScheduleView") -> None:
- if item.slice is None:
- raise SupersetException("Slice is mandatory")
- super().pre_add(item)
diff --git a/superset/views/users/api.py b/superset/views/users/api.py
index 524a382b0679d..584e8145ec391 100644
--- a/superset/views/users/api.py
+++ b/superset/views/users/api.py
@@ -16,6 +16,7 @@
# under the License.
from flask import g, Response
from flask_appbuilder.api import BaseApi, expose, safe
+from flask_jwt_extended.exceptions import NoAuthorizationError
from .schemas import UserResponseSchema
@@ -23,7 +24,7 @@
class CurrentUserRestApi(BaseApi):
- """ An api to get information about the current user """
+ """An api to get information about the current user"""
resource_name = "me"
openapi_spec_tag = "Current User"
@@ -51,6 +52,10 @@ def get_me(self) -> Response:
401:
$ref: '#/components/responses/401'
"""
- if g.user is None or g.user.is_anonymous:
+ try:
+ if g.user is None or g.user.is_anonymous:
+ return self.response_401()
+ except NoAuthorizationError:
return self.response_401()
+
return self.response(200, result=user_response_schema.dump(g.user))
diff --git a/superset/views/utils.py b/superset/views/utils.py
index 19c9a2eaf05af..202f87d996976 100644
--- a/superset/views/utils.py
+++ b/superset/views/utils.py
@@ -418,7 +418,9 @@ def is_owner(obj: Union[Dashboard, Slice], user: User) -> bool:
return obj and user in obj.owners
-def check_resource_permissions(check_perms: Callable[..., Any],) -> Callable[..., Any]:
+def check_resource_permissions(
+ check_perms: Callable[..., Any],
+) -> Callable[..., Any]:
"""
A decorator for checking permissions on a request using the passed-in function.
"""
diff --git a/superset/viz.py b/superset/viz.py
index 7544af5078059..e83e0127775cb 100644
--- a/superset/viz.py
+++ b/superset/viz.py
@@ -1086,7 +1086,7 @@ def get_data(self, df: pd.DataFrame) -> VizData: # pylint: disable=too-many-loc
v = query_obj[DTTM_ALIAS]
if hasattr(v, "value"):
v = v.value
- values[str(v / 10 ** 9)] = query_obj.get(metric)
+ values[str(v / 10**9)] = query_obj.get(metric)
data[metric] = values
try:
@@ -1945,7 +1945,12 @@ def get_data(self, df: pd.DataFrame) -> VizData:
source, target = get_column_names(self.groupby)
(value,) = self.metric_labels
df.rename(
- columns={source: "source", target: "target", value: "value",}, inplace=True,
+ columns={
+ source: "source",
+ target: "target",
+ value: "value",
+ },
+ inplace=True,
)
df["source"] = df["source"].astype(str)
df["target"] = df["target"].astype(str)
diff --git a/tests/common/query_context_generator.py b/tests/common/query_context_generator.py
index d97b270002f5c..8fddeb92ffda9 100644
--- a/tests/common/query_context_generator.py
+++ b/tests/common/query_context_generator.py
@@ -45,7 +45,9 @@
QUERY_OBJECTS: Dict[str, Dict[str, object]] = {
"birth_names": query_birth_names,
# `:suffix` are overrides only
- "birth_names:include_time": {"groupby": [DTTM_ALIAS, "name"],},
+ "birth_names:include_time": {
+ "groupby": [DTTM_ALIAS, "name"],
+ },
"birth_names:orderby_dup_alias": {
"metrics": [
{
@@ -93,7 +95,9 @@
],
],
},
- "birth_names:only_orderby_has_metric": {"metrics": [],},
+ "birth_names:only_orderby_has_metric": {
+ "metrics": [],
+ },
}
ANNOTATION_LAYERS = {
@@ -182,17 +186,27 @@
# https://numpy.org/doc/stable/reference/generated/numpy.percentile.html
"options": {"q": 25, "interpolation": "lower"},
},
- "median": {"operator": "median", "column": "sum__num",},
+ "median": {
+ "operator": "median",
+ "column": "sum__num",
+ },
},
},
},
- {"operation": "sort", "options": {"columns": {"q1": False, "name": True},},},
+ {
+ "operation": "sort",
+ "options": {
+ "columns": {"q1": False, "name": True},
+ },
+ },
]
}
def get_query_object(
- query_name: str, add_postprocessing_operations: bool, add_time_offsets: bool,
+ query_name: str,
+ add_postprocessing_operations: bool,
+ add_time_offsets: bool,
) -> Dict[str, Any]:
if query_name not in QUERY_OBJECTS:
raise Exception(f"QueryObject fixture not defined for datasource: {query_name}")
@@ -247,7 +261,9 @@ def generate(
"datasource": {"id": table.id, "type": table.type},
"queries": [
get_query_object(
- query_name, add_postprocessing_operations, add_time_offsets,
+ query_name,
+ add_postprocessing_operations,
+ add_time_offsets,
)
],
"result_type": ChartDataResultType.FULL,
diff --git a/tests/conftest.py b/tests/conftest.py
index 6350d3235c5b6..92f9b10d955ad 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -71,7 +71,9 @@ def example_db_engine(example_db_provider: Callable[[], Database]) -> Engine:
@fixture(scope="session")
-def pandas_loader_configuration(support_datetime_type,) -> PandasLoaderConfigurations:
+def pandas_loader_configuration(
+ support_datetime_type,
+) -> PandasLoaderConfigurations:
return PandasLoaderConfigurations.make_from_dict(
{SUPPORT_DATETIME_TYPE: support_datetime_type}
)
diff --git a/tests/fixtures/birth_names.py b/tests/fixtures/birth_names.py
index bcf2a5aa91b8a..5a0135b456f25 100644
--- a/tests/fixtures/birth_names.py
+++ b/tests/fixtures/birth_names.py
@@ -41,7 +41,8 @@ def birth_names_data_generator() -> BirthNamesGenerator:
@fixture(scope="session")
def birth_names_table_factory(
- birth_names_data_generator: BirthNamesGenerator, support_datetime_type: bool,
+ birth_names_data_generator: BirthNamesGenerator,
+ support_datetime_type: bool,
) -> Callable[[], Table]:
def _birth_names_table_factory() -> Table:
return BirthNamesMetaDataFactory(support_datetime_type).make_table(
diff --git a/tests/integration_tests/alerts_tests.py b/tests/integration_tests/alerts_tests.py
deleted file mode 100644
index 50558741d85a0..0000000000000
--- a/tests/integration_tests/alerts_tests.py
+++ /dev/null
@@ -1,414 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-"""Unit tests for alerting in Superset"""
-import json
-import logging
-from unittest.mock import patch
-
-import pytest
-from sqlalchemy.orm import Session
-
-import superset.utils.database
-from superset import db
-from superset.exceptions import SupersetException
-from superset.models.alerts import Alert, AlertLog, SQLObservation
-from superset.models.slice import Slice
-from superset.tasks.alerts.observer import observe
-from superset.tasks.alerts.validator import (
- AlertValidatorType,
- check_validator,
- not_null_validator,
- operator_validator,
-)
-from superset.tasks.schedules import (
- AlertState,
- deliver_alert,
- evaluate_alert,
- validate_observations,
-)
-from superset.utils import core as utils
-from superset.views.alerts import (
- AlertLogModelView,
- AlertModelView,
- AlertObservationModelView,
-)
-from tests.integration_tests.base_tests import SupersetTestCase
-from tests.integration_tests.test_app import app
-from tests.integration_tests.utils import read_fixture
-
-logging.basicConfig(level=logging.INFO)
-logger = logging.getLogger(__name__)
-
-
-@pytest.yield_fixture(scope="module")
-def setup_database():
- with app.app_context():
- example_database = superset.utils.database.get_example_database()
- example_database.get_sqla_engine().execute(
- "CREATE TABLE test_table AS SELECT 1 as first, 2 as second"
- )
- example_database.get_sqla_engine().execute(
- "INSERT INTO test_table (first, second) VALUES (3, 4)"
- )
-
- yield db.session
-
- db.session.query(SQLObservation).delete()
- db.session.query(AlertLog).delete()
- db.session.query(Alert).delete()
- db.session.commit()
- example_database.get_sqla_engine().execute("DROP TABLE test_table")
-
-
-def create_alert(
- db_session: Session,
- sql: str,
- validator_type: AlertValidatorType = AlertValidatorType.OPERATOR,
- validator_config: str = "",
-) -> Alert:
- db_session.commit()
- alert = Alert(
- label="test_alert",
- active=True,
- crontab="* * * * *",
- slice_id=db_session.query(Slice).all()[0].id,
- recipients="recipient1@superset.com",
- slack_channel="#test_channel",
- sql=sql,
- database_id=superset.utils.database.get_example_database().id,
- validator_type=validator_type,
- validator_config=validator_config,
- )
- db_session.add(alert)
- db_session.commit()
- return alert
-
-
-@pytest.mark.parametrize(
- "description, query, value",
- [
- ("Test int SQL return", "SELECT 55", 55.0),
- ("Test double SQL return", "SELECT 30.0 as wage", 30.0),
- ("Test NULL result", "SELECT null as null_result", None),
- (
- "Test empty SQL return",
- "SELECT first FROM test_table WHERE first = -1",
- None,
- ),
- (
- "Test multi line query",
- """
- -- comment
- SELECT
- 1 -- comment
- FROM test_table
- WHERE first = 1
- """,
- 1.0,
- ),
- ("Test jinja", "SELECT {{ 2 }}", 2.0),
- ],
-)
-def test_alert_observer_no_error_msg(setup_database, description, query, value):
- logger.info(description)
- db_session = setup_database
- alert = create_alert(db_session, query)
- observe(alert.id, db_session)
- if value is None:
- assert alert.observations[-1].value is None
- else:
- assert alert.observations[-1].value == value
- assert alert.observations[-1].error_msg is None
-
-
-@pytest.mark.parametrize(
- "description, query",
- [
- ("Test str result", "SELECT 'test_string' as string_value"),
- ("Test two row result", "SELECT first FROM test_table"),
- (
- "Test two column result",
- "SELECT first, second FROM test_table WHERE first = 1",
- ),
- ],
-)
-def test_alert_observer_error_msg(setup_database, description, query):
- logger.info(description)
- db_session = setup_database
- alert = create_alert(db_session, query)
- observe(alert.id, db_session)
- assert alert.observations[-1].value is None
- assert alert.observations[-1].error_msg is not None
-
-
-@patch("superset.tasks.schedules.deliver_alert")
-def test_evaluate_alert(mock_deliver_alert, setup_database):
- db_session = setup_database
-
- # Test error with Observer SQL statement
- alert1 = create_alert(db_session, "$%^&")
- evaluate_alert(alert1.id, alert1.label, db_session)
- assert alert1.logs[-1].state == AlertState.ERROR
-
- # Test pass on alert lacking validator config
- alert2 = create_alert(db_session, "SELECT 55")
- # evaluation fails if config is malformed
- with pytest.raises(json.decoder.JSONDecodeError):
- evaluate_alert(alert2.id, alert2.label, db_session)
- assert not alert2.logs
-
- # Test triggering successful alert
- alert3 = create_alert(db_session, "SELECT 55", "not null", "{}")
- evaluate_alert(alert3.id, alert3.label, db_session)
- assert mock_deliver_alert.call_count == 1
- assert alert3.logs[-1].state == AlertState.TRIGGER
-
-
-@pytest.mark.parametrize(
- "description, validator_type, config",
- [
- ("Test with invalid operator type", "greater than", "{}"),
- ("Test with empty config", "operator", "{}"),
- ("Test with invalid operator", "operator", '{"op": "is", "threshold":50.0}'),
- (
- "Test with invalid threshold",
- "operator",
- '{"op": "is", "threshold":"hello"}',
- ),
- ],
-)
-def test_check_validator_error(description, validator_type, config):
- logger.info(description)
- with pytest.raises(SupersetException):
- check_validator(validator_type, config)
-
-
-@pytest.mark.parametrize(
- "description, validator_type, config",
- [
- (
- "Test with float threshold and no errors",
- "operator",
- '{"op": ">=", "threshold": 50.0}',
- ),
- (
- "Test with int threshold and no errors",
- "operator",
- '{"op": ">=", "threshold": 50}',
- ),
- ],
-)
-def test_check_validator_no_error(description, validator_type, config):
- logger.info(description)
- assert check_validator(validator_type, config) is None
-
-
-@pytest.mark.parametrize(
- "description, query, value",
- [
- ("Test passing with 'null' SQL result", "SELECT 0", False),
- (
- "Test passing with empty SQL result",
- "SELECT first FROM test_table WHERE first = -1",
- False,
- ),
- ("Test triggering alert with non-null SQL result", "SELECT 55", True),
- ],
-)
-def test_not_null_validator(setup_database, description, query, value):
- logger.info(description)
- db_session = setup_database
- alert = create_alert(db_session, query)
- observe(alert.id, db_session)
- assert not_null_validator(alert, "{}") is value
-
-
-def test_operator_validator(setup_database):
- dbsession = setup_database
-
- # Test passing with empty SQL result
- alert1 = create_alert(dbsession, "SELECT first FROM test_table WHERE first = -1")
- observe(alert1.id, dbsession)
- assert operator_validator(alert1, '{"op": ">=", "threshold": 60}') is False
- # ensure that 0 threshold works
- assert operator_validator(alert1, '{"op": ">=", "threshold": 0}') is False
-
- # Test passing with result that doesn't pass a greater than threshold
- alert2 = create_alert(dbsession, "SELECT 55")
- observe(alert2.id, dbsession)
- assert operator_validator(alert2, '{"op": ">=", "threshold": 60}') is False
-
- # Test passing with result that passes a greater than threshold
- assert operator_validator(alert2, '{"op": ">=", "threshold": 40}') is True
-
- # Test passing with result that doesn't pass a less than threshold
- assert operator_validator(alert2, '{"op": "<=", "threshold": 40}') is False
-
- # Test passing with result that passes threshold
- assert operator_validator(alert2, '{"op": "<=", "threshold": 60}') is True
-
- # Test passing with result that doesn't equal threshold
- assert operator_validator(alert2, '{"op": "==", "threshold": 60}') is False
-
- # Test passing with result that equals threshold
- assert operator_validator(alert2, '{"op": "==", "threshold": 55}') is True
-
- # Test passing with result that equals decimal threshold
- assert operator_validator(alert2, '{"op": ">", "threshold": 54.999}') is True
-
-
-@pytest.mark.parametrize(
- "description, query, validator_type, config",
- [
- ("Test False on alert with no validator", "SELECT 55", "operator", ""),
- ("Test False on alert with no observations", "SELECT 0", "not null", "{}"),
- ],
-)
-def test_validate_observations_no_observe(
- setup_database, description, query, validator_type, config
-):
- db_session = setup_database
- logger.info(description)
-
- alert = create_alert(db_session, query, validator_type, config)
- assert validate_observations(alert.id, alert.label, db_session) is False
-
-
-@pytest.mark.parametrize(
- "description, query, validator_type, config, expected",
- [
- (
- "Test False on alert that should not be triggered",
- "SELECT 0",
- "not null",
- "{}",
- False,
- ),
- (
- "Test True on alert that should be triggered",
- "SELECT 55",
- "operator",
- '{"op": "<=", "threshold": 60}',
- True,
- ),
- ],
-)
-def test_validate_observations_with_observe(
- setup_database, description, query, validator_type, config, expected
-):
- db_session = setup_database
- logger.info(description)
-
- alert = create_alert(db_session, query, validator_type, config)
- observe(alert.id, db_session)
- assert validate_observations(alert.id, alert.label, db_session) is expected
-
-
-def test_validate_observations(setup_database):
- db_session = setup_database
-
- # Test False on alert that shouldnt be triggered
- alert3 = create_alert(db_session, "SELECT 0", "not null", "{}")
- observe(alert3.id, db_session)
- assert validate_observations(alert3.id, alert3.label, db_session) is False
-
- # Test True on alert that should be triggered
- alert4 = create_alert(
- db_session, "SELECT 55", "operator", '{"op": "<=", "threshold": 60}'
- )
- observe(alert4.id, db_session)
- assert validate_observations(alert4.id, alert4.label, db_session) is True
-
-
-@patch("superset.tasks.slack_util.WebClient.files_upload")
-@patch("superset.tasks.schedules.send_email_smtp")
-@patch("superset.tasks.schedules._get_url_path")
-@patch("superset.utils.screenshots.ChartScreenshot.compute_and_cache")
-def test_deliver_alert_screenshot(
- screenshot_mock, url_mock, email_mock, file_upload_mock, setup_database
-):
- dbsession = setup_database
- alert = create_alert(dbsession, "SELECT 55", "not null", "{}")
- observe(alert.id, dbsession)
-
- screenshot = read_fixture("sample.png")
- screenshot_mock.return_value = screenshot
-
- # TODO: fix AlertModelView.show url call from test
- url_mock.side_effect = [
- f"http://0.0.0.0:8080/alerts/show/{alert.id}",
- f"http://0.0.0.0:8080/superset/slice/{alert.slice_id}/",
- ]
-
- deliver_alert(alert.id, dbsession)
- assert email_mock.call_args[1]["images"]["screenshot"] == screenshot
- assert file_upload_mock.call_args[1] == {
- "channels": alert.slack_channel,
- "file": screenshot,
- "initial_comment": f"\n*Triggered Alert: {alert.label} :redalert:*\n"
- f"*Query*:```{alert.sql}```\n"
- f"*Result*: {alert.observations[-1].value}\n"
- f"*Reason*: {alert.observations[-1].value} {alert.pretty_config}\n"
- f"\n",
- "title": f"[Alert] {alert.label}",
- }
-
-
-class TestAlertsEndpoints(SupersetTestCase):
- def test_log_model_view_disabled(self):
- with patch.object(AlertLogModelView, "is_enabled", return_value=False):
- self.login("admin")
- uri = "/alertlogmodelview/list/"
- rv = self.client.get(uri)
- self.assertEqual(rv.status_code, 404)
-
- def test_log_model_view_enabled(self):
- with patch.object(AlertLogModelView, "is_enabled", return_value=True):
- self.login("admin")
- uri = "/alertlogmodelview/list/"
- rv = self.client.get(uri)
- self.assertLess(rv.status_code, 400)
-
- def test_model_view_disabled(self):
- with patch.object(AlertModelView, "is_enabled", return_value=False):
- self.login("admin")
- uri = "/alerts/list/"
- rv = self.client.get(uri)
- self.assertEqual(rv.status_code, 404)
-
- def test_model_view_enabled(self):
- with patch.object(AlertModelView, "is_enabled", return_value=True):
- self.login("admin")
- uri = "/alerts/list/"
- rv = self.client.get(uri)
- self.assertNotEqual(rv.status_code, 404)
-
- def test_observation_view_disabled(self):
- with patch.object(AlertObservationModelView, "is_enabled", return_value=False):
- self.login("admin")
- uri = "/alertobservationmodelview/list/"
- rv = self.client.get(uri)
- self.assertEqual(rv.status_code, 404)
-
- def test_observation_view_enabled(self):
- with patch.object(AlertObservationModelView, "is_enabled", return_value=True):
- self.login("admin")
- uri = "/alertobservationmodelview/list/"
- rv = self.client.get(uri)
- self.assertLess(rv.status_code, 400)
diff --git a/tests/integration_tests/annotation_layers/fixtures.py b/tests/integration_tests/annotation_layers/fixtures.py
index 0b9e19e21fb70..52cb8ca2abf41 100644
--- a/tests/integration_tests/annotation_layers/fixtures.py
+++ b/tests/integration_tests/annotation_layers/fixtures.py
@@ -39,7 +39,10 @@ def get_end_dttm(annotation_id: int) -> datetime:
def _insert_annotation_layer(name: str = "", descr: str = "") -> AnnotationLayer:
- annotation_layer = AnnotationLayer(name=name, descr=descr,)
+ annotation_layer = AnnotationLayer(
+ name=name,
+ descr=descr,
+ )
db.session.add(annotation_layer)
db.session.commit()
return annotation_layer
diff --git a/tests/integration_tests/celery_tests.py b/tests/integration_tests/celery_tests.py
index f68ad85cb5c21..802684ba3bd07 100644
--- a/tests/integration_tests/celery_tests.py
+++ b/tests/integration_tests/celery_tests.py
@@ -256,7 +256,11 @@ def test_run_async_query_cta_config(setup_sqllab, ctas_method):
return
tmp_table_name = f"{TEST_ASYNC_CTA_CONFIG}_{ctas_method.lower()}"
result = run_sql(
- QUERY, cta=True, ctas_method=ctas_method, async_=True, tmp_table=tmp_table_name,
+ QUERY,
+ cta=True,
+ ctas_method=ctas_method,
+ async_=True,
+ tmp_table=tmp_table_name,
)
query = wait_for_success(result)
diff --git a/tests/integration_tests/charts/api_tests.py b/tests/integration_tests/charts/api_tests.py
index 65ed10fe1376f..3c92caceead73 100644
--- a/tests/integration_tests/charts/api_tests.py
+++ b/tests/integration_tests/charts/api_tests.py
@@ -749,6 +749,7 @@ def test_get_chart(self):
"slice_name": "title",
"viz_type": None,
"query_context": None,
+ "is_managed_externally": False,
}
data = json.loads(rv.data.decode("utf-8"))
self.assertEqual(data["result"], expected_result)
@@ -916,7 +917,11 @@ def test_admin_gets_filtered_energy_slices(self):
# test filtering on datasource_name
arguments = {
"filters": [
- {"col": "slice_name", "opr": "chart_all_text", "value": "energy",}
+ {
+ "col": "slice_name",
+ "opr": "chart_all_text",
+ "value": "energy",
+ }
],
"keys": ["none"],
"columns": ["slice_name"],
@@ -932,7 +937,13 @@ def test_admin_gets_filtered_energy_slices(self):
@pytest.mark.usefixtures("create_certified_charts")
def test_gets_certified_charts_filter(self):
arguments = {
- "filters": [{"col": "id", "opr": "chart_is_certified", "value": True,}],
+ "filters": [
+ {
+ "col": "id",
+ "opr": "chart_is_certified",
+ "value": True,
+ }
+ ],
"keys": ["none"],
"columns": ["slice_name"],
}
@@ -947,7 +958,13 @@ def test_gets_certified_charts_filter(self):
@pytest.mark.usefixtures("create_charts")
def test_gets_not_certified_charts_filter(self):
arguments = {
- "filters": [{"col": "id", "opr": "chart_is_certified", "value": False,}],
+ "filters": [
+ {
+ "col": "id",
+ "opr": "chart_is_certified",
+ "value": False,
+ }
+ ],
"keys": ["none"],
"columns": ["slice_name"],
}
@@ -964,7 +981,11 @@ def test_user_gets_none_filtered_energy_slices(self):
# test filtering on datasource_name
arguments = {
"filters": [
- {"col": "slice_name", "opr": "chart_all_text", "value": "energy",}
+ {
+ "col": "slice_name",
+ "opr": "chart_all_text",
+ "value": "energy",
+ }
],
"keys": ["none"],
"columns": ["slice_name"],
diff --git a/tests/integration_tests/charts/data/api_tests.py b/tests/integration_tests/charts/data/api_tests.py
index c45c8d5064eaa..73425fb58f68c 100644
--- a/tests/integration_tests/charts/data/api_tests.py
+++ b/tests/integration_tests/charts/data/api_tests.py
@@ -129,7 +129,8 @@ def assert_row_count(rv: Response, expected_row_count: int):
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
@mock.patch(
- "superset.common.query_context_factory.config", {**app.config, "ROW_LIMIT": 7},
+ "superset.common.query_context_factory.config",
+ {**app.config, "ROW_LIMIT": 7},
)
def test_without_row_limit__row_count_as_default_row_limit(self):
# arrange
@@ -161,7 +162,8 @@ def test_as_samples_without_row_limit__row_count_as_default_samples_row_limit(se
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
@mock.patch(
- "superset.utils.core.current_app.config", {**app.config, "SQL_MAX_ROW": 10},
+ "superset.utils.core.current_app.config",
+ {**app.config, "SQL_MAX_ROW": 10},
)
def test_with_row_limit_bigger_then_sql_max_row__rowcount_as_sql_max_row(self):
# arrange
@@ -176,7 +178,8 @@ def test_with_row_limit_bigger_then_sql_max_row__rowcount_as_sql_max_row(self):
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
@mock.patch(
- "superset.utils.core.current_app.config", {**app.config, "SQL_MAX_ROW": 5},
+ "superset.utils.core.current_app.config",
+ {**app.config, "SQL_MAX_ROW": 5},
)
def test_as_samples_with_row_limit_bigger_then_sql_max_row__rowcount_as_sql_max_row(
self,
@@ -334,7 +337,9 @@ def test_chart_data_applied_time_extras(self):
)
self.assertEqual(
data["result"][0]["rejected_filters"],
- [{"column": "__time_origin", "reason": "not_druid_datasource"},],
+ [
+ {"column": "__time_origin", "reason": "not_druid_datasource"},
+ ],
)
expected_row_count = self.get_expected_row_count("client_id_2")
self.assertEqual(data["result"][0]["rowcount"], expected_row_count)
@@ -384,7 +389,8 @@ def test_chart_data_dttm_filter(self):
dttm_col = col
if dttm_col:
dttm_expression = table.database.db_engine_spec.convert_dttm(
- dttm_col.type, dttm,
+ dttm_col.type,
+ dttm,
)
self.assertIn(dttm_expression, result["query"])
else:
@@ -479,7 +485,10 @@ def test_with_orderby_parameter_with_second_query__400(self):
self.query_context_payload["queries"][0]["filters"] = []
self.query_context_payload["queries"][0]["orderby"] = [
[
- {"expressionType": "SQL", "sqlExpression": "sum__num; select 1, 1",},
+ {
+ "expressionType": "SQL",
+ "sqlExpression": "sum__num; select 1, 1",
+ },
True,
],
]
@@ -736,7 +745,11 @@ def test_with_virtual_table_with_colons_as_datasource(self):
}
]
request_payload["queries"][0]["filters"] = [
- {"col": "foo", "op": "!=", "val": ":qwerty:",}
+ {
+ "col": "foo",
+ "op": "!=",
+ "val": ":qwerty:",
+ }
]
rv = self.post_assert_metric(CHART_DATA_URI, request_payload, "data")
@@ -783,7 +796,11 @@ def test_chart_data_get(self):
"time_range": "1900-01-01T00:00:00 : 2000-01-01T00:00:00",
"granularity": "ds",
"filters": [],
- "extras": {"having": "", "having_druid": [], "where": "",},
+ "extras": {
+ "having": "",
+ "having_druid": [],
+ "where": "",
+ },
"applied_time_extras": {},
"columns": ["gender"],
"metrics": ["sum__num"],
@@ -868,7 +885,9 @@ def mock_run(self, **kwargs):
return orig_run(self, force_cached=False)
with mock.patch.object(ChartDataCommand, "run", new=mock_run):
- rv = self.client.get(f"{CHART_DATA_URI}/test-cache-key",)
+ rv = self.client.get(
+ f"{CHART_DATA_URI}/test-cache-key",
+ )
self.assertEqual(rv.status_code, 401)
diff --git a/tests/integration_tests/cli_tests.py b/tests/integration_tests/cli_tests.py
index 7426d90ea88af..f69efc6253943 100644
--- a/tests/integration_tests/cli_tests.py
+++ b/tests/integration_tests/cli_tests.py
@@ -373,7 +373,9 @@ def test_import_datasets_sync_argument_columns_metrics(
assert response.exit_code == 0
expected_contents = {"dataset.yaml": "hello: world"}
import_datasets_command.assert_called_with(
- expected_contents, sync_columns=True, sync_metrics=True,
+ expected_contents,
+ sync_columns=True,
+ sync_metrics=True,
)
@@ -408,7 +410,9 @@ def test_import_datasets_sync_argument_columns(
assert response.exit_code == 0
expected_contents = {"dataset.yaml": "hello: world"}
import_datasets_command.assert_called_with(
- expected_contents, sync_columns=True, sync_metrics=False,
+ expected_contents,
+ sync_columns=True,
+ sync_metrics=False,
)
@@ -443,7 +447,9 @@ def test_import_datasets_sync_argument_metrics(
assert response.exit_code == 0
expected_contents = {"dataset.yaml": "hello: world"}
import_datasets_command.assert_called_with(
- expected_contents, sync_columns=False, sync_metrics=True,
+ expected_contents,
+ sync_columns=False,
+ sync_metrics=True,
)
diff --git a/tests/integration_tests/core_tests.py b/tests/integration_tests/core_tests.py
index f573e68075441..166abf96a79d0 100644
--- a/tests/integration_tests/core_tests.py
+++ b/tests/integration_tests/core_tests.py
@@ -974,7 +974,8 @@ def test_explore_json(self):
}
self.login(username="admin")
rv = self.client.post(
- "/superset/explore_json/", data={"form_data": json.dumps(form_data)},
+ "/superset/explore_json/",
+ data={"form_data": json.dumps(form_data)},
)
data = json.loads(rv.data.decode("utf-8"))
@@ -1049,7 +1050,8 @@ def test_explore_json_dist_bar_order(self):
self.login(username="admin")
rv = self.client.post(
- "/superset/explore_json/", data={"form_data": json.dumps(form_data)},
+ "/superset/explore_json/",
+ data={"form_data": json.dumps(form_data)},
)
data = json.loads(rv.data.decode("utf-8"))
@@ -1096,7 +1098,8 @@ def test_explore_json_async(self):
async_query_manager.init_app(app)
self.login(username="admin")
rv = self.client.post(
- "/superset/explore_json/", data={"form_data": json.dumps(form_data)},
+ "/superset/explore_json/",
+ data={"form_data": json.dumps(form_data)},
)
data = json.loads(rv.data.decode("utf-8"))
keys = list(data.keys())
@@ -1237,25 +1240,11 @@ def test_schemas_access_for_csv_upload_endpoint(
assert data == ["this_schema_is_allowed_too"]
self.delete_fake_db()
- @pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
- def test_select_star(self):
- self.login(username="admin")
- examples_db = superset.utils.database.get_example_database()
- resp = self.get_resp(f"/superset/select_star/{examples_db.id}/birth_names")
- self.assertIn("gender", resp)
-
- def test_get_select_star_not_allowed(self):
- """
- Database API: Test get select star not allowed
- """
- self.login(username="gamma")
- example_db = superset.utils.database.get_example_database()
- resp = self.client.get(f"/superset/select_star/{example_db.id}/birth_names")
- self.assertEqual(resp.status_code, 403)
-
@mock.patch("superset.views.core.results_backend_use_msgpack", False)
- @mock.patch("superset.views.core.results_backend")
- def test_display_limit(self, mock_results_backend):
+ def test_display_limit(self):
+ from superset.views import core
+
+ core.results_backend = mock.Mock()
self.login()
data = [{"col_0": i} for i in range(100)]
@@ -1284,7 +1273,7 @@ def test_display_limit(self, mock_results_backend):
app.config["RESULTS_BACKEND_USE_MSGPACK"] = False
serialized_payload = sql_lab._serialize_payload(payload, False)
compressed = utils.zlib_compress(serialized_payload)
- mock_results_backend.get.return_value = compressed
+ core.results_backend.get.return_value = compressed
with mock.patch("superset.views.core.db") as mock_superset_db:
mock_superset_db.session.query().filter_by().one_or_none.return_value = (
@@ -1632,7 +1621,8 @@ def test_stop_query_not_implemented(
mock_superset_db_session.query().filter_by().one().return_value = query_mock
mock_sql_lab_cancel_query.return_value = False
rv = self.client.post(
- "/superset/stop_query/", data={"form_data": json.dumps(form_data)},
+ "/superset/stop_query/",
+ data={"form_data": json.dumps(form_data)},
)
assert rv.status_code == 422
diff --git a/tests/integration_tests/css_templates/api_tests.py b/tests/integration_tests/css_templates/api_tests.py
index 8f7e580e8ce14..b28cca955ca8d 100644
--- a/tests/integration_tests/css_templates/api_tests.py
+++ b/tests/integration_tests/css_templates/api_tests.py
@@ -34,7 +34,10 @@
class TestCssTemplateApi(SupersetTestCase):
def insert_css_template(
- self, template_name: str, css: str, created_by_username: str = "admin",
+ self,
+ template_name: str,
+ css: str,
+ created_by_username: str = "admin",
) -> CssTemplate:
admin = self.get_user(created_by_username)
css_template = CssTemplate(
diff --git a/tests/integration_tests/dashboard_utils.py b/tests/integration_tests/dashboard_utils.py
index c50b75b8ae152..fa6efd60b4dac 100644
--- a/tests/integration_tests/dashboard_utils.py
+++ b/tests/integration_tests/dashboard_utils.py
@@ -30,7 +30,9 @@
def get_table(
- table_name: str, database: Database, schema: Optional[str] = None,
+ table_name: str,
+ database: Database,
+ schema: Optional[str] = None,
):
schema = schema or get_example_default_schema()
table_source = ConnectorRegistry.sources["table"]
diff --git a/tests/integration_tests/dashboards/api_tests.py b/tests/integration_tests/dashboards/api_tests.py
index 8669da99f4a9e..7fc8c2e2518fc 100644
--- a/tests/integration_tests/dashboards/api_tests.py
+++ b/tests/integration_tests/dashboards/api_tests.py
@@ -329,7 +329,11 @@ def test_get_dashboard(self):
"changed_by_name": "",
"changed_by_url": "",
"charts": [],
- "created_by": {"id": 1, "first_name": "admin", "last_name": "user",},
+ "created_by": {
+ "id": 1,
+ "first_name": "admin",
+ "last_name": "user",
+ },
"id": dashboard.id,
"css": "",
"dashboard_title": "title",
@@ -349,13 +353,17 @@ def test_get_dashboard(self):
"url": "/superset/dashboard/slug1/",
"slug": "slug1",
"thumbnail_url": dashboard.thumbnail_url,
+ "is_managed_externally": False,
}
data = json.loads(rv.data.decode("utf-8"))
self.assertIn("changed_on", data["result"])
self.assertIn("changed_on_delta_humanized", data["result"])
for key, value in data["result"].items():
# We can't assert timestamp values
- if key not in ("changed_on", "changed_on_delta_humanized",):
+ if key not in (
+ "changed_on",
+ "changed_on_delta_humanized",
+ ):
self.assertEqual(value, expected_result[key])
# rollback changes
db.session.delete(dashboard)
@@ -622,7 +630,13 @@ def test_get_dashboards_not_favorite_filter(self):
@pytest.mark.usefixtures("create_dashboards")
def test_gets_certified_dashboards_filter(self):
arguments = {
- "filters": [{"col": "id", "opr": "dashboard_is_certified", "value": True,}],
+ "filters": [
+ {
+ "col": "id",
+ "opr": "dashboard_is_certified",
+ "value": True,
+ }
+ ],
"keys": ["none"],
"columns": ["dashboard_title"],
}
@@ -638,7 +652,11 @@ def test_gets_certified_dashboards_filter(self):
def test_gets_not_certified_dashboards_filter(self):
arguments = {
"filters": [
- {"col": "id", "opr": "dashboard_is_certified", "value": False,}
+ {
+ "col": "id",
+ "opr": "dashboard_is_certified",
+ "value": False,
+ }
],
"keys": ["none"],
"columns": ["dashboard_title"],
@@ -1134,7 +1152,12 @@ def test_update_dashboard_chart_owners(self):
slices.append(db.session.query(Slice).filter_by(slice_name="Trends").first())
slices.append(db.session.query(Slice).filter_by(slice_name="Boys").first())
- dashboard = self.insert_dashboard("title1", "slug1", [admin.id], slices=slices,)
+ dashboard = self.insert_dashboard(
+ "title1",
+ "slug1",
+ [admin.id],
+ slices=slices,
+ )
self.login(username="admin")
uri = f"api/v1/dashboard/{dashboard.id}"
dashboard_data = {"owners": [user_alpha1.id, user_alpha2.id]}
@@ -1348,10 +1371,8 @@ def test_export(self):
dashboards_ids = get_dashboards_ids(db, ["world_health", "births"])
uri = f"api/v1/dashboard/export/?q={prison.dumps(dashboards_ids)}"
- # freeze time to ensure filename is deterministic
- with freeze_time("2020-01-01T00:00:00Z"):
- rv = self.get_assert_metric(uri, "export")
- headers = generate_download_headers("json")["Content-Disposition"]
+ rv = self.get_assert_metric(uri, "export")
+ headers = generate_download_headers("json")["Content-Disposition"]
assert rv.status_code == 200
assert rv.headers["Content-Disposition"] == headers
diff --git a/tests/integration_tests/dashboards/filter_sets/get_api_tests.py b/tests/integration_tests/dashboards/filter_sets/get_api_tests.py
index 0d36a0a593e5b..7be6f367dd6b9 100644
--- a/tests/integration_tests/dashboards/filter_sets/get_api_tests.py
+++ b/tests/integration_tests/dashboards/filter_sets/get_api_tests.py
@@ -37,7 +37,9 @@
class TestGetFilterSetsApi:
def test_with_dashboard_not_exists__404(
- self, not_exists_dashboard_id: int, client: FlaskClient[Any],
+ self,
+ not_exists_dashboard_id: int,
+ client: FlaskClient[Any],
):
# arrange
login(client, "admin")
diff --git a/tests/integration_tests/dashboards/permalink/api_tests.py b/tests/integration_tests/dashboards/permalink/api_tests.py
index bd821165dc337..33186131d559f 100644
--- a/tests/integration_tests/dashboards/permalink/api_tests.py
+++ b/tests/integration_tests/dashboards/permalink/api_tests.py
@@ -15,7 +15,9 @@
# specific language governing permissions and limitations
# under the License.
import json
+from typing import Iterator
from unittest.mock import patch
+from uuid import uuid3
import pytest
from flask_appbuilder.security.sqla.models import User
@@ -24,8 +26,9 @@
from superset import db
from superset.dashboards.commands.exceptions import DashboardAccessDeniedError
from superset.key_value.models import KeyValueEntry
+from superset.key_value.types import KeyValueResource
+from superset.key_value.utils import decode_permalink_id
from superset.models.dashboard import Dashboard
-from superset.models.slice import Slice
from tests.integration_tests.base_tests import login
from tests.integration_tests.fixtures.client import client
from tests.integration_tests.fixtures.world_bank_dashboard import (
@@ -35,7 +38,7 @@
from tests.integration_tests.test_app import app
STATE = {
- "filterState": {"FILTER_1": "foo",},
+ "filterState": {"FILTER_1": "foo"},
"hash": "my-anchor",
}
@@ -48,7 +51,23 @@ def dashboard_id(load_world_bank_dashboard_with_slices) -> int:
return dashboard.id
-def test_post(client, dashboard_id: int):
+@pytest.fixture
+def permalink_salt() -> Iterator[str]:
+ from superset.key_value.shared_entries import get_permalink_salt, get_uuid_namespace
+ from superset.key_value.types import SharedKey
+
+ key = SharedKey.DASHBOARD_PERMALINK_SALT
+ salt = get_permalink_salt(key)
+ yield salt
+ namespace = get_uuid_namespace(salt)
+ db.session.query(KeyValueEntry).filter_by(
+ resource=KeyValueResource.APP,
+ uuid=uuid3(namespace, key),
+ )
+ db.session.commit()
+
+
+def test_post(client, dashboard_id: int, permalink_salt: str) -> None:
login(client, "admin")
resp = client.post(f"api/v1/dashboard/{dashboard_id}/permalink", json=STATE)
assert resp.status_code == 201
@@ -56,7 +75,8 @@ def test_post(client, dashboard_id: int):
key = data["key"]
url = data["url"]
assert key in url
- db.session.query(KeyValueEntry).filter_by(uuid=key).delete()
+ id_ = decode_permalink_id(key, permalink_salt)
+ db.session.query(KeyValueEntry).filter_by(id=id_).delete()
db.session.commit()
@@ -76,7 +96,7 @@ def test_post_invalid_schema(client, dashboard_id: int):
assert resp.status_code == 400
-def test_get(client, dashboard_id: int):
+def test_get(client, dashboard_id: int, permalink_salt: str):
login(client, "admin")
resp = client.post(f"api/v1/dashboard/{dashboard_id}/permalink", json=STATE)
data = json.loads(resp.data.decode("utf-8"))
@@ -86,5 +106,6 @@ def test_get(client, dashboard_id: int):
result = json.loads(resp.data.decode("utf-8"))
assert result["dashboardId"] == str(dashboard_id)
assert result["state"] == STATE
- db.session.query(KeyValueEntry).filter_by(uuid=key).delete()
+ id_ = decode_permalink_id(key, permalink_salt)
+ db.session.query(KeyValueEntry).filter_by(id=id_).delete()
db.session.commit()
diff --git a/tests/integration_tests/dashboards/security/security_dataset_tests.py b/tests/integration_tests/dashboards/security/security_dataset_tests.py
index 01bce014afdc5..34a5fedad0bfb 100644
--- a/tests/integration_tests/dashboards/security/security_dataset_tests.py
+++ b/tests/integration_tests/dashboards/security/security_dataset_tests.py
@@ -91,11 +91,14 @@ def test_get_dashboards__users_are_dashboards_owners(self):
username = "gamma"
user = security_manager.find_user(username)
my_owned_dashboard = create_dashboard_to_db(
- dashboard_title="My Dashboard", published=False, owners=[user],
+ dashboard_title="My Dashboard",
+ published=False,
+ owners=[user],
)
not_my_owned_dashboard = create_dashboard_to_db(
- dashboard_title="Not My Dashboard", published=False,
+ dashboard_title="Not My Dashboard",
+ published=False,
)
self.login(user.username)
diff --git a/tests/integration_tests/dashboards/security/security_rbac_tests.py b/tests/integration_tests/dashboards/security/security_rbac_tests.py
index 62b0e1b4c2755..d425c0e71118f 100644
--- a/tests/integration_tests/dashboards/security/security_rbac_tests.py
+++ b/tests/integration_tests/dashboards/security/security_rbac_tests.py
@@ -41,7 +41,8 @@
@mock.patch.dict(
- "superset.extensions.feature_flag_manager._feature_flags", DASHBOARD_RBAC=True,
+ "superset.extensions.feature_flag_manager._feature_flags",
+ DASHBOARD_RBAC=True,
)
class TestDashboardRoleBasedSecurity(BaseTestDashboardSecurity):
def test_get_dashboard_view__admin_can_access(self):
@@ -293,7 +294,10 @@ def test_get_dashboards_api__user_get_only_published_permitted_dashboards(self):
# assert
self.assert_dashboards_api_response(
- response, len(published_dashboards), published_dashboards, draft_dashboards,
+ response,
+ len(published_dashboards),
+ published_dashboards,
+ draft_dashboards,
)
# post
@@ -337,7 +341,10 @@ def test_get_dashboards_api__public_user_get_only_published_permitted_dashboards
# assert
self.assert_dashboards_api_response(
- response, len(published_dashboards), published_dashboards, draft_dashboards,
+ response,
+ len(published_dashboards),
+ published_dashboards,
+ draft_dashboards,
)
# post
diff --git a/tests/integration_tests/databases/api_tests.py b/tests/integration_tests/databases/api_tests.py
index 928f3d595730d..4f29600bdabb7 100644
--- a/tests/integration_tests/databases/api_tests.py
+++ b/tests/integration_tests/databases/api_tests.py
@@ -458,7 +458,8 @@ def test_create_database_uri_validate(self):
response = json.loads(rv.data.decode("utf-8"))
self.assertEqual(rv.status_code, 400)
self.assertIn(
- "Invalid connection string", response["message"]["sqlalchemy_uri"][0],
+ "Invalid connection string",
+ response["message"]["sqlalchemy_uri"][0],
)
@mock.patch(
@@ -623,7 +624,8 @@ def test_update_database_uri_validate(self):
response = json.loads(rv.data.decode("utf-8"))
self.assertEqual(rv.status_code, 400)
self.assertIn(
- "Invalid connection string", response["message"]["sqlalchemy_uri"][0],
+ "Invalid connection string",
+ response["message"]["sqlalchemy_uri"][0],
)
db.session.delete(test_database)
@@ -1038,7 +1040,9 @@ def test_test_connection_unsafe_uri(self):
@mock.patch(
"superset.databases.commands.test_connection.DatabaseDAO.build_db_for_connection_test",
)
- @mock.patch("superset.databases.commands.test_connection.event_logger",)
+ @mock.patch(
+ "superset.databases.commands.test_connection.event_logger",
+ )
def test_test_connection_failed_invalid_hostname(
self, mock_event_logger, mock_build_db
):
@@ -1419,7 +1423,9 @@ def test_import_database_masked_password_provided(self):
db.session.delete(database)
db.session.commit()
- @mock.patch("superset.db_engine_specs.base.BaseEngineSpec.get_function_names",)
+ @mock.patch(
+ "superset.db_engine_specs.base.BaseEngineSpec.get_function_names",
+ )
def test_function_names(self, mock_get_function_names):
example_db = get_example_database()
if example_db.backend in {"hive", "presto"}:
diff --git a/tests/integration_tests/datasets/api_tests.py b/tests/integration_tests/datasets/api_tests.py
index fe493a5504aed..83849931f4d76 100644
--- a/tests/integration_tests/datasets/api_tests.py
+++ b/tests/integration_tests/datasets/api_tests.py
@@ -107,7 +107,10 @@ def create_virtual_datasets(self):
for table_name in self.fixture_virtual_table_names:
datasets.append(
self.insert_dataset(
- table_name, [admin.id], main_db, "SELECT * from ab_view_menu;",
+ table_name,
+ [admin.id],
+ main_db,
+ "SELECT * from ab_view_menu;",
)
)
yield datasets
@@ -286,7 +289,10 @@ def pg_test_query_parameter(query_parameter, expected_response):
)
datasets.append(
self.insert_dataset(
- "columns", [], get_main_database(), schema="information_schema",
+ "columns",
+ [],
+ get_main_database(),
+ schema="information_schema",
)
)
schema_values = [
@@ -570,7 +576,12 @@ def test_create_dataset_validate_view_exists(
"""
mock_get_columns.return_value = [
- {"name": "col", "type": "VARCHAR", "type_generic": None, "is_dttm": None,}
+ {
+ "name": "col",
+ "type": "VARCHAR",
+ "type_generic": None,
+ "is_dttm": None,
+ }
]
mock_has_table_by_name.return_value = False
diff --git a/tests/integration_tests/datasource_tests.py b/tests/integration_tests/datasource_tests.py
index eecc0501b3ffe..1428a20c48352 100644
--- a/tests/integration_tests/datasource_tests.py
+++ b/tests/integration_tests/datasource_tests.py
@@ -158,7 +158,11 @@ def test_external_metadata_by_name_from_sqla_inspector(self):
# No databases found
params = prison.dumps(
- {"datasource_type": "table", "database_name": "foo", "table_name": "bar",}
+ {
+ "datasource_type": "table",
+ "database_name": "foo",
+ "table_name": "bar",
+ }
)
url = f"/datasource/external_metadata_by_name/?q={params}"
resp = self.client.get(url)
@@ -185,7 +189,11 @@ def test_external_metadata_by_name_from_sqla_inspector(self):
)
# invalid query params
- params = prison.dumps({"datasource_type": "table",})
+ params = prison.dumps(
+ {
+ "datasource_type": "table",
+ }
+ )
url = f"/datasource/external_metadata_by_name/?q={params}"
resp = self.get_json_resp(url)
self.assertIn("error", resp)
diff --git a/tests/integration_tests/db_engine_specs/base_engine_spec_tests.py b/tests/integration_tests/db_engine_specs/base_engine_spec_tests.py
index d0e20ccdf516e..c4432e3ad1f93 100644
--- a/tests/integration_tests/db_engine_specs/base_engine_spec_tests.py
+++ b/tests/integration_tests/db_engine_specs/base_engine_spec_tests.py
@@ -93,7 +93,9 @@ def test_limit_query_with_limit_subquery(self): # pylint: disable=invalid-name
def test_limit_query_without_force(self):
self.sql_limit_regex(
- "SELECT * FROM a LIMIT 10", "SELECT * FROM a LIMIT 10", limit=11,
+ "SELECT * FROM a LIMIT 10",
+ "SELECT * FROM a LIMIT 10",
+ limit=11,
)
def test_limit_query_with_force(self):
@@ -399,7 +401,11 @@ def test_get_time_grain_with_unkown_values():
config = app.config.copy()
app.config["TIME_GRAIN_ADDON_EXPRESSIONS"] = {
- "mysql": {"PT2H": "foo", "weird": "foo", "PT12H": "foo",}
+ "mysql": {
+ "PT2H": "foo",
+ "weird": "foo",
+ "PT12H": "foo",
+ }
}
with app.app_context():
diff --git a/tests/integration_tests/db_engine_specs/bigquery_tests.py b/tests/integration_tests/db_engine_specs/bigquery_tests.py
index b7405092c5446..549b1109529e9 100644
--- a/tests/integration_tests/db_engine_specs/bigquery_tests.py
+++ b/tests/integration_tests/db_engine_specs/bigquery_tests.py
@@ -139,8 +139,14 @@ def test_extra_table_metadata(self):
self.assertEqual(result, {})
index_metadata = [
- {"name": "clustering", "column_names": ["c_col1", "c_col2", "c_col3"],},
- {"name": "partition", "column_names": ["p_col1", "p_col2", "p_col3"],},
+ {
+ "name": "clustering",
+ "column_names": ["c_col1", "c_col2", "c_col3"],
+ },
+ {
+ "name": "partition",
+ "column_names": ["p_col1", "p_col2", "p_col3"],
+ },
]
expected_result = {
"partitions": {"cols": [["p_col1", "p_col2", "p_col3"]]},
@@ -247,7 +253,12 @@ def test_extract_errors(self):
level=ErrorLevel.ERROR,
extra={
"engine_name": "Google BigQuery",
- "issue_codes": [{"code": 1017, "message": "",}],
+ "issue_codes": [
+ {
+ "code": 1017,
+ "message": "",
+ }
+ ],
},
)
]
diff --git a/tests/integration_tests/db_engine_specs/hive_tests.py b/tests/integration_tests/db_engine_specs/hive_tests.py
index 7cc6b27fa7c48..ad80f8397ffe1 100644
--- a/tests/integration_tests/db_engine_specs/hive_tests.py
+++ b/tests/integration_tests/db_engine_specs/hive_tests.py
@@ -166,7 +166,10 @@ def test_convert_dttm():
def test_df_to_csv() -> None:
with pytest.raises(SupersetException):
HiveEngineSpec.df_to_sql(
- mock.MagicMock(), Table("foobar"), pd.DataFrame(), {"if_exists": "append"},
+ mock.MagicMock(),
+ Table("foobar"),
+ pd.DataFrame(),
+ {"if_exists": "append"},
)
diff --git a/tests/integration_tests/db_engine_specs/pinot_tests.py b/tests/integration_tests/db_engine_specs/pinot_tests.py
index fa31efdb388d3..803dd67cbacfa 100644
--- a/tests/integration_tests/db_engine_specs/pinot_tests.py
+++ b/tests/integration_tests/db_engine_specs/pinot_tests.py
@@ -21,7 +21,7 @@
class TestPinotDbEngineSpec(TestDbEngineSpec):
- """ Tests pertaining to our Pinot database support """
+ """Tests pertaining to our Pinot database support"""
def test_pinot_time_expression_sec_one_1d_grain(self):
col = column("tstamp")
@@ -62,7 +62,8 @@ def test_pinot_time_expression_sec_one_1m_grain(self):
expr = PinotEngineSpec.get_timestamp_expr(col, "epoch_s", "P1M")
result = str(expr.compile())
self.assertEqual(
- result, "DATETRUNC('month', tstamp, 'SECONDS')",
+ result,
+ "DATETRUNC('month', tstamp, 'SECONDS')",
)
def test_invalid_get_time_expression_arguments(self):
diff --git a/tests/integration_tests/db_engine_specs/postgres_tests.py b/tests/integration_tests/db_engine_specs/postgres_tests.py
index dcf5310fecac5..e6eb4fc1d13ea 100644
--- a/tests/integration_tests/db_engine_specs/postgres_tests.py
+++ b/tests/integration_tests/db_engine_specs/postgres_tests.py
@@ -179,7 +179,11 @@ def test_estimate_statement_cost_select_star(self):
sql = "SELECT * FROM birth_names"
results = PostgresEngineSpec.estimate_statement_cost(sql, cursor)
self.assertEqual(
- results, {"Start-up cost": 0.00, "Total cost": 1537.91,},
+ results,
+ {
+ "Start-up cost": 0.00,
+ "Total cost": 1537.91,
+ },
)
def test_estimate_statement_invalid_syntax(self):
@@ -205,15 +209,27 @@ def test_query_cost_formatter_example_costs(self):
DB Eng Specs (postgres): Test test_query_cost_formatter example costs
"""
raw_cost = [
- {"Start-up cost": 0.00, "Total cost": 1537.91,},
- {"Start-up cost": 10.00, "Total cost": 1537.00,},
+ {
+ "Start-up cost": 0.00,
+ "Total cost": 1537.91,
+ },
+ {
+ "Start-up cost": 10.00,
+ "Total cost": 1537.00,
+ },
]
result = PostgresEngineSpec.query_cost_formatter(raw_cost)
self.assertEqual(
result,
[
- {"Start-up cost": "0.0", "Total cost": "1537.91",},
- {"Start-up cost": "10.0", "Total cost": "1537.0",},
+ {
+ "Start-up cost": "0.0",
+ "Total cost": "1537.91",
+ },
+ {
+ "Start-up cost": "10.0",
+ "Total cost": "1537.0",
+ },
],
)
diff --git a/tests/integration_tests/db_engine_specs/presto_tests.py b/tests/integration_tests/db_engine_specs/presto_tests.py
index 5833c6bdcbfcb..558f4322a0e5d 100644
--- a/tests/integration_tests/db_engine_specs/presto_tests.py
+++ b/tests/integration_tests/db_engine_specs/presto_tests.py
@@ -293,7 +293,10 @@ def test_presto_expand_data_with_complex_row_columns(self):
)
def test_presto_expand_data_with_complex_row_columns_and_null_values(self):
cols = [
- {"name": "row_column", "type": "ROW(NESTED_ROW ROW(NESTED_OBJ VARCHAR))",}
+ {
+ "name": "row_column",
+ "type": "ROW(NESTED_ROW ROW(NESTED_OBJ VARCHAR))",
+ }
]
data = [
{"row_column": '[["a"]]'},
@@ -305,7 +308,10 @@ def test_presto_expand_data_with_complex_row_columns_and_null_values(self):
cols, data
)
expected_cols = [
- {"name": "row_column", "type": "ROW(NESTED_ROW ROW(NESTED_OBJ VARCHAR))",},
+ {
+ "name": "row_column",
+ "type": "ROW(NESTED_ROW ROW(NESTED_OBJ VARCHAR))",
+ },
{"name": "row_column.nested_row", "type": "ROW(NESTED_OBJ VARCHAR)"},
{"name": "row_column.nested_row.nested_obj", "type": "VARCHAR"},
]
@@ -786,7 +792,10 @@ def test_select_star_presto_expand_data(
True,
True,
True,
- [{"name": "val1"}, {"name": "val2!@#$312,/'][p098"},],
+ [
+ {"name": "val1"},
+ {"name": "val2!@#$312,/'][p098"},
+ ],
)
def test_estimate_statement_cost(self):
diff --git a/tests/integration_tests/explore/permalink/api_tests.py b/tests/integration_tests/explore/permalink/api_tests.py
index 37b0d2455d80c..a44bc70a7b49a 100644
--- a/tests/integration_tests/explore/permalink/api_tests.py
+++ b/tests/integration_tests/explore/permalink/api_tests.py
@@ -16,14 +16,16 @@
# under the License.
import json
import pickle
-from typing import Any, Dict
-from uuid import UUID
+from typing import Any, Dict, Iterator
+from uuid import uuid3
import pytest
from sqlalchemy.orm import Session
from superset import db
from superset.key_value.models import KeyValueEntry
+from superset.key_value.types import KeyValueResource
+from superset.key_value.utils import decode_permalink_id, encode_permalink_key
from superset.models.slice import Slice
from tests.integration_tests.base_tests import login
from tests.integration_tests.fixtures.client import client
@@ -51,7 +53,23 @@ def form_data(chart) -> Dict[str, Any]:
}
-def test_post(client, form_data):
+@pytest.fixture
+def permalink_salt() -> Iterator[str]:
+ from superset.key_value.shared_entries import get_permalink_salt, get_uuid_namespace
+ from superset.key_value.types import SharedKey
+
+ key = SharedKey.EXPLORE_PERMALINK_SALT
+ salt = get_permalink_salt(key)
+ yield salt
+ namespace = get_uuid_namespace(salt)
+ db.session.query(KeyValueEntry).filter_by(
+ resource=KeyValueResource.APP,
+ uuid=uuid3(namespace, key),
+ )
+ db.session.commit()
+
+
+def test_post(client, form_data: Dict[str, Any], permalink_salt: str):
login(client, "admin")
resp = client.post(f"api/v1/explore/permalink", json={"formData": form_data})
assert resp.status_code == 201
@@ -59,7 +77,8 @@ def test_post(client, form_data):
key = data["key"]
url = data["url"]
assert key in url
- db.session.query(KeyValueEntry).filter_by(uuid=key).delete()
+ id_ = decode_permalink_id(key, permalink_salt)
+ db.session.query(KeyValueEntry).filter_by(id=id_).delete()
db.session.commit()
@@ -69,21 +88,18 @@ def test_post_access_denied(client, form_data):
assert resp.status_code == 404
-def test_get_missing_chart(client, chart):
+def test_get_missing_chart(client, chart, permalink_salt: str) -> None:
from superset.key_value.models import KeyValueEntry
- key = 1234
- uuid_key = "e2ea9d19-7988-4862-aa69-c3a1a7628cb9"
+ chart_id = 1234
entry = KeyValueEntry(
- id=int(key),
- uuid=UUID("e2ea9d19-7988-4862-aa69-c3a1a7628cb9"),
- resource="explore_permalink",
+ resource=KeyValueResource.EXPLORE_PERMALINK,
value=pickle.dumps(
{
- "chartId": key,
+ "chartId": chart_id,
"datasetId": chart.datasource.id,
"formData": {
- "slice_id": key,
+ "slice_id": chart_id,
"datasource": f"{chart.datasource.id}__{chart.datasource.type}",
},
}
@@ -91,20 +107,21 @@ def test_get_missing_chart(client, chart):
)
db.session.add(entry)
db.session.commit()
+ key = encode_permalink_key(entry.id, permalink_salt)
login(client, "admin")
- resp = client.get(f"api/v1/explore/permalink/{uuid_key}")
+ resp = client.get(f"api/v1/explore/permalink/{key}")
assert resp.status_code == 404
db.session.delete(entry)
db.session.commit()
-def test_post_invalid_schema(client):
+def test_post_invalid_schema(client) -> None:
login(client, "admin")
resp = client.post(f"api/v1/explore/permalink", json={"abc": 123})
assert resp.status_code == 400
-def test_get(client, form_data):
+def test_get(client, form_data: Dict[str, Any], permalink_salt: str) -> None:
login(client, "admin")
resp = client.post(f"api/v1/explore/permalink", json={"formData": form_data})
data = json.loads(resp.data.decode("utf-8"))
@@ -113,5 +130,6 @@ def test_get(client, form_data):
assert resp.status_code == 200
result = json.loads(resp.data.decode("utf-8"))
assert result["state"]["formData"] == form_data
- db.session.query(KeyValueEntry).filter_by(uuid=key).delete()
+ id_ = decode_permalink_id(key, permalink_salt)
+ db.session.query(KeyValueEntry).filter_by(id=id_).delete()
db.session.commit()
diff --git a/tests/integration_tests/extensions/metastore_cache_test.py b/tests/integration_tests/extensions/metastore_cache_test.py
index eb264c983f95b..d9e0e9ee26f5e 100644
--- a/tests/integration_tests/extensions/metastore_cache_test.py
+++ b/tests/integration_tests/extensions/metastore_cache_test.py
@@ -40,7 +40,8 @@ def cache() -> SupersetMetastoreCache:
from superset.extensions.metastore_cache import SupersetMetastoreCache
return SupersetMetastoreCache(
- namespace=UUID("ee173d1b-ccf3-40aa-941c-985c15224496"), default_timeout=600,
+ namespace=UUID("ee173d1b-ccf3-40aa-941c-985c15224496"),
+ default_timeout=600,
)
diff --git a/tests/integration_tests/fixtures/birth_names_dashboard.py b/tests/integration_tests/fixtures/birth_names_dashboard.py
index 685cf43f581fa..ef71803aa5db7 100644
--- a/tests/integration_tests/fixtures/birth_names_dashboard.py
+++ b/tests/integration_tests/fixtures/birth_names_dashboard.py
@@ -76,7 +76,9 @@ def _create_dashboards():
def _create_table(
- table_name: str, database: "Database", fetch_values_predicate: Optional[str] = None,
+ table_name: str,
+ database: "Database",
+ fetch_values_predicate: Optional[str] = None,
):
table = create_table_metadata(
table_name=table_name,
diff --git a/tests/integration_tests/fixtures/importexport.py b/tests/integration_tests/fixtures/importexport.py
index 3ec3d8f0935a4..18bec4f17995b 100644
--- a/tests/integration_tests/fixtures/importexport.py
+++ b/tests/integration_tests/fixtures/importexport.py
@@ -449,7 +449,7 @@
"dataset_uuid": "10808100-158b-42c4-842e-f32b99d88dfb",
}
-dashboard_config = {
+dashboard_config: Dict[str, Any] = {
"dashboard_title": "Test dash",
"description": None,
"css": "",
@@ -492,7 +492,9 @@
},
"metadata": {
"timed_refresh_immune_slices": [83],
- "filter_scopes": {"83": {"region": {"scope": ["ROOT_ID"], "immune": [83]}},},
+ "filter_scopes": {
+ "83": {"region": {"scope": ["ROOT_ID"], "immune": [83]}},
+ },
"expanded_slices": {"83": True},
"refresh_frequency": 0,
"default_filters": "{}",
diff --git a/tests/integration_tests/form_tests.py b/tests/integration_tests/form_tests.py
index b15dfdea79a54..078a9866ee975 100644
--- a/tests/integration_tests/form_tests.py
+++ b/tests/integration_tests/form_tests.py
@@ -23,11 +23,11 @@
class TestForm(SupersetTestCase):
def test_comma_separated_list_field(self):
field = CommaSeparatedListField().bind(Form(), "foo")
- field.process_formdata([u""])
- self.assertEqual(field.data, [u""])
+ field.process_formdata([""])
+ self.assertEqual(field.data, [""])
field.process_formdata(["a,comma,separated,list"])
- self.assertEqual(field.data, [u"a", u"comma", u"separated", u"list"])
+ self.assertEqual(field.data, ["a", "comma", "separated", "list"])
def test_filter_not_empty_values(self):
self.assertEqual(filter_not_empty_values(None), None)
diff --git a/tests/integration_tests/import_export_tests.py b/tests/integration_tests/import_export_tests.py
index f34cf621506d2..67d2a89d866ff 100644
--- a/tests/integration_tests/import_export_tests.py
+++ b/tests/integration_tests/import_export_tests.py
@@ -287,8 +287,10 @@ def test_export_2_dashboards(self):
self.login("admin")
birth_dash = self.get_dash_by_slug("births")
world_health_dash = self.get_dash_by_slug("world_health")
- export_dash_url = "/dashboard/export_dashboards_form?id={}&id={}&action=go".format(
- birth_dash.id, world_health_dash.id
+ export_dash_url = (
+ "/dashboard/export_dashboards_form?id={}&id={}&action=go".format(
+ birth_dash.id, world_health_dash.id
+ )
)
resp = self.client.get(export_dash_url)
resp_data = json.loads(resp.data.decode("utf-8"), object_hook=decode_dashboards)
diff --git a/tests/integration_tests/key_value/commands/create_test.py b/tests/integration_tests/key_value/commands/create_test.py
index 22a1b517485c8..2718aa822c3e4 100644
--- a/tests/integration_tests/key_value/commands/create_test.py
+++ b/tests/integration_tests/key_value/commands/create_test.py
@@ -36,12 +36,8 @@ def test_create_id_entry(app_context: AppContext, admin: User) -> None:
from superset.key_value.commands.create import CreateKeyValueCommand
from superset.key_value.models import KeyValueEntry
- key = CreateKeyValueCommand(
- actor=admin, resource=RESOURCE, value=VALUE, key_type="id",
- ).run()
- entry = (
- db.session.query(KeyValueEntry).filter_by(id=int(key)).autoflush(False).one()
- )
+ key = CreateKeyValueCommand(actor=admin, resource=RESOURCE, value=VALUE).run()
+ entry = db.session.query(KeyValueEntry).filter_by(id=key.id).autoflush(False).one()
assert pickle.loads(entry.value) == VALUE
assert entry.created_by_fk == admin.id
db.session.delete(entry)
@@ -52,11 +48,9 @@ def test_create_uuid_entry(app_context: AppContext, admin: User) -> None:
from superset.key_value.commands.create import CreateKeyValueCommand
from superset.key_value.models import KeyValueEntry
- key = CreateKeyValueCommand(
- actor=admin, resource=RESOURCE, value=VALUE, key_type="uuid",
- ).run()
+ key = CreateKeyValueCommand(actor=admin, resource=RESOURCE, value=VALUE).run()
entry = (
- db.session.query(KeyValueEntry).filter_by(uuid=UUID(key)).autoflush(False).one()
+ db.session.query(KeyValueEntry).filter_by(uuid=key.uuid).autoflush(False).one()
)
assert pickle.loads(entry.value) == VALUE
assert entry.created_by_fk == admin.id
diff --git a/tests/integration_tests/key_value/commands/delete_test.py b/tests/integration_tests/key_value/commands/delete_test.py
index a98d941175153..62f9883370cf1 100644
--- a/tests/integration_tests/key_value/commands/delete_test.py
+++ b/tests/integration_tests/key_value/commands/delete_test.py
@@ -30,8 +30,8 @@
if TYPE_CHECKING:
from superset.key_value.models import KeyValueEntry
-ID_KEY = "234"
-UUID_KEY = "5aae143c-44f1-478e-9153-ae6154df333a"
+ID_KEY = 234
+UUID_KEY = UUID("5aae143c-44f1-478e-9153-ae6154df333a")
@pytest.fixture
@@ -39,8 +39,8 @@ def key_value_entry() -> KeyValueEntry:
from superset.key_value.models import KeyValueEntry
entry = KeyValueEntry(
- id=int(ID_KEY),
- uuid=UUID(UUID_KEY),
+ id=ID_KEY,
+ uuid=UUID_KEY,
resource=RESOURCE,
value=pickle.dumps(VALUE),
)
@@ -50,36 +50,33 @@ def key_value_entry() -> KeyValueEntry:
def test_delete_id_entry(
- app_context: AppContext, admin: User, key_value_entry: KeyValueEntry,
+ app_context: AppContext,
+ admin: User,
+ key_value_entry: KeyValueEntry,
) -> None:
from superset.key_value.commands.delete import DeleteKeyValueCommand
from superset.key_value.models import KeyValueEntry
- assert (
- DeleteKeyValueCommand(resource=RESOURCE, key=ID_KEY, key_type="id",).run()
- is True
- )
+ assert DeleteKeyValueCommand(resource=RESOURCE, key=ID_KEY).run() is True
def test_delete_uuid_entry(
- app_context: AppContext, admin: User, key_value_entry: KeyValueEntry,
+ app_context: AppContext,
+ admin: User,
+ key_value_entry: KeyValueEntry,
) -> None:
from superset.key_value.commands.delete import DeleteKeyValueCommand
from superset.key_value.models import KeyValueEntry
- assert (
- DeleteKeyValueCommand(resource=RESOURCE, key=UUID_KEY, key_type="uuid").run()
- is True
- )
+ assert DeleteKeyValueCommand(resource=RESOURCE, key=UUID_KEY).run() is True
def test_delete_entry_missing(
- app_context: AppContext, admin: User, key_value_entry: KeyValueEntry,
+ app_context: AppContext,
+ admin: User,
+ key_value_entry: KeyValueEntry,
) -> None:
from superset.key_value.commands.delete import DeleteKeyValueCommand
from superset.key_value.models import KeyValueEntry
- assert (
- DeleteKeyValueCommand(resource=RESOURCE, key="456", key_type="id").run()
- is False
- )
+ assert DeleteKeyValueCommand(resource=RESOURCE, key=456).run() is False
diff --git a/tests/integration_tests/key_value/commands/fixtures.py b/tests/integration_tests/key_value/commands/fixtures.py
index 44e12f7854cb2..2fd4fde4e1dc3 100644
--- a/tests/integration_tests/key_value/commands/fixtures.py
+++ b/tests/integration_tests/key_value/commands/fixtures.py
@@ -26,14 +26,15 @@
from sqlalchemy.orm import Session
from superset.extensions import db
+from superset.key_value.types import KeyValueResource
from tests.integration_tests.test_app import app
if TYPE_CHECKING:
from superset.key_value.models import KeyValueEntry
-ID_KEY = "123"
-UUID_KEY = "3e7a2ab8-bcaf-49b0-a5df-dfb432f291cc"
-RESOURCE = "my_resource"
+ID_KEY = 123
+UUID_KEY = UUID("3e7a2ab8-bcaf-49b0-a5df-dfb432f291cc")
+RESOURCE = KeyValueResource.APP
VALUE = {"foo": "bar"}
@@ -42,8 +43,8 @@ def key_value_entry() -> Generator[KeyValueEntry, None, None]:
from superset.key_value.models import KeyValueEntry
entry = KeyValueEntry(
- id=int(ID_KEY),
- uuid=UUID(UUID_KEY),
+ id=ID_KEY,
+ uuid=UUID_KEY,
resource=RESOURCE,
value=pickle.dumps(VALUE),
)
diff --git a/tests/integration_tests/key_value/commands/get_test.py b/tests/integration_tests/key_value/commands/get_test.py
index 20efa9dfbd4c5..b1800a4c3b9a3 100644
--- a/tests/integration_tests/key_value/commands/get_test.py
+++ b/tests/integration_tests/key_value/commands/get_test.py
@@ -39,7 +39,7 @@
def test_get_id_entry(app_context: AppContext, key_value_entry: KeyValueEntry) -> None:
from superset.key_value.commands.get import GetKeyValueCommand
- value = GetKeyValueCommand(resource=RESOURCE, key=ID_KEY, key_type="id").run()
+ value = GetKeyValueCommand(resource=RESOURCE, key=ID_KEY).run()
assert value == VALUE
@@ -48,16 +48,17 @@ def test_get_uuid_entry(
) -> None:
from superset.key_value.commands.get import GetKeyValueCommand
- value = GetKeyValueCommand(resource=RESOURCE, key=UUID_KEY, key_type="uuid").run()
+ value = GetKeyValueCommand(resource=RESOURCE, key=UUID_KEY).run()
assert value == VALUE
def test_get_id_entry_missing(
- app_context: AppContext, key_value_entry: KeyValueEntry,
+ app_context: AppContext,
+ key_value_entry: KeyValueEntry,
) -> None:
from superset.key_value.commands.get import GetKeyValueCommand
- value = GetKeyValueCommand(resource=RESOURCE, key="456", key_type="id").run()
+ value = GetKeyValueCommand(resource=RESOURCE, key=456).run()
assert value is None
@@ -74,7 +75,7 @@ def test_get_expired_entry(app_context: AppContext) -> None:
)
db.session.add(entry)
db.session.commit()
- value = GetKeyValueCommand(resource=RESOURCE, key=ID_KEY, key_type="id").run()
+ value = GetKeyValueCommand(resource=RESOURCE, key=ID_KEY).run()
assert value is None
db.session.delete(entry)
db.session.commit()
@@ -94,7 +95,7 @@ def test_get_future_expiring_entry(app_context: AppContext) -> None:
)
db.session.add(entry)
db.session.commit()
- value = GetKeyValueCommand(resource=RESOURCE, key=str(id_), key_type="id").run()
+ value = GetKeyValueCommand(resource=RESOURCE, key=id_).run()
assert value == VALUE
db.session.delete(entry)
db.session.commit()
diff --git a/tests/integration_tests/key_value/commands/update_test.py b/tests/integration_tests/key_value/commands/update_test.py
index 1fbc84d59e332..3b24ecdf0a300 100644
--- a/tests/integration_tests/key_value/commands/update_test.py
+++ b/tests/integration_tests/key_value/commands/update_test.py
@@ -40,48 +40,56 @@
def test_update_id_entry(
- app_context: AppContext, admin: User, key_value_entry: KeyValueEntry,
+ app_context: AppContext,
+ admin: User,
+ key_value_entry: KeyValueEntry,
) -> None:
from superset.key_value.commands.update import UpdateKeyValueCommand
from superset.key_value.models import KeyValueEntry
key = UpdateKeyValueCommand(
- actor=admin, resource=RESOURCE, key=ID_KEY, value=NEW_VALUE, key_type="id",
+ actor=admin,
+ resource=RESOURCE,
+ key=ID_KEY,
+ value=NEW_VALUE,
).run()
- assert key == ID_KEY
- entry = (
- db.session.query(KeyValueEntry).filter_by(id=int(ID_KEY)).autoflush(False).one()
- )
+ assert key is not None
+ assert key.id == ID_KEY
+ entry = db.session.query(KeyValueEntry).filter_by(id=ID_KEY).autoflush(False).one()
assert pickle.loads(entry.value) == NEW_VALUE
assert entry.changed_by_fk == admin.id
def test_update_uuid_entry(
- app_context: AppContext, admin: User, key_value_entry: KeyValueEntry,
+ app_context: AppContext,
+ admin: User,
+ key_value_entry: KeyValueEntry,
) -> None:
from superset.key_value.commands.update import UpdateKeyValueCommand
from superset.key_value.models import KeyValueEntry
key = UpdateKeyValueCommand(
- actor=admin, resource=RESOURCE, key=UUID_KEY, value=NEW_VALUE, key_type="uuid",
+ actor=admin,
+ resource=RESOURCE,
+ key=UUID_KEY,
+ value=NEW_VALUE,
).run()
- assert key == UUID_KEY
+ assert key is not None
+ assert key.uuid == UUID_KEY
entry = (
- db.session.query(KeyValueEntry)
- .filter_by(uuid=UUID(UUID_KEY))
- .autoflush(False)
- .one()
+ db.session.query(KeyValueEntry).filter_by(uuid=UUID_KEY).autoflush(False).one()
)
assert pickle.loads(entry.value) == NEW_VALUE
assert entry.changed_by_fk == admin.id
-def test_update_missing_entry(
- app_context: AppContext, admin: User, key_value_entry: KeyValueEntry,
-) -> None:
+def test_update_missing_entry(app_context: AppContext, admin: User) -> None:
from superset.key_value.commands.update import UpdateKeyValueCommand
key = UpdateKeyValueCommand(
- actor=admin, resource=RESOURCE, key="456", value=NEW_VALUE, key_type="id",
+ actor=admin,
+ resource=RESOURCE,
+ key=456,
+ value=NEW_VALUE,
).run()
assert key is None
diff --git a/tests/integration_tests/key_value/commands/upsert_test.py b/tests/integration_tests/key_value/commands/upsert_test.py
index 3221147839d1c..1970a1fc2c293 100644
--- a/tests/integration_tests/key_value/commands/upsert_test.py
+++ b/tests/integration_tests/key_value/commands/upsert_test.py
@@ -40,15 +40,21 @@
def test_upsert_id_entry(
- app_context: AppContext, admin: User, key_value_entry: KeyValueEntry,
+ app_context: AppContext,
+ admin: User,
+ key_value_entry: KeyValueEntry,
) -> None:
from superset.key_value.commands.upsert import UpsertKeyValueCommand
from superset.key_value.models import KeyValueEntry
key = UpsertKeyValueCommand(
- actor=admin, resource=RESOURCE, key=ID_KEY, value=NEW_VALUE, key_type="id",
+ actor=admin,
+ resource=RESOURCE,
+ key=ID_KEY,
+ value=NEW_VALUE,
).run()
- assert key == ID_KEY
+ assert key is not None
+ assert key.id == ID_KEY
entry = (
db.session.query(KeyValueEntry).filter_by(id=int(ID_KEY)).autoflush(False).one()
)
@@ -57,34 +63,39 @@ def test_upsert_id_entry(
def test_upsert_uuid_entry(
- app_context: AppContext, admin: User, key_value_entry: KeyValueEntry,
+ app_context: AppContext,
+ admin: User,
+ key_value_entry: KeyValueEntry,
) -> None:
from superset.key_value.commands.upsert import UpsertKeyValueCommand
from superset.key_value.models import KeyValueEntry
key = UpsertKeyValueCommand(
- actor=admin, resource=RESOURCE, key=UUID_KEY, value=NEW_VALUE, key_type="uuid",
+ actor=admin,
+ resource=RESOURCE,
+ key=UUID_KEY,
+ value=NEW_VALUE,
).run()
- assert key == UUID_KEY
+ assert key is not None
+ assert key.uuid == UUID_KEY
entry = (
- db.session.query(KeyValueEntry)
- .filter_by(uuid=UUID(UUID_KEY))
- .autoflush(False)
- .one()
+ db.session.query(KeyValueEntry).filter_by(uuid=UUID_KEY).autoflush(False).one()
)
assert pickle.loads(entry.value) == NEW_VALUE
assert entry.changed_by_fk == admin.id
-def test_upsert_missing_entry(
- app_context: AppContext, admin: User, key_value_entry: KeyValueEntry,
-) -> None:
+def test_upsert_missing_entry(app_context: AppContext, admin: User) -> None:
from superset.key_value.commands.upsert import UpsertKeyValueCommand
from superset.key_value.models import KeyValueEntry
key = UpsertKeyValueCommand(
- actor=admin, resource=RESOURCE, key="456", value=NEW_VALUE, key_type="id",
+ actor=admin,
+ resource=RESOURCE,
+ key=456,
+ value=NEW_VALUE,
).run()
- assert key == "456"
+ assert key is not None
+ assert key.id == 456
db.session.query(KeyValueEntry).filter_by(id=456).delete()
db.session.commit()
diff --git a/tests/integration_tests/log_api_tests.py b/tests/integration_tests/log_api_tests.py
index e5f78c754146e..089ac07921c5a 100644
--- a/tests/integration_tests/log_api_tests.py
+++ b/tests/integration_tests/log_api_tests.py
@@ -77,7 +77,7 @@ def test_not_enabled(self):
def test_get_list(self):
"""
- Log API: Test get list
+ Log API: Test get list
"""
admin_user = self.get_user("admin")
log = self.insert_log("some_action", admin_user)
@@ -95,7 +95,7 @@ def test_get_list(self):
def test_get_list_not_allowed(self):
"""
- Log API: Test get list
+ Log API: Test get list
"""
admin_user = self.get_user("admin")
log = self.insert_log("action", admin_user)
@@ -109,7 +109,7 @@ def test_get_list_not_allowed(self):
def test_get_item(self):
"""
- Log API: Test get item
+ Log API: Test get item
"""
admin_user = self.get_user("admin")
log = self.insert_log("some_action", admin_user)
@@ -127,7 +127,7 @@ def test_get_item(self):
def test_delete_log(self):
"""
- Log API: Test delete (does not exist)
+ Log API: Test delete (does not exist)
"""
admin_user = self.get_user("admin")
log = self.insert_log("action", admin_user)
@@ -140,7 +140,7 @@ def test_delete_log(self):
def test_update_log(self):
"""
- Log API: Test update (does not exist)
+ Log API: Test update (does not exist)
"""
admin_user = self.get_user("admin")
log = self.insert_log("action", admin_user)
diff --git a/tests/integration_tests/migrations/f1410ed7ec95_tests.py b/tests/integration_tests/migrations/f1410ed7ec95_tests.py
index 2b48b56762b05..c60d0a74beb5c 100644
--- a/tests/integration_tests/migrations/f1410ed7ec95_tests.py
+++ b/tests/integration_tests/migrations/f1410ed7ec95_tests.py
@@ -48,7 +48,11 @@
{
"filterType": "filter_select",
"cascadingFilters": True,
- "defaultDataMask": {"filterState": {"value": ["Albania", "Algeria"],},},
+ "defaultDataMask": {
+ "filterState": {
+ "value": ["Albania", "Algeria"],
+ },
+ },
}
],
"filter_sets_configuration": [
@@ -58,7 +62,9 @@
"filterType": "filter_select",
"cascadingFilters": True,
"defaultDataMask": {
- "filterState": {"value": ["Albania", "Algeria"],},
+ "filterState": {
+ "value": ["Albania", "Algeria"],
+ },
},
},
},
diff --git a/tests/integration_tests/model_tests.py b/tests/integration_tests/model_tests.py
index c6388601354d4..8f90d46a9aa9b 100644
--- a/tests/integration_tests/model_tests.py
+++ b/tests/integration_tests/model_tests.py
@@ -355,13 +355,15 @@ def test_username_param(self, mocked_get_sqla_engine):
if main_db.backend == "mysql":
main_db.get_df("USE superset; SELECT 1", username=test_username)
mocked_get_sqla_engine.assert_called_with(
- schema=None, user_name="test_username_param",
+ schema=None,
+ user_name="test_username_param",
)
@mock.patch("superset.models.core.create_engine")
def test_get_sqla_engine(self, mocked_create_engine):
model = Database(
- database_name="test_database", sqlalchemy_uri="mysql://root@localhost",
+ database_name="test_database",
+ sqlalchemy_uri="mysql://root@localhost",
)
model.db_engine_spec.get_dbapi_exception_mapping = mock.Mock(
return_value={Exception: SupersetException}
@@ -568,7 +570,9 @@ def test_data_for_slices_with_no_query_context(self):
slc = (
metadata_db.session.query(Slice)
.filter_by(
- datasource_id=tbl.id, datasource_type=tbl.type, slice_name="Genders",
+ datasource_id=tbl.id,
+ datasource_type=tbl.type,
+ slice_name="Genders",
)
.first()
)
diff --git a/tests/integration_tests/query_context_tests.py b/tests/integration_tests/query_context_tests.py
index b2f28186ada32..816267678f9e0 100644
--- a/tests/integration_tests/query_context_tests.py
+++ b/tests/integration_tests/query_context_tests.py
@@ -91,7 +91,8 @@ def test_schema_deserialization(self):
def test_cache(self):
table_name = "birth_names"
payload = get_query_context(
- query_name=table_name, add_postprocessing_operations=True,
+ query_name=table_name,
+ add_postprocessing_operations=True,
)
payload["force"] = True
@@ -443,12 +444,16 @@ def test_handle_sort_by_metrics(self):
else:
# Should reference the adhoc metric by alias when possible
assert re.search(
- r'ORDER BY [`"\[]?num_girls[`"\]]? DESC', sql_text, re.IGNORECASE,
+ r'ORDER BY [`"\[]?num_girls[`"\]]? DESC',
+ sql_text,
+ re.IGNORECASE,
)
# ORDER BY only columns should always be expressions
assert re.search(
- r'AVG\([`"\[]?num_boys[`"\]]?\) DESC', sql_text, re.IGNORECASE,
+ r'AVG\([`"\[]?num_boys[`"\]]?\) DESC',
+ sql_text,
+ re.IGNORECASE,
)
assert re.search(
r"MAX\(CASE.*END\) ASC", sql_text, re.IGNORECASE | re.DOTALL
@@ -573,7 +578,10 @@ def test_processing_time_offsets_cache(self):
payload["queries"][0]["time_offsets"] = []
query_context = ChartDataQueryContextSchema().load(payload)
query_object = query_context.queries[0]
- rv = query_context.processing_time_offsets(df, query_object,)
+ rv = query_context.processing_time_offsets(
+ df,
+ query_object,
+ )
self.assertIs(rv["df"], df)
self.assertEqual(rv["queries"], [])
self.assertEqual(rv["cache_keys"], [])
diff --git a/tests/integration_tests/reports/commands_tests.py b/tests/integration_tests/reports/commands_tests.py
index f914941e919e9..a334854d58de3 100644
--- a/tests/integration_tests/reports/commands_tests.py
+++ b/tests/integration_tests/reports/commands_tests.py
@@ -308,7 +308,12 @@ def create_report_email_tabbed_dashboard(tabbed_dashboard):
report_schedule = create_report_notification(
email_target="target@email.com",
dashboard=tabbed_dashboard,
- extra={"dashboard_tab_ids": ["TAB-j53G4gtKGF", "TAB-nerWR09Ju",]},
+ extra={
+ "dashboard_tab_ids": [
+ "TAB-j53G4gtKGF",
+ "TAB-nerWR09Ju",
+ ]
+ },
)
yield report_schedule
cleanup_report_schedule(report_schedule)
@@ -409,7 +414,9 @@ def create_alert_slack_chart_success():
@pytest.fixture(
- params=["alert1",]
+ params=[
+ "alert1",
+ ]
)
def create_alert_slack_chart_grace(request):
param_config = {
@@ -687,7 +694,9 @@ def create_invalid_sql_alert_email_chart(request):
@patch("superset.reports.notifications.email.send_email_smtp")
@patch("superset.utils.screenshots.ChartScreenshot.get_screenshot")
def test_email_chart_report_schedule(
- screenshot_mock, email_mock, create_report_email_chart,
+ screenshot_mock,
+ email_mock,
+ create_report_email_chart,
):
"""
ExecuteReport Command: Test chart email report schedule with screenshot
@@ -727,7 +736,9 @@ def test_email_chart_report_schedule(
@patch("superset.reports.notifications.email.send_email_smtp")
@patch("superset.utils.screenshots.ChartScreenshot.get_screenshot")
def test_email_chart_report_schedule_force_screenshot(
- screenshot_mock, email_mock, create_report_email_chart_force_screenshot,
+ screenshot_mock,
+ email_mock,
+ create_report_email_chart_force_screenshot,
):
"""
ExecuteReport Command: Test chart email report schedule with screenshot
@@ -769,7 +780,9 @@ def test_email_chart_report_schedule_force_screenshot(
@patch("superset.reports.notifications.email.send_email_smtp")
@patch("superset.utils.screenshots.ChartScreenshot.get_screenshot")
def test_email_chart_alert_schedule(
- screenshot_mock, email_mock, create_alert_email_chart,
+ screenshot_mock,
+ email_mock,
+ create_alert_email_chart,
):
"""
ExecuteReport Command: Test chart email alert schedule with screenshot
@@ -806,7 +819,9 @@ def test_email_chart_alert_schedule(
@patch("superset.reports.notifications.email.send_email_smtp")
@patch("superset.utils.screenshots.ChartScreenshot.get_screenshot")
def test_email_chart_report_dry_run(
- screenshot_mock, email_mock, create_report_email_chart,
+ screenshot_mock,
+ email_mock,
+ create_report_email_chart,
):
"""
ExecuteReport Command: Test chart email report schedule dry run
@@ -831,7 +846,11 @@ def test_email_chart_report_dry_run(
@patch("superset.reports.notifications.email.send_email_smtp")
@patch("superset.utils.csv.get_chart_csv_data")
def test_email_chart_report_schedule_with_csv(
- csv_mock, email_mock, mock_open, mock_urlopen, create_report_email_chart_with_csv,
+ csv_mock,
+ email_mock,
+ mock_open,
+ mock_urlopen,
+ create_report_email_chart_with_csv,
):
"""
ExecuteReport Command: Test chart email report schedule with CSV
@@ -1055,7 +1074,9 @@ def test_email_dashboard_report_schedule_force_screenshot(
@patch("superset.reports.notifications.slack.WebClient.files_upload")
@patch("superset.utils.screenshots.ChartScreenshot.get_screenshot")
def test_slack_chart_report_schedule(
- screenshot_mock, file_upload_mock, create_report_slack_chart,
+ screenshot_mock,
+ file_upload_mock,
+ create_report_slack_chart,
):
"""
ExecuteReport Command: Test chart slack report schedule
@@ -1279,7 +1300,9 @@ def test_report_schedule_success_grace_end(
@patch("superset.reports.notifications.email.send_email_smtp")
@patch("superset.utils.screenshots.ChartScreenshot.get_screenshot")
def test_alert_limit_is_applied(
- screenshot_mock, email_mock, create_alert_email_chart,
+ screenshot_mock,
+ email_mock,
+ create_alert_email_chart,
):
"""
ExecuteReport Command: Test that all alerts apply a SQL limit to stmts
@@ -1335,7 +1358,9 @@ def test_email_dashboard_report_fails(
ALERTS_ATTACH_REPORTS=True,
)
def test_slack_chart_alert(
- screenshot_mock, email_mock, create_alert_email_chart,
+ screenshot_mock,
+ email_mock,
+ create_alert_email_chart,
):
"""
ExecuteReport Command: Test chart slack alert
@@ -1392,7 +1417,9 @@ def test_slack_chart_alert_no_attachment(email_mock, create_alert_email_chart):
@patch("superset.reports.notifications.slack.WebClient")
@patch("superset.utils.screenshots.ChartScreenshot.get_screenshot")
def test_slack_token_callable_chart_report(
- screenshot_mock, slack_client_mock_class, create_report_slack_chart,
+ screenshot_mock,
+ slack_client_mock_class,
+ create_report_slack_chart,
):
"""
ExecuteReport Command: Test chart slack alert (slack token callable)
@@ -1504,7 +1531,11 @@ def test_soft_timeout_screenshot(screenshot_mock, email_mock, create_alert_email
@patch("superset.reports.notifications.email.send_email_smtp")
@patch("superset.utils.csv.get_chart_csv_data")
def test_soft_timeout_csv(
- csv_mock, email_mock, mock_open, mock_urlopen, create_report_email_chart_with_csv,
+ csv_mock,
+ email_mock,
+ mock_open,
+ mock_urlopen,
+ create_report_email_chart_with_csv,
):
"""
ExecuteReport Command: Test fail on generating csv
@@ -1528,7 +1559,8 @@ def test_soft_timeout_csv(
assert email_mock.call_args[0][0] == OWNER_EMAIL
assert_log(
- ReportState.ERROR, error_message="A timeout occurred while generating a csv.",
+ ReportState.ERROR,
+ error_message="A timeout occurred while generating a csv.",
)
@@ -1540,7 +1572,11 @@ def test_soft_timeout_csv(
@patch("superset.reports.notifications.email.send_email_smtp")
@patch("superset.utils.csv.get_chart_csv_data")
def test_generate_no_csv(
- csv_mock, email_mock, mock_open, mock_urlopen, create_report_email_chart_with_csv,
+ csv_mock,
+ email_mock,
+ mock_open,
+ mock_urlopen,
+ create_report_email_chart_with_csv,
):
"""
ExecuteReport Command: Test fail on generating csv
@@ -1723,7 +1759,9 @@ def test_grace_period_error(email_mock, create_invalid_sql_alert_email_chart):
@patch("superset.reports.notifications.email.send_email_smtp")
@patch("superset.utils.screenshots.ChartScreenshot.get_screenshot")
def test_grace_period_error_flap(
- screenshot_mock, email_mock, create_invalid_sql_alert_email_chart,
+ screenshot_mock,
+ email_mock,
+ create_invalid_sql_alert_email_chart,
):
"""
ExecuteReport Command: Test alert grace period on error
@@ -1800,9 +1838,13 @@ def test_prune_log_soft_time_out(bulk_delete_logs, create_report_email_dashboard
assert str(excinfo.value) == "SoftTimeLimitExceeded()"
-@pytest.mark.usefixtures("create_report_email_tabbed_dashboard",)
+@pytest.mark.usefixtures(
+ "create_report_email_tabbed_dashboard",
+)
@patch("superset.reports.notifications.email.send_email_smtp")
-@patch("superset.reports.commands.execute.DashboardScreenshot",)
+@patch(
+ "superset.reports.commands.execute.DashboardScreenshot",
+)
def test_when_tabs_are_selected_it_takes_screenshots_for_every_tabs(
dashboard_screenshot_mock,
send_email_smtp_mock,
diff --git a/tests/integration_tests/schedules_test.py b/tests/integration_tests/schedules_test.py
deleted file mode 100644
index b5cfe716051ae..0000000000000
--- a/tests/integration_tests/schedules_test.py
+++ /dev/null
@@ -1,596 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-# isort:skip_file
-from datetime import datetime, timedelta
-from superset.views.schedules import DashboardEmailScheduleView, SliceEmailScheduleView
-from unittest.mock import Mock, patch, PropertyMock
-
-from flask_babel import gettext as __
-import pytest
-from selenium.common.exceptions import WebDriverException
-from slack import errors, WebClient
-
-from tests.integration_tests.fixtures.world_bank_dashboard import (
- load_world_bank_dashboard_with_slices,
- load_world_bank_data,
-)
-from tests.integration_tests.test_app import app
-from superset import db
-from superset.models.dashboard import Dashboard
-from superset.models.schedules import (
- DashboardEmailSchedule,
- EmailDeliveryType,
- SliceEmailReportFormat,
- SliceEmailSchedule,
-)
-from superset.tasks.schedules import (
- create_webdriver,
- deliver_dashboard,
- deliver_slice,
- next_schedules,
-)
-from superset.models.slice import Slice
-from tests.integration_tests.base_tests import SupersetTestCase
-from tests.integration_tests.utils import read_fixture
-
-
-class TestSchedules(SupersetTestCase):
-
- RECIPIENTS = "recipient1@superset.com, recipient2@superset.com"
- BCC = "bcc@superset.com"
- CSV = read_fixture("trends.csv")
-
- @pytest.fixture()
- def add_schedule_slice_and_dashboard(self):
- with app.app_context():
- self.common_data = dict(
- active=True,
- crontab="* * * * *",
- recipients=self.RECIPIENTS,
- deliver_as_group=True,
- delivery_type=EmailDeliveryType.inline,
- )
- # Pick up a sample slice and dashboard
- slice = db.session.query(Slice).filter_by(slice_name="Region Filter").one()
- dashboard = (
- db.session.query(Dashboard)
- .filter_by(dashboard_title="World Bank's Data")
- .one()
- )
-
- dashboard_schedule = DashboardEmailSchedule(**self.common_data)
- dashboard_schedule.dashboard_id = dashboard.id
- dashboard_schedule.user_id = 1
- db.session.add(dashboard_schedule)
-
- slice_schedule = SliceEmailSchedule(**self.common_data)
- slice_schedule.slice_id = slice.id
- slice_schedule.user_id = 1
- slice_schedule.email_format = SliceEmailReportFormat.data
- slice_schedule.slack_channel = "#test_channel"
-
- db.session.add(slice_schedule)
- db.session.commit()
-
- self.slice_schedule = slice_schedule.id
- self.dashboard_schedule = dashboard_schedule.id
-
- yield
-
- with app.app_context():
- db.session.query(SliceEmailSchedule).filter_by(
- id=self.slice_schedule
- ).delete()
- db.session.query(DashboardEmailSchedule).filter_by(
- id=self.dashboard_schedule
- ).delete()
- db.session.commit()
-
- def test_crontab_scheduler(self):
- crontab = "* * * * *"
-
- start_at = datetime.now().replace(microsecond=0, second=0, minute=0)
- stop_at = start_at + timedelta(seconds=3600)
-
- # Fire off the task every minute
- schedules = list(next_schedules(crontab, start_at, stop_at, resolution=0))
-
- self.assertEqual(schedules[0], start_at)
- self.assertEqual(schedules[-1], stop_at - timedelta(seconds=60))
- self.assertEqual(len(schedules), 60)
-
- # Fire off the task every 10 minutes, controlled via resolution
- schedules = list(next_schedules(crontab, start_at, stop_at, resolution=10 * 60))
-
- self.assertEqual(schedules[0], start_at)
- self.assertEqual(schedules[-1], stop_at - timedelta(seconds=10 * 60))
- self.assertEqual(len(schedules), 6)
-
- # Fire off the task every 12 minutes, controlled via resolution
- schedules = list(next_schedules(crontab, start_at, stop_at, resolution=12 * 60))
-
- self.assertEqual(schedules[0], start_at)
- self.assertEqual(schedules[-1], stop_at - timedelta(seconds=12 * 60))
- self.assertEqual(len(schedules), 5)
-
- def test_wider_schedules(self):
- crontab = "*/15 2,10 * * *"
-
- for hour in range(0, 24):
- start_at = datetime.now().replace(
- microsecond=0, second=0, minute=0, hour=hour
- )
- stop_at = start_at + timedelta(seconds=3600)
- schedules = list(next_schedules(crontab, start_at, stop_at, resolution=0))
-
- if hour in (2, 10):
- self.assertEqual(len(schedules), 4)
- else:
- self.assertEqual(len(schedules), 0)
-
- def test_complex_schedule(self):
- # Run the job on every Friday of March and May
- # On these days, run the job at
- # 5:10 pm
- # 5:11 pm
- # 5:12 pm
- # 5:13 pm
- # 5:14 pm
- # 5:15 pm
- # 5:25 pm
- # 5:28 pm
- # 5:31 pm
- # 5:34 pm
- # 5:37 pm
- # 5:40 pm
- crontab = "10-15,25-40/3 17 * 3,5 5"
- start_at = datetime.strptime("2018/01/01", "%Y/%m/%d")
- stop_at = datetime.strptime("2018/12/31", "%Y/%m/%d")
-
- schedules = list(next_schedules(crontab, start_at, stop_at, resolution=60))
- self.assertEqual(len(schedules), 108)
- fmt = "%Y-%m-%d %H:%M:%S"
- self.assertEqual(schedules[0], datetime.strptime("2018-03-02 17:10:00", fmt))
- self.assertEqual(schedules[-1], datetime.strptime("2018-05-25 17:40:00", fmt))
- self.assertEqual(schedules[59], datetime.strptime("2018-03-30 17:40:00", fmt))
- self.assertEqual(schedules[60], datetime.strptime("2018-05-04 17:10:00", fmt))
-
- @patch("superset.tasks.schedules.firefox.webdriver.WebDriver")
- def test_create_driver(self, mock_driver_class):
- mock_driver = Mock()
- mock_driver_class.return_value = mock_driver
- mock_driver.find_elements_by_id.side_effect = [True, False]
-
- create_webdriver(db.session)
- mock_driver.add_cookie.assert_called_once()
-
- @pytest.mark.usefixtures(
- "load_world_bank_dashboard_with_slices", "add_schedule_slice_and_dashboard"
- )
- @patch("superset.tasks.schedules.firefox.webdriver.WebDriver")
- @patch("superset.tasks.schedules.send_email_smtp")
- @patch("superset.tasks.schedules.time")
- def test_deliver_dashboard_inline(self, mtime, send_email_smtp, driver_class):
- element = Mock()
- driver = Mock()
- mtime.sleep.return_value = None
-
- driver_class.return_value = driver
-
- # Ensure that we are able to login with the driver
- driver.find_elements_by_id.side_effect = [True, False]
- driver.find_element_by_class_name.return_value = element
- element.screenshot_as_png = read_fixture("sample.png")
-
- schedule = (
- db.session.query(DashboardEmailSchedule)
- .filter_by(id=self.dashboard_schedule)
- .one()
- )
-
- deliver_dashboard(
- schedule.dashboard_id,
- schedule.recipients,
- schedule.slack_channel,
- schedule.delivery_type,
- schedule.deliver_as_group,
- )
-
- mtime.sleep.assert_called_once()
- driver.screenshot.assert_not_called()
- send_email_smtp.assert_called_once()
-
- @pytest.mark.usefixtures(
- "load_world_bank_dashboard_with_slices", "add_schedule_slice_and_dashboard"
- )
- @patch("superset.tasks.schedules.firefox.webdriver.WebDriver")
- @patch("superset.tasks.schedules.send_email_smtp")
- @patch("superset.tasks.schedules.time")
- def test_deliver_dashboard_as_attachment(
- self, mtime, send_email_smtp, driver_class
- ):
- element = Mock()
- driver = Mock()
- mtime.sleep.return_value = None
-
- driver_class.return_value = driver
-
- # Ensure that we are able to login with the driver
- driver.find_elements_by_id.side_effect = [True, False]
- driver.find_element_by_id.return_value = element
- driver.find_element_by_class_name.return_value = element
- element.screenshot_as_png = read_fixture("sample.png")
-
- schedule = (
- db.session.query(DashboardEmailSchedule)
- .filter_by(id=self.dashboard_schedule)
- .one()
- )
-
- schedule.delivery_type = EmailDeliveryType.attachment
-
- deliver_dashboard(
- schedule.dashboard_id,
- schedule.recipients,
- schedule.slack_channel,
- schedule.delivery_type,
- schedule.deliver_as_group,
- )
-
- mtime.sleep.assert_called_once()
- driver.screenshot.assert_not_called()
- send_email_smtp.assert_called_once()
- self.assertIsNone(send_email_smtp.call_args[1]["images"])
- self.assertEqual(
- send_email_smtp.call_args[1]["data"]["screenshot"],
- element.screenshot_as_png,
- )
-
- @pytest.mark.usefixtures(
- "load_world_bank_dashboard_with_slices", "add_schedule_slice_and_dashboard"
- )
- @patch("superset.tasks.schedules.firefox.webdriver.WebDriver")
- @patch("superset.tasks.schedules.send_email_smtp")
- @patch("superset.tasks.schedules.time")
- def test_dashboard_chrome_like(self, mtime, send_email_smtp, driver_class):
- # Test functionality for chrome driver which does not support
- # element snapshots
- element = Mock()
- driver = Mock()
- mtime.sleep.return_value = None
- type(element).screenshot_as_png = PropertyMock(side_effect=WebDriverException)
-
- driver_class.return_value = driver
-
- # Ensure that we are able to login with the driver
- driver.find_elements_by_id.side_effect = [True, False]
- driver.find_element_by_id.return_value = element
- driver.find_element_by_class_name.return_value = element
- driver.screenshot.return_value = read_fixture("sample.png")
-
- schedule = (
- db.session.query(DashboardEmailSchedule)
- .filter_by(id=self.dashboard_schedule)
- .one()
- )
-
- deliver_dashboard(
- schedule.dashboard_id,
- schedule.recipients,
- schedule.slack_channel,
- schedule.delivery_type,
- schedule.deliver_as_group,
- )
-
- mtime.sleep.assert_called_once()
- driver.screenshot.assert_called_once()
- send_email_smtp.assert_called_once()
-
- self.assertEqual(send_email_smtp.call_args[0][0], self.RECIPIENTS)
- self.assertEqual(
- list(send_email_smtp.call_args[1]["images"].values())[0],
- driver.screenshot.return_value,
- )
-
- @pytest.mark.usefixtures(
- "load_world_bank_dashboard_with_slices", "add_schedule_slice_and_dashboard"
- )
- @patch("superset.tasks.schedules.firefox.webdriver.WebDriver")
- @patch("superset.tasks.schedules.send_email_smtp")
- @patch("superset.tasks.schedules.time")
- def test_deliver_email_options(self, mtime, send_email_smtp, driver_class):
- element = Mock()
- driver = Mock()
- mtime.sleep.return_value = None
-
- driver_class.return_value = driver
-
- # Ensure that we are able to login with the driver
- driver.find_elements_by_id.side_effect = [True, False]
- driver.find_element_by_class_name.return_value = element
- element.screenshot_as_png = read_fixture("sample.png")
-
- schedule = (
- db.session.query(DashboardEmailSchedule)
- .filter_by(id=self.dashboard_schedule)
- .one()
- )
-
- # Send individual mails to the group
- schedule.deliver_as_group = False
-
- # Set a bcc email address
- app.config["EMAIL_REPORT_BCC_ADDRESS"] = self.BCC
-
- deliver_dashboard(
- schedule.dashboard_id,
- schedule.recipients,
- schedule.slack_channel,
- schedule.delivery_type,
- schedule.deliver_as_group,
- )
-
- mtime.sleep.assert_called_once()
- driver.screenshot.assert_not_called()
-
- self.assertEqual(send_email_smtp.call_count, 2)
- self.assertEqual(send_email_smtp.call_args[1]["bcc"], self.BCC)
-
- @pytest.mark.usefixtures(
- "load_world_bank_dashboard_with_slices", "add_schedule_slice_and_dashboard"
- )
- @patch("superset.tasks.slack_util.WebClient.files_upload")
- @patch("superset.tasks.schedules.firefox.webdriver.WebDriver")
- @patch("superset.tasks.schedules.send_email_smtp")
- @patch("superset.tasks.schedules.time")
- def test_deliver_slice_inline_image(
- self, mtime, send_email_smtp, driver_class, files_upload
- ):
- element = Mock()
- driver = Mock()
- mtime.sleep.return_value = None
-
- driver_class.return_value = driver
-
- # Ensure that we are able to login with the driver
- driver.find_elements_by_id.side_effect = [True, False]
- driver.find_element_by_class_name.return_value = element
- element.screenshot_as_png = read_fixture("sample.png")
-
- schedule = (
- db.session.query(SliceEmailSchedule).filter_by(id=self.slice_schedule).one()
- )
-
- schedule.email_format = SliceEmailReportFormat.visualization
- schedule.delivery_format = EmailDeliveryType.inline
-
- deliver_slice(
- schedule.slice_id,
- schedule.recipients,
- schedule.slack_channel,
- schedule.delivery_type,
- schedule.email_format,
- schedule.deliver_as_group,
- db.session,
- )
- mtime.sleep.assert_called_once()
- driver.screenshot.assert_not_called()
- send_email_smtp.assert_called_once()
-
- self.assertEqual(
- list(send_email_smtp.call_args[1]["images"].values())[0],
- element.screenshot_as_png,
- )
-
- self.assertEqual(
- files_upload.call_args[1],
- {
- "channels": "#test_channel",
- "file": element.screenshot_as_png,
- "initial_comment": f"\n *Region Filter*\n\n \n ",
- "title": "[Report] Region Filter",
- },
- )
-
- @pytest.mark.usefixtures(
- "load_world_bank_dashboard_with_slices", "add_schedule_slice_and_dashboard"
- )
- @patch("superset.tasks.slack_util.WebClient.files_upload")
- @patch("superset.tasks.schedules.firefox.webdriver.WebDriver")
- @patch("superset.tasks.schedules.send_email_smtp")
- @patch("superset.tasks.schedules.time")
- def test_deliver_slice_attachment(
- self, mtime, send_email_smtp, driver_class, files_upload
- ):
- element = Mock()
- driver = Mock()
- mtime.sleep.return_value = None
-
- driver_class.return_value = driver
-
- # Ensure that we are able to login with the driver
- driver.find_elements_by_id.side_effect = [True, False]
- driver.find_element_by_class_name.return_value = element
- element.screenshot_as_png = read_fixture("sample.png")
-
- schedule = (
- db.session.query(SliceEmailSchedule).filter_by(id=self.slice_schedule).one()
- )
-
- schedule.email_format = SliceEmailReportFormat.visualization
- schedule.delivery_type = EmailDeliveryType.attachment
-
- deliver_slice(
- schedule.slice_id,
- schedule.recipients,
- schedule.slack_channel,
- schedule.delivery_type,
- schedule.email_format,
- schedule.deliver_as_group,
- db.session,
- )
-
- mtime.sleep.assert_called_once()
- driver.screenshot.assert_not_called()
- send_email_smtp.assert_called_once()
-
- self.assertEqual(
- send_email_smtp.call_args[1]["data"]["screenshot"],
- element.screenshot_as_png,
- )
-
- self.assertEqual(
- files_upload.call_args[1],
- {
- "channels": "#test_channel",
- "file": element.screenshot_as_png,
- "initial_comment": f"\n *Region Filter*\n\n \n ",
- "title": "[Report] Region Filter",
- },
- )
-
- @pytest.mark.usefixtures(
- "load_world_bank_dashboard_with_slices", "add_schedule_slice_and_dashboard"
- )
- @patch("superset.tasks.slack_util.WebClient.files_upload")
- @patch("superset.tasks.schedules.urllib.request.OpenerDirector.open")
- @patch("superset.tasks.schedules.urllib.request.urlopen")
- @patch("superset.tasks.schedules.send_email_smtp")
- def test_deliver_slice_csv_attachment(
- self, send_email_smtp, mock_open, mock_urlopen, files_upload
- ):
- response = Mock()
- mock_open.return_value = response
- mock_urlopen.return_value = response
- mock_urlopen.return_value.getcode.return_value = 200
- response.read.return_value = self.CSV
-
- schedule = (
- db.session.query(SliceEmailSchedule).filter_by(id=self.slice_schedule).one()
- )
-
- schedule.email_format = SliceEmailReportFormat.data
- schedule.delivery_type = EmailDeliveryType.attachment
-
- deliver_slice(
- schedule.slice_id,
- schedule.recipients,
- schedule.slack_channel,
- schedule.delivery_type,
- schedule.email_format,
- schedule.deliver_as_group,
- db.session,
- )
-
- send_email_smtp.assert_called_once()
-
- file_name = __("%(name)s.csv", name=schedule.slice.slice_name)
-
- self.assertEqual(send_email_smtp.call_args[1]["data"][file_name], self.CSV)
-
- self.assertEqual(
- files_upload.call_args[1],
- {
- "channels": "#test_channel",
- "file": self.CSV,
- "initial_comment": f"\n *Region Filter*\n\n \n ",
- "title": "[Report] Region Filter",
- },
- )
-
- @pytest.mark.usefixtures(
- "load_world_bank_dashboard_with_slices", "add_schedule_slice_and_dashboard"
- )
- @patch("superset.tasks.slack_util.WebClient.files_upload")
- @patch("superset.tasks.schedules.urllib.request.urlopen")
- @patch("superset.tasks.schedules.urllib.request.OpenerDirector.open")
- @patch("superset.tasks.schedules.send_email_smtp")
- def test_deliver_slice_csv_inline(
- self, send_email_smtp, mock_open, mock_urlopen, files_upload
- ):
- response = Mock()
- mock_open.return_value = response
- mock_urlopen.return_value = response
- mock_urlopen.return_value.getcode.return_value = 200
- response.read.return_value = self.CSV
- schedule = (
- db.session.query(SliceEmailSchedule).filter_by(id=self.slice_schedule).one()
- )
-
- schedule.email_format = SliceEmailReportFormat.data
- schedule.delivery_type = EmailDeliveryType.inline
-
- deliver_slice(
- schedule.slice_id,
- schedule.recipients,
- schedule.slack_channel,
- schedule.delivery_type,
- schedule.email_format,
- schedule.deliver_as_group,
- db.session,
- )
-
- send_email_smtp.assert_called_once()
-
- self.assertIsNone(send_email_smtp.call_args[1]["data"])
- self.assertTrue("\n ",
- "title": "[Report] Region Filter",
- },
- )
-
- def test_dashboard_disabled(self):
- with patch.object(DashboardEmailScheduleView, "is_enabled", return_value=False):
- self.login("admin")
- uri = "/dashboardemailscheduleview/list/"
- rv = self.client.get(uri)
- self.assertEqual(rv.status_code, 404)
-
- def test_dashboard_enabled(self):
- with patch.object(DashboardEmailScheduleView, "is_enabled", return_value=True):
- self.login("admin")
- uri = "/dashboardemailscheduleview/list/"
- rv = self.client.get(uri)
- self.assertLess(rv.status_code, 400)
-
- def test_slice_disabled(self):
- with patch.object(SliceEmailScheduleView, "is_enabled", return_value=False):
- self.login("admin")
- uri = "/sliceemailscheduleview/list/"
- rv = self.client.get(uri)
- self.assertEqual(rv.status_code, 404)
-
- def test_slice_enabled(self):
- with patch.object(SliceEmailScheduleView, "is_enabled", return_value=True):
- self.login("admin")
- uri = "/sliceemailscheduleview/list/"
- rv = self.client.get(uri)
- self.assertLess(rv.status_code, 400)
-
-
-def test_slack_client_compatibility():
- c2 = WebClient()
- # slackclient >2.5.0 raises TypeError: a bytes-like object is required, not 'str
- # and requires to path a filepath instead of the bytes directly
- with pytest.raises(errors.SlackApiError):
- c2.files_upload(channels="#bogdan-test2", file=b"blabla", title="Test upload")
diff --git a/tests/integration_tests/security/api_tests.py b/tests/integration_tests/security/api_tests.py
index 86be5e7da58e9..f936219971517 100644
--- a/tests/integration_tests/security/api_tests.py
+++ b/tests/integration_tests/security/api_tests.py
@@ -92,7 +92,10 @@ def test_post_guest_token_authorized(self):
self.assert200(response)
token = json.loads(response.data)["token"]
decoded_token = jwt.decode(
- token, self.app.config["GUEST_TOKEN_JWT_SECRET"], audience=get_url_host()
+ token,
+ self.app.config["GUEST_TOKEN_JWT_SECRET"],
+ audience=get_url_host(),
+ algorithms=["HS256"],
)
self.assertEqual(user, decoded_token["user"])
self.assertEqual(resource, decoded_token["resources"][0])
diff --git a/tests/integration_tests/security/guest_token_security_tests.py b/tests/integration_tests/security/guest_token_security_tests.py
index 9ca34198dbdf2..e4d55d9747b98 100644
--- a/tests/integration_tests/security/guest_token_security_tests.py
+++ b/tests/integration_tests/security/guest_token_security_tests.py
@@ -34,7 +34,8 @@
@mock.patch.dict(
- "superset.extensions.feature_flag_manager._feature_flags", EMBEDDED_SUPERSET=True,
+ "superset.extensions.feature_flag_manager._feature_flags",
+ EMBEDDED_SUPERSET=True,
)
class TestGuestUserSecurity(SupersetTestCase):
# This test doesn't use a dashboard fixture, the next test does.
@@ -150,7 +151,8 @@ def test_get_guest_user_roles_implicit(self):
@mock.patch.dict(
- "superset.extensions.feature_flag_manager._feature_flags", EMBEDDED_SUPERSET=True,
+ "superset.extensions.feature_flag_manager._feature_flags",
+ EMBEDDED_SUPERSET=True,
)
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
class TestGuestUserDashboardAccess(SupersetTestCase):
diff --git a/tests/integration_tests/security/migrate_roles_tests.py b/tests/integration_tests/security/migrate_roles_tests.py
index 2f88cfa9b49af..ad8d01691a599 100644
--- a/tests/integration_tests/security/migrate_roles_tests.py
+++ b/tests/integration_tests/security/migrate_roles_tests.py
@@ -102,7 +102,12 @@ def create_old_role(pvm_map: PvmMigrationMapType, external_pvms):
),
(
"Many to one with multiple permissions",
- {"NewDummy": ("can_read", "can_write",)},
+ {
+ "NewDummy": (
+ "can_read",
+ "can_write",
+ )
+ },
{
Pvm("DummyView", "can_list"): (Pvm("NewDummy", "can_read"),),
Pvm("DummyView", "can_show"): (Pvm("NewDummy", "can_read"),),
@@ -115,7 +120,12 @@ def create_old_role(pvm_map: PvmMigrationMapType, external_pvms):
),
(
"Many to one with multiple views",
- {"NewDummy": ("can_read", "can_write",)},
+ {
+ "NewDummy": (
+ "can_read",
+ "can_write",
+ )
+ },
{
Pvm("DummyView", "can_list"): (Pvm("NewDummy", "can_read"),),
Pvm("DummyView", "can_show"): (Pvm("NewDummy", "can_read"),),
@@ -132,7 +142,12 @@ def create_old_role(pvm_map: PvmMigrationMapType, external_pvms):
),
(
"Many to one with existing permission-view (pvm)",
- {"NewDummy": ("can_read", "can_write",)},
+ {
+ "NewDummy": (
+ "can_read",
+ "can_write",
+ )
+ },
{
Pvm("DummyView", "can_list"): (Pvm("NewDummy", "can_read"),),
Pvm("DummyView", "can_add"): (Pvm("NewDummy", "can_write"),),
@@ -143,20 +158,33 @@ def create_old_role(pvm_map: PvmMigrationMapType, external_pvms):
),
(
"Many to one with existing multiple permission-view (pvm)",
- {"NewDummy": ("can_read", "can_write",)},
+ {
+ "NewDummy": (
+ "can_read",
+ "can_write",
+ )
+ },
{
Pvm("DummyView", "can_list"): (Pvm("NewDummy", "can_read"),),
Pvm("DummyView", "can_add"): (Pvm("NewDummy", "can_write"),),
Pvm("DummySecondView", "can_list"): (Pvm("NewDummy", "can_read"),),
Pvm("DummySecondView", "can_add"): (Pvm("NewDummy", "can_write"),),
},
- (Pvm("UserDBModelView", "can_list"), Pvm("UserDBModelView", "can_add"),),
+ (
+ Pvm("UserDBModelView", "can_list"),
+ Pvm("UserDBModelView", "can_add"),
+ ),
("DummyView",),
(),
),
(
"Many to one with with old permission that gets deleted",
- {"NewDummy": ("can_read", "can_write",)},
+ {
+ "NewDummy": (
+ "can_read",
+ "can_write",
+ )
+ },
{
Pvm("DummyView", "can_new_perm"): (Pvm("NewDummy", "can_read"),),
Pvm("DummyView", "can_add"): (Pvm("NewDummy", "can_write"),),
@@ -167,7 +195,13 @@ def create_old_role(pvm_map: PvmMigrationMapType, external_pvms):
),
(
"Many to Many (normally should be a downgrade)",
- {"DummyView": ("can_list", "can_show", "can_add",)},
+ {
+ "DummyView": (
+ "can_list",
+ "can_show",
+ "can_add",
+ )
+ },
{
Pvm("NewDummy", "can_read"): (
Pvm("DummyView", "can_list"),
@@ -181,13 +215,22 @@ def create_old_role(pvm_map: PvmMigrationMapType, external_pvms):
),
(
"Many to Many delete old permissions",
- {"DummyView": ("can_list", "can_show", "can_add",)},
+ {
+ "DummyView": (
+ "can_list",
+ "can_show",
+ "can_add",
+ )
+ },
{
Pvm("NewDummy", "can_new_perm1"): (
Pvm("DummyView", "can_list"),
Pvm("DummyView", "can_show"),
),
- Pvm("NewDummy", "can_new_perm2",): (Pvm("DummyView", "can_add"),),
+ Pvm(
+ "NewDummy",
+ "can_new_perm2",
+ ): (Pvm("DummyView", "can_add"),),
},
(),
("NewDummy",),
diff --git a/tests/integration_tests/security/row_level_security_tests.py b/tests/integration_tests/security/row_level_security_tests.py
index 94369c41ca22b..1e46bfb996c5b 100644
--- a/tests/integration_tests/security/row_level_security_tests.py
+++ b/tests/integration_tests/security/row_level_security_tests.py
@@ -218,7 +218,8 @@ def test_rls_filter_doesnt_alter_admin_birth_names_query(self):
@mock.patch.dict(
- "superset.extensions.feature_flag_manager._feature_flags", EMBEDDED_SUPERSET=True,
+ "superset.extensions.feature_flag_manager._feature_flags",
+ EMBEDDED_SUPERSET=True,
)
class GuestTokenRowLevelSecurityTests(SupersetTestCase):
query_obj: Dict[str, Any] = dict(
diff --git a/tests/integration_tests/sql_validator_tests.py b/tests/integration_tests/sql_validator_tests.py
index 3468b8c047fb7..b1e661cc2c5bb 100644
--- a/tests/integration_tests/sql_validator_tests.py
+++ b/tests/integration_tests/sql_validator_tests.py
@@ -111,7 +111,10 @@ def test_validate_sql_endpoint_mocked_params(self, get_validator_by_name):
get_validator_by_name.return_value = validator
validator.validate.return_value = [
SQLValidationAnnotation(
- message="This worked", line_number=4, start_column=12, end_column=42,
+ message="This worked",
+ line_number=4,
+ start_column=12,
+ end_column=42,
)
]
diff --git a/tests/integration_tests/sqla_models_tests.py b/tests/integration_tests/sqla_models_tests.py
index 223d48a4899a7..bbe062e509ba9 100644
--- a/tests/integration_tests/sqla_models_tests.py
+++ b/tests/integration_tests/sqla_models_tests.py
@@ -598,7 +598,13 @@ def test_filter_on_text_column(text_column_table):
result_object = table.query(
{
"metrics": ["count"],
- "filter": [{"col": "foo", "val": ['"text in double quotes"'], "op": "IN",}],
+ "filter": [
+ {
+ "col": "foo",
+ "val": ['"text in double quotes"'],
+ "op": "IN",
+ }
+ ],
"is_timeseries": False,
}
)
@@ -608,7 +614,13 @@ def test_filter_on_text_column(text_column_table):
result_object = table.query(
{
"metrics": ["count"],
- "filter": [{"col": "foo", "val": ["'text in single quotes'"], "op": "IN",}],
+ "filter": [
+ {
+ "col": "foo",
+ "val": ["'text in single quotes'"],
+ "op": "IN",
+ }
+ ],
"is_timeseries": False,
}
)
@@ -618,7 +630,13 @@ def test_filter_on_text_column(text_column_table):
result_object = table.query(
{
"metrics": ["count"],
- "filter": [{"col": "foo", "val": ['double quotes " in text'], "op": "IN",}],
+ "filter": [
+ {
+ "col": "foo",
+ "val": ['double quotes " in text'],
+ "op": "IN",
+ }
+ ],
"is_timeseries": False,
}
)
@@ -628,7 +646,13 @@ def test_filter_on_text_column(text_column_table):
result_object = table.query(
{
"metrics": ["count"],
- "filter": [{"col": "foo", "val": ["single quotes ' in text"], "op": "IN",}],
+ "filter": [
+ {
+ "col": "foo",
+ "val": ["single quotes ' in text"],
+ "op": "IN",
+ }
+ ],
"is_timeseries": False,
}
)
@@ -652,7 +676,10 @@ def test_should_generate_closed_and_open_time_filter_range():
database=get_example_database(),
)
TableColumn(
- column_name="datetime_col", type="TIMESTAMP", table=table, is_dttm=True,
+ column_name="datetime_col",
+ type="TIMESTAMP",
+ table=table,
+ is_dttm=True,
)
SqlMetric(metric_name="count", expression="count(*)", table=table)
result_object = table.query(
@@ -719,26 +746,48 @@ def _convert_dttm(
columns_by_name = {
"foo": TableColumn(
- column_name="foo", is_dttm=False, table=table, type="STRING",
+ column_name="foo",
+ is_dttm=False,
+ table=table,
+ type="STRING",
),
"bar": TableColumn(
- column_name="bar", is_dttm=False, table=table, type="BOOLEAN",
+ column_name="bar",
+ is_dttm=False,
+ table=table,
+ type="BOOLEAN",
),
"baz": TableColumn(
- column_name="baz", is_dttm=False, table=table, type="INTEGER",
+ column_name="baz",
+ is_dttm=False,
+ table=table,
+ type="INTEGER",
),
"qux": TableColumn(
- column_name="qux", is_dttm=False, table=table, type="FLOAT",
+ column_name="qux",
+ is_dttm=False,
+ table=table,
+ type="FLOAT",
),
"quux": TableColumn(
- column_name="quuz", is_dttm=True, table=table, type="STRING",
+ column_name="quuz",
+ is_dttm=True,
+ table=table,
+ type="STRING",
),
"quuz": TableColumn(
- column_name="quux", is_dttm=True, table=table, type="TIMESTAMP",
+ column_name="quux",
+ is_dttm=True,
+ table=table,
+ type="TIMESTAMP",
),
}
- normalized = table._normalize_prequery_result_type(row, dimension, columns_by_name,)
+ normalized = table._normalize_prequery_result_type(
+ row,
+ dimension,
+ columns_by_name,
+ )
assert type(normalized) == type(result)
diff --git a/tests/integration_tests/sqllab_tests.py b/tests/integration_tests/sqllab_tests.py
index c96b7449b9c1e..5a98ddebfa945 100644
--- a/tests/integration_tests/sqllab_tests.py
+++ b/tests/integration_tests/sqllab_tests.py
@@ -24,9 +24,9 @@
from parameterized import parameterized
from random import random
from unittest import mock
-from superset.extensions import db
import prison
+from freezegun import freeze_time
from superset import db, security_manager
from superset.connectors.sqla.models import SqlaTable
from superset.db_engine_specs import BaseEngineSpec
@@ -34,16 +34,12 @@
from superset.db_engine_specs.presto import PrestoEngineSpec
from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
from superset.exceptions import SupersetErrorException
-from superset.models.core import Database
from superset.models.sql_lab import Query, SavedQuery
from superset.result_set import SupersetResultSet
from superset.sqllab.limiting_factor import LimitingFactor
from superset.sql_lab import (
cancel_query,
execute_sql_statements,
- execute_sql_statement,
- get_sql_results,
- SqlLabException,
apply_limit_if_exists,
)
from superset.sql_parse import CtasMethod
@@ -157,8 +153,6 @@ def test_sql_json_to_saved_query_info(self):
"""
SQLLab: Test SQLLab query execution info propagation to saved queries
"""
- from freezegun import freeze_time
-
self.login("admin")
sql_statement = "SELECT * FROM birth_names LIMIT 10"
@@ -167,7 +161,7 @@ def test_sql_json_to_saved_query_info(self):
db.session.add(saved_query)
db.session.commit()
- with freeze_time("2020-01-01T00:00:00Z"):
+ with freeze_time(datetime.now().isoformat(timespec="seconds")):
self.run_sql(sql_statement, "1")
saved_query_ = (
db.session.query(SavedQuery)
@@ -178,9 +172,9 @@ def test_sql_json_to_saved_query_info(self):
)
assert saved_query_.rows is not None
assert saved_query_.last_run == datetime.now()
- # Rollback changes
- db.session.delete(saved_query_)
- db.session.commit()
+ # Rollback changes
+ db.session.delete(saved_query_)
+ db.session.commit()
@parameterized.expand([CtasMethod.TABLE, CtasMethod.VIEW])
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
@@ -266,8 +260,10 @@ def test_sql_json_schema_access(self):
# sqlite doesn't support database creation
return
- sqllab_test_db_schema_permission_view = security_manager.add_permission_view_menu(
- "schema_access", f"[{examples_db.name}].[{CTAS_SCHEMA_NAME}]"
+ sqllab_test_db_schema_permission_view = (
+ security_manager.add_permission_view_menu(
+ "schema_access", f"[{examples_db.name}].[{CTAS_SCHEMA_NAME}]"
+ )
)
schema_perm_role = security_manager.add_role("SchemaPermission")
security_manager.add_permission_role(
@@ -593,13 +589,17 @@ def test_sql_limit(self):
)
data = self.run_sql(
- "SELECT * FROM birth_names", client_id="sql_limit_6", query_limit=10000,
+ "SELECT * FROM birth_names",
+ client_id="sql_limit_6",
+ query_limit=10000,
)
self.assertEqual(len(data["data"]), 1200)
self.assertEqual(data["query"]["limitingFactor"], LimitingFactor.NOT_LIMITED)
data = self.run_sql(
- "SELECT * FROM birth_names", client_id="sql_limit_7", query_limit=1200,
+ "SELECT * FROM birth_names",
+ client_id="sql_limit_7",
+ query_limit=1200,
)
self.assertEqual(len(data["data"]), 1200)
self.assertEqual(data["query"]["limitingFactor"], LimitingFactor.NOT_LIMITED)
diff --git a/tests/integration_tests/tasks/async_queries_tests.py b/tests/integration_tests/tasks/async_queries_tests.py
index 16299bebea37c..596505a32a485 100644
--- a/tests/integration_tests/tasks/async_queries_tests.py
+++ b/tests/integration_tests/tasks/async_queries_tests.py
@@ -113,7 +113,8 @@ def test_soft_timeout_load_chart_data_into_cache(
with pytest.raises(SoftTimeLimitExceeded):
with mock.patch.object(
- async_queries, "ensure_user_is_set",
+ async_queries,
+ "ensure_user_is_set",
) as ensure_user_is_set:
ensure_user_is_set.side_effect = SoftTimeLimitExceeded()
load_chart_data_into_cache(job_metadata, form_data)
@@ -199,7 +200,8 @@ def test_soft_timeout_load_explore_json_into_cache(
with pytest.raises(SoftTimeLimitExceeded):
with mock.patch.object(
- async_queries, "ensure_user_is_set",
+ async_queries,
+ "ensure_user_is_set",
) as ensure_user_is_set:
ensure_user_is_set.side_effect = SoftTimeLimitExceeded()
load_explore_json_into_cache(job_metadata, form_data)
diff --git a/tests/integration_tests/utils_tests.py b/tests/integration_tests/utils_tests.py
index b402d82f1fc22..765f586ced6c5 100644
--- a/tests/integration_tests/utils_tests.py
+++ b/tests/integration_tests/utils_tests.py
@@ -794,7 +794,11 @@ def test_merge_extra_filters_with_no_extras(self):
}
merge_extra_form_data(form_data)
self.assertEqual(
- form_data, {"time_range": "Last 10 days", "adhoc_filters": [],},
+ form_data,
+ {
+ "time_range": "Last 10 days",
+ "adhoc_filters": [],
+ },
)
def test_merge_extra_filters_with_unset_legacy_time_range(self):
@@ -826,7 +830,9 @@ def test_merge_extra_filters_with_conflicting_time_ranges(self):
form_data = {
"time_range": "Last 10 days",
"extra_filters": [{"col": "__time_range", "op": "==", "val": "Last week"}],
- "extra_form_data": {"time_range": "Last year",},
+ "extra_form_data": {
+ "time_range": "Last year",
+ },
}
merge_extra_filters(form_data)
self.assertEqual(
diff --git a/tests/integration_tests/viz_tests.py b/tests/integration_tests/viz_tests.py
index 465fdb26ef581..6eb3f8c611487 100644
--- a/tests/integration_tests/viz_tests.py
+++ b/tests/integration_tests/viz_tests.py
@@ -417,7 +417,9 @@ def run_test(metric):
"label": "adhoc_metric",
"expressionType": "SIMPLE",
"aggregate": "SUM",
- "column": {"column_name": "sort_column",},
+ "column": {
+ "column_name": "sort_column",
+ },
}
)
@@ -1505,13 +1507,29 @@ def test_get_data(self):
test_viz = viz.FilterBoxViz(datasource, form_data)
test_viz.dataframes = {
"value1": pd.DataFrame(
- data=[{"value1": "v1", "metric1": 1}, {"value1": "v2", "metric1": 2},]
+ data=[
+ {"value1": "v1", "metric1": 1},
+ {"value1": "v2", "metric1": 2},
+ ]
),
"value2": pd.DataFrame(
- data=[{"value2": "v3", "metric2": 3}, {"value2": "v4", "metric2": 4},]
+ data=[
+ {"value2": "v3", "metric2": 3},
+ {"value2": "v4", "metric2": 4},
+ ]
+ ),
+ "value3": pd.DataFrame(
+ data=[
+ {"value3": "v5"},
+ {"value3": "v6"},
+ ]
+ ),
+ "value4": pd.DataFrame(
+ data=[
+ {"value4": "v7"},
+ {"value4": "v8"},
+ ]
),
- "value3": pd.DataFrame(data=[{"value3": "v5"}, {"value3": "v6"},]),
- "value4": pd.DataFrame(data=[{"value4": "v7"}, {"value4": "v8"},]),
"value5": pd.DataFrame(),
}
@@ -1526,8 +1544,14 @@ def test_get_data(self):
{"id": "v3", "text": "v3", "metric": 3},
{"id": "v4", "text": "v4", "metric": 4},
],
- "value3": [{"id": "v6", "text": "v6"}, {"id": "v5", "text": "v5"},],
- "value4": [{"id": "v7", "text": "v7"}, {"id": "v8", "text": "v8"},],
+ "value3": [
+ {"id": "v6", "text": "v6"},
+ {"id": "v5", "text": "v5"},
+ ],
+ "value4": [
+ {"id": "v7", "text": "v7"},
+ {"id": "v8", "text": "v8"},
+ ],
"value5": [],
"value6": [],
}
diff --git a/tests/unit_tests/charts/commands/__init__.py b/tests/unit_tests/charts/commands/__init__.py
new file mode 100644
index 0000000000000..13a83393a9124
--- /dev/null
+++ b/tests/unit_tests/charts/commands/__init__.py
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/tests/unit_tests/charts/commands/importers/__init__.py b/tests/unit_tests/charts/commands/importers/__init__.py
new file mode 100644
index 0000000000000..13a83393a9124
--- /dev/null
+++ b/tests/unit_tests/charts/commands/importers/__init__.py
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/tests/unit_tests/charts/commands/importers/v1/__init__.py b/tests/unit_tests/charts/commands/importers/v1/__init__.py
new file mode 100644
index 0000000000000..13a83393a9124
--- /dev/null
+++ b/tests/unit_tests/charts/commands/importers/v1/__init__.py
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/tests/unit_tests/charts/commands/importers/v1/import_test.py b/tests/unit_tests/charts/commands/importers/v1/import_test.py
new file mode 100644
index 0000000000000..e8687036394cb
--- /dev/null
+++ b/tests/unit_tests/charts/commands/importers/v1/import_test.py
@@ -0,0 +1,69 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# pylint: disable=unused-argument, import-outside-toplevel, unused-import, invalid-name
+
+import copy
+
+from sqlalchemy.orm.session import Session
+
+
+def test_import_chart(app_context: None, session: Session) -> None:
+ """
+ Test importing a chart.
+ """
+ from superset.charts.commands.importers.v1.utils import import_chart
+ from superset.connectors.sqla.models import SqlaTable
+ from superset.models.core import Database
+ from superset.models.slice import Slice
+ from tests.integration_tests.fixtures.importexport import chart_config
+
+ engine = session.get_bind()
+ Slice.metadata.create_all(engine) # pylint: disable=no-member
+
+ config = copy.deepcopy(chart_config)
+ config["datasource_id"] = 1
+ config["datasource_type"] = "table"
+
+ chart = import_chart(session, config)
+ assert chart.slice_name == "Deck Path"
+ assert chart.viz_type == "deck_path"
+ assert chart.is_managed_externally is False
+ assert chart.external_url is None
+
+
+def test_import_chart_managed_externally(app_context: None, session: Session) -> None:
+ """
+ Test importing a chart that is managed externally.
+ """
+ from superset.charts.commands.importers.v1.utils import import_chart
+ from superset.connectors.sqla.models import SqlaTable
+ from superset.models.core import Database
+ from superset.models.slice import Slice
+ from tests.integration_tests.fixtures.importexport import chart_config
+
+ engine = session.get_bind()
+ Slice.metadata.create_all(engine) # pylint: disable=no-member
+
+ config = copy.deepcopy(chart_config)
+ config["datasource_id"] = 1
+ config["datasource_type"] = "table"
+ config["is_managed_externally"] = True
+ config["external_url"] = "https://example.org/my_chart"
+
+ chart = import_chart(session, config)
+ assert chart.is_managed_externally is True
+ assert chart.external_url == "https://example.org/my_chart"
diff --git a/tests/unit_tests/columns/test_models.py b/tests/unit_tests/columns/test_models.py
index 36c6b9b4e7301..40cc2075d380e 100644
--- a/tests/unit_tests/columns/test_models.py
+++ b/tests/unit_tests/columns/test_models.py
@@ -29,7 +29,11 @@ def test_column_model(app_context: None, session: Session) -> None:
engine = session.get_bind()
Column.metadata.create_all(engine) # pylint: disable=no-member
- column = Column(name="ds", type="TIMESTAMP", expression="ds",)
+ column = Column(
+ name="ds",
+ type="TIMESTAMP",
+ expression="ds",
+ )
session.add(column)
session.flush()
diff --git a/tests/unit_tests/core_tests.py b/tests/unit_tests/core_tests.py
index c9f96204cf0b0..f7a0047157bb8 100644
--- a/tests/unit_tests/core_tests.py
+++ b/tests/unit_tests/core_tests.py
@@ -140,7 +140,8 @@ def test_get_column_names():
"My Adhoc Column",
]
assert get_column_names(
- [STR_COLUMN, SQL_ADHOC_COLUMN], {"my_column": "My Column"},
+ [STR_COLUMN, SQL_ADHOC_COLUMN],
+ {"my_column": "My Column"},
) == ["My Column", "My Adhoc Column"]
diff --git a/tests/unit_tests/dashboards/commands/importers/v1/import_test.py b/tests/unit_tests/dashboards/commands/importers/v1/import_test.py
new file mode 100644
index 0000000000000..651e5dc10b7ca
--- /dev/null
+++ b/tests/unit_tests/dashboards/commands/importers/v1/import_test.py
@@ -0,0 +1,67 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# pylint: disable=unused-argument, import-outside-toplevel, unused-import, invalid-name
+
+import copy
+
+from sqlalchemy.orm.session import Session
+
+
+def test_import_dashboard(app_context: None, session: Session) -> None:
+ """
+ Test importing a dashboard.
+ """
+ from superset.connectors.sqla.models import SqlaTable
+ from superset.dashboards.commands.importers.v1.utils import import_dashboard
+ from superset.models.core import Database
+ from superset.models.slice import Slice
+ from tests.integration_tests.fixtures.importexport import dashboard_config
+
+ engine = session.get_bind()
+ Slice.metadata.create_all(engine) # pylint: disable=no-member
+
+ config = copy.deepcopy(dashboard_config)
+
+ dashboard = import_dashboard(session, config)
+ assert dashboard.dashboard_title == "Test dash"
+ assert dashboard.description is None
+ assert dashboard.is_managed_externally is False
+ assert dashboard.external_url is None
+
+
+def test_import_dashboard_managed_externally(
+ app_context: None, session: Session
+) -> None:
+ """
+ Test importing a dashboard that is managed externally.
+ """
+ from superset.connectors.sqla.models import SqlaTable
+ from superset.dashboards.commands.importers.v1.utils import import_dashboard
+ from superset.models.core import Database
+ from superset.models.slice import Slice
+ from tests.integration_tests.fixtures.importexport import dashboard_config
+
+ engine = session.get_bind()
+ Slice.metadata.create_all(engine) # pylint: disable=no-member
+
+ config = copy.deepcopy(dashboard_config)
+ config["is_managed_externally"] = True
+ config["external_url"] = "https://example.org/my_dashboard"
+
+ dashboard = import_dashboard(session, config)
+ assert dashboard.is_managed_externally is True
+ assert dashboard.external_url == "https://example.org/my_dashboard"
diff --git a/tests/unit_tests/dashboards/commands/importers/v1/utils_test.py b/tests/unit_tests/dashboards/commands/importers/v1/utils_test.py
index 5f3015b1b01fa..bddc96eda36e6 100644
--- a/tests/unit_tests/dashboards/commands/importers/v1/utils_test.py
+++ b/tests/unit_tests/dashboards/commands/importers/v1/utils_test.py
@@ -35,12 +35,18 @@ def test_update_id_refs_immune_missing( # pylint: disable=invalid-name
"position": {
"CHART1": {
"id": "CHART1",
- "meta": {"chartId": 101, "uuid": "uuid1",},
+ "meta": {
+ "chartId": 101,
+ "uuid": "uuid1",
+ },
"type": "CHART",
},
"CHART2": {
"id": "CHART2",
- "meta": {"chartId": 102, "uuid": "uuid2",},
+ "meta": {
+ "chartId": 102,
+ "uuid": "uuid2",
+ },
"type": "CHART",
},
},
diff --git a/tests/unit_tests/databases/__init__.py b/tests/unit_tests/databases/__init__.py
new file mode 100644
index 0000000000000..13a83393a9124
--- /dev/null
+++ b/tests/unit_tests/databases/__init__.py
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/tests/unit_tests/databases/commands/__init__.py b/tests/unit_tests/databases/commands/__init__.py
new file mode 100644
index 0000000000000..13a83393a9124
--- /dev/null
+++ b/tests/unit_tests/databases/commands/__init__.py
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/tests/unit_tests/databases/commands/importers/__init__.py b/tests/unit_tests/databases/commands/importers/__init__.py
new file mode 100644
index 0000000000000..13a83393a9124
--- /dev/null
+++ b/tests/unit_tests/databases/commands/importers/__init__.py
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/tests/unit_tests/databases/commands/importers/v1/__init__.py b/tests/unit_tests/databases/commands/importers/v1/__init__.py
new file mode 100644
index 0000000000000..13a83393a9124
--- /dev/null
+++ b/tests/unit_tests/databases/commands/importers/v1/__init__.py
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/tests/unit_tests/databases/commands/importers/v1/import_test.py b/tests/unit_tests/databases/commands/importers/v1/import_test.py
new file mode 100644
index 0000000000000..622aa27fc3d56
--- /dev/null
+++ b/tests/unit_tests/databases/commands/importers/v1/import_test.py
@@ -0,0 +1,70 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# pylint: disable=unused-argument, import-outside-toplevel, invalid-name
+
+import copy
+
+from sqlalchemy.orm.session import Session
+
+
+def test_import_database(app_context: None, session: Session) -> None:
+ """
+ Test importing a database.
+ """
+ from superset.databases.commands.importers.v1.utils import import_database
+ from superset.models.core import Database
+ from tests.integration_tests.fixtures.importexport import database_config
+
+ engine = session.get_bind()
+ Database.metadata.create_all(engine) # pylint: disable=no-member
+
+ config = copy.deepcopy(database_config)
+ database = import_database(session, config)
+ assert database.database_name == "imported_database"
+ assert database.sqlalchemy_uri == "sqlite:///test.db"
+ assert database.cache_timeout is None
+ assert database.expose_in_sqllab is True
+ assert database.allow_run_async is False
+ assert database.allow_ctas is True
+ assert database.allow_cvas is True
+ assert database.allow_file_upload is True
+ assert database.extra == "{}"
+ assert database.uuid == "b8a1ccd3-779d-4ab7-8ad8-9ab119d7fe89"
+ assert database.is_managed_externally is False
+ assert database.external_url is None
+
+
+def test_import_database_managed_externally(
+ app_context: None, session: Session
+) -> None:
+ """
+ Test importing a database that is managed externally.
+ """
+ from superset.databases.commands.importers.v1.utils import import_database
+ from superset.models.core import Database
+ from tests.integration_tests.fixtures.importexport import database_config
+
+ engine = session.get_bind()
+ Database.metadata.create_all(engine) # pylint: disable=no-member
+
+ config = copy.deepcopy(database_config)
+ config["is_managed_externally"] = True
+ config["external_url"] = "https://example.org/my_database"
+
+ database = import_database(session, config)
+ assert database.is_managed_externally is True
+ assert database.external_url == "https://example.org/my_database"
diff --git a/tests/unit_tests/datasets/commands/export_test.py b/tests/unit_tests/datasets/commands/export_test.py
index cb5512448e299..a54f5cde61bbc 100644
--- a/tests/unit_tests/datasets/commands/export_test.py
+++ b/tests/unit_tests/datasets/commands/export_test.py
@@ -69,7 +69,11 @@ def test_export(app_context: None, session: Session) -> None:
schema="my_schema",
sql=None,
params=json.dumps(
- {"remote_id": 64, "database_name": "examples", "import_time": 1606677834,}
+ {
+ "remote_id": 64,
+ "database_name": "examples",
+ "import_time": 1606677834,
+ }
),
perm=None,
filter_select_enabled=1,
diff --git a/tests/unit_tests/datasets/commands/importers/v1/import_test.py b/tests/unit_tests/datasets/commands/importers/v1/import_test.py
index 0aa0f67a07690..07ea8c49d04d9 100644
--- a/tests/unit_tests/datasets/commands/importers/v1/import_test.py
+++ b/tests/unit_tests/datasets/commands/importers/v1/import_test.py
@@ -16,6 +16,7 @@
# under the License.
# pylint: disable=import-outside-toplevel, unused-argument, unused-import, invalid-name
+import copy
import json
import uuid
from typing import Any, Dict
@@ -54,7 +55,9 @@ def test_import_dataset(app_context: None, session: Session) -> None:
"database_name": "examples",
"import_time": 1606677834,
},
- "template_params": {"answer": "42",},
+ "template_params": {
+ "answer": "42",
+ },
"filter_select_enabled": True,
"fetch_values_predicate": "foo IN (1, 2)",
"extra": {"warning_markdown": "*WARNING*"},
@@ -83,7 +86,9 @@ def test_import_dataset(app_context: None, session: Session) -> None:
"expression": "revenue-expenses",
"description": None,
"python_date_format": None,
- "extra": {"certified_by": "User",},
+ "extra": {
+ "certified_by": "User",
+ },
}
],
"database_uuid": database.uuid,
@@ -164,7 +169,9 @@ def test_import_column_extra_is_string(app_context: None, session: Session) -> N
"database_name": "examples",
"import_time": 1606677834,
},
- "template_params": {"answer": "42",},
+ "template_params": {
+ "answer": "42",
+ },
"filter_select_enabled": True,
"fetch_values_predicate": "foo IN (1, 2)",
"extra": '{"warning_markdown": "*WARNING*"}',
@@ -199,6 +206,7 @@ def test_import_column_extra_is_string(app_context: None, session: Session) -> N
"database_uuid": database.uuid,
}
+ # the Marshmallow schema should convert strings to objects
schema = ImportV1DatasetSchema()
dataset_config = schema.load(yaml_config)
dataset_config["database_id"] = database.id
@@ -207,3 +215,31 @@ def test_import_column_extra_is_string(app_context: None, session: Session) -> N
assert sqla_table.metrics[0].extra == '{"warning_markdown": null}'
assert sqla_table.columns[0].extra == '{"certified_by": "User"}'
assert sqla_table.extra == '{"warning_markdown": "*WARNING*"}'
+
+
+def test_import_dataset_managed_externally(app_context: None, session: Session) -> None:
+ """
+ Test importing a dataset that is managed externally.
+ """
+ from superset.connectors.sqla.models import SqlaTable, SqlMetric, TableColumn
+ from superset.datasets.commands.importers.v1.utils import import_dataset
+ from superset.datasets.schemas import ImportV1DatasetSchema
+ from superset.models.core import Database
+ from tests.integration_tests.fixtures.importexport import dataset_config
+
+ engine = session.get_bind()
+ SqlaTable.metadata.create_all(engine) # pylint: disable=no-member
+
+ database = Database(database_name="my_database", sqlalchemy_uri="sqlite://")
+ session.add(database)
+ session.flush()
+
+ dataset_uuid = uuid.uuid4()
+ config = copy.deepcopy(dataset_config)
+ config["is_managed_externally"] = True
+ config["external_url"] = "https://example.org/my_table"
+ config["database_id"] = database.id
+
+ sqla_table = import_dataset(session, config)
+ assert sqla_table.is_managed_externally is True
+ assert sqla_table.external_url == "https://example.org/my_table"
diff --git a/tests/unit_tests/datasets/test_models.py b/tests/unit_tests/datasets/test_models.py
index 095b502760912..d21ef8ea60a94 100644
--- a/tests/unit_tests/datasets/test_models.py
+++ b/tests/unit_tests/datasets/test_models.py
@@ -57,7 +57,10 @@ def test_dataset_model(app_context: None, session: Session) -> None:
""",
tables=[table],
columns=[
- Column(name="position", expression="array_agg(array[longitude,latitude])",),
+ Column(
+ name="position",
+ expression="array_agg(array[longitude,latitude])",
+ ),
],
)
session.add(dataset)
@@ -147,7 +150,10 @@ def test_cascade_delete_dataset(app_context: None, session: Session) -> None:
""",
tables=[table],
columns=[
- Column(name="position", expression="array_agg(array[longitude,latitude])",),
+ Column(
+ name="position",
+ expression="array_agg(array[longitude,latitude])",
+ ),
],
)
session.add(dataset)
@@ -204,7 +210,11 @@ def test_dataset_attributes(app_context: None, session: Session) -> None:
schema="my_schema",
sql=None,
params=json.dumps(
- {"remote_id": 64, "database_name": "examples", "import_time": 1606677834,}
+ {
+ "remote_id": 64,
+ "database_name": "examples",
+ "import_time": 1606677834,
+ }
),
perm=None,
filter_select_enabled=1,
@@ -301,7 +311,11 @@ def test_create_physical_sqlatable(app_context: None, session: Session) -> None:
schema="my_schema",
sql=None,
params=json.dumps(
- {"remote_id": 64, "database_name": "examples", "import_time": 1606677834,}
+ {
+ "remote_id": 64,
+ "database_name": "examples",
+ "import_time": 1606677834,
+ }
),
perm=None,
filter_select_enabled=1,
@@ -576,7 +590,11 @@ def test_create_virtual_sqlatable(
FROM
some_table""",
params=json.dumps(
- {"remote_id": 64, "database_name": "examples", "import_time": 1606677834,}
+ {
+ "remote_id": 64,
+ "database_name": "examples",
+ "import_time": 1606677834,
+ }
),
perm=None,
filter_select_enabled=1,
diff --git a/tests/unit_tests/db_engine_specs/test_base.py b/tests/unit_tests/db_engine_specs/test_base.py
index 4dc27c0928f99..b112e2cec8ef4 100644
--- a/tests/unit_tests/db_engine_specs/test_base.py
+++ b/tests/unit_tests/db_engine_specs/test_base.py
@@ -77,7 +77,10 @@ def test_parse_sql_multi_statement(app_context: AppContext) -> None:
),
None,
),
- ("SELECT 1 as cnt", None,),
+ (
+ "SELECT 1 as cnt",
+ None,
+ ),
(
dedent(
"""
diff --git a/tests/unit_tests/db_engine_specs/test_gsheets.py b/tests/unit_tests/db_engine_specs/test_gsheets.py
index ef3169febe74b..a13895e75e1d5 100644
--- a/tests/unit_tests/db_engine_specs/test_gsheets.py
+++ b/tests/unit_tests/db_engine_specs/test_gsheets.py
@@ -27,7 +27,8 @@ class ProgrammingError(Exception):
def test_validate_parameters_simple(
- mocker: MockFixture, app_context: AppContext,
+ mocker: MockFixture,
+ app_context: AppContext,
) -> None:
from superset.db_engine_specs.gsheets import (
GSheetsEngineSpec,
@@ -43,7 +44,8 @@ def test_validate_parameters_simple(
def test_validate_parameters_catalog(
- mocker: MockFixture, app_context: AppContext,
+ mocker: MockFixture,
+ app_context: AppContext,
) -> None:
from superset.db_engine_specs.gsheets import (
GSheetsEngineSpec,
@@ -78,7 +80,10 @@ def test_validate_parameters_catalog(
error_type=SupersetErrorType.TABLE_DOES_NOT_EXIST_ERROR,
level=ErrorLevel.WARNING,
extra={
- "catalog": {"idx": 0, "url": True,},
+ "catalog": {
+ "idx": 0,
+ "url": True,
+ },
"issue_codes": [
{
"code": 1003,
@@ -96,7 +101,10 @@ def test_validate_parameters_catalog(
error_type=SupersetErrorType.TABLE_DOES_NOT_EXIST_ERROR,
level=ErrorLevel.WARNING,
extra={
- "catalog": {"idx": 2, "url": True,},
+ "catalog": {
+ "idx": 2,
+ "url": True,
+ },
"issue_codes": [
{
"code": 1003,
@@ -112,12 +120,15 @@ def test_validate_parameters_catalog(
]
create_engine.assert_called_with(
- "gsheets://", service_account_info={}, subject="admin@example.com",
+ "gsheets://",
+ service_account_info={},
+ subject="admin@example.com",
)
def test_validate_parameters_catalog_and_credentials(
- mocker: MockFixture, app_context: AppContext,
+ mocker: MockFixture,
+ app_context: AppContext,
) -> None:
from superset.db_engine_specs.gsheets import (
GSheetsEngineSpec,
@@ -151,7 +162,10 @@ def test_validate_parameters_catalog_and_credentials(
error_type=SupersetErrorType.TABLE_DOES_NOT_EXIST_ERROR,
level=ErrorLevel.WARNING,
extra={
- "catalog": {"idx": 2, "url": True,},
+ "catalog": {
+ "idx": 2,
+ "url": True,
+ },
"issue_codes": [
{
"code": 1003,
@@ -167,5 +181,7 @@ def test_validate_parameters_catalog_and_credentials(
]
create_engine.assert_called_with(
- "gsheets://", service_account_info={}, subject="admin@example.com",
+ "gsheets://",
+ service_account_info={},
+ subject="admin@example.com",
)
diff --git a/tests/unit_tests/db_engine_specs/test_kusto.py b/tests/unit_tests/db_engine_specs/test_kusto.py
index 3c8a97aa44f1f..fca6ee5817de1 100644
--- a/tests/unit_tests/db_engine_specs/test_kusto.py
+++ b/tests/unit_tests/db_engine_specs/test_kusto.py
@@ -121,7 +121,10 @@ def test_kql_parse_sql(app_context: AppContext) -> None:
],
)
def test_kql_convert_dttm(
- app_context: AppContext, target_type: str, expected_dttm: str, dttm: datetime,
+ app_context: AppContext,
+ target_type: str,
+ expected_dttm: str,
+ dttm: datetime,
) -> None:
"""
Test that date objects are converted correctly.
@@ -142,7 +145,10 @@ def test_kql_convert_dttm(
],
)
def test_sql_convert_dttm(
- app_context: AppContext, target_type: str, expected_dttm: str, dttm: datetime,
+ app_context: AppContext,
+ target_type: str,
+ expected_dttm: str,
+ dttm: datetime,
) -> None:
"""
Test that date objects are converted correctly.
diff --git a/tests/unit_tests/db_engine_specs/test_mssql.py b/tests/unit_tests/db_engine_specs/test_mssql.py
index 5c8848280b8ed..ddade3bfdb38c 100644
--- a/tests/unit_tests/db_engine_specs/test_mssql.py
+++ b/tests/unit_tests/db_engine_specs/test_mssql.py
@@ -107,13 +107,25 @@ def test_time_exp_mixd_case_col_1y(app_context: AppContext) -> None:
@pytest.mark.parametrize(
"actual,expected",
[
- ("DATE", "CONVERT(DATE, '2019-01-02', 23)",),
- ("DATETIME", "CONVERT(DATETIME, '2019-01-02T03:04:05.678', 126)",),
- ("SMALLDATETIME", "CONVERT(SMALLDATETIME, '2019-01-02 03:04:05', 20)",),
+ (
+ "DATE",
+ "CONVERT(DATE, '2019-01-02', 23)",
+ ),
+ (
+ "DATETIME",
+ "CONVERT(DATETIME, '2019-01-02T03:04:05.678', 126)",
+ ),
+ (
+ "SMALLDATETIME",
+ "CONVERT(SMALLDATETIME, '2019-01-02 03:04:05', 20)",
+ ),
],
)
def test_convert_dttm(
- app_context: AppContext, actual: str, expected: str, dttm: datetime,
+ app_context: AppContext,
+ actual: str,
+ expected: str,
+ dttm: datetime,
) -> None:
from superset.db_engine_specs.mssql import MssqlEngineSpec
@@ -151,7 +163,9 @@ def test_fetch_data(app_context: AppContext) -> None:
from superset.db_engine_specs.mssql import MssqlEngineSpec
with mock.patch.object(
- MssqlEngineSpec, "pyodbc_rows_to_tuples", return_value="converted",
+ MssqlEngineSpec,
+ "pyodbc_rows_to_tuples",
+ return_value="converted",
) as mock_pyodbc_rows_to_tuples:
data = [(1, "foo")]
with mock.patch.object(BaseEngineSpec, "fetch_data", return_value=data):
@@ -207,7 +221,10 @@ def test_column_datatype_to_string(
)"""
),
),
- ("SELECT 1 as cnt", None,),
+ (
+ "SELECT 1 as cnt",
+ None,
+ ),
(
dedent(
"""
diff --git a/tests/unit_tests/db_engine_specs/test_presto.py b/tests/unit_tests/db_engine_specs/test_presto.py
index 370af3f48d604..eea6b6ec3c362 100644
--- a/tests/unit_tests/db_engine_specs/test_presto.py
+++ b/tests/unit_tests/db_engine_specs/test_presto.py
@@ -45,7 +45,10 @@
],
)
def test_convert_dttm(
- app_context: AppContext, target_type: str, dttm: datetime, result: Optional[str],
+ app_context: AppContext,
+ target_type: str,
+ dttm: datetime,
+ result: Optional[str],
) -> None:
from superset.db_engine_specs.presto import PrestoEngineSpec
diff --git a/tests/unit_tests/db_engine_specs/test_teradata.py b/tests/unit_tests/db_engine_specs/test_teradata.py
index 11978737abf6c..5887a9317c7f0 100644
--- a/tests/unit_tests/db_engine_specs/test_teradata.py
+++ b/tests/unit_tests/db_engine_specs/test_teradata.py
@@ -32,7 +32,10 @@
],
)
def test_apply_top_to_sql_limit(
- app_context: AppContext, limit: int, original: str, expected: str,
+ app_context: AppContext,
+ limit: int,
+ original: str,
+ expected: str,
) -> None:
"""
Ensure limits are applied to the query correctly
diff --git a/tests/unit_tests/db_engine_specs/test_trino.py b/tests/unit_tests/db_engine_specs/test_trino.py
index ff00c4ff4595d..9962a0f66d0dc 100644
--- a/tests/unit_tests/db_engine_specs/test_trino.py
+++ b/tests/unit_tests/db_engine_specs/test_trino.py
@@ -45,7 +45,10 @@
],
)
def test_convert_dttm(
- app_context: AppContext, target_type: str, dttm: datetime, result: Optional[str],
+ app_context: AppContext,
+ target_type: str,
+ dttm: datetime,
+ result: Optional[str],
) -> None:
from superset.db_engine_specs.trino import TrinoEngineSpec
diff --git a/tests/unit_tests/fixtures/dataframes.py b/tests/unit_tests/fixtures/dataframes.py
index 2a49bd3f8d951..31a275b735ac7 100644
--- a/tests/unit_tests/fixtures/dataframes.py
+++ b/tests/unit_tests/fixtures/dataframes.py
@@ -168,14 +168,28 @@
single_metric_df = DataFrame(
{
- "dttm": to_datetime(["2019-01-01", "2019-01-01", "2019-01-02", "2019-01-02",]),
+ "dttm": to_datetime(
+ [
+ "2019-01-01",
+ "2019-01-01",
+ "2019-01-02",
+ "2019-01-02",
+ ]
+ ),
"country": ["UK", "US", "UK", "US"],
"sum_metric": [5, 6, 7, 8],
}
)
multiple_metrics_df = DataFrame(
{
- "dttm": to_datetime(["2019-01-01", "2019-01-01", "2019-01-02", "2019-01-02",]),
+ "dttm": to_datetime(
+ [
+ "2019-01-01",
+ "2019-01-01",
+ "2019-01-02",
+ "2019-01-02",
+ ]
+ ),
"country": ["UK", "US", "UK", "US"],
"sum_metric": [5, 6, 7, 8],
"count_metric": [1, 2, 3, 4],
diff --git a/tests/unit_tests/key_value/utils_test.py b/tests/unit_tests/key_value/utils_test.py
index f5ad0958bc749..5d78f6361c02c 100644
--- a/tests/unit_tests/key_value/utils_test.py
+++ b/tests/unit_tests/key_value/utils_test.py
@@ -16,102 +16,45 @@
# under the License.
from __future__ import annotations
-import json
-from typing import TYPE_CHECKING
-from unittest.mock import patch
from uuid import UUID
-if TYPE_CHECKING:
- from superset.key_value.models import KeyValueEntry
-
import pytest
-from flask.ctx import AppContext
-
-from superset.key_value.types import Key
-
-RESOURCE = "my-resource"
-UUID_KEY = "3e7a2ab8-bcaf-49b0-a5df-dfb432f291cc"
-ID_KEY = "123"
-
-
-@pytest.fixture
-def key_value_entry(app_context: AppContext):
- from superset.key_value.models import KeyValueEntry
-
- return KeyValueEntry(
- id=int(ID_KEY), uuid=UUID(UUID_KEY), value=json.dumps({"foo": "bar"}),
- )
-
-
-def test_parse_permalink_key_uuid_valid(app_context: AppContext) -> None:
- from superset.key_value.utils import parse_permalink_key
-
- assert parse_permalink_key(UUID_KEY) == Key(id=None, uuid=UUID(UUID_KEY))
-
-
-def test_parse_permalink_key_id_invalid(app_context: AppContext) -> None:
- from superset.key_value.utils import parse_permalink_key
-
- with pytest.raises(ValueError):
- parse_permalink_key(ID_KEY)
-
-
-@patch("superset.key_value.utils.current_app.config", {"PERMALINK_KEY_TYPE": "id"})
-def test_parse_permalink_key_id_valid(app_context: AppContext) -> None:
- from superset.key_value.utils import parse_permalink_key
-
- assert parse_permalink_key(ID_KEY) == Key(id=int(ID_KEY), uuid=None)
-
-
-@patch("superset.key_value.utils.current_app.config", {"PERMALINK_KEY_TYPE": "id"})
-def test_parse_permalink_key_uuid_invalid(app_context: AppContext) -> None:
- from superset.key_value.utils import parse_permalink_key
- with pytest.raises(ValueError):
- parse_permalink_key(UUID_KEY)
+from superset.key_value.exceptions import KeyValueParseKeyError
+from superset.key_value.types import KeyValueResource
+RESOURCE = KeyValueResource.APP
+UUID_KEY = UUID("3e7a2ab8-bcaf-49b0-a5df-dfb432f291cc")
+ID_KEY = 123
-def test_format_permalink_key_uuid(app_context: AppContext) -> None:
- from superset.key_value.utils import format_permalink_key
- assert format_permalink_key(Key(id=None, uuid=UUID(UUID_KEY))) == UUID_KEY
-
-
-def test_format_permalink_key_id(app_context: AppContext) -> None:
- from superset.key_value.utils import format_permalink_key
-
- assert format_permalink_key(Key(id=int(ID_KEY), uuid=None)) == ID_KEY
-
-
-def test_extract_key_uuid(
- app_context: AppContext, key_value_entry: KeyValueEntry,
-) -> None:
- from superset.key_value.utils import extract_key
-
- assert extract_key(key_value_entry, "id") == ID_KEY
-
-
-def test_extract_key_id(
- app_context: AppContext, key_value_entry: KeyValueEntry,
-) -> None:
- from superset.key_value.utils import extract_key
-
- assert extract_key(key_value_entry, "uuid") == UUID_KEY
-
-
-def test_get_filter_uuid(app_context: AppContext,) -> None:
+def test_get_filter_uuid() -> None:
from superset.key_value.utils import get_filter
- assert get_filter(resource=RESOURCE, key=UUID_KEY, key_type="uuid",) == {
+ assert get_filter(resource=RESOURCE, key=UUID_KEY) == {
"resource": RESOURCE,
- "uuid": UUID(UUID_KEY),
+ "uuid": UUID_KEY,
}
-def test_get_filter_id(app_context: AppContext,) -> None:
+def test_get_filter_id() -> None:
from superset.key_value.utils import get_filter
- assert get_filter(resource=RESOURCE, key=ID_KEY, key_type="id",) == {
+ assert get_filter(resource=RESOURCE, key=ID_KEY) == {
"resource": RESOURCE,
- "id": int(ID_KEY),
+ "id": ID_KEY,
}
+
+
+def test_encode_permalink_id_valid() -> None:
+ from superset.key_value.utils import encode_permalink_key
+
+ salt = "abc"
+ assert encode_permalink_key(1, salt) == "AyBn4lm9qG8"
+
+
+def test_decode_permalink_id_invalid() -> None:
+ from superset.key_value.utils import decode_permalink_id
+
+ with pytest.raises(KeyValueParseKeyError):
+ decode_permalink_id("foo", "bar")
diff --git a/tests/unit_tests/migrations/__init__.py b/tests/unit_tests/migrations/__init__.py
new file mode 100644
index 0000000000000..13a83393a9124
--- /dev/null
+++ b/tests/unit_tests/migrations/__init__.py
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/tests/unit_tests/migrations/shared/__init__.py b/tests/unit_tests/migrations/shared/__init__.py
new file mode 100644
index 0000000000000..13a83393a9124
--- /dev/null
+++ b/tests/unit_tests/migrations/shared/__init__.py
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/tests/unit_tests/migrations/shared/utils_test.py b/tests/unit_tests/migrations/shared/utils_test.py
new file mode 100644
index 0000000000000..cb5b2cbd0e82b
--- /dev/null
+++ b/tests/unit_tests/migrations/shared/utils_test.py
@@ -0,0 +1,56 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# pylint: disable=import-outside-toplevel, unused-argument
+
+"""
+Test the SIP-68 migration.
+"""
+
+from pytest_mock import MockerFixture
+
+from superset.sql_parse import Table
+
+
+def test_extract_table_references(mocker: MockerFixture, app_context: None) -> None:
+ """
+ Test the ``extract_table_references`` helper function.
+ """
+ from superset.migrations.shared.utils import extract_table_references
+
+ assert extract_table_references("SELECT 1", "trino") == set()
+ assert extract_table_references("SELECT 1 FROM some_table", "trino") == {
+ Table(table="some_table", schema=None, catalog=None)
+ }
+ assert extract_table_references(
+ "SELECT 1 FROM some_catalog.some_schema.some_table", "trino"
+ ) == {Table(table="some_table", schema="some_schema", catalog="some_catalog")}
+ assert extract_table_references(
+ "SELECT * FROM some_table JOIN other_table ON some_table.id = other_table.id",
+ "trino",
+ ) == {
+ Table(table="some_table", schema=None, catalog=None),
+ Table(table="other_table", schema=None, catalog=None),
+ }
+
+ # test falling back to sqlparse
+ logger = mocker.patch("superset.migrations.shared.utils.logger")
+ sql = "SELECT * FROM table UNION ALL SELECT * FROM other_table"
+ assert extract_table_references(
+ sql,
+ "trino",
+ ) == {Table(table="other_table", schema=None, catalog=None)}
+ logger.warning.assert_called_with("Unable to parse query with sqloxide: %s", sql)
diff --git a/tests/unit_tests/pandas_postprocessing/test_contribution.py b/tests/unit_tests/pandas_postprocessing/test_contribution.py
index a38551474770d..7eb34c4d13f7b 100644
--- a/tests/unit_tests/pandas_postprocessing/test_contribution.py
+++ b/tests/unit_tests/pandas_postprocessing/test_contribution.py
@@ -48,7 +48,8 @@ def test_contribution():
# cell contribution across row
processed_df = contribution(
- df, orientation=PostProcessingContributionOrientation.ROW,
+ df,
+ orientation=PostProcessingContributionOrientation.ROW,
)
assert processed_df.columns.tolist() == [DTTM_ALIAS, "a", "b", "c"]
assert_array_equal(processed_df["a"].tolist(), [0.5, 0.25, nan])
diff --git a/tests/unit_tests/pandas_postprocessing/test_cum.py b/tests/unit_tests/pandas_postprocessing/test_cum.py
index 6cc5da2807ef2..17cd3c0efc8a4 100644
--- a/tests/unit_tests/pandas_postprocessing/test_cum.py
+++ b/tests/unit_tests/pandas_postprocessing/test_cum.py
@@ -31,33 +31,49 @@
def test_cum_should_not_side_effect():
_timeseries_df = timeseries_df.copy()
pp.cum(
- df=timeseries_df, columns={"y": "y2"}, operator="sum",
+ df=timeseries_df,
+ columns={"y": "y2"},
+ operator="sum",
)
assert _timeseries_df.equals(timeseries_df)
def test_cum():
# create new column (cumsum)
- post_df = pp.cum(df=timeseries_df, columns={"y": "y2"}, operator="sum",)
+ post_df = pp.cum(
+ df=timeseries_df,
+ columns={"y": "y2"},
+ operator="sum",
+ )
assert post_df.columns.tolist() == ["label", "y", "y2"]
assert series_to_list(post_df["label"]) == ["x", "y", "z", "q"]
assert series_to_list(post_df["y"]) == [1.0, 2.0, 3.0, 4.0]
assert series_to_list(post_df["y2"]) == [1.0, 3.0, 6.0, 10.0]
# overwrite column (cumprod)
- post_df = pp.cum(df=timeseries_df, columns={"y": "y"}, operator="prod",)
+ post_df = pp.cum(
+ df=timeseries_df,
+ columns={"y": "y"},
+ operator="prod",
+ )
assert post_df.columns.tolist() == ["label", "y"]
assert series_to_list(post_df["y"]) == [1.0, 2.0, 6.0, 24.0]
# overwrite column (cummin)
- post_df = pp.cum(df=timeseries_df, columns={"y": "y"}, operator="min",)
+ post_df = pp.cum(
+ df=timeseries_df,
+ columns={"y": "y"},
+ operator="min",
+ )
assert post_df.columns.tolist() == ["label", "y"]
assert series_to_list(post_df["y"]) == [1.0, 1.0, 1.0, 1.0]
# invalid operator
with pytest.raises(InvalidPostProcessingError):
pp.cum(
- df=timeseries_df, columns={"y": "y"}, operator="abc",
+ df=timeseries_df,
+ columns={"y": "y"},
+ operator="abc",
)
diff --git a/tests/unit_tests/pandas_postprocessing/test_diff.py b/tests/unit_tests/pandas_postprocessing/test_diff.py
index a491d6ca2b0fb..c77195bbf6d71 100644
--- a/tests/unit_tests/pandas_postprocessing/test_diff.py
+++ b/tests/unit_tests/pandas_postprocessing/test_diff.py
@@ -41,7 +41,8 @@ def test_diff():
# invalid column reference
with pytest.raises(InvalidPostProcessingError):
diff(
- df=timeseries_df, columns={"abc": "abc"},
+ df=timeseries_df,
+ columns={"abc": "abc"},
)
# diff by columns
diff --git a/tests/unit_tests/pandas_postprocessing/test_flatten.py b/tests/unit_tests/pandas_postprocessing/test_flatten.py
index 01a180b2d511b..028d25e9ecdd0 100644
--- a/tests/unit_tests/pandas_postprocessing/test_flatten.py
+++ b/tests/unit_tests/pandas_postprocessing/test_flatten.py
@@ -21,7 +21,12 @@
def test_flat_should_not_change():
- df = pd.DataFrame(data={"foo": [1, 2, 3], "bar": [4, 5, 6],})
+ df = pd.DataFrame(
+ data={
+ "foo": [1, 2, 3],
+ "bar": [4, 5, 6],
+ }
+ )
assert pp.flatten(df).equals(df)
@@ -40,7 +45,13 @@ def test_flat_should_flat_datetime_index():
df = pd.DataFrame(index=index, data={"foo": [1, 2, 3], "bar": [4, 5, 6]})
assert pp.flatten(df).equals(
- pd.DataFrame({"__timestamp": index, "foo": [1, 2, 3], "bar": [4, 5, 6],})
+ pd.DataFrame(
+ {
+ "__timestamp": index,
+ "foo": [1, 2, 3],
+ "bar": [4, 5, 6],
+ }
+ )
)
diff --git a/tests/unit_tests/pandas_postprocessing/test_pivot.py b/tests/unit_tests/pandas_postprocessing/test_pivot.py
index e775df4e3f809..658cb4edcda86 100644
--- a/tests/unit_tests/pandas_postprocessing/test_pivot.py
+++ b/tests/unit_tests/pandas_postprocessing/test_pivot.py
@@ -34,37 +34,49 @@ def test_flatten_column_after_pivot():
"""
# single aggregate cases
assert (
- _flatten_column_after_pivot(aggregates=AGGREGATES_SINGLE, column="idx_nulls",)
+ _flatten_column_after_pivot(
+ aggregates=AGGREGATES_SINGLE,
+ column="idx_nulls",
+ )
== "idx_nulls"
)
assert (
- _flatten_column_after_pivot(aggregates=AGGREGATES_SINGLE, column=1234,)
+ _flatten_column_after_pivot(
+ aggregates=AGGREGATES_SINGLE,
+ column=1234,
+ )
== "1234"
)
assert (
_flatten_column_after_pivot(
- aggregates=AGGREGATES_SINGLE, column=Timestamp("2020-09-29T00:00:00"),
+ aggregates=AGGREGATES_SINGLE,
+ column=Timestamp("2020-09-29T00:00:00"),
)
== "2020-09-29 00:00:00"
)
assert (
- _flatten_column_after_pivot(aggregates=AGGREGATES_SINGLE, column="idx_nulls",)
+ _flatten_column_after_pivot(
+ aggregates=AGGREGATES_SINGLE,
+ column="idx_nulls",
+ )
== "idx_nulls"
)
assert (
_flatten_column_after_pivot(
- aggregates=AGGREGATES_SINGLE, column=("idx_nulls", "col1"),
+ aggregates=AGGREGATES_SINGLE,
+ column=("idx_nulls", "col1"),
)
== "col1"
)
assert (
_flatten_column_after_pivot(
- aggregates=AGGREGATES_SINGLE, column=("idx_nulls", "col1", 1234),
+ aggregates=AGGREGATES_SINGLE,
+ column=("idx_nulls", "col1", 1234),
)
== "col1, 1234"
)
@@ -72,7 +84,8 @@ def test_flatten_column_after_pivot():
# Multiple aggregate cases
assert (
_flatten_column_after_pivot(
- aggregates=AGGREGATES_MULTIPLE, column=("idx_nulls", "asc_idx", "col1"),
+ aggregates=AGGREGATES_MULTIPLE,
+ column=("idx_nulls", "asc_idx", "col1"),
)
== "idx_nulls, asc_idx, col1"
)
@@ -90,7 +103,11 @@ def test_pivot_without_columns():
"""
Make sure pivot without columns returns correct DataFrame
"""
- df = pivot(df=categories_df, index=["name"], aggregates=AGGREGATES_SINGLE,)
+ df = pivot(
+ df=categories_df,
+ index=["name"],
+ aggregates=AGGREGATES_SINGLE,
+ )
assert df.columns.tolist() == ["name", "idx_nulls"]
assert len(df) == 101
assert df.sum()[1] == 1050
@@ -235,7 +252,10 @@ def test_pivot_eliminate_cartesian_product_columns():
df=mock_df,
index=["dttm"],
columns=["a", "b"],
- aggregates={"metric": {"operator": "mean"}, "metric2": {"operator": "mean"},},
+ aggregates={
+ "metric": {"operator": "mean"},
+ "metric2": {"operator": "mean"},
+ },
drop_missing_columns=False,
)
assert list(df.columns) == [
diff --git a/tests/unit_tests/pandas_postprocessing/test_prophet.py b/tests/unit_tests/pandas_postprocessing/test_prophet.py
index f341a5e250735..e4f3ed8cfc36d 100644
--- a/tests/unit_tests/pandas_postprocessing/test_prophet.py
+++ b/tests/unit_tests/pandas_postprocessing/test_prophet.py
@@ -84,31 +84,46 @@ def test_prophet_missing_temporal_column():
with pytest.raises(InvalidPostProcessingError):
prophet(
- df=df, time_grain="P1M", periods=3, confidence_interval=0.9,
+ df=df,
+ time_grain="P1M",
+ periods=3,
+ confidence_interval=0.9,
)
def test_prophet_incorrect_confidence_interval():
with pytest.raises(InvalidPostProcessingError):
prophet(
- df=prophet_df, time_grain="P1M", periods=3, confidence_interval=0.0,
+ df=prophet_df,
+ time_grain="P1M",
+ periods=3,
+ confidence_interval=0.0,
)
with pytest.raises(InvalidPostProcessingError):
prophet(
- df=prophet_df, time_grain="P1M", periods=3, confidence_interval=1.0,
+ df=prophet_df,
+ time_grain="P1M",
+ periods=3,
+ confidence_interval=1.0,
)
def test_prophet_incorrect_periods():
with pytest.raises(InvalidPostProcessingError):
prophet(
- df=prophet_df, time_grain="P1M", periods=-1, confidence_interval=0.8,
+ df=prophet_df,
+ time_grain="P1M",
+ periods=-1,
+ confidence_interval=0.8,
)
def test_prophet_incorrect_time_grain():
with pytest.raises(InvalidPostProcessingError):
prophet(
- df=prophet_df, time_grain="yearly", periods=10, confidence_interval=0.8,
+ df=prophet_df,
+ time_grain="yearly",
+ periods=10,
+ confidence_interval=0.8,
)
diff --git a/tests/unit_tests/pandas_postprocessing/test_resample.py b/tests/unit_tests/pandas_postprocessing/test_resample.py
index bd3a36e591648..9f1aaef3e62f6 100644
--- a/tests/unit_tests/pandas_postprocessing/test_resample.py
+++ b/tests/unit_tests/pandas_postprocessing/test_resample.py
@@ -14,8 +14,10 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
+import numpy as np
import pandas as pd
import pytest
+from pandas import to_datetime
from superset.exceptions import InvalidPostProcessingError
from superset.utils import pandas_postprocessing as pp
@@ -105,7 +107,9 @@ def test_resample_after_pivot():
df=df,
index=["__timestamp"],
columns=["city"],
- aggregates={"val": {"operator": "sum"},},
+ aggregates={
+ "val": {"operator": "sum"},
+ },
flatten_columns=False,
reset_index=False,
)
@@ -116,7 +120,12 @@ def test_resample_after_pivot():
2022-01-11 3.0 2.0 1.0
2022-01-13 6.0 5.0 4.0
"""
- resample_df = pp.resample(df=pivot_df, rule="1D", method="asfreq", fill_value=0,)
+ resample_df = pp.resample(
+ df=pivot_df,
+ rule="1D",
+ method="asfreq",
+ fill_value=0,
+ )
"""
val
city Chicago LA NY
@@ -149,5 +158,53 @@ def test_resample_after_pivot():
def test_resample_should_raise_ex():
with pytest.raises(InvalidPostProcessingError):
pp.resample(
- df=categories_df, rule="1D", method="asfreq",
+ df=categories_df,
+ rule="1D",
+ method="asfreq",
+ )
+
+ with pytest.raises(InvalidPostProcessingError):
+ pp.resample(
+ df=timeseries_df,
+ rule="1D",
+ method="foobar",
)
+
+
+def test_resample_linear():
+ df = pd.DataFrame(
+ index=to_datetime(["2019-01-01", "2019-01-05", "2019-01-08"]),
+ data={"label": ["a", "e", "j"], "y": [1.0, 5.0, 8.0]},
+ )
+ post_df = pp.resample(df=df, rule="1D", method="linear")
+ """
+ label y
+ 2019-01-01 a 1.0
+ 2019-01-02 NaN 2.0
+ 2019-01-03 NaN 3.0
+ 2019-01-04 NaN 4.0
+ 2019-01-05 e 5.0
+ 2019-01-06 NaN 6.0
+ 2019-01-07 NaN 7.0
+ 2019-01-08 j 8.0
+ """
+ assert post_df.equals(
+ pd.DataFrame(
+ index=pd.to_datetime(
+ [
+ "2019-01-01",
+ "2019-01-02",
+ "2019-01-03",
+ "2019-01-04",
+ "2019-01-05",
+ "2019-01-06",
+ "2019-01-07",
+ "2019-01-08",
+ ]
+ ),
+ data={
+ "label": ["a", np.NaN, np.NaN, np.NaN, "e", np.NaN, np.NaN, "j"],
+ "y": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0],
+ },
+ )
+ )
diff --git a/tests/unit_tests/pandas_postprocessing/test_rolling.py b/tests/unit_tests/pandas_postprocessing/test_rolling.py
index 616e4f5bd02d8..4d4c4341b895a 100644
--- a/tests/unit_tests/pandas_postprocessing/test_rolling.py
+++ b/tests/unit_tests/pandas_postprocessing/test_rolling.py
@@ -90,7 +90,10 @@ def test_rolling():
# incorrect rolling type
with pytest.raises(InvalidPostProcessingError):
pp.rolling(
- df=timeseries_df, columns={"y": "y"}, rolling_type="abc", window=2,
+ df=timeseries_df,
+ columns={"y": "y"},
+ rolling_type="abc",
+ window=2,
)
# incorrect rolling type options
@@ -191,7 +194,10 @@ def test_rolling_after_pivot_with_multiple_metrics():
"""
rolling_df = pp.rolling(
df=pivot_df,
- columns={"count_metric": "count_metric", "sum_metric": "sum_metric",},
+ columns={
+ "count_metric": "count_metric",
+ "sum_metric": "sum_metric",
+ },
rolling_type="sum",
window=2,
min_periods=0,
diff --git a/tests/unit_tests/tables/test_models.py b/tests/unit_tests/tables/test_models.py
index eb1f5f4611248..56ca5ba82fbfc 100644
--- a/tests/unit_tests/tables/test_models.py
+++ b/tests/unit_tests/tables/test_models.py
@@ -36,7 +36,13 @@ def test_table_model(app_context: None, session: Session) -> None:
schema="my_schema",
catalog="my_catalog",
database=Database(database_name="my_database", sqlalchemy_uri="test://"),
- columns=[Column(name="ds", type="TIMESTAMP", expression="ds",)],
+ columns=[
+ Column(
+ name="ds",
+ type="TIMESTAMP",
+ expression="ds",
+ )
+ ],
)
session.add(table)
session.flush()