From 1a9e719eb2ca60fc6b800cd952725bbf2ba00cdc Mon Sep 17 00:00:00 2001 From: Heath C <51679588+heath-freenome@users.noreply.github.com> Date: Fri, 21 Oct 2022 08:57:09 -0700 Subject: [PATCH] fix: #3189 by allowing the ajv 8 validator to alternate schema Ajv classes (#3201) * fix: #3189 by allowing the ajv 8 validator to alternate schema Ajv classes Fix #3189 by extending the `@rjsf/validator-ajv8` to support the `Ajv2019` and `Ajv2020` classes - Updated the `CustomValidatorOptionsType` to add a new `AjvClass` option - Updated the `createAjvInstance()` function to use the `AjvClass` option is provided to create the `Ajv` class instance, falling back to the default `Ajv` - Updated the `AJV8Validator` to extract the `AjvClass` from the options and pass it to the `createAjvInstance()` function - Updated the tests to also test the `Ajv2019` and `Ajv2020` class instances - Updated the `validation.md` file to document the new `AjvClass` options, switching the examples over to `tsx` - Updated the `CHANGELOG.md` file accordingly * - Added support for the 2019 and 2020 schemas from AJV 8 to the playground --- CHANGELOG.md | 3 + docs/usage/validation.md | 109 +- packages/playground/package-lock.json | 1956 +++++++---------- packages/playground/package.json | 6 +- packages/playground/src/index.jsx | 10 +- .../validator-ajv8/src/createAjvInstance.ts | 5 +- packages/validator-ajv8/src/types.ts | 4 +- packages/validator-ajv8/src/validator.ts | 4 +- .../test/createAjvInstance.test.ts | 47 + .../test/utilsTests/schema.test.ts | 28 + .../validator-ajv8/test/validator.test.ts | 1088 ++++++++- 11 files changed, 1997 insertions(+), 1263 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac0549d27b..fa18b1a262 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,9 +34,12 @@ should change the heading of the (upcoming) version to include a major version b ## @rjsf/validator-ajv8 - Updated the typing to add the new `S extends StrictRJSFSchema = RJSFSchema` generic and fixed up type casts +- Added the `AjvClass` prop to the `CustomValidatorOptionsType` to support using the `Ajv2019` or `Ajv2020` class implementation instead of the default `Ajv` class; fixing [#3189](https://github.com/rjsf-team/react-jsonschema-form/issues/3189) ## Dev / docs / playground - Updated the `5.x upgrade guide` to document the new `StrictRJSFSchema` and `S` generic +- Updated the `validation` guide to document the new `AjvClass` prop on `CustomValidatorOptionsType` +- Updated the playground to add support for using the AJV 8 validator with the `draft-2019-09` and `draft-2020-12` schemas # 5.0.0-beta.11 diff --git a/docs/usage/validation.md b/docs/usage/validation.md index f5e9bbad6e..3c235c415d 100644 --- a/docs/usage/validation.md +++ b/docs/usage/validation.md @@ -19,10 +19,11 @@ You can enable live form data validation by passing a `liveValidate` prop to the Be warned that this is an expensive strategy, with possibly strong impact on performances. -```jsx +```tsx +import { RJSFSchema } from "@rjsf/utils"; import validator from "@rjsf/validator-ajv6"; -const schema = { +const schema: StrictRJSFSchema = { type: ["string"], const: "test" }; @@ -41,19 +42,20 @@ Add a `ref` to your `Form` component and call the `validateForm()` method to val The `validateForm()` method returns true if the form is valid, false otherwise. If you have provided an `onError` callback it will be called with the list of errors when the `validatorForm()` method returns false. -```jsx +```tsx import { createRef } from "react" +import { RJSFSchema } from "@rjsf/utils"; import validator from "@rjsf/validator-ajv6"; const formRef = createRef(); const onError = (errors) => alert(errors); -const schema = { +const schema: RJSFSchema = { type: "string" }; render(( -
+ ), document.getElementById("app")); if (formRef.current.validateForm()) { @@ -65,10 +67,11 @@ if (formRef.current.validateForm()) { By default, the form uses HTML5 validation. This may cause unintuitive results because the HTML5 validation errors (such as when a field is `required`) may be displayed before the form is submitted, and thus these errors will display differently from the react-jsonschema-form validation errors. You can turn off HTML validation by setting the `noHtml5Validate` to `true`. -```jsx +```tsx +import { RJSFSchema } from "@rjsf/utils"; import validator from "@rjsf/validator-ajv6"; -const schema = { +const schema: RJSFSchema = { type: "object", properties: { name: { @@ -90,7 +93,8 @@ Form data is always validated against the JSON schema. But it is possible to define your own custom validation rules that will run in addition to (and after) the `validator` implementation. This is especially useful when the validation depends on several interdependent fields. -```jsx +```tsx +import { RJSFSchema } from "@rjsf/utils"; import validator from "@rjsf/validator-ajv6"; function customValidate(formData, errors) { @@ -100,7 +104,7 @@ function customValidate(formData, errors) { return errors; } -const schema = { +const schema: RJSFSchema = { type: "object", properties: { pass1: {type: "string", minLength: 3}, @@ -123,7 +127,8 @@ render(( Validation error messages are provided by the JSON Schema validation by default. If you need to change these messages or make any other modifications to the errors from the JSON Schema validation, you can define a transform function that receives the list of JSON Schema errors and returns a new list. -```jsx +```tsx +import { RJSFSchema } from "@rjsf/utils"; import validator from "@rjsf/validator-ajv6"; function transformErrors(errors) { @@ -135,7 +140,7 @@ function transformErrors(errors) { }); } -const schema = { +const schema: RJSFSchema = { type: "object", properties: { onlyNumbersString: {type: "string", pattern: "^\\d*$"}, @@ -168,6 +173,7 @@ This list is the form global error list that appears at the top of your forms. An error list template is basically a React stateless component being passed errors as props, so you can render them as you like: ```tsx +import { RJSFSchema, ErrorListProps } from "@rjsf/utils"; import validator from "@rjsf/validator-ajv6"; function ErrorListTemplate(props: ErrorListProps) { @@ -186,7 +192,7 @@ function ErrorListTemplate(props: ErrorListProps) { ); } -const schema = { +const schema: RJSFSchema = { type: "string", const: "test" }; @@ -242,18 +248,19 @@ To support additional meta schemas, you can create and pass to the `Form` compon The `additionalMetaSchemas` prop allows you to validate the form data against one (or more than one) JSON Schema meta schema, for example, JSON Schema draft-04. You can import a meta schema as follows: -```jsx +```tsx const metaSchemaDraft04 = require("ajv/lib/refs/json-schema-draft-04.json"); ``` In this example `schema` passed as props to `Form` component can be validated against draft-07 (default) and by draft-04 (added), depending on the value of `$schema` attribute. -```jsx +```tsx +import { RJSFSchema } from "@rjsf/utils"; import { customizeValidator } from '@rjsf/validator-ajv6'; const validator = customizeValidator({ additionalMetaSchemas: [metaSchemaDraft04] }); -const schema = { +const schema: RJSFSchema = { "$schema": "http://json-schema.org/draft-04/schema#", type: "string" }; @@ -267,10 +274,11 @@ return (); react-jsonschema-form adds two formats, `color` and `data-url`, to support certain [alternative widgets](../usage/widgets.md). To add formats of your own, you can create and pass to the `Form` component a customized `@rjsf/validator-ajv6`: -```jsx +```tsx +import { RJSFSchema } from "@rjsf/utils"; import { customizeValidator } from '@rjsf/validator-ajv6'; -const schema = { +const schema: RJSFSchema = { type: 'string', format: 'phone-us' }; @@ -294,10 +302,11 @@ Handling async errors is an important part of many applications. Support for thi For example, a request could be made to some backend when the user submits the form. If that request fails, the errors returned by the backend should be formatted like in the following example. -```jsx +```tsx +import { RJSFSchema, ErrorSchema } from "@rjsf/utils"; import validator from "@rjsf/validator-ajv6"; -const schema = { +const schema: RJSFSchema = { type: "object", properties: { foo: { @@ -314,7 +323,7 @@ const schema = { } }; -const extraErrors = { +const extraErrors: ErrorSchema = { foo: { __errors: ["some error that got added as a prop"], }, @@ -337,10 +346,11 @@ An important note is that these errors are "display only" and will not block the In version 5, with the advent of the decoupling of the validation implementation from the `Form`, it is now possible to provide additional options to the `ajv6` instance used within `@rjsf/validator-ajv6`. For instance, if you need more information from `ajv` about errors via the `verbose` option, now you can turn it on! -```jsx +```tsx +import { RJSFSchema } from "@rjsf/utils"; import { customizeValidator } from '@rjsf/validator-ajv6'; -const schema = { +const schema: RJSFSchema = { type: 'string', format: 'phone-us' }; @@ -367,16 +377,18 @@ So if your schema is using an older format, you have to either upgrade it or sti The `ajvOptionsOverrides` for the Ajv 8 validator are the ones supported by that version and not the Ajv 6 validator. Second, the data formats previously provided in Ajv 6 now need to be added explicitly using the `ajv-formats` package. A new `ajvFormatOptions` option is available on the `customizeValidator()` API to be able to configure this. +Additionally, a new `AjvClass` option is available on the `customizeValidator()` API to support using one of the other [JSON schema versions](https://ajv.js.org/json-schema.html#json-schema-versions) provided by Ajv 8 besides the `draft-07` default. Finally, the Ajv 8 validator supports the localization of error messages. ### ajvFormatOptions By default, ALL formats are being added to the default `@rjsf/validator-ajv8` that you get when you import it. -```jsx +```tsx +import { RJSFSchema } from "@rjsf/utils"; import validator from '@rjsf/validator-ajv8'; -const schema = { +const schema: RJSFSchema = { type: 'string', format: 'email' }; @@ -388,10 +400,11 @@ render(( If you don't actually need any of the [ajv-formats](https://github.com/ajv-validator/ajv-formats#formats) and want to reduce the memory footprint, then you can turn it off as follows: -```jsx +```tsx +import { RJSFSchema } from "@rjsf/utils"; import { customizeValidator } from '@rjsf/validator-ajv8'; -const schema = { +const schema: RJSFSchema = { type: 'string', }; @@ -404,10 +417,11 @@ render(( If you only need some of them, you can pass any of the [options](https://github.com/ajv-validator/ajv-formats#options) to the formatter: -```jsx +```tsx +import { RJSFSchema } from "@rjsf/utils"; import { customizeValidator } from '@rjsf/validator-ajv8'; -const schema = { +const schema: RJSFSchema = { type: 'string', format: 'date' }; @@ -421,6 +435,30 @@ render(( ), document.getElementById("app")); ``` +### AjvClass +By default, the `@rjsf/validator-ajv8` uses the `draft-07` schema version. +It is possible to use one of the other version it supports, like `draft-2019-09` or `draft-2020-12`. +NOTE: `draft-2020-12` has breaking changes and hasn't been fully tested with `@rjsf`. + +```tsx +import { RJSFSchema } from "@rjsf/utils"; +import { customizeValidator } from '@rjsf/validator-ajv8'; +import Ajv2019 from "ajv/dist/2019"; + +const schema: RJSFSchema = { + type: 'string', + format: 'date' +}; + +const validator = customizeValidator({ AjvClass: Ajv2019 }); +// or +// const validator = customizeValidator({ AjvClass: Ajv2020 }); + +render(( + +), document.getElementById("app")); +``` + ### Localization (L12n) support The Ajv 8 validator supports the localization of error messages using [ajv-i18n](https://github.com/ajv-validator/ajv-i18n). @@ -439,11 +477,12 @@ NOTE: The `ajv-i18n` validators implement the `Localizer` interface. Using a specific locale while including all of `ajv-i18n`: - ```jsx + ```tsx +import { RJSFSchema } from "@rjsf/utils"; import { customizeValidator } from '@rjsf/validator-ajv8'; import localizer from "ajv-i18n"; -const schema = { +const schema: RJSFSchema = { type: 'string', }; @@ -456,11 +495,12 @@ render(( Using a specific locale minimizing the bundle size - ```jsx + ```tsx +import { RJSFSchema } from "@rjsf/utils"; import { customizeValidator } from '@rjsf/validator-ajv8'; import spanishLocalizer from "ajv-i18n/localize/es"; -const schema = { +const schema: RJSFSchema = { type: 'string', }; @@ -474,6 +514,7 @@ render(( An example of a custom `Localizer` implementation: ```tsx +import { RJSFSchema } from "@rjsf/utils"; import { customizeValidator } from '@rjsf/validator-ajv8'; import { ErrorObject } from "ajv"; @@ -499,6 +540,10 @@ function localize_ru(errors: null | ErrorObject[] = []) { }) } +const schema: RJSFSchema = { + type: 'string', +}; + const validator = customizeValidator({}, localize_ru); render(( diff --git a/packages/playground/package-lock.json b/packages/playground/package-lock.json index 177242dcb7..fb37699f03 100644 --- a/packages/playground/package-lock.json +++ b/packages/playground/package-lock.json @@ -16,18 +16,11 @@ "@fluentui/react": "^7.190.3", "@material-ui/core": "^4.12.4", "@mui/material": "^5.10.2", - "@rjsf/antd": "^5.0.0-beta.11", - "@rjsf/bootstrap-4": "^5.0.0-beta.11", - "@rjsf/chakra-ui": "^5.0.0-beta.11", - "@rjsf/core": "^5.0.0-beta.11", - "@rjsf/fluent-ui": "^5.0.0-beta.11", - "@rjsf/material-ui": "^5.0.0-beta.11", - "@rjsf/mui": "^5.0.0-beta.11", - "@rjsf/semantic-ui": "^5.0.0-beta.11", - "@rjsf/utils": "^5.0.0-beta.11", - "@rjsf/validator-ajv6": "^5.0.0-beta.11", - "@rjsf/validator-ajv8": "^5.0.0-beta.11", + "ajv": "^8.11.0", + "ajv-formats": "^2.1.1", + "ajv-i18n": "^4.2.0", "antd": "^4.22.8", + "chakra-react-select": ">=3.3.8", "core-js": "^3.25.0", "dayjs": "^1.11.5", "framer-motion": "^5.6.0", @@ -60,8 +53,6 @@ "@monaco-editor/react": "^4.4.5", "@mui/icons-material": "^5.10.2", "@vitejs/plugin-react": "^2.1.0", - "ajv": "^8.11.0", - "ajv-i18n": "^4.2.0", "atob": "^2.1.2", "cross-env": "^7.0.3", "eslint": "^8.23.0", @@ -601,7 +592,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, "dependencies": { "@babel/highlight": "^7.18.6" }, @@ -648,18 +638,11 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "1.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.3", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -939,7 +922,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, "dependencies": { "@babel/types": "^7.18.6" }, @@ -982,7 +964,6 @@ "version": "7.18.9", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -1061,7 +1042,6 @@ "version": "7.18.10", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -1070,7 +1050,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -1117,7 +1096,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", @@ -1131,7 +1109,6 @@ "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==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -1143,7 +1120,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -1157,22 +1133,14 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } }, - "node_modules/@babel/highlight/node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, "node_modules/@babel/highlight/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==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -1565,7 +1533,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -2454,9 +2421,9 @@ } }, "node_modules/@babel/runtime/node_modules/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==" + "version": "0.13.10", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", + "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" }, "node_modules/@babel/template": { "version": "7.18.10", @@ -2494,9 +2461,10 @@ } }, "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.3", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -2518,7 +2486,6 @@ "version": "7.18.13", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz", "integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==", - "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.18.10", "@babel/helper-validator-identifier": "^7.18.6", @@ -2961,19 +2928,6 @@ "react": ">=16.8.6" } }, - "node_modules/@chakra-ui/icons/node_modules/@types/react": { - "version": "17.0.39", - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@chakra-ui/icons/node_modules/csstype": { - "version": "3.0.10", - "license": "MIT" - }, "node_modules/@chakra-ui/image": { "version": "1.1.3", "license": "MIT", @@ -3605,8 +3559,9 @@ } }, "node_modules/@chakra-ui/styled-system/node_modules/csstype": { - "version": "3.0.10", - "license": "MIT" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/@chakra-ui/switch": { "version": "1.3.3", @@ -3920,7 +3875,6 @@ "version": "11.10.2", "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.2.tgz", "integrity": "sha512-xNQ57njWTFVfPAc3cjfuaPdsgLp5QOSuRsj9MA6ndEhH/AzuZM86qIQzt6rq+aGBwj3n5/TkLmU5lhAfdRmogA==", - "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.16.7", "@babel/plugin-syntax-jsx": "^7.17.12", @@ -3942,14 +3896,12 @@ "node_modules/@emotion/babel-plugin/node_modules/@emotion/hash": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", - "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==", - "dev": true + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" }, "node_modules/@emotion/babel-plugin/node_modules/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==", - "dev": true, "engines": { "node": ">=10" }, @@ -3990,7 +3942,6 @@ "version": "11.10.0", "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.0.tgz", "integrity": "sha512-K6z9zlHxxBXwN8TcpwBKcEsBsOw4JWCCmR+BeeOWgqp8GIU1yA2Odd41bwdAAr0ssbQrbJbVnndvv7oiv1bZeQ==", - "dev": true, "dependencies": { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.10.0", @@ -4017,7 +3968,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.0.tgz", "integrity": "sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==", - "dev": true, "dependencies": { "@emotion/hash": "^0.9.0", "@emotion/memoize": "^0.8.0", @@ -4029,14 +3979,12 @@ "node_modules/@emotion/serialize/node_modules/@emotion/hash": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", - "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==", - "dev": true + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" }, "node_modules/@emotion/serialize/node_modules/csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==", - "dev": true + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/@emotion/sheet": { "version": "1.2.0", @@ -4072,8 +4020,7 @@ "node_modules/@emotion/unitless": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", - "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==", - "dev": true + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" }, "node_modules/@emotion/utils": { "version": "1.2.0", @@ -4172,22 +4119,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/eslintrc/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -4212,6 +4143,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@floating-ui/core": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.0.1.tgz", + "integrity": "sha512-bO37brCPfteXQfFY0DyNDGB3+IMe4j150KFQcgJ5aBP295p9nBGeHEs/p0czrRbtlHq4Px/yoPXO/+dOCcF4uA==" + }, + "node_modules/@floating-ui/dom": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.0.2.tgz", + "integrity": "sha512-5X9WSvZ8/fjy3gDu8yx9HAA4KG1lazUN2P4/VnaXLxTO9Dz53HI1oYoh1OlhqFNlHgGDiwFX5WhFCc2ljbW3yA==", + "dependencies": { + "@floating-ui/core": "^1.0.1" + } + }, "node_modules/@fluentui/date-time-utilities": { "version": "7.9.1", "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz", @@ -4796,9 +4740,9 @@ } }, "node_modules/@mui/material/node_modules/csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/@mui/private-theming": { "version": "5.9.3", @@ -4858,9 +4802,9 @@ } }, "node_modules/@mui/styled-engine/node_modules/csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/@mui/system": { "version": "5.10.2", @@ -4902,9 +4846,9 @@ } }, "node_modules/@mui/system/node_modules/csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/@mui/types": { "version": "7.1.5", @@ -5003,8 +4947,9 @@ } }, "node_modules/@reach/alert/node_modules/tslib": { - "version": "2.3.1", - "license": "0BSD" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "node_modules/@reach/utils": { "version": "0.13.2", @@ -5020,15 +4965,9 @@ } }, "node_modules/@reach/utils/node_modules/tslib": { - "version": "2.3.1", - "license": "0BSD" - }, - "node_modules/@reach/utils/node_modules/warning": { - "version": "4.0.3", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "node_modules/@reach/visually-hidden": { "version": "0.13.2", @@ -5043,8 +4982,9 @@ } }, "node_modules/@reach/visually-hidden/node_modules/tslib": { - "version": "2.3.1", - "license": "0BSD" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "node_modules/@restart/context": { "version": "2.1.4", @@ -5093,8 +5033,7 @@ "node_modules/@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==", - "dev": true + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, "node_modules/@types/prop-types": { "version": "15.7.5", @@ -5102,8 +5041,9 @@ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" }, "node_modules/@types/react": { - "version": "17.0.39", - "license": "MIT", + "version": "17.0.50", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.50.tgz", + "integrity": "sha512-ZCBHzpDb5skMnc1zFXAXnL3l1FAdi+xZvwxK+PkglMmBrwjpp9nKaWuEvrGnSifCJmBFGxZOOFuwC6KH/s0NuA==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -5127,8 +5067,9 @@ } }, "node_modules/@types/react/node_modules/csstype": { - "version": "3.0.10", - "license": "MIT" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/@types/scheduler": { "version": "0.16.2", @@ -5309,7 +5250,6 @@ "version": "8.11.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -5325,7 +5265,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, "dependencies": { "ajv": "^8.0.0" }, @@ -5342,7 +5281,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/ajv-i18n/-/ajv-i18n-4.2.0.tgz", "integrity": "sha512-v/ei2UkCEeuKNXh8RToiFsUclmU+G57LO1Oo22OagNMENIw+Yb8eMwvHu7Vn9fmkjJyv6XclhJ8TbuigSglPkg==", - "dev": true, "peerDependencies": { "ajv": "^8.0.0-beta.0" } @@ -5359,6 +5297,15 @@ "ajv": "^8.8.2" } }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -5387,9 +5334,9 @@ } }, "node_modules/antd": { - "version": "4.22.8", - "resolved": "https://registry.npmjs.org/antd/-/antd-4.22.8.tgz", - "integrity": "sha512-mqHuCg9itZX+z6wk+mvRBcfz/U9iiIXS4LoNkyo8X/UBgdN8CoetFmrdvA1UQy1BuWa0/n62LiS1LatdvoTuHw==", + "version": "4.23.6", + "resolved": "https://registry.npmjs.org/antd/-/antd-4.23.6.tgz", + "integrity": "sha512-AYH57cWBDe1ChtbnvG8i9dpKG4WnjE3AG0zIKpXByFNnxsr4saV6/19ihE8/ImSGpohN4E2zTXmo7R5/MyVRKQ==", "dependencies": { "@ant-design/colors": "^6.0.0", "@ant-design/icons": "^4.7.0", @@ -5401,7 +5348,7 @@ "lodash": "^4.17.21", "memoize-one": "^6.0.0", "moment": "^2.29.2", - "rc-cascader": "~3.6.0", + "rc-cascader": "~3.7.0", "rc-checkbox": "~2.3.0", "rc-collapse": "~3.3.0", "rc-dialog": "~8.9.0", @@ -5409,28 +5356,28 @@ "rc-dropdown": "~4.0.0", "rc-field-form": "~1.27.0", "rc-image": "~5.7.0", - "rc-input": "~0.0.1-alpha.5", - "rc-input-number": "~7.3.5", - "rc-mentions": "~1.9.1", + "rc-input": "~0.1.2", + "rc-input-number": "~7.3.9", + "rc-mentions": "~1.10.0", "rc-menu": "~9.6.3", "rc-motion": "^2.6.1", "rc-notification": "~4.6.0", "rc-pagination": "~3.1.17", - "rc-picker": "~2.6.10", + "rc-picker": "~2.6.11", "rc-progress": "~3.3.2", "rc-rate": "~2.9.0", "rc-resize-observer": "^1.2.0", "rc-segmented": "~2.1.0", - "rc-select": "~14.1.1", + "rc-select": "~14.1.13", "rc-slider": "~10.0.0", "rc-steps": "~4.1.0", "rc-switch": "~3.2.0", - "rc-table": "~7.25.3", - "rc-tabs": "~11.16.0", - "rc-textarea": "~0.3.0", + "rc-table": "~7.26.0", + "rc-tabs": "~12.2.0", + "rc-textarea": "~0.4.5", "rc-tooltip": "~5.2.0", - "rc-tree": "~5.6.5", - "rc-tree-select": "~5.4.0", + "rc-tree": "~5.7.0", + "rc-tree-select": "~5.5.0", "rc-trigger": "^5.2.10", "rc-upload": "~4.3.0", "rc-util": "^5.22.5", @@ -5550,7 +5497,6 @@ "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", @@ -5565,7 +5511,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": true, "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -5577,22 +5522,6 @@ "node": ">=10" } }, - "node_modules/babel-plugin-macros/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", @@ -5661,76 +5590,6 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/body-parser/node_modules/qs": { - "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" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/body-parser/node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/body-parser/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -5790,6 +5649,15 @@ "dev": true, "license": "MIT" }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/caching-transform": { "version": "4.0.0", "dev": true, @@ -5870,6 +5738,25 @@ } ] }, + "node_modules/chakra-react-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/chakra-react-select/-/chakra-react-select-4.3.0.tgz", + "integrity": "sha512-ro2NZQuj4RzTCJ1t7rPt9uFpwWaiJmoZAnfAMvKpkPzzYeSAUtiBlTh2vyUJzmToj1CDdgtQVH4PDYGUgsAOEg==", + "dependencies": { + "react-select": "^5.5.0" + }, + "peerDependencies": { + "@chakra-ui/form-control": "^2.0.0", + "@chakra-ui/icon": "^3.0.0", + "@chakra-ui/layout": "^2.0.0", + "@chakra-ui/menu": "^2.0.0", + "@chakra-ui/spinner": "^2.0.0", + "@chakra-ui/system": "^2.0.0", + "@emotion/react": "^11.8.1", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -6001,14 +5888,6 @@ "node": ">=6" } }, - "node_modules/clone-deep/node_modules/kind-of": { - "version": "6.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/clsx": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", @@ -6018,13 +5897,18 @@ } }, "node_modules/color-convert": { - "version": "1.9.1", - "dev": true, - "license": "MIT", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dependencies": { - "color-name": "^1.1.1" + "color-name": "1.1.3" } }, + "node_modules/color-convert/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", @@ -6109,9 +5993,9 @@ } }, "node_modules/convert-source-map": { - "version": "1.5.1", - "dev": true, - "license": "MIT" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/cookie": { "version": "0.5.0", @@ -6146,9 +6030,9 @@ } }, "node_modules/core-js": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.0.tgz", - "integrity": "sha512-CVU1xvJEfJGhyCpBrzzzU1kjCfgsGUxhEvwUV2e/cOedYWHdmluamx+knDnmhqALddMG16fZvIqvs9aijsHHaA==", + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", + "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -6260,9 +6144,21 @@ } }, "node_modules/csstype": { - "version": "2.6.20", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", - "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "node_modules/date-fns": { + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz", + "integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==", + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } }, "node_modules/dayjs": { "version": "1.11.5", @@ -6330,6 +6226,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -6386,8 +6291,9 @@ } }, "node_modules/dom-helpers/node_modules/csstype": { - "version": "3.0.10", - "license": "MIT" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/dom-serializer": { "version": "1.4.1", @@ -6511,7 +6417,6 @@ }, "node_modules/error-ex": { "version": "1.3.1", - "dev": true, "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" @@ -6894,7 +6799,6 @@ }, "node_modules/escape-string-regexp": { "version": "1.0.5", - "dev": true, "license": "MIT", "engines": { "node": ">=0.8.0" @@ -7030,15 +6934,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/eslint/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/eslint/node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -7109,31 +7004,15 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.16.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.16.0.tgz", - "integrity": "sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", "dev": true, "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "type-fest": "^0.20.2" }, "engines": { - "node": ">=6" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7205,18 +7084,6 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/eslint/node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -7301,11 +7168,12 @@ } }, "node_modules/estraverse": { - "version": "4.2.0", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "license": "BSD-2-Clause", "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, "node_modules/estraverse-fb": { @@ -7373,52 +7241,6 @@ "node": ">= 0.10.0" } }, - "node_modules/express/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/express/node_modules/qs": { - "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" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/express/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -7439,26 +7261,10 @@ } ] }, - "node_modules/express/node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/express/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/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==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.2.11", @@ -7581,15 +7387,6 @@ "node": ">= 0.8" } }, - "node_modules/finalhandler/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/find-cache-dir": { "version": "2.1.0", "dev": true, @@ -7651,8 +7448,7 @@ "node_modules/find-root": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "dev": true + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, "node_modules/find-up": { "version": "4.1.0", @@ -7706,8 +7502,9 @@ } }, "node_modules/focus-lock/node_modules/tslib": { - "version": "2.3.1", - "license": "0BSD" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "node_modules/foreground-child": { "version": "2.0.0", @@ -7781,8 +7578,9 @@ } }, "node_modules/framer-motion/node_modules/tslib": { - "version": "2.3.1", - "license": "0BSD" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "node_modules/framesync": { "version": "5.3.0", @@ -7792,8 +7590,9 @@ } }, "node_modules/framesync/node_modules/tslib": { - "version": "2.3.1", - "license": "0BSD" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "node_modules/fresh": { "version": "0.5.2", @@ -7859,7 +7658,6 @@ }, "node_modules/function-bind": { "version": "1.1.1", - "dev": true, "license": "MIT" }, "node_modules/functional-red-black-tree": { @@ -7938,9 +7736,10 @@ "license": "MIT" }, "node_modules/gh-pages/node_modules/find-cache-dir": { - "version": "3.3.1", + "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, - "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -8076,7 +7875,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "dependencies": { "function-bind": "^1.1.1" }, @@ -8243,6 +8041,22 @@ "entities": "^2.0.0" } }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/humanize-url": { "version": "1.0.1", "dev": true, @@ -8297,6 +8111,21 @@ "dev": true, "license": "MIT" }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "dev": true, @@ -8323,9 +8152,10 @@ } }, "node_modules/inherits": { - "version": "2.0.3", - "dev": true, - "license": "ISC" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/invariant": { "version": "2.2.4", @@ -8345,14 +8175,12 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "dev": true, "license": "MIT" }, "node_modules/is-core-module": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, "dependencies": { "has": "^1.0.3" }, @@ -8561,9 +8389,10 @@ } }, "node_modules/istanbul-lib-source-maps/node_modules/debug": { - "version": "4.3.1", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -8602,8 +8431,9 @@ } }, "node_modules/js-tokens": { - "version": "3.0.2", - "license": "MIT" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "4.1.0", @@ -8636,14 +8466,12 @@ }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "dev": true, "license": "MIT" }, "node_modules/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==", - "dev": true + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -8692,9 +8520,9 @@ } }, "node_modules/jss-plugin-camel-case/node_modules/csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/jss-plugin-camel-case/node_modules/jss": { "version": "10.9.0", @@ -8721,9 +8549,9 @@ } }, "node_modules/jss-plugin-default-unit/node_modules/csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/jss-plugin-default-unit/node_modules/jss": { "version": "10.9.0", @@ -8750,9 +8578,9 @@ } }, "node_modules/jss-plugin-global/node_modules/csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/jss-plugin-global/node_modules/jss": { "version": "10.9.0", @@ -8780,9 +8608,9 @@ } }, "node_modules/jss-plugin-nested/node_modules/csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/jss-plugin-nested/node_modules/jss": { "version": "10.9.0", @@ -8809,9 +8637,9 @@ } }, "node_modules/jss-plugin-props-sort/node_modules/csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/jss-plugin-props-sort/node_modules/jss": { "version": "10.9.0", @@ -8839,9 +8667,9 @@ } }, "node_modules/jss-plugin-rule-value-function/node_modules/csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/jss-plugin-rule-value-function/node_modules/jss": { "version": "10.9.0", @@ -8869,9 +8697,9 @@ } }, "node_modules/jss-plugin-vendor-prefixer/node_modules/csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "node_modules/jss-plugin-vendor-prefixer/node_modules/jss": { "version": "10.9.0", @@ -8889,9 +8717,18 @@ } }, "node_modules/jss/node_modules/csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, "node_modules/klona": { "version": "2.0.5", @@ -8974,8 +8811,7 @@ "node_modules/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==", - "dev": true + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/loader-utils": { "version": "3.2.0", @@ -9024,10 +8860,11 @@ "license": "MIT" }, "node_modules/loose-envify": { - "version": "1.3.1", - "license": "MIT", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dependencies": { - "js-tokens": "^3.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" @@ -9404,14 +9241,6 @@ "node": ">=8.9" } }, - "node_modules/nyc/node_modules/ansi-regex": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/nyc/node_modules/cliui": { "version": "6.0.0", "dev": true, @@ -9422,23 +9251,16 @@ "wrap-ansi": "^6.2.0" } }, - "node_modules/nyc/node_modules/convert-source-map": { - "version": "1.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, "node_modules/nyc/node_modules/emoji-regex": { "version": "8.0.0", "dev": true, "license": "MIT" }, "node_modules/nyc/node_modules/find-cache-dir": { - "version": "3.3.1", + "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, - "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -9494,17 +9316,6 @@ "node": ">=8" } }, - "node_modules/nyc/node_modules/strip-ansi": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/nyc/node_modules/wrap-ansi": { "version": "6.2.0", "dev": true, @@ -9736,7 +9547,6 @@ }, "node_modules/parent-module": { "version": "1.0.1", - "dev": true, "license": "MIT", "dependencies": { "callsites": "^3.0.0" @@ -9747,7 +9557,6 @@ }, "node_modules/parent-module/node_modules/callsites": { "version": "3.1.0", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -9757,7 +9566,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -9832,7 +9640,6 @@ }, "node_modules/path-parse": { "version": "1.0.7", - "dev": true, "license": "MIT" }, "node_modules/path-to-regexp": { @@ -9844,7 +9651,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, "engines": { "node": ">=8" } @@ -9935,8 +9741,9 @@ } }, "node_modules/popmotion/node_modules/tslib": { - "version": "2.3.1", - "license": "0BSD" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "node_modules/popper.js": { "version": "1.16.1-lts", @@ -10057,16 +9864,6 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, - "node_modules/prop-types/node_modules/loose-envify": { - "version": "1.4.0", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, "node_modules/prop-types/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -10090,6 +9887,21 @@ "license": "MIT", "optional": true }, + "node_modules/qs": { + "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" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/query-string": { "version": "4.3.4", "dev": true, @@ -10133,61 +9945,6 @@ "node": ">= 0.8" } }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/raw-body/node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/raw-body/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/rc-align": { "version": "4.0.12", "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.12.tgz", @@ -10206,15 +9963,15 @@ } }, "node_modules/rc-cascader": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.6.1.tgz", - "integrity": "sha512-+GmN2Z0IybKT45t0Z94jkjmsOHGxAliobR2tzt05/Gw0AKBYLHX5bdvsVXR7abPnarYyYzZ/cWe8CoFgDjAFNw==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.7.0.tgz", + "integrity": "sha512-SFtGpwmYN7RaWEAGTS4Rkc62ZV/qmQGg/tajr/7mfIkleuu8ro9Hlk6J+aA0x1YS4zlaZBtTcSaXM01QMiEV/A==", "dependencies": { "@babel/runtime": "^7.12.5", "array-tree-filter": "^2.1.0", "classnames": "^2.3.1", "rc-select": "~14.1.0", - "rc-tree": "~5.6.3", + "rc-tree": "~5.7.0", "rc-util": "^5.6.1" }, "peerDependencies": { @@ -10329,9 +10086,9 @@ } }, "node_modules/rc-input": { - "version": "0.0.1-alpha.7", - "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-0.0.1-alpha.7.tgz", - "integrity": "sha512-eozaqpCYWSY5LBMwlHgC01GArkVEP+XlJ84OMvdkwUnJBSv83Yxa15pZpn7vACAj84uDC4xOA2CoFdbLuqB08Q==", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-0.1.2.tgz", + "integrity": "sha512-ZPmwcFspgfYpUfbSx3KnLk9gImBcLOrlQCr4oTJ4jBoIXgJLTfm26yelzRgBJewhkvD8uJbgX0sQ/yOzuOHnJg==", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", @@ -10343,9 +10100,9 @@ } }, "node_modules/rc-input-number": { - "version": "7.3.6", - "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.3.6.tgz", - "integrity": "sha512-Se62oMOBn9HwF/gSag+YtAYyKZsjJzEsqmyAJHAnAvPfjZJOu7dLMlQRwBbTtELbKXM/Y5Fztcq8CW2Y9f49qA==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.3.9.tgz", + "integrity": "sha512-u0+miS+SATdb6DtssYei2JJ1WuZME+nXaG6XGtR8maNyW5uGDytfDu60OTWLQEb0Anv/AcCzehldV8CKmKyQfA==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", @@ -10357,14 +10114,14 @@ } }, "node_modules/rc-mentions": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.9.2.tgz", - "integrity": "sha512-uxb/lzNnEGmvraKWNGE6KXMVXvt8RQv9XW8R0Dqi3hYsyPiAZeHRCHQKdLARuk5YBhFhZ6ga55D/8XuY367g3g==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.10.0.tgz", + "integrity": "sha512-oMlYWnwXSxP2NQVlgxOTzuG/u9BUc3ySY78K3/t7MNhJWpZzXTao+/Bic6tyZLuNCO89//hVQJBdaR2rnFQl6Q==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.6", "rc-menu": "~9.6.0", - "rc-textarea": "^0.3.0", + "rc-textarea": "^0.4.0", "rc-trigger": "^5.0.4", "rc-util": "^5.22.5" }, @@ -10374,9 +10131,9 @@ } }, "node_modules/rc-menu": { - "version": "9.6.3", - "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.6.3.tgz", - "integrity": "sha512-KY9QilKWgkJZ0JSpOBgIpQF2wMRRodRxpIMYyIJ3Nd5N6xfVLOxXCxevHcBplt+Ez7MhUF+I03MuAKqWQJLZgw==", + "version": "9.6.4", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.6.4.tgz", + "integrity": "sha512-6DiNAjxjVIPLZXHffXxxcyE15d4isRL7iQ1ru4MqYDH2Cqc5bW96wZOdMydFtGLyDdnmEQ9jVvdCE9yliGvzkw==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", @@ -10424,9 +10181,9 @@ } }, "node_modules/rc-overflow": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.2.6.tgz", - "integrity": "sha512-YqbocgzuQxfq2wZy72vdAgrgzzEuM/5d4gF9TBEodCpXPbUeXGrUXNm1J6G1MSkCU2N0ePIgCEu5qD/0Ldi63Q==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.2.8.tgz", + "integrity": "sha512-QJ0UItckWPQ37ZL1dMEBAdY1dhfTXFL9k6oTTcyydVwoUNMnMqCGqnRNA98axSr/OeDKqR6DVFyi8eA5RQI/uQ==", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", @@ -10452,9 +10209,9 @@ } }, "node_modules/rc-picker": { - "version": "2.6.10", - "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.6.10.tgz", - "integrity": "sha512-9wYtw0DFWs9FO92Qh2D76P0iojUr8ZhLOtScUeOit6ks/F+TBLrOC1uze3IOu+u9gbDAjmosNWLKbBzx/Yuv2w==", + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.6.11.tgz", + "integrity": "sha512-INJ7ULu+Kj4UgqbcqE8Q+QpMw55xFf9kkyLBHJFk0ihjJpAV4glialRfqHE7k4KX2BWYPQfpILwhwR14x2EiRQ==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.1", @@ -10473,18 +10230,6 @@ "react-dom": ">=16.9.0" } }, - "node_modules/rc-picker/node_modules/date-fns": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.1.tgz", - "integrity": "sha512-dlLD5rKaKxpFdnjrs+5azHDFOPEu4ANy/LTh04A1DTzMM7qoajmKCBc8pkKRFT41CNzw+4gQh79X5C+Jq27HAw==", - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, "node_modules/rc-progress": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.3.3.tgz", @@ -10547,9 +10292,9 @@ } }, "node_modules/rc-select": { - "version": "14.1.9", - "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.1.9.tgz", - "integrity": "sha512-DK01+Q7oCWr5jVPiEp/BTQ8xCB4rI4LfXzZtSmBWJhOMuibyZD1Vlz/DlVKCUFmtBM4SzG4/SltGHoGlcbCqiw==", + "version": "14.1.13", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.1.13.tgz", + "integrity": "sha512-WMEsC3gTwA1dbzWOdVIXDmWyidYNLq68AwvvUlRROw790uGUly0/vmqDozXrIr0QvN/A3CEULx12o+WtLCAefg==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", @@ -10616,9 +10361,9 @@ } }, "node_modules/rc-table": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.25.3.tgz", - "integrity": "sha512-McsLJ2rg8EEpRBRYN4Pf9gT7ZNYnjvF9zrBpUBBbUX/fxk+eGi5ff1iPIhMyiHsH71/BmTUzX9nc9XqupD0nMg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.26.0.tgz", + "integrity": "sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", @@ -10635,14 +10380,15 @@ } }, "node_modules/rc-tabs": { - "version": "11.16.1", - "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-11.16.1.tgz", - "integrity": "sha512-bR7Dap23YyfzZQwtKomhiFEFzZuE7WaKWo+ypNRSGB9PDKSc6tM12VP8LWYkvmmQHthgwP0WRN8nFbSJWuqLYw==", + "version": "12.2.1", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.2.1.tgz", + "integrity": "sha512-09pVv4kN8VFqp6THceEmxOW8PAShQC08hrroeVYP4Y8YBFaP1PIWdyFL01czcbyz5YZFj9flZ7aljMaAl0jLVg==", "dependencies": { "@babel/runtime": "^7.11.2", "classnames": "2.x", "rc-dropdown": "~4.0.0", "rc-menu": "~9.6.0", + "rc-motion": "^2.6.2", "rc-resize-observer": "^1.0.0", "rc-util": "^5.5.0" }, @@ -10655,9 +10401,9 @@ } }, "node_modules/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==", + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.4.5.tgz", + "integrity": "sha512-WHeJRgUlloNyVgTsItMrIXwMhU6P3NmrUDkxX+JRwEpJjECsKtZNlNcXe9pHNLCaYQ3Z1cVCfsClhgDDgJ2kFQ==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.1", @@ -10685,9 +10431,9 @@ } }, "node_modules/rc-tree": { - "version": "5.6.6", - "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.6.6.tgz", - "integrity": "sha512-HI/q4D4AHOp48OZcBUvJFWkI5OfnZivvGYI0xzI0dy0Mita2KcTGZv7/Yl6Aq3bL3od3x5AqAXq/7qxR3x4Kkg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.7.0.tgz", + "integrity": "sha512-F+Ewkv/UcutshnVBMISP+lPdHDlcsL+YH/MQDVWbk+QdkfID7vXiwrHMEZn31+2Rbbm21z/HPceGS8PXGMmnQg==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", @@ -10704,14 +10450,14 @@ } }, "node_modules/rc-tree-select": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.4.0.tgz", - "integrity": "sha512-reRbOqC7Ic/nQocJAJeCl4n6nJUY3NoqiwRXKvhjgZJU7NGr9vIccXEsY+Lghkw5UMpPoxGsIJB0jiAvM18XYA==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.5.0.tgz", + "integrity": "sha512-XS0Jvw4OjFz/Xvb2byEkBWv55JFKFz0HVvTBa/cPOHJaQh/3EaYwymEMnCCvGEzS1+5CfDVwMtA8j/v4rt1DHw==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", "rc-select": "~14.1.0", - "rc-tree": "~5.6.1", + "rc-tree": "~5.7.0", "rc-util": "^5.16.1" }, "peerDependencies": { @@ -10771,9 +10517,9 @@ "license": "MIT" }, "node_modules/rc-virtual-list": { - "version": "3.4.8", - "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.4.8.tgz", - "integrity": "sha512-qSN+Rv4i/E7RCTvTMr1uZo7f3crJJg/5DekoCagydo9zsXrxj07zsFSxqizqW+ldGA16lwa8So/bIbV9Ofjddg==", + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.4.10.tgz", + "integrity": "sha512-Jv0cgJxJ+8F/YViW8WGs/jQF2rmT8RUcJ5uDJs5MOFLTYLAvCpM/xU+Zu6EpCun50fmovhXiItQctcfE2UY3Aw==", "dependencies": { "classnames": "^2.2.6", "rc-resize-observer": "^1.0.0", @@ -11025,6 +10771,31 @@ } } }, + "node_modules/react-select": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.5.2.tgz", + "integrity": "sha512-zbcxtiqXvFW2Wh+dd8zAqMY6QaqX9Ez0WlcjSXycXn1ASpKdc17LcGJj7gAJiUcHI/UVlo6wfg44hgBsUPyEBQ==", + "dependencies": { + "@babel/runtime": "^7.12.0", + "@emotion/cache": "^11.4.0", + "@emotion/react": "^11.8.1", + "@floating-ui/dom": "^1.0.1", + "@types/react-transition-group": "^4.4.0", + "memoize-one": "^5.0.0", + "prop-types": "^15.6.0", + "react-transition-group": "^4.3.0", + "use-isomorphic-layout-effect": "^1.1.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-select/node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, "node_modules/react-style-singleton": { "version": "2.1.1", "license": "MIT", @@ -11075,16 +10846,6 @@ "react-dom": ">=16.6.0" } }, - "node_modules/react-transition-group/node_modules/loose-envify": { - "version": "1.4.0", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, "node_modules/react-use-measure": { "version": "2.1.1", "license": "MIT", @@ -11230,27 +10991,6 @@ "strip-ansi": "^6.0.1" } }, - "node_modules/renderkid/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/renderkid/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/require-directory": { "version": "2.1.1", "dev": true, @@ -11263,7 +11003,6 @@ "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==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -11282,7 +11021,6 @@ "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, "dependencies": { "is-core-module": "^2.9.0", "path-parse": "^1.0.7", @@ -11299,7 +11037,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, "engines": { "node": ">=4" } @@ -11449,58 +11186,12 @@ "node": ">= 0.8.0" } }, - "node_modules/send/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/send/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/send/node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "node_modules/send/node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/serve-static": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", @@ -11521,6 +11212,12 @@ "dev": true, "license": "ISC" }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, "node_modules/shallow-clone": { "version": "3.0.1", "dev": true, @@ -11532,14 +11229,6 @@ "node": ">=8" } }, - "node_modules/shallow-clone/node_modules/kind-of": { - "version": "6.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/shallowequal": { "version": "1.1.0", "license": "MIT" @@ -11607,7 +11296,6 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -11719,6 +11407,15 @@ "integrity": "sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==", "dev": true }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/strict-uri-encode": { "version": "1.1.0", "dev": true, @@ -11740,6 +11437,18 @@ "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -11780,8 +11489,9 @@ } }, "node_modules/style-value-types/node_modules/tslib": { - "version": "2.3.1", - "license": "0BSD" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "node_modules/stylis": { "version": "4.0.13", @@ -11801,7 +11511,6 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -11872,7 +11581,6 @@ }, "node_modules/to-fast-properties": { "version": "2.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -12052,7 +11760,6 @@ }, "node_modules/uri-js": { "version": "4.2.2", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" @@ -12060,7 +11767,6 @@ }, "node_modules/uri-js/node_modules/punycode": { "version": "2.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -12082,6 +11788,19 @@ } } }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/use-sidecar": { "version": "1.0.5", "license": "MIT", @@ -12225,7 +11944,6 @@ "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, "engines": { "node": ">= 6" } @@ -12322,7 +12040,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, "requires": { "@babel/highlight": "^7.18.6" } @@ -12356,15 +12073,10 @@ "semver": "^6.3.0" }, "dependencies": { - "convert-source-map": { - "version": "1.8.0", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, "debug": { - "version": "4.3.3", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -12569,7 +12281,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, "requires": { "@babel/types": "^7.18.6" } @@ -12602,8 +12313,7 @@ "@babel/helper-plugin-utils": { "version": "7.18.9", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", - "dev": true + "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==" }, "@babel/helper-remap-async-to-generator": { "version": "7.18.9", @@ -12660,14 +12370,12 @@ "@babel/helper-string-parser": { "version": "7.18.10", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", - "dev": true + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==" }, "@babel/helper-validator-identifier": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" }, "@babel/helper-validator-option": { "version": "7.18.6", @@ -12702,7 +12410,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", @@ -12713,7 +12420,6 @@ "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==", - "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -12722,7 +12428,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -12732,20 +12437,12 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -13000,7 +12697,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" } @@ -13592,9 +13288,9 @@ }, "dependencies": { "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==" + "version": "0.13.10", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", + "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" } } }, @@ -13628,7 +13324,9 @@ }, "dependencies": { "debug": { - "version": "4.3.3", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -13644,7 +13342,6 @@ "version": "7.18.13", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.13.tgz", "integrity": "sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==", - "dev": true, "requires": { "@babel/helper-string-parser": "^7.18.10", "@babel/helper-validator-identifier": "^7.18.6", @@ -13986,19 +13683,6 @@ "requires": { "@chakra-ui/icon": "1.2.1", "@types/react": "^17.0.15" - }, - "dependencies": { - "@types/react": { - "version": "17.0.39", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "csstype": { - "version": "3.0.10" - } } }, "@chakra-ui/image": { @@ -14511,7 +14195,9 @@ } }, "csstype": { - "version": "3.0.10" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" } } }, @@ -14766,7 +14452,6 @@ "version": "11.10.2", "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.2.tgz", "integrity": "sha512-xNQ57njWTFVfPAc3cjfuaPdsgLp5QOSuRsj9MA6ndEhH/AzuZM86qIQzt6rq+aGBwj3n5/TkLmU5lhAfdRmogA==", - "dev": true, "requires": { "@babel/helper-module-imports": "^7.16.7", "@babel/plugin-syntax-jsx": "^7.17.12", @@ -14785,14 +14470,12 @@ "@emotion/hash": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", - "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==", - "dev": true + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" }, "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==", - "dev": true + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" } } }, @@ -14828,7 +14511,6 @@ "version": "11.10.0", "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.0.tgz", "integrity": "sha512-K6z9zlHxxBXwN8TcpwBKcEsBsOw4JWCCmR+BeeOWgqp8GIU1yA2Odd41bwdAAr0ssbQrbJbVnndvv7oiv1bZeQ==", - "dev": true, "requires": { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.10.0", @@ -14843,7 +14525,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.0.tgz", "integrity": "sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==", - "dev": true, "requires": { "@emotion/hash": "^0.9.0", "@emotion/memoize": "^0.8.0", @@ -14855,14 +14536,12 @@ "@emotion/hash": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", - "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==", - "dev": true + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" }, "csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==", - "dev": true + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" } } }, @@ -14887,8 +14566,7 @@ "@emotion/unitless": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", - "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==", - "dev": true + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" }, "@emotion/utils": { "version": "1.2.0", @@ -14954,16 +14632,6 @@ "type-fest": "^0.20.2" } }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -14984,6 +14652,19 @@ } } }, + "@floating-ui/core": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.0.1.tgz", + "integrity": "sha512-bO37brCPfteXQfFY0DyNDGB3+IMe4j150KFQcgJ5aBP295p9nBGeHEs/p0czrRbtlHq4Px/yoPXO/+dOCcF4uA==" + }, + "@floating-ui/dom": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.0.2.tgz", + "integrity": "sha512-5X9WSvZ8/fjy3gDu8yx9HAA4KG1lazUN2P4/VnaXLxTO9Dz53HI1oYoh1OlhqFNlHgGDiwFX5WhFCc2ljbW3yA==", + "requires": { + "@floating-ui/core": "^1.0.1" + } + }, "@fluentui/date-time-utilities": { "version": "7.9.1", "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz", @@ -15353,9 +15034,9 @@ }, "dependencies": { "csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" } } }, @@ -15381,9 +15062,9 @@ }, "dependencies": { "csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" } } }, @@ -15403,9 +15084,9 @@ }, "dependencies": { "csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" } } }, @@ -15466,7 +15147,9 @@ }, "dependencies": { "tslib": { - "version": "2.3.1" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" } } }, @@ -15479,13 +15162,9 @@ }, "dependencies": { "tslib": { - "version": "2.3.1" - }, - "warning": { - "version": "4.0.3", - "requires": { - "loose-envify": "^1.0.0" - } + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" } } }, @@ -15497,7 +15176,9 @@ }, "dependencies": { "tslib": { - "version": "2.3.1" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" } } }, @@ -15537,8 +15218,7 @@ "@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==", - "dev": true + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, "@types/prop-types": { "version": "15.7.5", @@ -15546,7 +15226,9 @@ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" }, "@types/react": { - "version": "17.0.39", + "version": "17.0.50", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.50.tgz", + "integrity": "sha512-ZCBHzpDb5skMnc1zFXAXnL3l1FAdi+xZvwxK+PkglMmBrwjpp9nKaWuEvrGnSifCJmBFGxZOOFuwC6KH/s0NuA==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -15554,7 +15236,9 @@ }, "dependencies": { "csstype": { - "version": "3.0.10" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" } } }, @@ -15711,7 +15395,6 @@ "version": "8.11.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -15723,7 +15406,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, "requires": { "ajv": "^8.0.0" } @@ -15731,8 +15413,7 @@ "ajv-i18n": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/ajv-i18n/-/ajv-i18n-4.2.0.tgz", - "integrity": "sha512-v/ei2UkCEeuKNXh8RToiFsUclmU+G57LO1Oo22OagNMENIw+Yb8eMwvHu7Vn9fmkjJyv6XclhJ8TbuigSglPkg==", - "dev": true + "integrity": "sha512-v/ei2UkCEeuKNXh8RToiFsUclmU+G57LO1Oo22OagNMENIw+Yb8eMwvHu7Vn9fmkjJyv6XclhJ8TbuigSglPkg==" }, "ajv-keywords": { "version": "5.1.0", @@ -15743,6 +15424,12 @@ "fast-deep-equal": "^3.1.3" } }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -15764,9 +15451,9 @@ } }, "antd": { - "version": "4.22.8", - "resolved": "https://registry.npmjs.org/antd/-/antd-4.22.8.tgz", - "integrity": "sha512-mqHuCg9itZX+z6wk+mvRBcfz/U9iiIXS4LoNkyo8X/UBgdN8CoetFmrdvA1UQy1BuWa0/n62LiS1LatdvoTuHw==", + "version": "4.23.6", + "resolved": "https://registry.npmjs.org/antd/-/antd-4.23.6.tgz", + "integrity": "sha512-AYH57cWBDe1ChtbnvG8i9dpKG4WnjE3AG0zIKpXByFNnxsr4saV6/19ihE8/ImSGpohN4E2zTXmo7R5/MyVRKQ==", "requires": { "@ant-design/colors": "^6.0.0", "@ant-design/icons": "^4.7.0", @@ -15778,7 +15465,7 @@ "lodash": "^4.17.21", "memoize-one": "^6.0.0", "moment": "^2.29.2", - "rc-cascader": "~3.6.0", + "rc-cascader": "~3.7.0", "rc-checkbox": "~2.3.0", "rc-collapse": "~3.3.0", "rc-dialog": "~8.9.0", @@ -15786,28 +15473,28 @@ "rc-dropdown": "~4.0.0", "rc-field-form": "~1.27.0", "rc-image": "~5.7.0", - "rc-input": "~0.0.1-alpha.5", - "rc-input-number": "~7.3.5", - "rc-mentions": "~1.9.1", + "rc-input": "~0.1.2", + "rc-input-number": "~7.3.9", + "rc-mentions": "~1.10.0", "rc-menu": "~9.6.3", "rc-motion": "^2.6.1", "rc-notification": "~4.6.0", "rc-pagination": "~3.1.17", - "rc-picker": "~2.6.10", + "rc-picker": "~2.6.11", "rc-progress": "~3.3.2", "rc-rate": "~2.9.0", "rc-resize-observer": "^1.2.0", "rc-segmented": "~2.1.0", - "rc-select": "~14.1.1", + "rc-select": "~14.1.13", "rc-slider": "~10.0.0", "rc-steps": "~4.1.0", "rc-switch": "~3.2.0", - "rc-table": "~7.25.3", - "rc-tabs": "~11.16.0", - "rc-textarea": "~0.3.0", + "rc-table": "~7.26.0", + "rc-tabs": "~12.2.0", + "rc-textarea": "~0.4.5", "rc-tooltip": "~5.2.0", - "rc-tree": "~5.6.5", - "rc-tree-select": "~5.4.0", + "rc-tree": "~5.7.0", + "rc-tree-select": "~5.5.0", "rc-trigger": "^5.2.10", "rc-upload": "~4.3.0", "rc-util": "^5.22.5", @@ -15892,7 +15579,6 @@ "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", @@ -15903,7 +15589,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": true, "requires": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -15911,16 +15596,6 @@ "path-type": "^4.0.0", "yaml": "^1.10.0" } - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } } } }, @@ -15976,60 +15651,6 @@ "raw-body": "2.5.1", "type-is": "~1.6.18", "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "qs": { - "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" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - } } }, "boolbase": { @@ -16069,6 +15690,12 @@ "version": "1.0.0", "dev": true }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, "caching-transform": { "version": "4.0.0", "dev": true, @@ -16124,6 +15751,14 @@ "integrity": "sha512-swMpEoTp5vDoGBZsYZX7L7nXHe6dsHxi9o6/LKf/f0LukVtnrxly5GVb/fWdCDTqi/yw6Km6tiJ0pmBacm0gbg==", "dev": true }, + "chakra-react-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/chakra-react-select/-/chakra-react-select-4.3.0.tgz", + "integrity": "sha512-ro2NZQuj4RzTCJ1t7rPt9uFpwWaiJmoZAnfAMvKpkPzzYeSAUtiBlTh2vyUJzmToj1CDdgtQVH4PDYGUgsAOEg==", + "requires": { + "react-select": "^5.5.0" + } + }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -16209,12 +15844,6 @@ "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "dev": true - } } }, "clsx": { @@ -16223,10 +15852,18 @@ "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" }, "color-convert": { - "version": "1.9.1", - "dev": true, + "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.1" + "color-name": "1.1.3" + }, + "dependencies": { + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + } } }, "color-name": { @@ -16284,8 +15921,9 @@ "dev": true }, "convert-source-map": { - "version": "1.5.1", - "dev": true + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "cookie": { "version": "0.5.0", @@ -16312,9 +15950,9 @@ } }, "core-js": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.0.tgz", - "integrity": "sha512-CVU1xvJEfJGhyCpBrzzzU1kjCfgsGUxhEvwUV2e/cOedYWHdmluamx+knDnmhqALddMG16fZvIqvs9aijsHHaA==" + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", + "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==" }, "core-js-compat": { "version": "3.25.0", @@ -16393,9 +16031,14 @@ "dev": true }, "csstype": { - "version": "2.6.20", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", - "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "date-fns": { + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz", + "integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==" }, "dayjs": { "version": "1.11.5", @@ -16445,6 +16088,12 @@ "object-keys": "^1.1.1" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, "dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -16488,7 +16137,9 @@ }, "dependencies": { "csstype": { - "version": "3.0.10" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" } } }, @@ -16586,7 +16237,6 @@ }, "error-ex": { "version": "1.3.1", - "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -16775,8 +16425,7 @@ "dev": true }, "escape-string-regexp": { - "version": "1.0.5", - "dev": true + "version": "1.0.5" }, "eslint": { "version": "8.23.0", @@ -16837,12 +16486,6 @@ "uri-js": "^4.2.2" } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -16887,24 +16530,14 @@ } }, "globals": { - "version": "13.16.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.16.0.tgz", - "integrity": "sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==", + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", "dev": true, "requires": { "type-fest": "^0.20.2" } }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -16950,15 +16583,6 @@ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -17058,7 +16682,9 @@ } }, "estraverse": { - "version": "4.2.0", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "estraverse-fb": { @@ -17112,65 +16738,18 @@ "vary": "~1.1.2" }, "dependencies": { - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "qs": { - "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" - } - }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true } } }, "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==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { "version": "3.2.11", @@ -17263,14 +16842,6 @@ "parseurl": "~1.3.3", "statuses": "2.0.1", "unpipe": "~1.0.0" - }, - "dependencies": { - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - } } }, "find-cache-dir": { @@ -17316,8 +16887,7 @@ "find-root": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "dev": true + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, "find-up": { "version": "4.1.0", @@ -17360,7 +16930,9 @@ }, "dependencies": { "tslib": { - "version": "2.3.1" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" } } }, @@ -17409,7 +16981,9 @@ } }, "tslib": { - "version": "2.3.1" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" } } }, @@ -17420,7 +16994,9 @@ }, "dependencies": { "tslib": { - "version": "2.3.1" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" } } }, @@ -17455,8 +17031,7 @@ "optional": true }, "function-bind": { - "version": "1.1.1", - "dev": true + "version": "1.1.1" }, "functional-red-black-tree": { "version": "1.0.1", @@ -17504,7 +17079,9 @@ "dev": true }, "find-cache-dir": { - "version": "3.3.1", + "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", @@ -17605,7 +17182,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -17716,6 +17292,19 @@ "entities": "^2.0.0" } }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, "humanize-url": { "version": "1.0.1", "dev": true, @@ -17752,6 +17341,15 @@ "version": "4.0.0", "dev": true }, + "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" + } + }, "imurmurhash": { "version": "0.1.4", "dev": true @@ -17769,7 +17367,9 @@ } }, "inherits": { - "version": "2.0.3", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "invariant": { @@ -17785,14 +17385,12 @@ "dev": true }, "is-arrayish": { - "version": "0.2.1", - "dev": true + "version": "0.2.1" }, "is-core-module": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, "requires": { "has": "^1.0.3" } @@ -17932,7 +17530,9 @@ }, "dependencies": { "debug": { - "version": "4.3.1", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -17957,7 +17557,9 @@ } }, "js-tokens": { - "version": "3.0.2" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "4.1.0", @@ -17981,14 +17583,12 @@ "dev": true }, "json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true + "version": "2.3.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==", - "dev": true + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -18021,9 +17621,9 @@ }, "dependencies": { "csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" } } }, @@ -18038,9 +17638,9 @@ }, "dependencies": { "csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "jss": { "version": "10.9.0", @@ -18065,9 +17665,9 @@ }, "dependencies": { "csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "jss": { "version": "10.9.0", @@ -18092,9 +17692,9 @@ }, "dependencies": { "csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "jss": { "version": "10.9.0", @@ -18120,9 +17720,9 @@ }, "dependencies": { "csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "jss": { "version": "10.9.0", @@ -18147,9 +17747,9 @@ }, "dependencies": { "csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "jss": { "version": "10.9.0", @@ -18175,9 +17775,9 @@ }, "dependencies": { "csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "jss": { "version": "10.9.0", @@ -18203,9 +17803,9 @@ }, "dependencies": { "csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "jss": { "version": "10.9.0", @@ -18220,6 +17820,12 @@ } } }, + "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==", + "dev": true + }, "klona": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", @@ -18274,8 +17880,7 @@ "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==", - "dev": true + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "loader-utils": { "version": "3.2.0", @@ -18315,9 +17920,11 @@ "version": "4.6.2" }, "loose-envify": { - "version": "1.3.1", + "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" + "js-tokens": "^3.0.0 || ^4.0.0" } }, "lower-case": { @@ -18600,10 +18207,6 @@ "yargs": "^15.0.2" }, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "dev": true - }, "cliui": { "version": "6.0.0", "dev": true, @@ -18613,19 +18216,14 @@ "wrap-ansi": "^6.2.0" } }, - "convert-source-map": { - "version": "1.7.0", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, "emoji-regex": { "version": "8.0.0", "dev": true }, "find-cache-dir": { - "version": "3.3.1", + "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", @@ -18657,13 +18255,6 @@ "strip-ansi": "^6.0.0" } }, - "strip-ansi": { - "version": "6.0.0", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, "wrap-ansi": { "version": "6.2.0", "dev": true, @@ -18838,14 +18429,12 @@ }, "parent-module": { "version": "1.0.1", - "dev": true, "requires": { "callsites": "^3.0.0" }, "dependencies": { "callsites": { - "version": "3.1.0", - "dev": true + "version": "3.1.0" } } }, @@ -18853,7 +18442,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -18907,8 +18495,7 @@ "dev": true }, "path-parse": { - "version": "1.0.7", - "dev": true + "version": "1.0.7" }, "path-to-regexp": { "version": "0.1.7", @@ -18917,8 +18504,7 @@ "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, "performance-now": { "version": "2.1.0" @@ -18977,7 +18563,9 @@ } }, "tslib": { - "version": "2.3.1" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" } } }, @@ -19046,12 +18634,6 @@ "react-is": "^16.13.1" }, "dependencies": { - "loose-envify": { - "version": "1.4.0", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -19087,6 +18669,15 @@ "version": "1.0.1", "optional": true }, + "qs": { + "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" + } + }, "query-string": { "version": "4.3.4", "dev": true, @@ -19117,51 +18708,6 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - } } }, "rc-align": { @@ -19178,15 +18724,15 @@ } }, "rc-cascader": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.6.1.tgz", - "integrity": "sha512-+GmN2Z0IybKT45t0Z94jkjmsOHGxAliobR2tzt05/Gw0AKBYLHX5bdvsVXR7abPnarYyYzZ/cWe8CoFgDjAFNw==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.7.0.tgz", + "integrity": "sha512-SFtGpwmYN7RaWEAGTS4Rkc62ZV/qmQGg/tajr/7mfIkleuu8ro9Hlk6J+aA0x1YS4zlaZBtTcSaXM01QMiEV/A==", "requires": { "@babel/runtime": "^7.12.5", "array-tree-filter": "^2.1.0", "classnames": "^2.3.1", "rc-select": "~14.1.0", - "rc-tree": "~5.6.3", + "rc-tree": "~5.7.0", "rc-util": "^5.6.1" } }, @@ -19266,9 +18812,9 @@ } }, "rc-input": { - "version": "0.0.1-alpha.7", - "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-0.0.1-alpha.7.tgz", - "integrity": "sha512-eozaqpCYWSY5LBMwlHgC01GArkVEP+XlJ84OMvdkwUnJBSv83Yxa15pZpn7vACAj84uDC4xOA2CoFdbLuqB08Q==", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-0.1.2.tgz", + "integrity": "sha512-ZPmwcFspgfYpUfbSx3KnLk9gImBcLOrlQCr4oTJ4jBoIXgJLTfm26yelzRgBJewhkvD8uJbgX0sQ/yOzuOHnJg==", "requires": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", @@ -19276,9 +18822,9 @@ } }, "rc-input-number": { - "version": "7.3.6", - "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.3.6.tgz", - "integrity": "sha512-Se62oMOBn9HwF/gSag+YtAYyKZsjJzEsqmyAJHAnAvPfjZJOu7dLMlQRwBbTtELbKXM/Y5Fztcq8CW2Y9f49qA==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.3.9.tgz", + "integrity": "sha512-u0+miS+SATdb6DtssYei2JJ1WuZME+nXaG6XGtR8maNyW5uGDytfDu60OTWLQEb0Anv/AcCzehldV8CKmKyQfA==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", @@ -19286,22 +18832,22 @@ } }, "rc-mentions": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.9.2.tgz", - "integrity": "sha512-uxb/lzNnEGmvraKWNGE6KXMVXvt8RQv9XW8R0Dqi3hYsyPiAZeHRCHQKdLARuk5YBhFhZ6ga55D/8XuY367g3g==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.10.0.tgz", + "integrity": "sha512-oMlYWnwXSxP2NQVlgxOTzuG/u9BUc3ySY78K3/t7MNhJWpZzXTao+/Bic6tyZLuNCO89//hVQJBdaR2rnFQl6Q==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.6", "rc-menu": "~9.6.0", - "rc-textarea": "^0.3.0", + "rc-textarea": "^0.4.0", "rc-trigger": "^5.0.4", "rc-util": "^5.22.5" } }, "rc-menu": { - "version": "9.6.3", - "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.6.3.tgz", - "integrity": "sha512-KY9QilKWgkJZ0JSpOBgIpQF2wMRRodRxpIMYyIJ3Nd5N6xfVLOxXCxevHcBplt+Ez7MhUF+I03MuAKqWQJLZgw==", + "version": "9.6.4", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.6.4.tgz", + "integrity": "sha512-6DiNAjxjVIPLZXHffXxxcyE15d4isRL7iQ1ru4MqYDH2Cqc5bW96wZOdMydFtGLyDdnmEQ9jVvdCE9yliGvzkw==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "2.x", @@ -19334,9 +18880,9 @@ } }, "rc-overflow": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.2.6.tgz", - "integrity": "sha512-YqbocgzuQxfq2wZy72vdAgrgzzEuM/5d4gF9TBEodCpXPbUeXGrUXNm1J6G1MSkCU2N0ePIgCEu5qD/0Ldi63Q==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.2.8.tgz", + "integrity": "sha512-QJ0UItckWPQ37ZL1dMEBAdY1dhfTXFL9k6oTTcyydVwoUNMnMqCGqnRNA98axSr/OeDKqR6DVFyi8eA5RQI/uQ==", "requires": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", @@ -19354,9 +18900,9 @@ } }, "rc-picker": { - "version": "2.6.10", - "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.6.10.tgz", - "integrity": "sha512-9wYtw0DFWs9FO92Qh2D76P0iojUr8ZhLOtScUeOit6ks/F+TBLrOC1uze3IOu+u9gbDAjmosNWLKbBzx/Yuv2w==", + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.6.11.tgz", + "integrity": "sha512-INJ7ULu+Kj4UgqbcqE8Q+QpMw55xFf9kkyLBHJFk0ihjJpAV4glialRfqHE7k4KX2BWYPQfpILwhwR14x2EiRQ==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.1", @@ -19366,13 +18912,6 @@ "rc-trigger": "^5.0.4", "rc-util": "^5.4.0", "shallowequal": "^1.1.0" - }, - "dependencies": { - "date-fns": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.1.tgz", - "integrity": "sha512-dlLD5rKaKxpFdnjrs+5azHDFOPEu4ANy/LTh04A1DTzMM7qoajmKCBc8pkKRFT41CNzw+4gQh79X5C+Jq27HAw==" - } } }, "rc-progress": { @@ -19418,9 +18957,9 @@ } }, "rc-select": { - "version": "14.1.9", - "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.1.9.tgz", - "integrity": "sha512-DK01+Q7oCWr5jVPiEp/BTQ8xCB4rI4LfXzZtSmBWJhOMuibyZD1Vlz/DlVKCUFmtBM4SzG4/SltGHoGlcbCqiw==", + "version": "14.1.13", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.1.13.tgz", + "integrity": "sha512-WMEsC3gTwA1dbzWOdVIXDmWyidYNLq68AwvvUlRROw790uGUly0/vmqDozXrIr0QvN/A3CEULx12o+WtLCAefg==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "2.x", @@ -19461,9 +19000,9 @@ } }, "rc-table": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.25.3.tgz", - "integrity": "sha512-McsLJ2rg8EEpRBRYN4Pf9gT7ZNYnjvF9zrBpUBBbUX/fxk+eGi5ff1iPIhMyiHsH71/BmTUzX9nc9XqupD0nMg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.26.0.tgz", + "integrity": "sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", @@ -19473,22 +19012,23 @@ } }, "rc-tabs": { - "version": "11.16.1", - "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-11.16.1.tgz", - "integrity": "sha512-bR7Dap23YyfzZQwtKomhiFEFzZuE7WaKWo+ypNRSGB9PDKSc6tM12VP8LWYkvmmQHthgwP0WRN8nFbSJWuqLYw==", + "version": "12.2.1", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.2.1.tgz", + "integrity": "sha512-09pVv4kN8VFqp6THceEmxOW8PAShQC08hrroeVYP4Y8YBFaP1PIWdyFL01czcbyz5YZFj9flZ7aljMaAl0jLVg==", "requires": { "@babel/runtime": "^7.11.2", "classnames": "2.x", "rc-dropdown": "~4.0.0", "rc-menu": "~9.6.0", + "rc-motion": "^2.6.2", "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==", + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.4.5.tgz", + "integrity": "sha512-WHeJRgUlloNyVgTsItMrIXwMhU6P3NmrUDkxX+JRwEpJjECsKtZNlNcXe9pHNLCaYQ3Z1cVCfsClhgDDgJ2kFQ==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.1", @@ -19508,9 +19048,9 @@ } }, "rc-tree": { - "version": "5.6.6", - "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.6.6.tgz", - "integrity": "sha512-HI/q4D4AHOp48OZcBUvJFWkI5OfnZivvGYI0xzI0dy0Mita2KcTGZv7/Yl6Aq3bL3od3x5AqAXq/7qxR3x4Kkg==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.7.0.tgz", + "integrity": "sha512-F+Ewkv/UcutshnVBMISP+lPdHDlcsL+YH/MQDVWbk+QdkfID7vXiwrHMEZn31+2Rbbm21z/HPceGS8PXGMmnQg==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "2.x", @@ -19520,14 +19060,14 @@ } }, "rc-tree-select": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.4.0.tgz", - "integrity": "sha512-reRbOqC7Ic/nQocJAJeCl4n6nJUY3NoqiwRXKvhjgZJU7NGr9vIccXEsY+Lghkw5UMpPoxGsIJB0jiAvM18XYA==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.5.0.tgz", + "integrity": "sha512-XS0Jvw4OjFz/Xvb2byEkBWv55JFKFz0HVvTBa/cPOHJaQh/3EaYwymEMnCCvGEzS1+5CfDVwMtA8j/v4rt1DHw==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "2.x", "rc-select": "~14.1.0", - "rc-tree": "~5.6.1", + "rc-tree": "~5.7.0", "rc-util": "^5.16.1" } }, @@ -19569,9 +19109,9 @@ } }, "rc-virtual-list": { - "version": "3.4.8", - "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.4.8.tgz", - "integrity": "sha512-qSN+Rv4i/E7RCTvTMr1uZo7f3crJJg/5DekoCagydo9zsXrxj07zsFSxqizqW+ldGA16lwa8So/bIbV9Ofjddg==", + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.4.10.tgz", + "integrity": "sha512-Jv0cgJxJ+8F/YViW8WGs/jQF2rmT8RUcJ5uDJs5MOFLTYLAvCpM/xU+Zu6EpCun50fmovhXiItQctcfE2UY3Aw==", "requires": { "classnames": "^2.2.6", "rc-resize-observer": "^1.0.0", @@ -19739,6 +19279,29 @@ "tslib": "^1.0.0" } }, + "react-select": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.5.2.tgz", + "integrity": "sha512-zbcxtiqXvFW2Wh+dd8zAqMY6QaqX9Ez0WlcjSXycXn1ASpKdc17LcGJj7gAJiUcHI/UVlo6wfg44hgBsUPyEBQ==", + "requires": { + "@babel/runtime": "^7.12.0", + "@emotion/cache": "^11.4.0", + "@emotion/react": "^11.8.1", + "@floating-ui/dom": "^1.0.1", + "@types/react-transition-group": "^4.4.0", + "memoize-one": "^5.0.0", + "prop-types": "^15.6.0", + "react-transition-group": "^4.3.0", + "use-isomorphic-layout-effect": "^1.1.2" + }, + "dependencies": { + "memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + } + } + }, "react-style-singleton": { "version": "2.1.1", "requires": { @@ -19768,14 +19331,6 @@ "dom-helpers": "^5.0.1", "loose-envify": "^1.4.0", "prop-types": "^15.6.2" - }, - "dependencies": { - "loose-envify": { - "version": "1.4.0", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - } } }, "react-use-measure": { @@ -19891,23 +19446,6 @@ "htmlparser2": "^6.1.0", "lodash": "^4.17.21", "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } } }, "require-directory": { @@ -19917,8 +19455,7 @@ "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==", - "dev": true + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" }, "require-main-filename": { "version": "2.0.0", @@ -19933,7 +19470,6 @@ "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, "requires": { "is-core-module": "^2.9.0", "path-parse": "^1.0.7", @@ -19943,8 +19479,7 @@ "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==", - "dev": true + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, "reusify": { "version": "1.0.4", @@ -20050,48 +19585,11 @@ "statuses": "2.0.1" }, "dependencies": { - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true } } }, @@ -20111,17 +19609,17 @@ "version": "2.0.0", "dev": true }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, "shallow-clone": { "version": "3.0.1", "dev": true, "requires": { "kind-of": "^6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "dev": true - } } }, "shallowequal": { @@ -20171,8 +19669,7 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" }, "source-map-js": { "version": "1.0.2", @@ -20255,6 +19752,12 @@ "integrity": "sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==", "dev": true }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, "strict-uri-encode": { "version": "1.1.0", "dev": true @@ -20271,6 +19774,15 @@ "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -20296,7 +19808,9 @@ }, "dependencies": { "tslib": { - "version": "2.3.1" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" } } }, @@ -20313,8 +19827,7 @@ } }, "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true + "version": "1.0.0" }, "tapable": { "version": "2.2.1", @@ -20364,8 +19877,7 @@ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, "to-fast-properties": { - "version": "2.0.0", - "dev": true + "version": "2.0.0" }, "toggle-selection": { "version": "1.0.6" @@ -20483,20 +19995,23 @@ }, "uri-js": { "version": "4.2.2", - "dev": true, "requires": { "punycode": "^2.1.0" }, "dependencies": { "punycode": { - "version": "2.1.1", - "dev": true + "version": "2.1.1" } } }, "use-callback-ref": { "version": "1.2.5" }, + "use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==" + }, "use-sidecar": { "version": "1.0.5", "requires": { @@ -20581,8 +20096,7 @@ "yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, "yocto-queue": { "version": "0.1.0", diff --git a/packages/playground/package.json b/packages/playground/package.json index fa526ea884..0b173f96c8 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -55,7 +55,11 @@ "@rjsf/utils": "^5.0.0-beta.11", "@rjsf/validator-ajv6": "^5.0.0-beta.11", "@rjsf/validator-ajv8": "^5.0.0-beta.11", + "ajv": "^8.11.0", + "ajv-i18n": "^4.2.0", + "ajv-formats": "^2.1.1", "antd": "^4.22.8", + "chakra-react-select": ">=3.3.8", "core-js": "^3.25.0", "dayjs": "^1.11.5", "framer-motion": "^5.6.0", @@ -88,8 +92,6 @@ "@monaco-editor/react": "^4.4.5", "@mui/icons-material": "^5.10.2", "@vitejs/plugin-react": "^2.1.0", - "ajv": "^8.11.0", - "ajv-i18n": "^4.2.0", "atob": "^2.1.2", "cross-env": "^7.0.3", "eslint": "^8.23.0", diff --git a/packages/playground/src/index.jsx b/packages/playground/src/index.jsx index 4c066ddb77..27aa5430c7 100644 --- a/packages/playground/src/index.jsx +++ b/packages/playground/src/index.jsx @@ -7,18 +7,24 @@ import { Theme as SuiTheme } from "@rjsf/semantic-ui"; import { Theme as AntdTheme } from "@rjsf/antd"; import { Theme as Bootstrap4Theme } from "@rjsf/bootstrap-4"; import { Theme as ChakraUITheme } from "@rjsf/chakra-ui"; -import v6Validator from "@rjsf/validator-ajv6"; import v8Validator, { customizeValidator } from "@rjsf/validator-ajv8"; +import v6Validator from "@rjsf/validator-ajv6"; import localize_es from "ajv-i18n/localize/es"; +import Ajv2019 from "ajv/dist/2019.js"; +import Ajv2020 from "ajv/dist/2020.js"; import Playground from "./app"; const esV8Validator = customizeValidator({}, localize_es); +const AJV8_2019 = customizeValidator({ AjvClass: Ajv2019 }); +const AJV8_2020 = customizeValidator({ AjvClass: Ajv2020 }); const validators = { - AJV6: v6Validator, AJV8: v8Validator, AJV8_es: esV8Validator, + AJV8_2019, + AJV8_2020, + AJV6: v6Validator, }; const themes = { diff --git a/packages/validator-ajv8/src/createAjvInstance.ts b/packages/validator-ajv8/src/createAjvInstance.ts index 9445fdcc9b..e5f0cc40c3 100644 --- a/packages/validator-ajv8/src/createAjvInstance.ts +++ b/packages/validator-ajv8/src/createAjvInstance.ts @@ -31,9 +31,10 @@ export default function createAjvInstance( additionalMetaSchemas?: CustomValidatorOptionsType["additionalMetaSchemas"], customFormats?: CustomValidatorOptionsType["customFormats"], ajvOptionsOverrides: CustomValidatorOptionsType["ajvOptionsOverrides"] = {}, - ajvFormatOptions?: FormatsPluginOptions | false + ajvFormatOptions?: FormatsPluginOptions | false, + AjvClass: typeof Ajv = Ajv ) { - const ajv = new Ajv({ ...AJV_CONFIG, ...ajvOptionsOverrides }); + const ajv = new AjvClass({ ...AJV_CONFIG, ...ajvOptionsOverrides }); if (typeof ajvFormatOptions !== "boolean") { addFormats(ajv, ajvFormatOptions); } diff --git a/packages/validator-ajv8/src/types.ts b/packages/validator-ajv8/src/types.ts index 4f024591b1..633252b261 100644 --- a/packages/validator-ajv8/src/types.ts +++ b/packages/validator-ajv8/src/types.ts @@ -1,4 +1,4 @@ -import { Options, ErrorObject } from "ajv"; +import Ajv, { Options, ErrorObject } from "ajv"; import { FormatsPluginOptions } from "ajv-formats"; /** The type describing how to customize the AJV6 validator @@ -14,6 +14,8 @@ export interface CustomValidatorOptionsType { ajvOptionsOverrides?: Options; /** The `ajv-format` options to use when adding formats to `ajv`; pass `false` to disable it */ ajvFormatOptions?: FormatsPluginOptions | false; + /** The AJV class to construct */ + AjvClass?: typeof Ajv; } /** The type describing a function that takes a list of Ajv `ErrorObject`s and localizes them diff --git a/packages/validator-ajv8/src/validator.ts b/packages/validator-ajv8/src/validator.ts index f559ac657c..c601d0a6ac 100644 --- a/packages/validator-ajv8/src/validator.ts +++ b/packages/validator-ajv8/src/validator.ts @@ -55,12 +55,14 @@ export default class AJV8Validator< customFormats, ajvOptionsOverrides, ajvFormatOptions, + AjvClass, } = options; this.ajv = createAjvInstance( additionalMetaSchemas, customFormats, ajvOptionsOverrides, - ajvFormatOptions + ajvFormatOptions, + AjvClass ); this.localizer = localizer; } diff --git a/packages/validator-ajv8/test/createAjvInstance.test.ts b/packages/validator-ajv8/test/createAjvInstance.test.ts index f726888bd4..e503d98517 100644 --- a/packages/validator-ajv8/test/createAjvInstance.test.ts +++ b/packages/validator-ajv8/test/createAjvInstance.test.ts @@ -1,4 +1,5 @@ import Ajv from "ajv"; +import Ajv2019 from "ajv/dist/2019"; import addFormats from "ajv-formats"; import createAjvInstance, { @@ -9,6 +10,7 @@ import createAjvInstance, { import { CustomValidatorOptionsType } from "../src"; jest.mock("ajv"); +jest.mock("ajv/dist/2019"); jest.mock("ajv-formats"); export const CUSTOM_OPTIONS: CustomValidatorOptionsType = { @@ -63,6 +65,51 @@ describe("createAjvInstance()", () => { expect(ajv.addMetaSchema).not.toHaveBeenCalled(); }); }); + describe("all defaults except uses the Ajv2019 class", () => { + let ajv: Ajv; + beforeAll(() => { + ajv = createAjvInstance( + undefined, + undefined, + undefined, + undefined, + Ajv2019 + ); + }); + afterAll(() => { + (Ajv as unknown as jest.Mock).mockClear(); + (addFormats as unknown as jest.Mock).mockClear(); + }); + it("expect a new Ajv2019 to be constructed with the AJV_CONFIG", () => { + expect(Ajv2019).toHaveBeenCalledWith(AJV_CONFIG); + }); + it("expect the default Ajv constructor was not called", () => { + expect(Ajv).not.toHaveBeenCalled(); + }); + it("expect addFormats to be called with the new ajv instance and undefined", () => { + expect(addFormats).toHaveBeenCalledWith(ajv, undefined); + }); + it("addFormat() was called twice", () => { + expect(ajv.addFormat).toHaveBeenCalledTimes(2); + }); + it("the first addFormat() was for data-url", () => { + expect(ajv.addFormat).toHaveBeenNthCalledWith( + 1, + "data-url", + DATA_URL_FORMAT_REGEX + ); + }); + it("the second addFormat() was for color", () => { + expect(ajv.addFormat).toHaveBeenNthCalledWith( + 2, + "color", + COLOR_FORMAT_REGEX + ); + }); + it("addMetaSchema was not called", () => { + expect(ajv.addMetaSchema).not.toHaveBeenCalled(); + }); + }); describe("has additional meta schemas, custom formats, ajv options override and ajv format options", () => { let ajv: Ajv; beforeAll(() => { diff --git a/packages/validator-ajv8/test/utilsTests/schema.test.ts b/packages/validator-ajv8/test/utilsTests/schema.test.ts index 1b99a1dc68..da36b92508 100644 --- a/packages/validator-ajv8/test/utilsTests/schema.test.ts +++ b/packages/validator-ajv8/test/utilsTests/schema.test.ts @@ -1,4 +1,6 @@ // With Lerna active, the test world has access to the test suite via the symlink +import Ajv2019 from "ajv/dist/2019"; +import Ajv2020 from "ajv/dist/2020"; import { getDefaultFormStateTest, getDisplayLabelTest, @@ -25,3 +27,29 @@ mergeValidationDataTest(testValidator); retrieveSchemaTest(testValidator); toIdSchemaTest(testValidator); toPathSchemaTest(testValidator); + +const testValidator2019 = getTestValidator({ AjvClass: Ajv2019 }); + +getDefaultFormStateTest(testValidator2019); +getDisplayLabelTest(testValidator2019); +getMatchingOptionTest(testValidator2019); +isFilesArrayTest(testValidator2019); +isMultiSelectTest(testValidator2019); +isSelectTest(testValidator2019); +mergeValidationDataTest(testValidator2019); +retrieveSchemaTest(testValidator2019); +toIdSchemaTest(testValidator2019); +toPathSchemaTest(testValidator2019); + +const testValidator2020 = getTestValidator({ AjvClass: Ajv2020 }); + +getDefaultFormStateTest(testValidator2020); +getDisplayLabelTest(testValidator2020); +getMatchingOptionTest(testValidator2020); +isFilesArrayTest(testValidator2020); +isMultiSelectTest(testValidator2020); +isSelectTest(testValidator2020); +mergeValidationDataTest(testValidator2020); +retrieveSchemaTest(testValidator2020); +toIdSchemaTest(testValidator2020); +toPathSchemaTest(testValidator2020); diff --git a/packages/validator-ajv8/test/validator.test.ts b/packages/validator-ajv8/test/validator.test.ts index aeb4120dee..fe80d6d58e 100644 --- a/packages/validator-ajv8/test/validator.test.ts +++ b/packages/validator-ajv8/test/validator.test.ts @@ -1,3 +1,5 @@ +import Ajv2019 from "ajv/dist/2019"; +import Ajv2020 from "ajv/dist/2020"; import { ErrorSchema, FormValidation, @@ -394,13 +396,925 @@ describe("AJV8Validator", () => { }); }); }); + describe("default options, with Ajv2019", () => { + // Use the TestValidator to access the `withIdRefPrefix` function + let validator: TestValidator; + beforeAll(() => { + validator = new TestValidator({ AjvClass: Ajv2019 }); + }); + describe("validator.isValid()", () => { + it("should return true if the data is valid against the schema", () => { + const schema: RJSFSchema = { + type: "object", + properties: { + foo: { type: "string" }, + }, + }; + + expect(validator.isValid(schema, { foo: "bar" }, schema)).toBe(true); + }); + it("should return false if the data is not valid against the schema", () => { + const schema: RJSFSchema = { + type: "object", + properties: { + foo: { type: "string" }, + }, + }; + + expect(validator.isValid(schema, { foo: 12345 }, schema)).toBe(false); + }); + it("should return false if the schema is invalid", () => { + const schema: RJSFSchema = "foobarbaz" as unknown as RJSFSchema; + + expect(validator.isValid(schema, { foo: "bar" }, schema)).toBe(false); + }); + it("should return true if the data is valid against the schema including refs to rootSchema", () => { + const schema: RJSFSchema = { + anyOf: [{ $ref: "#/definitions/foo" }], + }; + const rootSchema: RJSFSchema = { + definitions: { + foo: { + properties: { + name: { type: "string" }, + }, + }, + }, + }; + const formData = { + name: "John Doe", + }; + + expect(validator.isValid(schema, formData, rootSchema)).toBe(true); + }); + }); + describe("validator.withIdRefPrefix()", () => { + it("should recursively add id prefix to all refs", () => { + const schema: RJSFSchema = { + anyOf: [{ $ref: "#/defs/foo" }], + }; + const expected = { + anyOf: [{ $ref: "__rjsf_rootSchema#/defs/foo" }], + }; + + expect(validator.withIdRefPrefix(schema)).toEqual(expected); + }); + it("shouldn`t mutate the schema", () => { + const schema: RJSFSchema = { + anyOf: [{ $ref: "#/defs/foo" }], + }; + + validator.withIdRefPrefix(schema); + + expect(schema).toEqual({ + anyOf: [{ $ref: "#/defs/foo" }], + }); + }); + it("should not change a property named `$ref`", () => { + const schema: RJSFSchema = { + title: "A registration form", + description: "A simple form example.", + type: "object", + properties: { + $ref: { type: "string", title: "First name", default: "Chuck" }, + }, + }; + + expect(validator.withIdRefPrefix(schema)).toEqual(schema); + }); + }); + describe("validator.toErrorList()", () => { + it("should return empty list for unspecified errorSchema", () => { + expect(validator.toErrorList()).toEqual([]); + }); + it("should convert an errorSchema into a flat list", () => { + const errorSchema: ErrorSchema = { + __errors: ["err1", "err2"], + a: { + b: { + __errors: ["err3", "err4"], + } as ErrorSchema, + }, + c: { + __errors: ["err5"], + } as ErrorSchema, + } as unknown as ErrorSchema; + expect(validator.toErrorList(errorSchema)).toEqual([ + { property: ".", message: "err1", stack: ". err1" }, + { property: ".", message: "err2", stack: ". err2" }, + { property: ".a.b", message: "err3", stack: ".a.b err3" }, + { property: ".a.b", message: "err4", stack: ".a.b err4" }, + { property: ".c", message: "err5", stack: ".c err5" }, + ]); + }); + }); + describe("validator.validateFormData()", () => { + describe("No custom validate function, single value", () => { + let errors: RJSFValidationError[]; + let errorSchema: ErrorSchema; + + beforeAll(() => { + const schema: RJSFSchema = { + type: "object", + properties: { + foo: { type: "string" }, + [illFormedKey]: { type: "string" }, + }, + }; + const result = validator.validateFormData( + { foo: 42, [illFormedKey]: 41 }, + schema + ); + errors = result.errors; + errorSchema = result.errorSchema; + }); + + it("should return an error list", () => { + expect(errors).toHaveLength(2); + expect(errors[0].message).toEqual("must be string"); + expect(errors[1].message).toEqual("must be string"); + }); + it("should return an errorSchema", () => { + expect(errorSchema.foo!.__errors).toHaveLength(1); + expect(errorSchema.foo!.__errors![0]).toEqual("must be string"); + expect(errorSchema[illFormedKey]!.__errors).toHaveLength(1); + expect(errorSchema[illFormedKey]!.__errors![0]).toEqual( + "must be string" + ); + }); + }); + describe("Validating multipleOf with a float", () => { + let errors: RJSFValidationError[]; + beforeAll(() => { + const schema: RJSFSchema = { + type: "object", + properties: { + price: { + title: "Price per task ($)", + type: "number", + multipleOf: 0.01, + minimum: 0, + }, + }, + }; + const result = validator.validateFormData({ price: 0.14 }, schema); + errors = result.errors; + }); + it("should not return an error", () => { + expect(errors).toHaveLength(0); + }); + }); + describe("Validating multipleOf with a float, with multiple errors", () => { + let errors: RJSFValidationError[]; + let errorSchema: ErrorSchema; + beforeAll(() => { + const schema: RJSFSchema = { + type: "object", + properties: { + price: { + title: "Price per task ($)", + type: "number", + multipleOf: 0.03, + minimum: 1, + }, + }, + }; + const result = validator.validateFormData({ price: 0.14 }, schema); + errors = result.errors; + errorSchema = result.errorSchema; + }); + it("should have 2 errors", () => { + expect(errors).toHaveLength(2); + }); + it("first error is for minimum", () => { + expect(errors[0].message).toEqual("must be >= 1"); + }); + it("first error is for multipleOf", () => { + expect(errors[1].message).toEqual("must be multiple of 0.03"); + }); + it("should return an errorSchema", () => { + expect(errorSchema.price!.__errors).toHaveLength(2); + expect(errorSchema.price!.__errors).toEqual([ + "must be >= 1", + "must be multiple of 0.03", + ]); + }); + }); + describe("TransformErrors", () => { + let errors: RJSFValidationError[]; + let newErrorMessage: string; + beforeAll(() => { + const schema: RJSFSchema = { + type: "object", + properties: { + foo: { type: "string" }, + [illFormedKey]: { type: "string" }, + }, + }; + newErrorMessage = "Better error message"; + const transformErrors = (errors: RJSFValidationError[]) => { + return [Object.assign({}, errors[0], { message: newErrorMessage })]; + }; + const result = validator.validateFormData( + { foo: 42, [illFormedKey]: 41 }, + schema, + undefined, + transformErrors + ); + errors = result.errors; + }); + + it("should use transformErrors function", () => { + expect(errors).not.toHaveLength(0); + expect(errors[0].message).toEqual(newErrorMessage); + }); + }); + describe("Custom validate function", () => { + let errors: RJSFValidationError[]; + let errorSchema: ErrorSchema; + describe("formData is provided", () => { + beforeAll(() => { + const schema: RJSFSchema = { + type: "object", + required: ["pass1", "pass2"], + properties: { + pass1: { type: "string" }, + pass2: { type: "string" }, + foo: { type: "array", items: { type: "string" } }, // Adding an array for test coverage + }, + }; + + const validate = (formData: any, errors: FormValidation) => { + if (formData.pass1 !== formData.pass2) { + errors.pass2!.addError("passwords don`t match."); + } + return errors; + }; + const formData = { pass1: "a", pass2: "b", foo: ["a"] }; + const result = validator.validateFormData( + formData, + schema, + validate + ); + errors = result.errors; + errorSchema = result.errorSchema; + }); + it("should return an error list", () => { + expect(errors).toHaveLength(1); + expect(errors[0].stack).toEqual(".pass2 passwords don`t match."); + }); + it("should return an errorSchema", () => { + expect(errorSchema.pass2!.__errors).toHaveLength(1); + expect(errorSchema.pass2!.__errors![0]).toEqual( + "passwords don`t match." + ); + }); + }); + describe("formData is missing data", () => { + beforeAll(() => { + const schema: RJSFSchema = { + type: "object", + properties: { + pass1: { type: "string" }, + pass2: { type: "string" }, + }, + }; + const validate = (formData: any, errors: FormValidation) => { + if (formData.pass1 !== formData.pass2) { + errors.pass2!.addError("passwords don`t match."); + } + return errors; + }; + const formData = { pass1: "a" }; + const result = validator.validateFormData( + formData, + schema, + validate + ); + errors = result.errors; + errorSchema = result.errorSchema; + }); + it("should return an error list", () => { + expect(errors).toHaveLength(1); + expect(errors[0].stack).toEqual(".pass2 passwords don`t match."); + }); + it("should return an errorSchema", () => { + expect(errorSchema.pass2!.__errors).toHaveLength(1); + expect(errorSchema.pass2!.__errors![0]).toEqual( + "passwords don`t match." + ); + }); + }); + }); + describe("Data-Url validation", () => { + let schema: RJSFSchema; + beforeAll(() => { + schema = { + type: "object", + properties: { + dataUrlWithName: { type: "string", format: "data-url" }, + dataUrlWithoutName: { type: "string", format: "data-url" }, + }, + }; + }); + it("Data-Url with name is accepted", () => { + const formData = { + dataUrlWithName: "data:text/plain;name=file1.txt;base64,x=", + }; + const result = validator.validateFormData(formData, schema); + expect(result.errors).toHaveLength(0); + }); + it("Data-Url without name is accepted", () => { + const formData = { + dataUrlWithoutName: "data:text/plain;base64,x=", + }; + const result = validator.validateFormData(formData, schema); + expect(result.errors).toHaveLength(0); + }); + }); + describe("Invalid schema", () => { + let errors: RJSFValidationError[]; + let errorSchema: ErrorSchema; + + beforeAll(() => { + const schema: RJSFSchema = { + type: "object", + properties: { + foo: { + type: "string", + required: "invalid_type_non_array" as unknown as string[], + }, + }, + }; + const result = validator.validateFormData({ foo: 42 }, schema); + errors = result.errors; + errorSchema = result.errorSchema; + }); + it("should return an error list", () => { + expect(errors).toHaveLength(1); + expect(errors[0].name).toEqual("type"); + expect(errors[0].property).toEqual(".properties.foo.required"); + // Ajv2019 uses $defs rather than definitions + expect(errors[0].schemaPath).toEqual("#/$defs/stringArray/type"); + expect(errors[0].message).toEqual("must be array"); + }); + it("should return an errorSchema", () => { + expect(errorSchema.properties!.foo!.required!.__errors).toHaveLength( + 1 + ); + expect(errorSchema.properties!.foo!.required!.__errors![0]).toEqual( + "must be array" + ); + }); + }); + }); + }); + describe("default options, with Ajv2020", () => { + // Use the TestValidator to access the `withIdRefPrefix` function + let validator: TestValidator; + beforeAll(() => { + validator = new TestValidator({ AjvClass: Ajv2020 }); + }); + describe("validator.isValid()", () => { + it("should return true if the data is valid against the schema", () => { + const schema: RJSFSchema = { + type: "object", + properties: { + foo: { type: "string" }, + }, + }; + + expect(validator.isValid(schema, { foo: "bar" }, schema)).toBe(true); + }); + it("should return false if the data is not valid against the schema", () => { + const schema: RJSFSchema = { + type: "object", + properties: { + foo: { type: "string" }, + }, + }; + + expect(validator.isValid(schema, { foo: 12345 }, schema)).toBe(false); + }); + it("should return false if the schema is invalid", () => { + const schema: RJSFSchema = "foobarbaz" as unknown as RJSFSchema; + + expect(validator.isValid(schema, { foo: "bar" }, schema)).toBe(false); + }); + it("should return true if the data is valid against the schema including refs to rootSchema", () => { + const schema: RJSFSchema = { + anyOf: [{ $ref: "#/definitions/foo" }], + }; + const rootSchema: RJSFSchema = { + definitions: { + foo: { + properties: { + name: { type: "string" }, + }, + }, + }, + }; + const formData = { + name: "John Doe", + }; + + expect(validator.isValid(schema, formData, rootSchema)).toBe(true); + }); + }); + describe("validator.withIdRefPrefix()", () => { + it("should recursively add id prefix to all refs", () => { + const schema: RJSFSchema = { + anyOf: [{ $ref: "#/defs/foo" }], + }; + const expected = { + anyOf: [{ $ref: "__rjsf_rootSchema#/defs/foo" }], + }; + + expect(validator.withIdRefPrefix(schema)).toEqual(expected); + }); + it("shouldn`t mutate the schema", () => { + const schema: RJSFSchema = { + anyOf: [{ $ref: "#/defs/foo" }], + }; + + validator.withIdRefPrefix(schema); + + expect(schema).toEqual({ + anyOf: [{ $ref: "#/defs/foo" }], + }); + }); + it("should not change a property named `$ref`", () => { + const schema: RJSFSchema = { + title: "A registration form", + description: "A simple form example.", + type: "object", + properties: { + $ref: { type: "string", title: "First name", default: "Chuck" }, + }, + }; + + expect(validator.withIdRefPrefix(schema)).toEqual(schema); + }); + }); + describe("validator.toErrorList()", () => { + it("should return empty list for unspecified errorSchema", () => { + expect(validator.toErrorList()).toEqual([]); + }); + it("should convert an errorSchema into a flat list", () => { + const errorSchema: ErrorSchema = { + __errors: ["err1", "err2"], + a: { + b: { + __errors: ["err3", "err4"], + } as ErrorSchema, + }, + c: { + __errors: ["err5"], + } as ErrorSchema, + } as unknown as ErrorSchema; + expect(validator.toErrorList(errorSchema)).toEqual([ + { property: ".", message: "err1", stack: ". err1" }, + { property: ".", message: "err2", stack: ". err2" }, + { property: ".a.b", message: "err3", stack: ".a.b err3" }, + { property: ".a.b", message: "err4", stack: ".a.b err4" }, + { property: ".c", message: "err5", stack: ".c err5" }, + ]); + }); + }); + describe("validator.validateFormData()", () => { + describe("No custom validate function, single value", () => { + let errors: RJSFValidationError[]; + let errorSchema: ErrorSchema; + + beforeAll(() => { + const schema: RJSFSchema = { + type: "object", + properties: { + foo: { type: "string" }, + [illFormedKey]: { type: "string" }, + }, + }; + const result = validator.validateFormData( + { foo: 42, [illFormedKey]: 41 }, + schema + ); + errors = result.errors; + errorSchema = result.errorSchema; + }); + + it("should return an error list", () => { + expect(errors).toHaveLength(2); + expect(errors[0].message).toEqual("must be string"); + expect(errors[1].message).toEqual("must be string"); + }); + it("should return an errorSchema", () => { + expect(errorSchema.foo!.__errors).toHaveLength(1); + expect(errorSchema.foo!.__errors![0]).toEqual("must be string"); + expect(errorSchema[illFormedKey]!.__errors).toHaveLength(1); + expect(errorSchema[illFormedKey]!.__errors![0]).toEqual( + "must be string" + ); + }); + }); + describe("Validating multipleOf with a float", () => { + let errors: RJSFValidationError[]; + beforeAll(() => { + const schema: RJSFSchema = { + type: "object", + properties: { + price: { + title: "Price per task ($)", + type: "number", + multipleOf: 0.01, + minimum: 0, + }, + }, + }; + const result = validator.validateFormData({ price: 0.14 }, schema); + errors = result.errors; + }); + it("should not return an error", () => { + expect(errors).toHaveLength(0); + }); + }); + describe("Validating multipleOf with a float, with multiple errors", () => { + let errors: RJSFValidationError[]; + let errorSchema: ErrorSchema; + beforeAll(() => { + const schema: RJSFSchema = { + type: "object", + properties: { + price: { + title: "Price per task ($)", + type: "number", + multipleOf: 0.03, + minimum: 1, + }, + }, + }; + const result = validator.validateFormData({ price: 0.14 }, schema); + errors = result.errors; + errorSchema = result.errorSchema; + }); + it("should have 2 errors", () => { + expect(errors).toHaveLength(2); + }); + it("first error is for minimum", () => { + expect(errors[0].message).toEqual("must be >= 1"); + }); + it("first error is for multipleOf", () => { + expect(errors[1].message).toEqual("must be multiple of 0.03"); + }); + it("should return an errorSchema", () => { + expect(errorSchema.price!.__errors).toHaveLength(2); + expect(errorSchema.price!.__errors).toEqual([ + "must be >= 1", + "must be multiple of 0.03", + ]); + }); + }); + describe("TransformErrors", () => { + let errors: RJSFValidationError[]; + let newErrorMessage: string; + beforeAll(() => { + const schema: RJSFSchema = { + type: "object", + properties: { + foo: { type: "string" }, + [illFormedKey]: { type: "string" }, + }, + }; + newErrorMessage = "Better error message"; + const transformErrors = (errors: RJSFValidationError[]) => { + return [Object.assign({}, errors[0], { message: newErrorMessage })]; + }; + const result = validator.validateFormData( + { foo: 42, [illFormedKey]: 41 }, + schema, + undefined, + transformErrors + ); + errors = result.errors; + }); + + it("should use transformErrors function", () => { + expect(errors).not.toHaveLength(0); + expect(errors[0].message).toEqual(newErrorMessage); + }); + }); + describe("Custom validate function", () => { + let errors: RJSFValidationError[]; + let errorSchema: ErrorSchema; + describe("formData is provided", () => { + beforeAll(() => { + const schema: RJSFSchema = { + type: "object", + required: ["pass1", "pass2"], + properties: { + pass1: { type: "string" }, + pass2: { type: "string" }, + foo: { type: "array", items: { type: "string" } }, // Adding an array for test coverage + }, + }; + + const validate = (formData: any, errors: FormValidation) => { + if (formData.pass1 !== formData.pass2) { + errors.pass2!.addError("passwords don`t match."); + } + return errors; + }; + const formData = { pass1: "a", pass2: "b", foo: ["a"] }; + const result = validator.validateFormData( + formData, + schema, + validate + ); + errors = result.errors; + errorSchema = result.errorSchema; + }); + it("should return an error list", () => { + expect(errors).toHaveLength(1); + expect(errors[0].stack).toEqual(".pass2 passwords don`t match."); + }); + it("should return an errorSchema", () => { + expect(errorSchema.pass2!.__errors).toHaveLength(1); + expect(errorSchema.pass2!.__errors![0]).toEqual( + "passwords don`t match." + ); + }); + }); + describe("formData is missing data", () => { + beforeAll(() => { + const schema: RJSFSchema = { + type: "object", + properties: { + pass1: { type: "string" }, + pass2: { type: "string" }, + }, + }; + const validate = (formData: any, errors: FormValidation) => { + if (formData.pass1 !== formData.pass2) { + errors.pass2!.addError("passwords don`t match."); + } + return errors; + }; + const formData = { pass1: "a" }; + const result = validator.validateFormData( + formData, + schema, + validate + ); + errors = result.errors; + errorSchema = result.errorSchema; + }); + it("should return an error list", () => { + expect(errors).toHaveLength(1); + expect(errors[0].stack).toEqual(".pass2 passwords don`t match."); + }); + it("should return an errorSchema", () => { + expect(errorSchema.pass2!.__errors).toHaveLength(1); + expect(errorSchema.pass2!.__errors![0]).toEqual( + "passwords don`t match." + ); + }); + }); + }); + describe("Data-Url validation", () => { + let schema: RJSFSchema; + beforeAll(() => { + schema = { + type: "object", + properties: { + dataUrlWithName: { type: "string", format: "data-url" }, + dataUrlWithoutName: { type: "string", format: "data-url" }, + }, + }; + }); + it("Data-Url with name is accepted", () => { + const formData = { + dataUrlWithName: "data:text/plain;name=file1.txt;base64,x=", + }; + const result = validator.validateFormData(formData, schema); + expect(result.errors).toHaveLength(0); + }); + it("Data-Url without name is accepted", () => { + const formData = { + dataUrlWithoutName: "data:text/plain;base64,x=", + }; + const result = validator.validateFormData(formData, schema); + expect(result.errors).toHaveLength(0); + }); + }); + describe("Invalid schema", () => { + let errors: RJSFValidationError[]; + let errorSchema: ErrorSchema; + + beforeAll(() => { + const schema: RJSFSchema = { + type: "object", + properties: { + foo: { + type: "string", + required: "invalid_type_non_array" as unknown as string[], + }, + }, + }; + const result = validator.validateFormData({ foo: 42 }, schema); + errors = result.errors; + errorSchema = result.errorSchema; + }); + it("should return an error list", () => { + expect(errors).toHaveLength(1); + expect(errors[0].name).toEqual("type"); + expect(errors[0].property).toEqual(".properties.foo.required"); + // Ajv2019 uses $defs rather than definitions + expect(errors[0].schemaPath).toEqual("#/$defs/stringArray/type"); + expect(errors[0].message).toEqual("must be array"); + }); + it("should return an errorSchema", () => { + expect(errorSchema.properties!.foo!.required!.__errors).toHaveLength( + 1 + ); + expect(errorSchema.properties!.foo!.required!.__errors![0]).toEqual( + "must be array" + ); + }); + }); + }); + }); describe("validator.validateFormData(), custom options, and localizer", () => { let validator: TestValidator; let schema: RJSFSchema; let localizer: Localizer; beforeAll(() => { localizer = jest.fn().mockImplementation(); - validator = new TestValidator({}, localizer); + validator = new TestValidator({}, localizer); + schema = { + $ref: "#/definitions/Dataset", + $schema: "http://json-schema.org/draft-06/schema#", + definitions: { + Dataset: { + properties: { + datasetId: { + pattern: "\\d+", + type: "string", + }, + }, + required: ["datasetId"], + type: "object", + }, + }, + }; + }); + it("should return a validation error about meta schema when meta schema is not defined", () => { + const errors = validator.validateFormData( + { datasetId: "some kind of text" }, + schema + ); + const errMessage = + 'no schema with key or ref "http://json-schema.org/draft-06/schema#"'; + expect(errors.errors).toEqual([{ stack: errMessage }]); + expect(errors.errorSchema).toEqual({ + $schema: { __errors: [errMessage] }, + }); + expect(localizer).toHaveBeenCalledWith(undefined); + }); + describe("validating using single custom meta schema", () => { + let errors: RJSFValidationError[]; + beforeAll(() => { + (localizer as jest.Mock).mockClear(); + validator = new TestValidator( + { + additionalMetaSchemas: [metaSchemaDraft6], + }, + localizer + ); + const result = validator.validateFormData( + { datasetId: "some kind of text" }, + schema + ); + errors = result.errors; + }); + it("should return 1 error about formData", () => { + expect(errors).toHaveLength(1); + }); + it("has a pattern match validation error about formData", () => { + expect(errors[0].stack).toEqual('.datasetId must match pattern "\\d+"'); + }); + it("localizer was called with the errors", () => { + expect(localizer).toHaveBeenCalledWith([ + { + instancePath: "/datasetId", + keyword: "pattern", + message: 'must match pattern "\\d+"', + params: { pattern: "\\d+" }, + schemaPath: "#/definitions/Dataset/properties/datasetId/pattern", + }, + ]); + }); + }); + describe("validating using several custom meta schemas", () => { + let errors: RJSFValidationError[]; + + beforeAll(() => { + validator = new TestValidator({ + additionalMetaSchemas: [metaSchemaDraft6], + }); + const result = validator.validateFormData( + { datasetId: "some kind of text" }, + schema + ); + errors = result.errors; + }); + it("should return 1 error about formData", () => { + expect(errors).toHaveLength(1); + }); + it("has a pattern match validation error about formData", () => { + expect(errors[0].stack).toEqual('.datasetId must match pattern "\\d+"'); + }); + }); + describe("validating using custom string formats", () => { + let validator: ValidatorType; + let schema: RJSFSchema; + beforeAll(() => { + validator = new AJV8Validator({}); + schema = { + type: "object", + properties: { + phone: { + type: "string", + format: "phone-us", + }, + }, + }; + }); + it("should not return a validation error if unknown string format is used", () => { + const result = validator.validateFormData( + { phone: "800.555.2368" }, + schema + ); + expect(result.errors.length).toEqual(0); + }); + describe("validating using a custom formats", () => { + let errors: RJSFValidationError[]; + + beforeAll(() => { + validator = new AJV8Validator({ + customFormats: { + "phone-us": /\(?\d{3}\)?[\s-]?\d{3}[\s-]?\d{4}$/, + "area-code": /\d{3}/, + }, + }); + const result = validator.validateFormData( + { phone: "800.555.2368" }, + schema + ); + errors = result.errors; + }); + it("should return 1 error about formData", () => { + expect(errors).toHaveLength(1); + }); + it("should return a validation error about formData", () => { + expect(errors[0].stack).toEqual( + '.phone must match format "phone-us"' + ); + }); + describe("prop updates with new custom formats are accepted", () => { + beforeAll(() => { + const result = validator.validateFormData( + { phone: "abc" }, + { + type: "object", + properties: { + phone: { + type: "string", + format: "area-code", + }, + }, + } + ); + errors = result.errors; + }); + + it("should return 1 error about formData", () => { + expect(errors).toHaveLength(1); + }); + it("should return a validation error about formData", () => { + expect(errors[0].stack).toEqual( + '.phone must match format "area-code"' + ); + }); + }); + }); + }); + }); + describe("validator.validateFormData(), custom options, localizer and Ajv2019", () => { + let validator: TestValidator; + let schema: RJSFSchema; + let localizer: Localizer; + beforeAll(() => { + localizer = jest.fn().mockImplementation(); + validator = new TestValidator({ AjvClass: Ajv2019 }, localizer); schema = { $ref: "#/definitions/Dataset", $schema: "http://json-schema.org/draft-06/schema#", @@ -438,6 +1352,7 @@ describe("AJV8Validator", () => { validator = new TestValidator( { additionalMetaSchemas: [metaSchemaDraft6], + AjvClass: Ajv2019, }, localizer ); @@ -471,6 +1386,7 @@ describe("AJV8Validator", () => { beforeAll(() => { validator = new TestValidator({ additionalMetaSchemas: [metaSchemaDraft6], + AjvClass: Ajv2019, }); const result = validator.validateFormData( { datasetId: "some kind of text" }, @@ -489,7 +1405,175 @@ describe("AJV8Validator", () => { let validator: ValidatorType; let schema: RJSFSchema; beforeAll(() => { - validator = new AJV8Validator({}); + validator = new AJV8Validator({ AjvClass: Ajv2019 }); + schema = { + type: "object", + properties: { + phone: { + type: "string", + format: "phone-us", + }, + }, + }; + }); + it("should not return a validation error if unknown string format is used", () => { + const result = validator.validateFormData( + { phone: "800.555.2368" }, + schema + ); + expect(result.errors.length).toEqual(0); + }); + describe("validating using a custom formats", () => { + let errors: RJSFValidationError[]; + + beforeAll(() => { + validator = new AJV8Validator({ + customFormats: { + "phone-us": /\(?\d{3}\)?[\s-]?\d{3}[\s-]?\d{4}$/, + "area-code": /\d{3}/, + }, + }); + const result = validator.validateFormData( + { phone: "800.555.2368" }, + schema + ); + errors = result.errors; + }); + it("should return 1 error about formData", () => { + expect(errors).toHaveLength(1); + }); + it("should return a validation error about formData", () => { + expect(errors[0].stack).toEqual( + '.phone must match format "phone-us"' + ); + }); + describe("prop updates with new custom formats are accepted", () => { + beforeAll(() => { + const result = validator.validateFormData( + { phone: "abc" }, + { + type: "object", + properties: { + phone: { + type: "string", + format: "area-code", + }, + }, + } + ); + errors = result.errors; + }); + + it("should return 1 error about formData", () => { + expect(errors).toHaveLength(1); + }); + it("should return a validation error about formData", () => { + expect(errors[0].stack).toEqual( + '.phone must match format "area-code"' + ); + }); + }); + }); + }); + }); + describe("validator.validateFormData(), custom options, localizer and Ajv2020", () => { + let validator: TestValidator; + let schema: RJSFSchema; + let localizer: Localizer; + beforeAll(() => { + localizer = jest.fn().mockImplementation(); + validator = new TestValidator({ AjvClass: Ajv2020 }, localizer); + schema = { + $ref: "#/definitions/Dataset", + $schema: "http://json-schema.org/draft-06/schema#", + definitions: { + Dataset: { + properties: { + datasetId: { + pattern: "\\d+", + type: "string", + }, + }, + required: ["datasetId"], + type: "object", + }, + }, + }; + }); + it("should return a validation error about meta schema when meta schema is not defined", () => { + const errors = validator.validateFormData( + { datasetId: "some kind of text" }, + schema + ); + const errMessage = + 'no schema with key or ref "http://json-schema.org/draft-06/schema#"'; + expect(errors.errors).toEqual([{ stack: errMessage }]); + expect(errors.errorSchema).toEqual({ + $schema: { __errors: [errMessage] }, + }); + expect(localizer).toHaveBeenCalledWith(undefined); + }); + describe("validating using single custom meta schema", () => { + let errors: RJSFValidationError[]; + beforeAll(() => { + (localizer as jest.Mock).mockClear(); + validator = new TestValidator( + { + additionalMetaSchemas: [metaSchemaDraft6], + AjvClass: Ajv2020, + }, + localizer + ); + const result = validator.validateFormData( + { datasetId: "some kind of text" }, + schema + ); + errors = result.errors; + }); + it("should return 1 error about formData", () => { + expect(errors).toHaveLength(1); + }); + it("has a pattern match validation error about formData", () => { + expect(errors[0].stack).toEqual('.datasetId must match pattern "\\d+"'); + }); + it("localizer was called with the errors", () => { + expect(localizer).toHaveBeenCalledWith([ + { + instancePath: "/datasetId", + keyword: "pattern", + message: 'must match pattern "\\d+"', + params: { pattern: "\\d+" }, + schemaPath: "#/definitions/Dataset/properties/datasetId/pattern", + }, + ]); + }); + }); + describe("validating using several custom meta schemas", () => { + let errors: RJSFValidationError[]; + + beforeAll(() => { + validator = new TestValidator({ + additionalMetaSchemas: [metaSchemaDraft6], + AjvClass: Ajv2020, + }); + const result = validator.validateFormData( + { datasetId: "some kind of text" }, + schema + ); + errors = result.errors; + }); + it("should return 1 error about formData", () => { + expect(errors).toHaveLength(1); + }); + it("has a pattern match validation error about formData", () => { + expect(errors[0].stack).toEqual('.datasetId must match pattern "\\d+"'); + }); + }); + describe("validating using custom string formats", () => { + let validator: ValidatorType; + let schema: RJSFSchema; + beforeAll(() => { + validator = new AJV8Validator({ AjvClass: Ajv2020 }); schema = { type: "object", properties: {