diff --git a/.github/scripts/setup-env-vars.sh b/.github/scripts/setup-env-vars.sh
deleted file mode 100755
index c5dfe9d..0000000
--- a/.github/scripts/setup-env-vars.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-
-echo "🚧 setup-env-vars"
-
-# Github Actions env vars
-CI_BASHENV=$GITHUB_ENV
-GIT_BRANCH=$GITHUB_REF_NAME
-BUILD_NUM=$GITHUB_RUN_NUMBER
-
-STORYBOOK_NETLIFY_ALIAS="preview-$GITHUB_EVENT_NUMBER"
-STORYBOOK_NETLIFY_ENVIRONMENT="qa"
-
-# production
-if [[ "$GIT_BRANCH" == "main" ]]; then
- STORYBOOK_NETLIFY_ALIAS=""
- STORYBOOK_NETLIFY_ENVIRONMENT="production"
-fi
-
-# Presist variables in Normal Bash env
-export STORYBOOK_NETLIFY_ALIAS
-export STORYBOOK_NETLIFY_ENVIRONMENT
-
-echo "CI_BASHENV $CI_BASHENV"
-
-if [[ "$CI_BASHENV" != "" ]]; then
- echo "🚧 exporting env vars to CI bash env"
- # Presist variables in CI Bash env
- echo "$CI_BASHENV_EXPORT_PREFIX""STORYBOOK_NETLIFY_ALIAS=$STORYBOOK_NETLIFY_ALIAS" >> $CI_BASHENV
- echo "$CI_BASHENV_EXPORT_PREFIX""STORYBOOK_NETLIFY_ENVIRONMENT=$STORYBOOK_NETLIFY_ENVIRONMENT" >> $CI_BASHENV
-fi
diff --git a/.github/workflows/storybook-netlify-deploy.yml b/.github/workflows/storybook-netlify-deploy.yml
deleted file mode 100644
index a8de6a8..0000000
--- a/.github/workflows/storybook-netlify-deploy.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-name: Build and Deploy Storybook to Netlify
-on:
- pull_request:
- types: [opened, synchronize]
- push:
- branches:
- - main
-jobs:
- build-deploy-netlify:
- timeout-minutes: 18
- runs-on: ubuntu-20.04
- steps:
- - uses: actions/checkout@v3
- - name: Setup Env Vars
- run: source ./.github/scripts/setup-env-vars.sh
- env:
- GITHUB_EVENT_NUMBER: ${{ github.event.number }}
- - name: Get branch name
- id: branch-name
- uses: tj-actions/branch-names@v6
- - name: Get yarn cache
- id: yarn-cache
- run: echo "::set-output name=dir::$(yarn cache dir)"
- - uses: actions/cache@v3
- with:
- path: ${{ steps.yarn-cache.outputs.dir }}
- key: ubuntu-latest-node-16.x-yarn-${{ hashFiles('**/yarn.lock') }}
- restore-keys: |
- ubuntu-latest-node-16.x-yarn-
- - uses: actions/setup-node@v3
- with:
- node-version: 16.x
- registry-url: https://registry.npmjs.org/
- - name: Install
- run: |
- # Remove .npmrc if exits
- rm -rf .npmrc
- yarn install --frozen-lockfile
- env:
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- - name: Build
- run: yarn build-storybook
- - name: Deploy to Netlify
- id: deploy
- uses: nwtgck/actions-netlify@v1
- with:
- publish-dir: './storybook-static'
- production-branch: main
- github-token: ${{ secrets.GITHUB_TOKEN }}
- deploy-message: 'Branch: ${{ steps.branch-name.outputs.current_branch }} - Event: ${{ github.event.number }}'
- enable-pull-request-comment: true
- enable-commit-comment: false
- overwrites-pull-request-comment: false
- alias: ${{ env.STORYBOOK_NETLIFY_ALIAS }}
- github-deployment-environment: ${{ env.STORYBOOK_NETLIFY_ENVIRONMENT }}
- production-deploy: false
- env:
- NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
- NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID_STORYBOOK }}
- timeout-minutes: 1
- - name: Upload build to artifacts
- uses: actions/upload-artifact@v3
- with:
- name: 'storybook-static'
- path: storybook-static
diff --git a/.gitignore b/.gitignore
index 96866bf..cee69df 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,10 @@ web-build/
# macOS
.DS_Store
+
+# tests
+coverage/
+
+# Storybook
+storybook-static/
+storybook.requires.js
diff --git a/.storybook-ondevice/storybook.requires.js b/.storybook-ondevice/storybook.requires.js
deleted file mode 100644
index 5614c56..0000000
--- a/.storybook-ondevice/storybook.requires.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/* do not change this file, it is auto generated by storybook. */
-
-import {
- configure,
- addDecorator,
- addParameters,
- addArgsEnhancer,
-} from "@storybook/react-native";
-
-import "@storybook/addon-ondevice-notes/register";
-import "@storybook/addon-ondevice-controls/register";
-import "@storybook/addon-ondevice-backgrounds/register";
-import "@storybook/addon-ondevice-actions/register";
-
-import { argsEnhancers } from "@storybook/addon-actions/dist/modern/preset/addArgs";
-
-import { decorators, parameters } from "./preview";
-
-if (decorators) {
- decorators.forEach((decorator) => addDecorator(decorator));
-}
-
-if (parameters) {
- addParameters(parameters);
-}
-
-// temporary fix for https://github.com/storybookjs/react-native/issues/327 whilst the issue is investigated
-try {
- argsEnhancers.forEach((enhancer) => addArgsEnhancer(enhancer));
-} catch {}
-
-const getStories = () => {
- return [
- require("../src/components/Button/Button.stories.tsx"),
- require("../src/components/Layout/Layout.stories.tsx"),
- ];
-};
-
-configure(getStories, module, false);
diff --git a/.storybook/preview.js b/.storybook/preview.js
index 48afd56..560d960 100644
--- a/.storybook/preview.js
+++ b/.storybook/preview.js
@@ -6,4 +6,9 @@ export const parameters = {
date: /Date$/,
},
},
+ options: {
+ storySort: {
+ order: ['README', 'components', 'utils'],
+ },
+ },
}
\ No newline at end of file
diff --git a/.storybook/theme.js b/.storybook/theme.js
index 3f5aa83..21ad5e7 100644
--- a/.storybook/theme.js
+++ b/.storybook/theme.js
@@ -9,8 +9,8 @@ import packageJson from '../package.json';
*/
export default create({
base: 'light',
- // brandTitle: 'React Native Flex Grid',
- // brandUrl: packageJson.repository.url.replace('.git', ''),
+ brandTitle: 'react-native-flex-grid',
+ brandUrl: packageJson.repository.url.replace('.git', ''),
// brandImage: '',
// brandTarget: '_self', // open in same tab
});
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..6f47d66
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 Ahmed Tarek (Tokyo)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/README.md b/README.md
index dd41608..cf3fad5 100644
--- a/README.md
+++ b/README.md
@@ -7,44 +7,189 @@ A react-native flexbox grid similar to [bootstap](https://getbootstrap.com)'s we
-[DEMO](https://react-native-flex-grid.netlify.app)
+
+
+
+
+Check the [DEMO](https://react-native-flex-grid.netlify.app), built with [Storybook](https://storybook.js.org) and [react-native-web](https://necolas.github.io/react-native-web).
# Getting Started
-### Installation
+## Installation
+```bash
+npm install --save react-native-flex-grid
```
-npm install react-native-flex-grid
-```
-```
-yarn add install react-native-flex-grid
+OR
+```bash
+yarn add react-native-flex-grid
```
-### Import
+## Usage
+```jsx
+import { Container, Row, Col } from 'react-native-flex-grid';
+
+const MyComponent = (
+
+
+ .col
+
+
+ .col
+ .col
+ .col
+ .col
+
+
+
+
+ .col-3
+
+
+
+ .col-auto - variable width content
+
+
+ .col-3
+
+
+
+
+ .col-6
+
+
+ .col-6
+
+
+
+
+ .col-6 .col-sm-4
+
+
+ .col-6 .col-sm-4
+
+
+ .col-sm-4
+
+
+
+
+ .col-sm-5 .order-sm-2 .offset-sm-1
+
+
+ .col-sm-5 .order-sm-1 .offset-sm-1
+
+
+
+
+ .col-sm-12 .col-md-6 .offset-md-3
+
+
+
+
+ .col-sm-auto .offset-sm-1
+
+
+ .col-sm-auto .offset-sm-1
+
+
+
+);
+export default MyComponent;
```
-import { Container, Row, Col } from 'react-native-flex-grid';
+
+### Modifying Grid Configuration
+The grid is 100% modifiable, all values can be found in the config object in `src/utils/grid`;
+
+```js
+/** Grid configuration */
+let GRID_CONFIG: GRID_CONFIG_TYPE = {
+ /** Grid Breakpoints */
+ breakpoints: {
+ xs: 0,
+ sm: 375,
+ md: 768,
+ lg: 1024,
+ xl: 1200,
+ },
+ /** Grid column count */
+ colCount: 12,
+ /** Common gutters used */
+ gutters: {
+ 0: 0,
+ 1: SPACER * 0.25,
+ 2: SPACER * 0.5,
+ 3: SPACER,
+ 4: SPACER * 1.5,
+ 5: SPACER * 3,
+ },
+ /** Container max widths */
+ containerMaxWidths: {
+ xs: '100%',
+ sm: '100%',
+ md: '100%',
+ lg: '100%',
+ xl: 1140,
+ },
+ /** Container paddings horizontal */
+ containerPaddingsHorizontal: {
+ xs: 18,
+ sm: 20,
+ md: 40,
+ lg: 48,
+ xl: 48,
+ },
+};
```
-### Basic Example
+To modify grid configuration, add these lines somewhere in your app before rendering the grid, eg: in App.js or in wrapper components:
+```js
+import { setConfig } from 'react-native-flex-grid';
-```jsx
-
-
-
-
- First Column
-
-
-
-
- Second Column
-
-
-
-
+setConfig({
+ breakpoints: {
+ xs: 0,
+ sm: 390,
+ md: 768,
+ lg: 1024,
+ xl: 1024,
+ },
+ colCount: 4,
+ gutters: {
+ 0: 0,
+ 1: 4,
+ 2: 8,
+ 3: 12,
+ 4: 16,
+ 5: 20,
+ },
+});
```
+#### API
+- getConfig: returns config object
+- setConfig: modifies config object
+
+
+### Development
+- To run Storybook locally on [localhost:6006](localhost:6006)
+ - ```
+ yarn storybook
+ ```
+- To run expo locally
+ - ```
+ yarn start
+ ```
+- To run ios locally
+ - ```
+ yarn ios
+ ```
+- To run android locally
+ - ```
+ yarn android
+ ```
+
### Helpful resources
- [Bootstrap layout documentation](https://getbootstrap.com/docs/5.0/layout)
- [Reactstrap layout documentation](https://reactstrap.github.io/?path=/docs/components-layout--layout)
diff --git a/jest.config.js b/jest.config.js
new file mode 100644
index 0000000..a0c9189
--- /dev/null
+++ b/jest.config.js
@@ -0,0 +1,28 @@
+module.exports = {
+ preset: 'react-native',
+ roots: ['src'],
+ setupFilesAfterEnv: ['./jest.setup.ts'],
+ moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
+ testMatch: ['**/*.test.(ts|tsx)'],
+ moduleNameMapper: {
+ // Mocks out all these files formats when tests are run.
+ '\\.(css|less|scss|sass)$': 'identity-obj-proxy',
+ '\\.(jpg|ico|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
+ 'identity-obj-proxy',
+ },
+ collectCoverage: true,
+ collectCoverageFrom: [
+ 'src/**/*.{ts,tsx,js,jsx}',
+ '!**/*.stories.{ts,tsx,js,jsx}',
+ '!**/.storybook/**',
+ ],
+ coverageDirectory: './coverage',
+ coverageThreshold: {
+ global: {
+ branches: 0,
+ functions: 0,
+ lines: 0,
+ statements: 0,
+ },
+ },
+};
diff --git a/jest.setup.ts b/jest.setup.ts
new file mode 100644
index 0000000..7b0828b
--- /dev/null
+++ b/jest.setup.ts
@@ -0,0 +1 @@
+import '@testing-library/jest-dom';
diff --git a/package.json b/package.json
index 38ecf4c..a528cf3 100644
--- a/package.json
+++ b/package.json
@@ -1,13 +1,22 @@
{
"name": "react-native-flex-grid",
- "version": "0.0.1",
+ "version": "0.0.2",
"main": "node_modules/expo/AppEntry.js",
"module": "lib/module/index.js",
"react-native": "src/index.ts",
"files": [
"src",
- "lib"
+ "lib",
+ "!**/stories.*"
],
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/a-tokyo/react-native-flex-grid.git"
+ },
+ "homepage": "https://react-native-flex-grid.netlify.app",
+ "bugs": {
+ "url": "https://github.com/a-tokyo/react-native-flex-grid/issues"
+ },
"scripts": {
"start": "yarn prep-package expo; yarn update-stories; expo start",
"android": "yarn prep-package expo; yarn update-stories; expo start --android",
@@ -16,7 +25,7 @@
"build": "bob build",
"prep-package": "node ./scripts/prep-package.js",
"prepublish": "yarn prep-package build",
- "test": "yarn",
+ "test": "jest",
"eject": "expo eject",
"update-stories": "sb-rn-get-stories --config-path .storybook-ondevice",
"storybook-watcher": "sb-rn-watcher --config-path .storybook-ondevice",
@@ -49,13 +58,19 @@
"@storybook/react-native": "6.0.1-beta.9",
"@storybook/testing-library": "^0.0.13",
"@storybook/theming": "^6.5.15",
+ "@testing-library/jest-dom": "^5.12.0",
+ "@testing-library/react": "^12.1.2",
+ "@testing-library/react-hooks": "^7.0.2",
+ "@testing-library/user-event": "^13.5.0",
"@types/jest": "^29.2.4",
"@types/react-native": "~0.70.6",
+ "babel-jest": "^29.3.1",
"babel-loader": "^8.2.3",
"babel-plugin-react-native-web": "^0.18.10",
"edit-json-file": "^1.7.0",
"expo": "^47.0.0",
"expo-status-bar": "~1.4.2",
+ "jest": "^29.3.1",
"postcss": "^8.4.20",
"postcss-loader": "^7.0.2",
"react": "18.1.0",
@@ -64,6 +79,7 @@
"react-native-builder-bob": "^0.20.3",
"react-native-safe-area-context": "4.4.1",
"react-native-web": "~0.18.7",
+ "react-test-renderer": "^18.2.0",
"resolve-url-loader": "^5.0.0",
"sass": "^1.57.1",
"sass-loader": "^13.2.0",
@@ -71,8 +87,13 @@
"storybook-addon-grid": "^0.3.1",
"storybook-usage": "^4.0.10",
"style-loader": "^3.3.1",
+ "ts-jest": "^29.0.3",
"typescript": "^4.6.3"
},
+ "peerDependencies": {
+ "react": ">16",
+ "react-native": ">0.60"
+ },
"react-native-builder-bob": {
"source": "src",
"output": "lib",
@@ -86,5 +107,35 @@
"module",
"typescript"
]
- }
+ },
+ "keywords": [
+ "react",
+ "react-native",
+ "react-native-web",
+ "grid",
+ "layout",
+ "flex",
+ "flexbox",
+ "design",
+ "style",
+ "bootstrap",
+ "12-columns",
+ "n-columns",
+ "demo",
+ "storybook",
+ "typescript",
+ "flowtype",
+ "expo",
+ "framework",
+ "customizable",
+ "configurable"
+ ],
+ "license": "MIT",
+ "contributors": [
+ {
+ "name": "Ahmed Tarek",
+ "email": "ahmed.tokyo1@gmail.com",
+ "url": "https://github.com/A-Tokyo"
+ }
+ ]
}
\ No newline at end of file
diff --git a/src/README.stories.mdx b/src/README.stories.mdx
new file mode 100644
index 0000000..6ed4844
--- /dev/null
+++ b/src/README.stories.mdx
@@ -0,0 +1,199 @@
+
+
+# react-native-flex-grid
+A react-native flexbox grid similar to [bootstap](https://getbootstrap.com)'s web grid.
+
+
+
+
+
+
+
+
+
+
+
+Check the [DEMO](https://react-native-flex-grid.netlify.app), built with [Storybook](https://storybook.js.org) and [react-native-web](https://necolas.github.io/react-native-web).
+
+# Getting Started
+
+## Installation
+
+```bash
+npm install --save react-native-flex-grid
+```
+OR
+```bash
+yarn add react-native-flex-grid
+```
+
+## Usage
+```jsx
+import { Container, Row, Col } from 'react-native-flex-grid';
+
+const MyComponent = (
+
+
+ .col
+
+
+ .col
+ .col
+ .col
+ .col
+
+
+
+
+ .col-3
+
+
+
+ .col-auto - variable width content
+
+
+ .col-3
+
+
+
+
+ .col-6
+
+
+ .col-6
+
+
+
+
+ .col-6 .col-sm-4
+
+
+ .col-6 .col-sm-4
+
+
+ .col-sm-4
+
+
+
+
+ .col-sm-5 .order-sm-2 .offset-sm-1
+
+
+ .col-sm-5 .order-sm-1 .offset-sm-1
+
+
+
+
+ .col-sm-12 .col-md-6 .offset-md-3
+
+
+
+
+ .col-sm-auto .offset-sm-1
+
+
+ .col-sm-auto .offset-sm-1
+
+
+
+);
+
+export default MyComponent;
+```
+
+### Modifying Grid Configuration
+The grid is 100% modifiable, all values can be found in the config object in `src/utils/grid`;
+
+```js
+/** Grid configuration */
+let GRID_CONFIG: GRID_CONFIG_TYPE = {
+ /** Grid Breakpoints */
+ breakpoints: {
+ xs: 0,
+ sm: 375,
+ md: 768,
+ lg: 1024,
+ xl: 1200,
+ },
+ /** Grid column count */
+ colCount: 12,
+ /** Common gutters used */
+ gutters: {
+ 0: 0,
+ 1: SPACER * 0.25,
+ 2: SPACER * 0.5,
+ 3: SPACER,
+ 4: SPACER * 1.5,
+ 5: SPACER * 3,
+ },
+ /** Container max widths */
+ containerMaxWidths: {
+ xs: '100%',
+ sm: '100%',
+ md: '100%',
+ lg: '100%',
+ xl: 1140,
+ },
+ /** Container paddings horizontal */
+ containerPaddingsHorizontal: {
+ xs: 18,
+ sm: 20,
+ md: 40,
+ lg: 48,
+ xl: 48,
+ },
+};
+```
+
+To modify grid configuration, add these lines somewhere in your app before rendering the grid, eg: in App.js or in wrapper components:
+```js
+import { setConfig } from 'react-native-flex-grid';
+
+setConfig({
+ breakpoints: {
+ xs: 0,
+ sm: 390,
+ md: 768,
+ lg: 1024,
+ xl: 1024,
+ },
+ colCount: 4,
+ gutters: {
+ 0: 0,
+ 1: 4,
+ 2: 8,
+ 3: 12,
+ 4: 16,
+ 5: 20,
+ },
+});
+```
+
+#### API
+- getConfig: returns config object
+- setConfig: modifies config object
+
+### Development
+- To run Storybook locally on [localhost:6006](localhost:6006)
+ - ```
+ yarn storybook
+ ```
+- To run expo locally
+ - ```
+ yarn start
+ ```
+- To run ios locally
+ - ```
+ yarn ios
+ ```
+- To run android locally
+ - ```
+ yarn android
+ ```
+
+### Helpful resources
+- [Bootstrap layout documentation](https://getbootstrap.com/docs/5.0/layout)
+- [Reactstrap layout documentation](https://reactstrap.github.io/?path=/docs/components-layout--layout)
+
+### Contributing
+Pull requests are highly appreciated! For major changes, please open an issue first to discuss what you would like to change.
diff --git a/src/components/Layout/Col/Col.test.tsx b/src/components/Layout/Col/Col.test.tsx
new file mode 100644
index 0000000..b7798de
--- /dev/null
+++ b/src/components/Layout/Col/Col.test.tsx
@@ -0,0 +1,14 @@
+import React from 'react';
+import renderer from 'react-test-renderer';
+import Col from './Col';
+
+const setupCol = (overrideProps = {}) =>
;
+
+describe('', () => {
+ it('renders basic props correctly', () => {
+ const wrapper = renderer.create(setupCol());
+
+ expect(wrapper).toMatchSnapshot();
+ });
+ // @todo add tests for all classes
+});
diff --git a/src/components/Layout/Col/Col.tsx b/src/components/Layout/Col/Col.tsx
index 20303a5..e8e9023 100644
--- a/src/components/Layout/Col/Col.tsx
+++ b/src/components/Layout/Col/Col.tsx
@@ -1,7 +1,7 @@
import React from 'react';
-import { StyleSheet, View, ViewProps } from 'react-native';
+import { View, ViewProps } from 'react-native';
-import { GUTTERS, GRID_BREAKPOINTS_KEYS_LIST, getGridBreakpoint, getGridColCount } from '../../../utils/responsive';
+import { getConfig, GRID_BREAKPOINTS_KEYS_LIST, getGridBreakpoint } from '../../../utils/grid';
export declare interface ColProps extends ViewProps {
/** xs size */
@@ -40,19 +40,13 @@ export declare interface ColProps extends ViewProps {
gx?: 0 | 1 | 2 | 3 | 4 | 5;
};
-const styles = StyleSheet.create({
- col: {
- paddingHorizontal: GUTTERS[4] / 2,
- }
-});
-
/** converts decimal to percent string */
const _toPercent = (num: number): string => `${num * 100}%`;
/**
* Gets column style
*/
-export const getColStyle = (props): Object => {
+const _getColStyle = (props): Object => {
const gridBreakpoint = getGridBreakpoint();
/** style object */
@@ -83,7 +77,7 @@ export const getColStyle = (props): Object => {
) {
style = {
...style,
- width: _toPercent(Number(props[element]) / getGridColCount()),
+ width: _toPercent(Number(props[element]) / getConfig().colCount),
}
break;
}
@@ -110,7 +104,7 @@ export const getColStyle = (props): Object => {
) {
style = {
...style,
- marginLeft: _toPercent(Number(props[element]) / getGridColCount()),
+ marginLeft: _toPercent(Number(props[element]) / getConfig().colCount),
}
break;
}
@@ -141,9 +135,9 @@ export const getColStyle = (props): Object => {
/** Column */
const Col = (props: ColProps) => {
const { style, Element = View, gx = 4, ...rest } = props;
- return ();
+ return ();
}
export default Col;
diff --git a/src/components/Layout/Col/__snapshots__/Col.test.tsx.snap b/src/components/Layout/Col/__snapshots__/Col.test.tsx.snap
new file mode 100644
index 0000000..d323bab
--- /dev/null
+++ b/src/components/Layout/Col/__snapshots__/Col.test.tsx.snap
@@ -0,0 +1,17 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[` renders basic props correctly 1`] = `
+
+`;
diff --git a/src/components/Layout/Container/Container.test.tsx b/src/components/Layout/Container/Container.test.tsx
new file mode 100644
index 0000000..5bfec59
--- /dev/null
+++ b/src/components/Layout/Container/Container.test.tsx
@@ -0,0 +1,52 @@
+import React from 'react';
+import renderer from 'react-test-renderer';
+import { ScrollView, Text } from 'react-native';
+
+import Container from './Container';
+
+const setupContainer = (overrideProps = {}) => ;
+
+describe('', () => {
+ it('renders basic props correctly', () => {
+ const wrapper = renderer.create(setupContainer());
+
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ it('renders basic props correctly - fluid', () => {
+ const wrapper = renderer.create(
+ setupContainer({
+ children: test,
+ fluid: true,
+ }),
+ );
+
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ it('renders basic props correctly - fluid - noPadding', () => {
+ const wrapper = renderer.create(
+ setupContainer({
+ children: test,
+ fluid: true,
+ noPadding: true,
+ }),
+ );
+
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ it('renders basic props correctly - Element - style', () => {
+ const wrapper = renderer.create(
+ setupContainer({
+ children: test,
+ Element: ScrollView,
+ style: {
+ padding: 0
+ },
+ }),
+ );
+
+ expect(wrapper).toMatchSnapshot();
+ });
+});
diff --git a/src/components/Layout/Container/Container.tsx b/src/components/Layout/Container/Container.tsx
index 8c22060..56f2b5e 100644
--- a/src/components/Layout/Container/Container.tsx
+++ b/src/components/Layout/Container/Container.tsx
@@ -1,21 +1,53 @@
import React from 'react';
import { StyleSheet, View, ViewProps } from 'react-native';
+import { Dimensions } from 'react-native';
+
+
+import { getGridBreakpoint, getConfig } from '../../../utils/grid';
export declare interface ContainerProps extends ViewProps {
- Element?: React.ElementType;
/** Fluid Container */
fluid?: boolean;
+ /** No Padding */
+ noPadding?: boolean;
+ /** Element to render */
+ Element?: React.ElementType;
};
const styles = StyleSheet.create({
container: {
- paddingHorizontal: 20,
+ width: '100%',
+ justifySelf: 'center',
+ },
+ fluid: {
+ maxWidth: '100%',
}
});
/** Container */
-const Container = ({ style, Element = View, ...rest }: ContainerProps) => (
-
-);
+const Container = ({ style, fluid, Element = View, noPadding, ...rest }: ContainerProps) => {
+ /** Grid config */
+ const gridConfig = getConfig();
+ /** current grid breakpoint */
+ const gridBreakpoint = getGridBreakpoint();
+ /** container maxWidth */
+ const maxWidth = gridConfig.containerMaxWidths[gridBreakpoint];
+ /** screen width */
+ const SCREEN_WIDTH = Dimensions.get('window').width;
+
+ return (
+
+ );
+}
export default Container;
diff --git a/src/components/Layout/Container/__snapshots__/Container.test.tsx.snap b/src/components/Layout/Container/__snapshots__/Container.test.tsx.snap
new file mode 100644
index 0000000..1907773
--- /dev/null
+++ b/src/components/Layout/Container/__snapshots__/Container.test.tsx.snap
@@ -0,0 +1,91 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[` renders basic props correctly - Element - style 1`] = `
+
+
+
+ test
+
+
+
+`;
+
+exports[` renders basic props correctly - fluid - noPadding 1`] = `
+
+
+ test
+
+
+`;
+
+exports[` renders basic props correctly - fluid 1`] = `
+
+
+ test
+
+
+`;
+
+exports[` renders basic props correctly 1`] = `
+
+`;
diff --git a/src/components/Layout/Layout.stories.tsx b/src/components/Layout/Layout.stories.tsx
index 13cb589..f344b81 100644
--- a/src/components/Layout/Layout.stories.tsx
+++ b/src/components/Layout/Layout.stories.tsx
@@ -1,7 +1,15 @@
import React from 'react';
-import { Text } from 'react-native';
+import { StyleSheet, Text } from 'react-native';
import { Container, Row, Col } from '.';
+import { getGridBreakpoint } from '../../utils/grid';
+
+const styles = StyleSheet.create({
+ col: {
+ borderWidth: 1,
+ borderColor: 'rgba(0, 0, 0, 0.1)',
+ },
+});
export default {
title: 'components/Layout',
@@ -13,70 +21,72 @@ export default {
},
},
},
- // not adding decoratorCol - reason: this is the Layout story
};
const LayoutStory = () => (
-
+
+
+ Grid Breakpoint: {getGridBreakpoint()}
+
- .col
+ .col
- .col
- .col
- .col
- .col
+ .col
+ .col
+ .col
+ .col
-
+
.col-3
-
+
.col-auto - variable width content
-
+
.col-3
-
+
.col-6
-
+
.col-6
-
+
.col-6 .col-sm-4
-
+
.col-6 .col-sm-4
-
+
.col-sm-4
-
+
.col-sm-5 .order-sm-2 .offset-sm-1
-
+
.col-sm-5 .order-sm-1 .offset-sm-1
-
+
.col-sm-12 .col-md-6 .offset-md-3
-
+
.col-sm-auto .offset-sm-1
-
+
.col-sm-auto .offset-sm-1
diff --git a/src/components/Layout/Row/Row.test.tsx b/src/components/Layout/Row/Row.test.tsx
new file mode 100644
index 0000000..9a7e8af
--- /dev/null
+++ b/src/components/Layout/Row/Row.test.tsx
@@ -0,0 +1,13 @@
+import React from 'react';
+import renderer from 'react-test-renderer';
+import Row from './Row';
+
+const setupRow = (overrideProps = {}) =>
;
+
+describe('
', () => {
+ it('renders basic props correctly', () => {
+ const wrapper = renderer.create(setupRow());
+
+ expect(wrapper).toMatchSnapshot();
+ });
+});
diff --git a/src/components/Layout/Row/Row.tsx b/src/components/Layout/Row/Row.tsx
index 90dcd64..d0464fe 100644
--- a/src/components/Layout/Row/Row.tsx
+++ b/src/components/Layout/Row/Row.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import { StyleSheet, View, ViewProps } from 'react-native';
-import { GUTTERS } from '../../../utils/responsive';
+import { getConfig } from '../../../utils/grid';
export declare interface RowProps extends ViewProps {
/** Gutter size -- [Bootstrap Gutters](https://getbootstrap.com/docs/5.0/layout/gutters/) */
@@ -19,7 +19,7 @@ const styles = StyleSheet.create({
/** Row */
const Row = ({ style, gx = 4, ...rest }: RowProps) => (
);
diff --git a/src/components/Layout/Row/__snapshots__/Row.test.tsx.snap b/src/components/Layout/Row/__snapshots__/Row.test.tsx.snap
new file mode 100644
index 0000000..712e22b
--- /dev/null
+++ b/src/components/Layout/Row/__snapshots__/Row.test.tsx.snap
@@ -0,0 +1,19 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`
renders basic props correctly 1`] = `
+
+`;
diff --git a/src/utils/grid.stories.mdx b/src/utils/grid.stories.mdx
new file mode 100644
index 0000000..9e80587
--- /dev/null
+++ b/src/utils/grid.stories.mdx
@@ -0,0 +1,73 @@
+
+
+### Modifying Grid Configuration
+The grid is 100% modifiable, all values can be found in the config object in `src/utils/grid`;
+
+```js
+/** Grid configuration */
+let GRID_CONFIG: GRID_CONFIG_TYPE = {
+ /** Grid Breakpoints */
+ breakpoints: {
+ xs: 0,
+ sm: 375,
+ md: 768,
+ lg: 1024,
+ xl: 1200,
+ },
+ /** Grid column count */
+ colCount: 12,
+ /** Common gutters used */
+ gutters: {
+ 0: 0,
+ 1: SPACER * 0.25,
+ 2: SPACER * 0.5,
+ 3: SPACER,
+ 4: SPACER * 1.5,
+ 5: SPACER * 3,
+ },
+ /** Container max widths */
+ containerMaxWidths: {
+ xs: '100%',
+ sm: '100%',
+ md: '100%',
+ lg: '100%',
+ xl: 1140,
+ },
+ /** Container paddings horizontal */
+ containerPaddingsHorizontal: {
+ xs: 18,
+ sm: 20,
+ md: 40,
+ lg: 48,
+ xl: 48,
+ },
+};
+```
+
+To modify grid configuration, add these lines somewhere in your app before rendering the grid, eg: in App.js or in wrapper components:
+```js
+import { setConfig } from 'react-native-flex-grid';
+
+setConfig({
+ breakpoints: {
+ xs: 0,
+ sm: 390,
+ md: 768,
+ lg: 1024,
+ xl: 1024,
+ },
+ colCount: 4,
+ gutters: {
+ 0: 0,
+ 1: 4,
+ 2: 8,
+ 3: 12,
+ 4: 16,
+ 5: 20,
+ },
+});
+```
+
+#### API
+- getConfig: returns config object
+- setConfig: modifies config object
diff --git a/src/utils/grid.ts b/src/utils/grid.ts
new file mode 100644
index 0000000..3efecf6
--- /dev/null
+++ b/src/utils/grid.ts
@@ -0,0 +1,90 @@
+import { Dimensions } from 'react-native';
+
+export declare type GridBreakpointType = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
+export declare interface GridBreakpointsType {
+ xs: number;
+ sm: number;
+ md: number;
+ lg: number;
+ xl: number;
+}
+
+export declare interface GRID_CONFIG_TYPE {
+ breakpoints: { [key in GridBreakpointType]: number };
+ colCount: number;
+ gutters: { [key: number]: number };
+ containerMaxWidths: { [key in GridBreakpointType]: number | string };
+ containerPaddingsHorizontal: { [key in GridBreakpointType]: number | string };
+}
+
+/** Base spacer -- equivalent to HTML font-size and rem */
+export const SPACER = 16;
+
+/** Grid configuration */
+let GRID_CONFIG: GRID_CONFIG_TYPE = {
+ /** Grid Breakpoints */
+ breakpoints: {
+ xs: 0,
+ sm: 375,
+ md: 768,
+ lg: 1024,
+ xl: 1200,
+ },
+ /** Grid column count */
+ colCount: 12,
+ /** Common gutters used */
+ gutters: {
+ 0: 0,
+ 1: SPACER * 0.25,
+ 2: SPACER * 0.5,
+ 3: SPACER,
+ 4: SPACER * 1.5,
+ 5: SPACER * 3,
+ },
+ /** Container max widths */
+ containerMaxWidths: {
+ xs: '100%',
+ sm: '100%',
+ md: '100%',
+ lg: '100%',
+ xl: 1140,
+ },
+ /** Container paddings horizontal */
+ containerPaddingsHorizontal: {
+ xs: 18,
+ sm: 20,
+ md: 40,
+ lg: 48,
+ xl: 48,
+ },
+};
+
+/** Get Grid configuration */
+export const getConfig = (): GRID_CONFIG_TYPE => GRID_CONFIG;
+/** Set Grid configuration - extends existing configuration */
+export const setConfig = (newConfig): GRID_CONFIG_TYPE => {
+ GRID_CONFIG = {
+ ...GRID_CONFIG,
+ ...newConfig,
+ };
+ return GRID_CONFIG;
+};
+
+/** Grid Breakpoints keys list */
+// @ts-ignore
+export const GRID_BREAKPOINTS_KEYS_LIST: GridBreakpointType[] = Object.keys(
+ GRID_CONFIG.breakpoints,
+).reverse();
+
+/** Get current Grid Breakpoint */
+export const getGridBreakpoint = (): GridBreakpointType => {
+ const SCREEN_WIDTH = Dimensions.get('window').width;
+ for (let i = 0; i < GRID_BREAKPOINTS_KEYS_LIST.length; i += 1) {
+ if (
+ SCREEN_WIDTH >= GRID_CONFIG.breakpoints[GRID_BREAKPOINTS_KEYS_LIST[i]]
+ ) {
+ return GRID_BREAKPOINTS_KEYS_LIST[i];
+ }
+ }
+ return GRID_BREAKPOINTS_KEYS_LIST[0];
+};
diff --git a/src/utils/index.ts b/src/utils/index.ts
index df34a59..d24d1bd 100644
--- a/src/utils/index.ts
+++ b/src/utils/index.ts
@@ -1 +1 @@
-export * from './responsive';
+export * from './grid';
diff --git a/src/utils/responsive.ts b/src/utils/responsive.ts
deleted file mode 100644
index 1bc9a98..0000000
--- a/src/utils/responsive.ts
+++ /dev/null
@@ -1,70 +0,0 @@
-import { Dimensions } from 'react-native';
-
-export declare type GridBreakpointType = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
-export declare interface GridBreakpointsType {
- xs: number;
- sm: number;
- md: number;
- lg: number;
- xl: number;
-}
-
-/** Grid Gutter */
-let GRID_GUTTER: number = 24;
-
-/** Grid column count */
-let GRID_COL_COUNT: number = 12;
-
-/** Grid Breakpoints object */
-let GRID_BREAKPOINTS: {
- [key in GridBreakpointType]: number;
-} = {
- xs: 0,
- sm: 0,
- md: 768,
- lg: 1024,
- xl: 1200,
-};
-
-/** Grid Breakpoints keys list */
-// @ts-ignore
-export const GRID_BREAKPOINTS_KEYS_LIST: GridBreakpointType[] =
- Object.keys(GRID_BREAKPOINTS).reverse();
-
-/** Set Grid Breakpoints */
-export const setGridBreakpoints = (breakpoints: GridBreakpointsType) => {
- GRID_BREAKPOINTS = breakpoints;
-};
-
-/** Get current Grid Breakpoint */
-export const getGridBreakpoint = (): GridBreakpointType => {
- const SCREEN_WIDTH = Dimensions.get('window').width;
- for (let i = 0; i < GRID_BREAKPOINTS_KEYS_LIST.length; i++) {
- if (SCREEN_WIDTH >= GRID_BREAKPOINTS[GRID_BREAKPOINTS_KEYS_LIST[i]]) {
- return GRID_BREAKPOINTS_KEYS_LIST[i];
- }
- }
- return 'xs';
-};
-
-export const getGridColCount = () => GRID_COL_COUNT;
-export const setGridColCount = (gridColCount) => {
- GRID_COL_COUNT = gridColCount;
- return GRID_COL_COUNT;
-};
-
-export const getGridGutter = (gridGutter) => {
- GRID_GUTTER = gridGutter;
- return GRID_GUTTER;
-};
-export const setGridGutter = () => GRID_GUTTER;
-
-const SPACER = 16;
-export const GUTTERS = {
- 0: 0,
- 1: SPACER * 0.25,
- 2: SPACER * 0.5,
- 3: SPACER,
- 4: SPACER * 1.5,
- 5: SPACER * 3,
-};
diff --git a/yarn.lock b/yarn.lock
index d451a4d..2ca6910 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,6 +2,11 @@
# yarn lockfile v1
+"@adobe/css-tools@^4.0.1":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.0.1.tgz#b38b444ad3aa5fedbb15f2f746dcd934226a12dd"
+ integrity sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==
+
"@ampproject/remapping@^2.1.0":
version "2.1.2"
resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34"
@@ -88,6 +93,27 @@
semver "^6.3.0"
source-map "^0.5.0"
+"@babel/core@^7.11.6", "@babel/core@^7.18.5":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.7.tgz#37072f951bd4d28315445f66e0ec9f6ae0c8c35f"
+ integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==
+ dependencies:
+ "@ampproject/remapping" "^2.1.0"
+ "@babel/code-frame" "^7.18.6"
+ "@babel/generator" "^7.20.7"
+ "@babel/helper-compilation-targets" "^7.20.7"
+ "@babel/helper-module-transforms" "^7.20.7"
+ "@babel/helpers" "^7.20.7"
+ "@babel/parser" "^7.20.7"
+ "@babel/template" "^7.20.7"
+ "@babel/traverse" "^7.20.7"
+ "@babel/types" "^7.20.7"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.2.1"
+ semver "^6.3.0"
+
"@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.19.3":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.2.tgz#8dc9b1620a673f92d3624bd926dc49a52cf25b92"
@@ -109,27 +135,6 @@
json5 "^2.2.1"
semver "^6.3.0"
-"@babel/core@^7.18.5":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.7.tgz#37072f951bd4d28315445f66e0ec9f6ae0c8c35f"
- integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==
- dependencies:
- "@ampproject/remapping" "^2.1.0"
- "@babel/code-frame" "^7.18.6"
- "@babel/generator" "^7.20.7"
- "@babel/helper-compilation-targets" "^7.20.7"
- "@babel/helper-module-transforms" "^7.20.7"
- "@babel/helpers" "^7.20.7"
- "@babel/parser" "^7.20.7"
- "@babel/template" "^7.20.7"
- "@babel/traverse" "^7.20.7"
- "@babel/types" "^7.20.7"
- convert-source-map "^1.7.0"
- debug "^4.1.0"
- gensync "^1.0.0-beta.2"
- json5 "^2.2.1"
- semver "^6.3.0"
-
"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.16.5":
version "7.16.5"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.5.tgz#26e1192eb8f78e0a3acaf3eede3c6fc96d22bedf"
@@ -148,7 +153,7 @@
"@jridgewell/gen-mapping" "^0.3.2"
jsesc "^2.5.1"
-"@babel/generator@^7.20.7":
+"@babel/generator@^7.20.7", "@babel/generator@^7.7.2":
version "7.20.7"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a"
integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==
@@ -676,6 +681,11 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
+"@babel/parser@^7.1.0", "@babel/parser@^7.20.7":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b"
+ integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==
+
"@babel/parser@^7.12.11", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.5":
version "7.16.5"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.5.tgz#beb3af702e54d24796341ab9420fb329131ad658"
@@ -686,11 +696,6 @@
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.3.tgz#5358cf62e380cf69efcb87a7bb922ff88bfac6e2"
integrity sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==
-"@babel/parser@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b"
- integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==
-
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2":
version "7.16.2"
resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz#2977fca9b212db153c195674e57cfab807733183"
@@ -1053,7 +1058,14 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-class-properties@^7.0.0", "@babel/plugin-syntax-class-properties@^7.12.13":
+"@babel/plugin-syntax-bigint@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea"
+ integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-class-properties@^7.0.0", "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
@@ -1116,6 +1128,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.19.0"
+"@babel/plugin-syntax-import-meta@^7.8.3":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
+ integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
"@babel/plugin-syntax-json-strings@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
@@ -1137,14 +1156,14 @@
dependencies:
"@babel/helper-plugin-utils" "^7.16.5"
-"@babel/plugin-syntax-jsx@^7.18.6":
+"@babel/plugin-syntax-jsx@^7.18.6", "@babel/plugin-syntax-jsx@^7.7.2":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0"
integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==
dependencies:
"@babel/helper-plugin-utils" "^7.18.6"
-"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
+"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
@@ -1158,7 +1177,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-numeric-separator@^7.10.4":
+"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
@@ -1193,7 +1212,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-syntax-top-level-await@^7.14.5":
+"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
@@ -1207,7 +1226,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.16.5"
-"@babel/plugin-syntax-typescript@^7.20.0":
+"@babel/plugin-syntax-typescript@^7.20.0", "@babel/plugin-syntax-typescript@^7.7.2":
version "7.20.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7"
integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==
@@ -2141,7 +2160,7 @@
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.11.2", "@babel/runtime@^7.3.1":
+"@babel/runtime@^7.11.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.9.2":
version "7.20.7"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd"
integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==
@@ -2180,7 +2199,7 @@
"@babel/parser" "^7.18.10"
"@babel/types" "^7.18.10"
-"@babel/template@^7.20.7":
+"@babel/template@^7.20.7", "@babel/template@^7.3.3":
version "7.20.7"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8"
integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==
@@ -2221,7 +2240,7 @@
debug "^4.1.0"
globals "^11.1.0"
-"@babel/traverse@^7.20.10", "@babel/traverse@^7.20.7":
+"@babel/traverse@^7.20.10", "@babel/traverse@^7.20.7", "@babel/traverse@^7.7.2":
version "7.20.10"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.10.tgz#2bf98239597fcec12f842756f186a9dde6d09230"
integrity sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==
@@ -2254,7 +2273,7 @@
"@babel/helper-validator-identifier" "^7.19.1"
to-fast-properties "^2.0.0"
-"@babel/types@^7.20.7":
+"@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
version "7.20.7"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f"
integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==
@@ -2781,6 +2800,52 @@
resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
+"@jest/console@^29.3.1":
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.3.1.tgz#3e3f876e4e47616ea3b1464b9fbda981872e9583"
+ integrity sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==
+ dependencies:
+ "@jest/types" "^29.3.1"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ jest-message-util "^29.3.1"
+ jest-util "^29.3.1"
+ slash "^3.0.0"
+
+"@jest/core@^29.3.1":
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.3.1.tgz#bff00f413ff0128f4debec1099ba7dcd649774a1"
+ integrity sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==
+ dependencies:
+ "@jest/console" "^29.3.1"
+ "@jest/reporters" "^29.3.1"
+ "@jest/test-result" "^29.3.1"
+ "@jest/transform" "^29.3.1"
+ "@jest/types" "^29.3.1"
+ "@types/node" "*"
+ ansi-escapes "^4.2.1"
+ chalk "^4.0.0"
+ ci-info "^3.2.0"
+ exit "^0.1.2"
+ graceful-fs "^4.2.9"
+ jest-changed-files "^29.2.0"
+ jest-config "^29.3.1"
+ jest-haste-map "^29.3.1"
+ jest-message-util "^29.3.1"
+ jest-regex-util "^29.2.0"
+ jest-resolve "^29.3.1"
+ jest-resolve-dependencies "^29.3.1"
+ jest-runner "^29.3.1"
+ jest-runtime "^29.3.1"
+ jest-snapshot "^29.3.1"
+ jest-util "^29.3.1"
+ jest-validate "^29.3.1"
+ jest-watcher "^29.3.1"
+ micromatch "^4.0.4"
+ pretty-format "^29.3.1"
+ slash "^3.0.0"
+ strip-ansi "^6.0.0"
+
"@jest/create-cache-key-function@^29.0.3":
version "29.3.1"
resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.3.1.tgz#3a0970ea595ab3d9507244edbcef14d6b016cdc9"
@@ -2788,6 +2853,16 @@
dependencies:
"@jest/types" "^29.3.1"
+"@jest/environment@^29.3.1":
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.3.1.tgz#eb039f726d5fcd14698acd072ac6576d41cfcaa6"
+ integrity sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==
+ dependencies:
+ "@jest/fake-timers" "^29.3.1"
+ "@jest/types" "^29.3.1"
+ "@types/node" "*"
+ jest-mock "^29.3.1"
+
"@jest/expect-utils@^29.3.1":
version "29.3.1"
resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.3.1.tgz#531f737039e9b9e27c42449798acb5bba01935b6"
@@ -2795,6 +2870,66 @@
dependencies:
jest-get-type "^29.2.0"
+"@jest/expect@^29.3.1":
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.3.1.tgz#456385b62894349c1d196f2d183e3716d4c6a6cd"
+ integrity sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==
+ dependencies:
+ expect "^29.3.1"
+ jest-snapshot "^29.3.1"
+
+"@jest/fake-timers@^29.3.1":
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.3.1.tgz#b140625095b60a44de820876d4c14da1aa963f67"
+ integrity sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==
+ dependencies:
+ "@jest/types" "^29.3.1"
+ "@sinonjs/fake-timers" "^9.1.2"
+ "@types/node" "*"
+ jest-message-util "^29.3.1"
+ jest-mock "^29.3.1"
+ jest-util "^29.3.1"
+
+"@jest/globals@^29.3.1":
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.3.1.tgz#92be078228e82d629df40c3656d45328f134a0c6"
+ integrity sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==
+ dependencies:
+ "@jest/environment" "^29.3.1"
+ "@jest/expect" "^29.3.1"
+ "@jest/types" "^29.3.1"
+ jest-mock "^29.3.1"
+
+"@jest/reporters@^29.3.1":
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.3.1.tgz#9a6d78c109608e677c25ddb34f907b90e07b4310"
+ integrity sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==
+ dependencies:
+ "@bcoe/v8-coverage" "^0.2.3"
+ "@jest/console" "^29.3.1"
+ "@jest/test-result" "^29.3.1"
+ "@jest/transform" "^29.3.1"
+ "@jest/types" "^29.3.1"
+ "@jridgewell/trace-mapping" "^0.3.15"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ collect-v8-coverage "^1.0.0"
+ exit "^0.1.2"
+ glob "^7.1.3"
+ graceful-fs "^4.2.9"
+ istanbul-lib-coverage "^3.0.0"
+ istanbul-lib-instrument "^5.1.0"
+ istanbul-lib-report "^3.0.0"
+ istanbul-lib-source-maps "^4.0.0"
+ istanbul-reports "^3.1.3"
+ jest-message-util "^29.3.1"
+ jest-util "^29.3.1"
+ jest-worker "^29.3.1"
+ slash "^3.0.0"
+ string-length "^4.0.1"
+ strip-ansi "^6.0.0"
+ v8-to-istanbul "^9.0.1"
+
"@jest/schemas@^29.0.0":
version "29.0.0"
resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a"
@@ -2802,6 +2937,35 @@
dependencies:
"@sinclair/typebox" "^0.24.1"
+"@jest/source-map@^29.2.0":
+ version "29.2.0"
+ resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.2.0.tgz#ab3420c46d42508dcc3dc1c6deee0b613c235744"
+ integrity sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==
+ dependencies:
+ "@jridgewell/trace-mapping" "^0.3.15"
+ callsites "^3.0.0"
+ graceful-fs "^4.2.9"
+
+"@jest/test-result@^29.3.1":
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.3.1.tgz#92cd5099aa94be947560a24610aa76606de78f50"
+ integrity sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==
+ dependencies:
+ "@jest/console" "^29.3.1"
+ "@jest/types" "^29.3.1"
+ "@types/istanbul-lib-coverage" "^2.0.0"
+ collect-v8-coverage "^1.0.0"
+
+"@jest/test-sequencer@^29.3.1":
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz#fa24b3b050f7a59d48f7ef9e0b782ab65123090d"
+ integrity sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==
+ dependencies:
+ "@jest/test-result" "^29.3.1"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^29.3.1"
+ slash "^3.0.0"
+
"@jest/transform@^26.6.2":
version "26.6.2"
resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b"
@@ -2823,6 +2987,27 @@
source-map "^0.6.1"
write-file-atomic "^3.0.0"
+"@jest/transform@^29.3.1":
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.3.1.tgz#1e6bd3da4af50b5c82a539b7b1f3770568d6e36d"
+ integrity sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==
+ dependencies:
+ "@babel/core" "^7.11.6"
+ "@jest/types" "^29.3.1"
+ "@jridgewell/trace-mapping" "^0.3.15"
+ babel-plugin-istanbul "^6.1.1"
+ chalk "^4.0.0"
+ convert-source-map "^2.0.0"
+ fast-json-stable-stringify "^2.1.0"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^29.3.1"
+ jest-regex-util "^29.2.0"
+ jest-util "^29.3.1"
+ micromatch "^4.0.4"
+ pirates "^4.0.4"
+ slash "^3.0.0"
+ write-file-atomic "^4.0.1"
+
"@jest/types@^26.6.2":
version "26.6.2"
resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e"
@@ -2907,7 +3092,7 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
-"@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9":
+"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9":
version "0.3.17"
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985"
integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==
@@ -3274,6 +3459,20 @@
resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f"
integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==
+"@sinonjs/commons@^1.7.0":
+ version "1.8.6"
+ resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9"
+ integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==
+ dependencies:
+ type-detect "4.0.8"
+
+"@sinonjs/fake-timers@^9.1.2":
+ version "9.1.2"
+ resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c"
+ integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==
+ dependencies:
+ "@sinonjs/commons" "^1.7.0"
+
"@storybook/addon-actions@6.5.15", "@storybook/addon-actions@^6.5.15":
version "6.5.15"
resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-6.5.15.tgz#ba737561dbf8a358ea8bc588f3da9fddd1a4267e"
@@ -4573,7 +4772,7 @@
regenerator-runtime "^0.13.7"
resolve-from "^5.0.0"
-"@testing-library/dom@^8.3.0":
+"@testing-library/dom@^8.0.0", "@testing-library/dom@^8.3.0":
version "8.19.1"
resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.19.1.tgz#0e2dafd281dedb930bb235eac1045470b4129d0e"
integrity sha512-P6iIPyYQ+qH8CvGauAqanhVnjrnRe0IZFSYCeGkSRW9q3u8bdVn2NPI+lasFyVsEQn1J/IFmp5Aax41+dAP9wg==
@@ -4587,7 +4786,42 @@
lz-string "^1.4.4"
pretty-format "^27.0.2"
-"@testing-library/user-event@^13.2.1":
+"@testing-library/jest-dom@^5.12.0":
+ version "5.16.5"
+ resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz#3912846af19a29b2dbf32a6ae9c31ef52580074e"
+ integrity sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==
+ dependencies:
+ "@adobe/css-tools" "^4.0.1"
+ "@babel/runtime" "^7.9.2"
+ "@types/testing-library__jest-dom" "^5.9.1"
+ aria-query "^5.0.0"
+ chalk "^3.0.0"
+ css.escape "^1.5.1"
+ dom-accessibility-api "^0.5.6"
+ lodash "^4.17.15"
+ redent "^3.0.0"
+
+"@testing-library/react-hooks@^7.0.2":
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/@testing-library/react-hooks/-/react-hooks-7.0.2.tgz#3388d07f562d91e7f2431a4a21b5186062ecfee0"
+ integrity sha512-dYxpz8u9m4q1TuzfcUApqi8iFfR6R0FaMbr2hjZJy1uC8z+bO/K4v8Gs9eogGKYQop7QsrBTFkv/BCF7MzD2Cg==
+ dependencies:
+ "@babel/runtime" "^7.12.5"
+ "@types/react" ">=16.9.0"
+ "@types/react-dom" ">=16.9.0"
+ "@types/react-test-renderer" ">=16.9.0"
+ react-error-boundary "^3.1.0"
+
+"@testing-library/react@^12.1.2":
+ version "12.1.5"
+ resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-12.1.5.tgz#bb248f72f02a5ac9d949dea07279095fa577963b"
+ integrity sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==
+ dependencies:
+ "@babel/runtime" "^7.12.5"
+ "@testing-library/dom" "^8.0.0"
+ "@types/react-dom" "<18.0.0"
+
+"@testing-library/user-event@^13.2.1", "@testing-library/user-event@^13.5.0":
version "13.5.0"
resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-13.5.0.tgz#69d77007f1e124d55314a2b73fd204b333b13295"
integrity sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==
@@ -4606,6 +4840,39 @@
resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.1.tgz#3286741fb8f1e1580ac28784add4c7a1d49bdfbc"
integrity sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==
+"@types/babel__core@^7.1.14":
+ version "7.1.20"
+ resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359"
+ integrity sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==
+ dependencies:
+ "@babel/parser" "^7.1.0"
+ "@babel/types" "^7.0.0"
+ "@types/babel__generator" "*"
+ "@types/babel__template" "*"
+ "@types/babel__traverse" "*"
+
+"@types/babel__generator@*":
+ version "7.6.4"
+ resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7"
+ integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==
+ dependencies:
+ "@babel/types" "^7.0.0"
+
+"@types/babel__template@*":
+ version "7.4.1"
+ resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969"
+ integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==
+ dependencies:
+ "@babel/parser" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
+"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6":
+ version "7.18.3"
+ resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d"
+ integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==
+ dependencies:
+ "@babel/types" "^7.3.0"
+
"@types/eslint-scope@^3.7.3":
version "3.7.4"
resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16"
@@ -4640,7 +4907,7 @@
"@types/minimatch" "*"
"@types/node" "*"
-"@types/graceful-fs@^4.1.2":
+"@types/graceful-fs@^4.1.2", "@types/graceful-fs@^4.1.3":
version "4.1.5"
resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15"
integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==
@@ -4688,7 +4955,7 @@
dependencies:
"@types/istanbul-lib-report" "*"
-"@types/jest@^29.2.4":
+"@types/jest@*", "@types/jest@^29.2.4":
version "29.2.4"
resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.2.4.tgz#9c155c4b81c9570dbd183eb8604aa0ae80ba5a5b"
integrity sha512-PipFB04k2qTRPePduVLTRiPzQfvMeLwUN3Z21hsAKaB/W9IIzgB2pizCL466ftJlcyZqnHoC9ZHpxLGl3fS86A==
@@ -4761,6 +5028,11 @@
resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109"
integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==
+"@types/prettier@^2.1.5":
+ version "2.7.2"
+ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0"
+ integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==
+
"@types/pretty-hrtime@^1.0.0":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@types/pretty-hrtime/-/pretty-hrtime-1.0.1.tgz#72a26101dc567b0d68fd956cf42314556e42d601"
@@ -4776,6 +5048,20 @@
resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb"
integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==
+"@types/react-dom@<18.0.0":
+ version "17.0.18"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.18.tgz#8f7af38f5d9b42f79162eea7492e5a1caff70dc2"
+ integrity sha512-rLVtIfbwyur2iFKykP2w0pl/1unw26b5td16d5xMgp7/yjTHomkyxPYChFoCr/FtEX1lN9wY6lFj1qvKdS5kDw==
+ dependencies:
+ "@types/react" "^17"
+
+"@types/react-dom@>=16.9.0":
+ version "18.0.10"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.10.tgz#3b66dec56aa0f16a6cc26da9e9ca96c35c0b4352"
+ integrity sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==
+ dependencies:
+ "@types/react" "*"
+
"@types/react-native@~0.70.6":
version "0.70.8"
resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.70.8.tgz#3302a0f7eddcd3350448ca17a9e415d02b1efde6"
@@ -4783,7 +5069,14 @@
dependencies:
"@types/react" "*"
-"@types/react@*":
+"@types/react-test-renderer@>=16.9.0":
+ version "18.0.0"
+ resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-18.0.0.tgz#7b7f69ca98821ea5501b21ba24ea7b6139da2243"
+ integrity sha512-C7/5FBJ3g3sqUahguGi03O79b8afNeSD6T8/GU50oQrJCU0bVCCGQHaGKUbg2Ce8VQEEqTw8/HiS6lXHHdgkdQ==
+ dependencies:
+ "@types/react" "*"
+
+"@types/react@*", "@types/react@>=16.9.0":
version "18.0.26"
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.26.tgz#8ad59fc01fef8eaf5c74f4ea392621749f0b7917"
integrity sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==
@@ -4801,6 +5094,15 @@
"@types/scheduler" "*"
csstype "^3.0.2"
+"@types/react@^17":
+ version "17.0.52"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.52.tgz#10d8b907b5c563ac014a541f289ae8eaa9bf2e9b"
+ integrity sha512-vwk8QqVODi0VaZZpDXQCmEmiOuyjEFPY7Ttaw5vjM112LOq37yz1CDJGrRJwA1fYEq4Iitd5rnjd1yWAc/bT+A==
+ dependencies:
+ "@types/prop-types" "*"
+ "@types/scheduler" "*"
+ csstype "^3.0.2"
+
"@types/scheduler@*":
version "0.16.2"
resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
@@ -4821,6 +5123,13 @@
resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310"
integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==
+"@types/testing-library__jest-dom@^5.9.1":
+ version "5.14.5"
+ resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz#d113709c90b3c75fdb127ec338dad7d5f86c974f"
+ integrity sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==
+ dependencies:
+ "@types/jest" "*"
+
"@types/trusted-types@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756"
@@ -5671,6 +5980,19 @@ babel-core@^7.0.0-bridge.0:
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==
+babel-jest@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.3.1.tgz#05c83e0d128cd48c453eea851482a38782249f44"
+ integrity sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==
+ dependencies:
+ "@jest/transform" "^29.3.1"
+ "@types/babel__core" "^7.1.14"
+ babel-plugin-istanbul "^6.1.1"
+ babel-preset-jest "^29.2.0"
+ chalk "^4.0.0"
+ graceful-fs "^4.2.9"
+ slash "^3.0.0"
+
babel-loader@^8.0.0:
version "8.2.4"
resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.4.tgz#95f5023c791b2e9e2ca6f67b0984f39c82ff384b"
@@ -5734,7 +6056,7 @@ babel-plugin-extract-import-names@1.6.22:
dependencies:
"@babel/helper-plugin-utils" "7.10.4"
-babel-plugin-istanbul@^6.0.0:
+babel-plugin-istanbul@^6.0.0, babel-plugin-istanbul@^6.1.1:
version "6.1.1"
resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73"
integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==
@@ -5745,6 +6067,16 @@ babel-plugin-istanbul@^6.0.0:
istanbul-lib-instrument "^5.0.4"
test-exclude "^6.0.0"
+babel-plugin-jest-hoist@^29.2.0:
+ version "29.2.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz#23ee99c37390a98cfddf3ef4a78674180d823094"
+ integrity sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==
+ dependencies:
+ "@babel/template" "^7.3.3"
+ "@babel/types" "^7.3.3"
+ "@types/babel__core" "^7.1.14"
+ "@types/babel__traverse" "^7.0.6"
+
babel-plugin-macros@^2.0.0:
version "2.8.0"
resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138"
@@ -5859,6 +6191,24 @@ babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0:
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz#aa213c1435e2bffeb6fca842287ef534ad05d5cf"
integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==
+babel-preset-current-node-syntax@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b"
+ integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==
+ dependencies:
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+ "@babel/plugin-syntax-bigint" "^7.8.3"
+ "@babel/plugin-syntax-class-properties" "^7.8.3"
+ "@babel/plugin-syntax-import-meta" "^7.8.3"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+ "@babel/plugin-syntax-numeric-separator" "^7.8.3"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+ "@babel/plugin-syntax-top-level-await" "^7.8.3"
+
babel-preset-expo@~9.2.2:
version "9.2.2"
resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-9.2.2.tgz#3f3819a224bbc32cefebb5d97a40c950a2f7ae2e"
@@ -5905,6 +6255,14 @@ babel-preset-fbjs@^3.4.0:
"@babel/plugin-transform-template-literals" "^7.0.0"
babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0"
+babel-preset-jest@^29.2.0:
+ version "29.2.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz#3048bea3a1af222e3505e4a767a974c95a7620dc"
+ integrity sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==
+ dependencies:
+ babel-plugin-jest-hoist "^29.2.0"
+ babel-preset-current-node-syntax "^1.0.0"
+
bail@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776"
@@ -6201,6 +6559,13 @@ browserslist@^4.14.5, browserslist@^4.20.4, browserslist@^4.21.3, browserslist@^
node-releases "^2.0.6"
update-browserslist-db "^1.0.9"
+bs-logger@0.x:
+ version "0.2.6"
+ resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8"
+ integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==
+ dependencies:
+ fast-json-stable-stringify "2.x"
+
bser@2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
@@ -6470,6 +6835,14 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
+chalk@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
+ integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
@@ -6478,6 +6851,11 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
+char-regex@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
+ integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
+
character-entities-legacy@^1.0.0:
version "1.1.4"
resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1"
@@ -6580,6 +6958,11 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
inherits "^2.0.1"
safe-buffer "^5.0.1"
+cjs-module-lexer@^1.0.0:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40"
+ integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==
+
class-utils@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
@@ -6703,11 +7086,21 @@ clsx@^1.0.4:
resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12"
integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
+co@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+ integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==
+
collapse-white-space@^1.0.2:
version "1.0.6"
resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287"
integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==
+collect-v8-coverage@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59"
+ integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==
+
collection-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
@@ -6911,6 +7304,11 @@ convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0,
dependencies:
safe-buffer "~5.1.1"
+convert-source-map@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
+ integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
+
cookie-signature@1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
@@ -7207,6 +7605,11 @@ css-what@^5.0.0:
resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe"
integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==
+css.escape@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb"
+ integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==
+
cssesc@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
@@ -7470,6 +7873,11 @@ detab@2.0.4:
dependencies:
repeat-string "^1.5.4"
+detect-newline@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
+ integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
+
detect-package-manager@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/detect-package-manager/-/detect-package-manager-2.0.1.tgz#6b182e3ae5e1826752bfef1de9a7b828cffa50d8"
@@ -7520,7 +7928,7 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
-dom-accessibility-api@^0.5.9:
+dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9:
version "0.5.14"
resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz#56082f71b1dc7aac69d83c4285eef39c15d93f56"
integrity sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==
@@ -7646,6 +8054,11 @@ elliptic@^6.5.3:
minimalistic-assert "^1.0.1"
minimalistic-crypto-utils "^1.0.1"
+emittery@^0.13.1:
+ version "0.13.1"
+ resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad"
+ integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==
+
emoji-regex@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
@@ -7966,7 +8379,7 @@ execa@^4.0.3:
signal-exit "^3.0.2"
strip-final-newline "^2.0.0"
-execa@^5.1.1:
+execa@^5.0.0, execa@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
@@ -7981,6 +8394,11 @@ execa@^5.1.1:
signal-exit "^3.0.3"
strip-final-newline "^2.0.0"
+exit@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
+ integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==
+
expand-brackets@^2.1.4:
version "2.1.4"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
@@ -7994,7 +8412,7 @@ expand-brackets@^2.1.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
-expect@^29.0.0:
+expect@^29.0.0, expect@^29.3.1:
version "29.3.1"
resolved "https://registry.yarnpkg.com/expect/-/expect-29.3.1.tgz#92877aad3f7deefc2e3f6430dd195b92295554a6"
integrity sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==
@@ -8228,7 +8646,7 @@ fast-json-parse@^1.0.3:
resolved "https://registry.yarnpkg.com/fast-json-parse/-/fast-json-parse-1.0.3.tgz#43e5c61ee4efa9265633046b770fb682a7577c4d"
integrity sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==
-fast-json-stable-stringify@^2.0.0:
+fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
@@ -8662,7 +9080,7 @@ fsevents@^1.2.7:
bindings "^1.5.0"
nan "^2.12.1"
-fsevents@^2.1.2, fsevents@~2.3.2:
+fsevents@^2.1.2, fsevents@^2.3.2, fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
@@ -9420,6 +9838,14 @@ import-fresh@^3.1.0, import-fresh@^3.2.1:
parent-module "^1.0.0"
resolve-from "^4.0.0"
+import-local@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4"
+ integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==
+ dependencies:
+ pkg-dir "^4.2.0"
+ resolve-cwd "^3.0.0"
+
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
@@ -9647,6 +10073,13 @@ is-core-module@^2.2.0:
dependencies:
has "^1.0.3"
+is-core-module@^2.9.0:
+ version "2.11.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
+ integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
+ dependencies:
+ has "^1.0.3"
+
is-data-descriptor@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
@@ -9751,6 +10184,11 @@ is-function@^1.0.2:
resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08"
integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==
+is-generator-fn@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
+ integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==
+
is-generator-function@^1.0.7:
version "1.0.10"
resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72"
@@ -10091,6 +10529,17 @@ istanbul-lib-instrument@^5.0.4:
istanbul-lib-coverage "^3.2.0"
semver "^6.3.0"
+istanbul-lib-instrument@^5.1.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d"
+ integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==
+ dependencies:
+ "@babel/core" "^7.12.3"
+ "@babel/parser" "^7.14.7"
+ "@istanbuljs/schema" "^0.1.2"
+ istanbul-lib-coverage "^3.2.0"
+ semver "^6.3.0"
+
istanbul-lib-report@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6"
@@ -10100,6 +10549,15 @@ istanbul-lib-report@^3.0.0:
make-dir "^3.0.0"
supports-color "^7.1.0"
+istanbul-lib-source-maps@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551"
+ integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==
+ dependencies:
+ debug "^4.1.1"
+ istanbul-lib-coverage "^3.0.0"
+ source-map "^0.6.1"
+
istanbul-reports@^3.0.2:
version "3.1.1"
resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.1.tgz#7085857f17d2441053c6ce5c3b8fdf6882289397"
@@ -10108,6 +10566,14 @@ istanbul-reports@^3.0.2:
html-escaper "^2.0.0"
istanbul-lib-report "^3.0.0"
+istanbul-reports@^3.1.3:
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae"
+ integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==
+ dependencies:
+ html-escaper "^2.0.0"
+ istanbul-lib-report "^3.0.0"
+
iterate-iterator@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/iterate-iterator/-/iterate-iterator-1.0.2.tgz#551b804c9eaa15b847ea6a7cdc2f5bf1ec150f91"
@@ -10126,6 +10592,85 @@ iterate-value@^1.0.2:
es-get-iterator "^1.0.2"
iterate-iterator "^1.0.1"
+jest-changed-files@^29.2.0:
+ version "29.2.0"
+ resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.2.0.tgz#b6598daa9803ea6a4dce7968e20ab380ddbee289"
+ integrity sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==
+ dependencies:
+ execa "^5.0.0"
+ p-limit "^3.1.0"
+
+jest-circus@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.3.1.tgz#177d07c5c0beae8ef2937a67de68f1e17bbf1b4a"
+ integrity sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==
+ dependencies:
+ "@jest/environment" "^29.3.1"
+ "@jest/expect" "^29.3.1"
+ "@jest/test-result" "^29.3.1"
+ "@jest/types" "^29.3.1"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ co "^4.6.0"
+ dedent "^0.7.0"
+ is-generator-fn "^2.0.0"
+ jest-each "^29.3.1"
+ jest-matcher-utils "^29.3.1"
+ jest-message-util "^29.3.1"
+ jest-runtime "^29.3.1"
+ jest-snapshot "^29.3.1"
+ jest-util "^29.3.1"
+ p-limit "^3.1.0"
+ pretty-format "^29.3.1"
+ slash "^3.0.0"
+ stack-utils "^2.0.3"
+
+jest-cli@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.3.1.tgz#e89dff427db3b1df50cea9a393ebd8640790416d"
+ integrity sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==
+ dependencies:
+ "@jest/core" "^29.3.1"
+ "@jest/test-result" "^29.3.1"
+ "@jest/types" "^29.3.1"
+ chalk "^4.0.0"
+ exit "^0.1.2"
+ graceful-fs "^4.2.9"
+ import-local "^3.0.2"
+ jest-config "^29.3.1"
+ jest-util "^29.3.1"
+ jest-validate "^29.3.1"
+ prompts "^2.0.1"
+ yargs "^17.3.1"
+
+jest-config@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.3.1.tgz#0bc3dcb0959ff8662957f1259947aedaefb7f3c6"
+ integrity sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==
+ dependencies:
+ "@babel/core" "^7.11.6"
+ "@jest/test-sequencer" "^29.3.1"
+ "@jest/types" "^29.3.1"
+ babel-jest "^29.3.1"
+ chalk "^4.0.0"
+ ci-info "^3.2.0"
+ deepmerge "^4.2.2"
+ glob "^7.1.3"
+ graceful-fs "^4.2.9"
+ jest-circus "^29.3.1"
+ jest-environment-node "^29.3.1"
+ jest-get-type "^29.2.0"
+ jest-regex-util "^29.2.0"
+ jest-resolve "^29.3.1"
+ jest-runner "^29.3.1"
+ jest-util "^29.3.1"
+ jest-validate "^29.3.1"
+ micromatch "^4.0.4"
+ parse-json "^5.2.0"
+ pretty-format "^29.3.1"
+ slash "^3.0.0"
+ strip-json-comments "^3.1.1"
+
jest-diff@^29.3.1:
version "29.3.1"
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.3.1.tgz#d8215b72fed8f1e647aed2cae6c752a89e757527"
@@ -10136,6 +10681,36 @@ jest-diff@^29.3.1:
jest-get-type "^29.2.0"
pretty-format "^29.3.1"
+jest-docblock@^29.2.0:
+ version "29.2.0"
+ resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.2.0.tgz#307203e20b637d97cee04809efc1d43afc641e82"
+ integrity sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==
+ dependencies:
+ detect-newline "^3.0.0"
+
+jest-each@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.3.1.tgz#bc375c8734f1bb96625d83d1ca03ef508379e132"
+ integrity sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==
+ dependencies:
+ "@jest/types" "^29.3.1"
+ chalk "^4.0.0"
+ jest-get-type "^29.2.0"
+ jest-util "^29.3.1"
+ pretty-format "^29.3.1"
+
+jest-environment-node@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.3.1.tgz#5023b32472b3fba91db5c799a0d5624ad4803e74"
+ integrity sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==
+ dependencies:
+ "@jest/environment" "^29.3.1"
+ "@jest/fake-timers" "^29.3.1"
+ "@jest/types" "^29.3.1"
+ "@types/node" "*"
+ jest-mock "^29.3.1"
+ jest-util "^29.3.1"
+
jest-get-type@^26.3.0:
version "26.3.0"
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0"
@@ -10167,6 +10742,33 @@ jest-haste-map@^26.6.2:
optionalDependencies:
fsevents "^2.1.2"
+jest-haste-map@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.3.1.tgz#af83b4347f1dae5ee8c2fb57368dc0bb3e5af843"
+ integrity sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==
+ dependencies:
+ "@jest/types" "^29.3.1"
+ "@types/graceful-fs" "^4.1.3"
+ "@types/node" "*"
+ anymatch "^3.0.3"
+ fb-watchman "^2.0.0"
+ graceful-fs "^4.2.9"
+ jest-regex-util "^29.2.0"
+ jest-util "^29.3.1"
+ jest-worker "^29.3.1"
+ micromatch "^4.0.4"
+ walker "^1.0.8"
+ optionalDependencies:
+ fsevents "^2.3.2"
+
+jest-leak-detector@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz#95336d020170671db0ee166b75cd8ef647265518"
+ integrity sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==
+ dependencies:
+ jest-get-type "^29.2.0"
+ pretty-format "^29.3.1"
+
jest-matcher-utils@^29.3.1:
version "29.3.1"
resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz#6e7f53512f80e817dfa148672bd2d5d04914a572"
@@ -10200,6 +10802,20 @@ jest-mock@^27.0.6:
"@jest/types" "^27.5.1"
"@types/node" "*"
+jest-mock@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.3.1.tgz#60287d92e5010979d01f218c6b215b688e0f313e"
+ integrity sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==
+ dependencies:
+ "@jest/types" "^29.3.1"
+ "@types/node" "*"
+ jest-util "^29.3.1"
+
+jest-pnp-resolver@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e"
+ integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==
+
jest-regex-util@^26.0.0:
version "26.0.0"
resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28"
@@ -10210,6 +10826,89 @@ jest-regex-util@^27.0.6:
resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95"
integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==
+jest-regex-util@^29.2.0:
+ version "29.2.0"
+ resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.2.0.tgz#82ef3b587e8c303357728d0322d48bbfd2971f7b"
+ integrity sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==
+
+jest-resolve-dependencies@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz#a6a329708a128e68d67c49f38678a4a4a914c3bf"
+ integrity sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==
+ dependencies:
+ jest-regex-util "^29.2.0"
+ jest-snapshot "^29.3.1"
+
+jest-resolve@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.3.1.tgz#9a4b6b65387a3141e4a40815535c7f196f1a68a7"
+ integrity sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==
+ dependencies:
+ chalk "^4.0.0"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^29.3.1"
+ jest-pnp-resolver "^1.2.2"
+ jest-util "^29.3.1"
+ jest-validate "^29.3.1"
+ resolve "^1.20.0"
+ resolve.exports "^1.1.0"
+ slash "^3.0.0"
+
+jest-runner@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.3.1.tgz#a92a879a47dd096fea46bb1517b0a99418ee9e2d"
+ integrity sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==
+ dependencies:
+ "@jest/console" "^29.3.1"
+ "@jest/environment" "^29.3.1"
+ "@jest/test-result" "^29.3.1"
+ "@jest/transform" "^29.3.1"
+ "@jest/types" "^29.3.1"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ emittery "^0.13.1"
+ graceful-fs "^4.2.9"
+ jest-docblock "^29.2.0"
+ jest-environment-node "^29.3.1"
+ jest-haste-map "^29.3.1"
+ jest-leak-detector "^29.3.1"
+ jest-message-util "^29.3.1"
+ jest-resolve "^29.3.1"
+ jest-runtime "^29.3.1"
+ jest-util "^29.3.1"
+ jest-watcher "^29.3.1"
+ jest-worker "^29.3.1"
+ p-limit "^3.1.0"
+ source-map-support "0.5.13"
+
+jest-runtime@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.3.1.tgz#21efccb1a66911d6d8591276a6182f520b86737a"
+ integrity sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==
+ dependencies:
+ "@jest/environment" "^29.3.1"
+ "@jest/fake-timers" "^29.3.1"
+ "@jest/globals" "^29.3.1"
+ "@jest/source-map" "^29.2.0"
+ "@jest/test-result" "^29.3.1"
+ "@jest/transform" "^29.3.1"
+ "@jest/types" "^29.3.1"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ cjs-module-lexer "^1.0.0"
+ collect-v8-coverage "^1.0.0"
+ glob "^7.1.3"
+ graceful-fs "^4.2.9"
+ jest-haste-map "^29.3.1"
+ jest-message-util "^29.3.1"
+ jest-mock "^29.3.1"
+ jest-regex-util "^29.2.0"
+ jest-resolve "^29.3.1"
+ jest-snapshot "^29.3.1"
+ jest-util "^29.3.1"
+ slash "^3.0.0"
+ strip-bom "^4.0.0"
+
jest-serializer@^26.6.2:
version "26.6.2"
resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1"
@@ -10226,6 +10925,36 @@ jest-serializer@^27.0.6:
"@types/node" "*"
graceful-fs "^4.2.9"
+jest-snapshot@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.3.1.tgz#17bcef71a453adc059a18a32ccbd594b8cc4e45e"
+ integrity sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==
+ dependencies:
+ "@babel/core" "^7.11.6"
+ "@babel/generator" "^7.7.2"
+ "@babel/plugin-syntax-jsx" "^7.7.2"
+ "@babel/plugin-syntax-typescript" "^7.7.2"
+ "@babel/traverse" "^7.7.2"
+ "@babel/types" "^7.3.3"
+ "@jest/expect-utils" "^29.3.1"
+ "@jest/transform" "^29.3.1"
+ "@jest/types" "^29.3.1"
+ "@types/babel__traverse" "^7.0.6"
+ "@types/prettier" "^2.1.5"
+ babel-preset-current-node-syntax "^1.0.0"
+ chalk "^4.0.0"
+ expect "^29.3.1"
+ graceful-fs "^4.2.9"
+ jest-diff "^29.3.1"
+ jest-get-type "^29.2.0"
+ jest-haste-map "^29.3.1"
+ jest-matcher-utils "^29.3.1"
+ jest-message-util "^29.3.1"
+ jest-util "^29.3.1"
+ natural-compare "^1.4.0"
+ pretty-format "^29.3.1"
+ semver "^7.3.5"
+
jest-util@^26.6.2:
version "26.6.2"
resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1"
@@ -10250,7 +10979,7 @@ jest-util@^27.2.0:
graceful-fs "^4.2.9"
picomatch "^2.2.3"
-jest-util@^29.3.1:
+jest-util@^29.0.0, jest-util@^29.3.1:
version "29.3.1"
resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.3.1.tgz#1dda51e378bbcb7e3bc9d8ab651445591ed373e1"
integrity sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==
@@ -10274,6 +11003,32 @@ jest-validate@^26.5.2:
leven "^3.1.0"
pretty-format "^26.6.2"
+jest-validate@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.3.1.tgz#d56fefaa2e7d1fde3ecdc973c7f7f8f25eea704a"
+ integrity sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==
+ dependencies:
+ "@jest/types" "^29.3.1"
+ camelcase "^6.2.0"
+ chalk "^4.0.0"
+ jest-get-type "^29.2.0"
+ leven "^3.1.0"
+ pretty-format "^29.3.1"
+
+jest-watcher@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.3.1.tgz#3341547e14fe3c0f79f9c3a4c62dbc3fc977fd4a"
+ integrity sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==
+ dependencies:
+ "@jest/test-result" "^29.3.1"
+ "@jest/types" "^29.3.1"
+ "@types/node" "*"
+ ansi-escapes "^4.2.1"
+ chalk "^4.0.0"
+ emittery "^0.13.1"
+ jest-util "^29.3.1"
+ string-length "^4.0.1"
+
jest-worker@^26.5.0, jest-worker@^26.6.2:
version "26.6.2"
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed"
@@ -10292,6 +11047,26 @@ jest-worker@^27.2.0, jest-worker@^27.4.5:
merge-stream "^2.0.0"
supports-color "^8.0.0"
+jest-worker@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.3.1.tgz#e9462161017a9bb176380d721cab022661da3d6b"
+ integrity sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==
+ dependencies:
+ "@types/node" "*"
+ jest-util "^29.3.1"
+ merge-stream "^2.0.0"
+ supports-color "^8.0.0"
+
+jest@^29.3.1:
+ version "29.3.1"
+ resolved "https://registry.yarnpkg.com/jest/-/jest-29.3.1.tgz#c130c0d551ae6b5459b8963747fed392ddbde122"
+ integrity sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==
+ dependencies:
+ "@jest/core" "^29.3.1"
+ "@jest/types" "^29.3.1"
+ import-local "^3.0.2"
+ jest-cli "^29.3.1"
+
jetifier@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/jetifier/-/jetifier-2.0.0.tgz#699391367ca1fe7bc4da5f8bf691eb117758e4cb"
@@ -10638,6 +11413,11 @@ lodash.debounce@^4.0.8:
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
+lodash.memoize@4.x:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
+ integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==
+
lodash.throttle@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
@@ -10741,6 +11521,11 @@ make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0:
dependencies:
semver "^6.0.0"
+make-error@1.x:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
+ integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
+
makeerror@1.0.12:
version "1.0.12"
resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a"
@@ -11530,6 +12315,11 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1"
to-regex "^3.0.1"
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+ integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
+
ncp@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
@@ -12012,7 +12802,7 @@ p-limit@^2.0.0, p-limit@^2.2.0:
dependencies:
p-try "^2.0.0"
-p-limit@^3.0.2:
+p-limit@^3.0.2, p-limit@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
@@ -12138,7 +12928,7 @@ parse-json@^4.0.0:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
-parse-json@^5.0.0:
+parse-json@^5.0.0, parse-json@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
@@ -12233,7 +13023,7 @@ path-key@^3.0.0, path-key@^3.1.0:
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
-path-parse@^1.0.5, path-parse@^1.0.6:
+path-parse@^1.0.5, path-parse@^1.0.6, path-parse@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
@@ -12327,7 +13117,7 @@ pirates@^4.0.0, pirates@^4.0.1:
resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.4.tgz#07df81e61028e402735cdd49db701e4885b4e6e6"
integrity sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==
-pirates@^4.0.5:
+pirates@^4.0.4, pirates@^4.0.5:
version "4.0.5"
resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b"
integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==
@@ -12339,7 +13129,7 @@ pkg-dir@^3.0.0:
dependencies:
find-up "^3.0.0"
-pkg-dir@^4.1.0:
+pkg-dir@^4.1.0, pkg-dir@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
@@ -12657,7 +13447,7 @@ promise@^8.0.3:
dependencies:
asap "~2.0.6"
-prompts@^2.3.2, prompts@^2.4.0, prompts@^2.4.2:
+prompts@^2.0.1, prompts@^2.3.2, prompts@^2.4.0, prompts@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
@@ -12892,6 +13682,13 @@ react-element-to-jsx-string@^14.3.4:
is-plain-object "5.0.0"
react-is "17.0.2"
+react-error-boundary@^3.1.0:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-3.1.4.tgz#255db92b23197108757a888b01e5b729919abde0"
+ integrity sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==
+ dependencies:
+ "@babel/runtime" "^7.12.5"
+
react-inspector@^5.1.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-5.1.1.tgz#58476c78fde05d5055646ed8ec02030af42953c8"
@@ -12906,7 +13703,7 @@ react-is@17.0.2, react-is@^17.0.1:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
-"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0:
+"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.2.0:
version "18.2.0"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
@@ -13077,6 +13874,15 @@ react-syntax-highlighter@^15.4.5:
prismjs "^1.27.0"
refractor "^3.6.0"
+react-test-renderer@^18.2.0:
+ version "18.2.0"
+ resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-18.2.0.tgz#1dd912bd908ff26da5b9fca4fd1c489b9523d37e"
+ integrity sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==
+ dependencies:
+ react-is "^18.2.0"
+ react-shallow-renderer "^16.15.0"
+ scheduler "^0.23.0"
+
react@18.1.0:
version "18.1.0"
resolved "https://registry.yarnpkg.com/react/-/react-18.1.0.tgz#6f8620382decb17fdc5cc223a115e2adbf104890"
@@ -13181,6 +13987,14 @@ redent@^1.0.0:
indent-string "^2.1.0"
strip-indent "^1.0.1"
+redent@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f"
+ integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==
+ dependencies:
+ indent-string "^4.0.0"
+ strip-indent "^3.0.0"
+
refractor@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/refractor/-/refractor-3.6.0.tgz#ac318f5a0715ead790fcfb0c71f4dd83d977935a"
@@ -13484,6 +14298,13 @@ reselect@^4.0.0:
resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.5.tgz#852c361247198da6756d07d9296c2b51eddb79f6"
integrity sha512-uVdlz8J7OO+ASpBYoz1Zypgx0KasCY20H+N8JD13oUMtPvSHQuscrHop4KbXrbsBcdB9Ds7lVK7eRkBIfO43vQ==
+resolve-cwd@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
+ integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==
+ dependencies:
+ resolve-from "^5.0.0"
+
resolve-from@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
@@ -13515,6 +14336,11 @@ resolve-url@^0.2.1:
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
+resolve.exports@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9"
+ integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==
+
resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.3.2:
version "1.20.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
@@ -13523,6 +14349,15 @@ resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.1
is-core-module "^2.2.0"
path-parse "^1.0.6"
+resolve@^1.20.0:
+ version "1.22.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
+ integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
+ dependencies:
+ is-core-module "^2.9.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
resolve@~1.7.1:
version "1.7.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3"
@@ -13692,6 +14527,13 @@ scheduler@^0.22.0:
dependencies:
loose-envify "^1.1.0"
+scheduler@^0.23.0:
+ version "0.23.0"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
+ integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
+ dependencies:
+ loose-envify "^1.1.0"
+
schema-utils@2.7.0:
version "2.7.0"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7"
@@ -13743,6 +14585,13 @@ semver@7.3.2:
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
+semver@7.x, semver@^7.3.8:
+ version "7.3.8"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
+ integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
+ dependencies:
+ lru-cache "^6.0.0"
+
semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
@@ -13755,13 +14604,6 @@ semver@^7.3.2, semver@^7.3.4, semver@^7.3.5:
dependencies:
lru-cache "^6.0.0"
-semver@^7.3.8:
- version "7.3.8"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
- integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
- dependencies:
- lru-cache "^6.0.0"
-
send@0.17.1:
version "0.17.1"
resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
@@ -13960,7 +14802,7 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af"
integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==
-signal-exit@^3.0.3:
+signal-exit@^3.0.3, signal-exit@^3.0.7:
version "3.0.7"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
@@ -14061,6 +14903,14 @@ source-map-resolve@^0.5.0:
source-map-url "^0.4.0"
urix "^0.1.0"
+source-map-support@0.5.13:
+ version "0.5.13"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932"
+ integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
source-map-support@^0.5.16, source-map-support@~0.5.12, source-map-support@~0.5.20:
version "0.5.21"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
@@ -14268,6 +15118,14 @@ stream-shift@^1.0.0:
resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
+string-length@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a"
+ integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==
+ dependencies:
+ char-regex "^1.0.2"
+ strip-ansi "^6.0.0"
+
"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
@@ -14367,6 +15225,11 @@ strip-bom@^2.0.0:
dependencies:
is-utf8 "^0.2.0"
+strip-bom@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
+ integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
+
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
@@ -14391,6 +15254,11 @@ strip-indent@^3.0.0:
dependencies:
min-indent "^1.0.0"
+strip-json-comments@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+ integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
@@ -14490,6 +15358,11 @@ supports-hyperlinks@^2.0.0:
has-flag "^4.0.0"
supports-color "^7.0.0"
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
symbol.prototype.description@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/symbol.prototype.description/-/symbol.prototype.description-1.0.5.tgz#d30e01263b6020fbbd2d2884a6276ce4d49ab568"
@@ -14852,6 +15725,20 @@ ts-interface-checker@^0.1.9:
resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
+ts-jest@^29.0.3:
+ version "29.0.3"
+ resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.0.3.tgz#63ea93c5401ab73595440733cefdba31fcf9cb77"
+ integrity sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==
+ dependencies:
+ bs-logger "0.x"
+ fast-json-stable-stringify "2.x"
+ jest-util "^29.0.0"
+ json5 "^2.2.1"
+ lodash.memoize "4.x"
+ make-error "1.x"
+ semver "7.x"
+ yargs-parser "^21.0.1"
+
ts-pnp@^1.1.6:
version "1.2.0"
resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92"
@@ -14884,6 +15771,11 @@ type-check@~0.3.2:
dependencies:
prelude-ls "~1.1.2"
+type-detect@4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
+ integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
+
type-fest@^0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.12.0.tgz#f57a27ab81c68d136a51fd71467eff94157fa1ee"
@@ -15320,6 +16212,15 @@ v8-to-istanbul@^8.0.0:
convert-source-map "^1.6.0"
source-map "^0.7.3"
+v8-to-istanbul@^9.0.1:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4"
+ integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==
+ dependencies:
+ "@jridgewell/trace-mapping" "^0.3.12"
+ "@types/istanbul-lib-coverage" "^2.0.1"
+ convert-source-map "^1.6.0"
+
valid-url@~1.0.9:
version "1.0.9"
resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200"
@@ -15383,7 +16284,7 @@ w-json@^1.3.10:
resolved "https://registry.yarnpkg.com/w-json/-/w-json-1.3.10.tgz#ac448a19ca22376e2753a684b52369c7b1e83313"
integrity sha512-XadVyw0xE+oZ5FGApXsdswv96rOhStzKqL53uSe5UaTadABGkWIg1+DTx8kiZ/VqTZTBneoL0l65RcPe4W3ecw==
-walker@^1.0.7, walker@~1.0.5:
+walker@^1.0.7, walker@^1.0.8, walker@~1.0.5:
version "1.0.8"
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==
@@ -15738,6 +16639,14 @@ write-file-atomic@^3.0.0:
signal-exit "^3.0.2"
typedarray-to-buffer "^3.1.5"
+write-file-atomic@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd"
+ integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==
+ dependencies:
+ imurmurhash "^0.1.4"
+ signal-exit "^3.0.7"
+
ws@^6.1.4:
version "6.2.2"
resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e"
@@ -15841,7 +16750,7 @@ yargs-parser@^20.2.2, yargs-parser@^20.2.7:
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
-yargs-parser@^21.1.1:
+yargs-parser@^21.0.1, yargs-parser@^21.1.1:
version "21.1.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
@@ -15876,7 +16785,7 @@ yargs@^16.2.0:
y18n "^5.0.5"
yargs-parser "^20.2.2"
-yargs@^17.5.1:
+yargs@^17.3.1, yargs@^17.5.1:
version "17.6.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541"
integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==