From 4e6e67440dfa8a2c5b08e5bddbd24ef49bbf3bd3 Mon Sep 17 00:00:00 2001 From: Aleksandar Toplek Date: Tue, 3 Sep 2024 12:06:56 +0200 Subject: [PATCH 01/22] Removed react-dom as peer dependency --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index a548a98..1b498d7 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,6 @@ "vite": "4.5.0" }, "peerDependencies": { - "react": "^16.13.1 || ^17 || ^18", - "react-dom": "^16.13.1 || ^17 || ^18" + "react": "^16.13.1 || ^17 || ^18" } } From 3da909df5ec78fd5d04c7c95070aaffe9f2f8f35 Mon Sep 17 00:00:00 2001 From: Aleksandar Toplek Date: Tue, 3 Sep 2024 12:14:13 +0200 Subject: [PATCH 02/22] Expose dirty flag for fields Closes #105 --- CHANGELOG.md | 6 ++++++ README.md | 2 +- package.json | 2 +- src/useValidation.js | 3 ++- types/index.d.ts | 1 + 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 28e6703..ccb541e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [1.5.0] - 2024-09-03 + +### Added + +- Field exposes `dirty` flag that indicates if the field has been changed + ## [1.4.0] - 2023-12-19 ### Added diff --git a/README.md b/README.md index 2d9b79c..9f218c3 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ Hook that keeps on form field's data. | Type
| Description | |---- | ----------- | -| _{
   value: any,
   error: boolean
   onChange: (any, config?) => void
   onBlur: (event, config?) => void
   setValue: (value: any) => void
   validate: (any, config?) => boolean or Promise<boolean>
   reset: () => void,
   props: {
      value: any,
      onChange: (any, config?) => void
      onBlur: (event, config?) => void
   }
}_ | Object with field's data and callbacks.


`onChange`, `onBlur` and `validate` functions accept config as last parameter - this will override config from `useValidation` if provided. | +| _{
   value: any,
   error: boolean
   dirty: boolean,
   onChange: (any, config?) => void
   onBlur: (event, config?) => void
   setValue: (value: any) => void
   validate: (any, config?) => boolean or Promise<boolean>
   reset: () => void,
   props: {
      value: any,
      onChange: (any, config?) => void
      onBlur: (event, config?) => void
   }
}_ | Object with field's data and callbacks.


`onChange`, `onBlur` and `validate` functions accept config as last parameter - this will override config from `useValidation` if provided. | #### Usage example diff --git a/package.json b/package.json index a548a98..4c7245b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@enterwell/react-form-validation", - "version": "1.4.0", + "version": "1.5.0", "description": "Form validation functionality for React components", "license": "MIT", "repository": { diff --git a/src/useValidation.js b/src/useValidation.js index c4d57c1..8b599a7 100644 --- a/src/useValidation.js +++ b/src/useValidation.js @@ -96,9 +96,10 @@ export const useValidation = (defaultValue, validationFn, config) => { return { value, + error, + dirty, onChange, onBlur, - error, setValue: _handleSetValue, validate, reset, diff --git a/types/index.d.ts b/types/index.d.ts index f04b4e7..7e0acef 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -7,6 +7,7 @@ export declare interface FieldConfig { export declare interface Field { value: any, error: boolean, + dirty: boolean, setValue: (v: any) => void, onChange: (v: any, config?: FieldConfig) => void, onBlur: (event: any, config?: FieldConfig) => void, From 43b93b63daf3477e636ef195d8df5fa354995d4a Mon Sep 17 00:00:00 2001 From: Aleksandar Toplek Date: Tue, 3 Sep 2024 12:27:52 +0200 Subject: [PATCH 03/22] Switched to PNPM instead of yarn --- .github/workflows/build.yml | 6 +- .github/workflows/npm-publish.yml | 6 +- .gitignore | 5 - license => LICENSE.txt | 0 package.json | 1 + pnpm-lock.yaml | 2206 +++++++++++++++++++++++++++++ yarn.lock | 1925 ------------------------- 7 files changed, 2213 insertions(+), 1936 deletions(-) rename license => LICENSE.txt (100%) create mode 100644 pnpm-lock.yaml delete mode 100644 yarn.lock diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c731ba5..637ecf2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,6 +19,6 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 18 - - run: yarn install - - run: yarn build - - run: yarn test + - run: pnpm install + - run: pnpm build + - run: pnpm test diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index bd2d907..8d197bb 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -19,8 +19,8 @@ jobs: with: node-version: 18 registry-url: "https://registry.npmjs.org" - - run: yarn install - - run: yarn build - - run: yarn publish + - run: pnpm install + - run: pnpm build + - run: pnpm publish env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} diff --git a/.gitignore b/.gitignore index 7036586..799e877 100644 --- a/.gitignore +++ b/.gitignore @@ -2,8 +2,6 @@ logs *.log npm-debug.log* -yarn-debug.log* -yarn-error.log* # Runtime data pids @@ -51,9 +49,6 @@ typings/ # Output of 'npm pack' *.tgz -# Yarn Integrity file -.yarn-integrity - # dotenv environment variables file .env diff --git a/license b/LICENSE.txt similarity index 100% rename from license rename to LICENSE.txt diff --git a/package.json b/package.json index a548a98..c62eede 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "engines": { "node": ">=18" }, + "packageManager": "pnpm@9.9.0", "scripts": { "build": "vite build", "test": "cross-env NODE_ENV=test cypress run --component", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..d11f328 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,2206 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@cypress/react18': + specifier: ^2.0.0 + version: 2.0.1(@types/react-dom@18.3.0)(@types/react@18.3.5)(cypress@13.6.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/react-dom': + specifier: '18' + version: 18.3.0 + '@vitejs/plugin-react': + specifier: ^4.1.0 + version: 4.3.1(vite@4.5.0(@types/node@18.19.48)) + cross-env: + specifier: 7.0.3 + version: 7.0.3 + cypress: + specifier: 13.6.0 + version: 13.6.0 + react: + specifier: ^18 + version: 18.3.1 + react-dom: + specifier: ^18 + version: 18.3.1(react@18.3.1) + vite: + specifier: 4.5.0 + version: 4.5.0(@types/node@18.19.48) + +packages: + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.25.4': + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.25.6': + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.2': + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.25.2': + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.8': + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.24.8': + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.25.6': + resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.25.6': + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-transform-react-jsx-self@7.24.7': + resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.24.7': + resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.25.0': + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.25.6': + resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.25.6': + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} + engines: {node: '>=6.9.0'} + + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + + '@cypress/react18@2.0.1': + resolution: {integrity: sha512-T/bhFEvVDIu0lDOKXbEQqVEmmANKWc/pyFDyDoJw3OndRYv9QVEJSsE/VNXIaOQLDjWvQkKBOwd0lLe1hWF/Zg==} + peerDependencies: + '@types/react': ^18 + '@types/react-dom': ^18 + cypress: '*' + react: ^18 + react-dom: ^18 + peerDependenciesMeta: + '@types/react': + optional: true + + '@cypress/request@3.0.1': + resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==} + engines: {node: '>= 6'} + + '@cypress/xvfb@1.2.4': + resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} + + '@esbuild/android-arm64@0.18.20': + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.18.20': + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.18.20': + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.18.20': + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.18.20': + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.18.20': + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.18.20': + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.18.20': + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.18.20': + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.18.20': + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.18.20': + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.18.20': + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.18.20': + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.18.20': + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.18.20': + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.18.20': + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.18.20': + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.18.20': + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.18.20': + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.18.20': + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.18.20': + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.18.20': + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/node@18.19.48': + resolution: {integrity: sha512-7WevbG4ekUcRQSZzOwxWgi5dZmTak7FaxXDoW7xVxPBmKx1rTzfmRLkeCgJzcbBnOV2dkhAPc8cCeT6agocpjg==} + + '@types/prop-types@15.7.12': + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + + '@types/react-dom@18.3.0': + resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} + + '@types/react@18.3.5': + resolution: {integrity: sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==} + + '@types/sinonjs__fake-timers@8.1.1': + resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} + + '@types/sizzle@2.3.8': + resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} + + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + + '@vitejs/plugin-react@4.3.1': + resolution: {integrity: sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + arch@2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + + asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + + assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + + astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + + aws4@1.13.2: + resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + + blob-util@2.0.2: + resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==} + + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + cachedir@2.4.0: + resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} + engines: {node: '>=6'} + + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + + caniuse-lite@1.0.30001655: + resolution: {integrity: sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==} + + caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + check-more-types@2.24.0: + resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} + engines: {node: '>= 0.8.0'} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} + + cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} + + common-tags@1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + + cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + cypress@13.6.0: + resolution: {integrity: sha512-quIsnFmtj4dBUEJYU4OH0H12bABJpSujvWexC24Ju1gTlKMJbeT6tTO0vh7WNfiBPPjoIXLN+OUqVtiKFs6SGw==} + engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} + hasBin: true + + dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.6: + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + + electron-to-chromium@1.5.13: + resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + eventemitter2@6.4.7: + resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} + + execa@4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} + + executable@4.1.1: + resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} + engines: {node: '>=4'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + + extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + + forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + + form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + + getos@3.2.1: + resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} + + getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + + global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + http-signature@1.3.6: + resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==} + engines: {node: '>=0.10'} + + human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsprim@2.0.2: + resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} + engines: {'0': node >=0.6.0} + + lazy-ass@1.6.0: + resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} + engines: {node: '> 0.8'} + + listr2@3.14.0: + resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} + engines: {node: '>=10.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + + lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + ospath@1.2.2: + resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + postcss@8.4.44: + resolution: {integrity: sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw==} + engines: {node: ^10 || ^12 || >=14} + + pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + proxy-from-env@1.0.0: + resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==} + + psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + + pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qs@6.10.4: + resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} + engines: {node: '>=0.6'} + + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + + react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + request-progress@3.0.0: + resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + + slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} + engines: {node: '>=0.10.0'} + hasBin: true + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + throttleit@1.0.1: + resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + + tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + + vite@4.5.0: + resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + +snapshots: + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + + '@babel/compat-data@7.25.4': {} + + '@babel/core@7.25.2': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + convert-source-map: 2.0.0 + debug: 4.3.6(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.25.6': + dependencies: + '@babel/types': 7.25.6 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-compilation-targets@7.25.2': + dependencies: + '@babel/compat-data': 7.25.4 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.23.3 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.24.8': {} + + '@babel/helper-simple-access@7.24.7': + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.24.8': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/helper-validator-option@7.24.8': {} + + '@babel/helpers@7.25.6': + dependencies: + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + + '@babel/parser@7.25.6': + dependencies: + '@babel/types': 7.25.6 + + '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/template@7.25.0': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + + '@babel/traverse@7.25.6': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + debug: 4.3.6(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.25.6': + dependencies: + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + + '@colors/colors@1.5.0': + optional: true + + '@cypress/react18@2.0.1(@types/react-dom@18.3.0)(@types/react@18.3.5)(cypress@13.6.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@types/react-dom': 18.3.0 + cypress: 13.6.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.5 + + '@cypress/request@3.0.1': + dependencies: + aws-sign2: 0.7.0 + aws4: 1.13.2 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + http-signature: 1.3.6 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + performance-now: 2.1.0 + qs: 6.10.4 + safe-buffer: 5.2.1 + tough-cookie: 4.1.4 + tunnel-agent: 0.6.0 + uuid: 8.3.2 + + '@cypress/xvfb@1.2.4(supports-color@8.1.1)': + dependencies: + debug: 3.2.7(supports-color@8.1.1) + lodash.once: 4.1.1 + transitivePeerDependencies: + - supports-color + + '@esbuild/android-arm64@0.18.20': + optional: true + + '@esbuild/android-arm@0.18.20': + optional: true + + '@esbuild/android-x64@0.18.20': + optional: true + + '@esbuild/darwin-arm64@0.18.20': + optional: true + + '@esbuild/darwin-x64@0.18.20': + optional: true + + '@esbuild/freebsd-arm64@0.18.20': + optional: true + + '@esbuild/freebsd-x64@0.18.20': + optional: true + + '@esbuild/linux-arm64@0.18.20': + optional: true + + '@esbuild/linux-arm@0.18.20': + optional: true + + '@esbuild/linux-ia32@0.18.20': + optional: true + + '@esbuild/linux-loong64@0.18.20': + optional: true + + '@esbuild/linux-mips64el@0.18.20': + optional: true + + '@esbuild/linux-ppc64@0.18.20': + optional: true + + '@esbuild/linux-riscv64@0.18.20': + optional: true + + '@esbuild/linux-s390x@0.18.20': + optional: true + + '@esbuild/linux-x64@0.18.20': + optional: true + + '@esbuild/netbsd-x64@0.18.20': + optional: true + + '@esbuild/openbsd-x64@0.18.20': + optional: true + + '@esbuild/sunos-x64@0.18.20': + optional: true + + '@esbuild/win32-arm64@0.18.20': + optional: true + + '@esbuild/win32-ia32@0.18.20': + optional: true + + '@esbuild/win32-x64@0.18.20': + optional: true + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.25.6 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.25.6 + + '@types/node@18.19.48': + dependencies: + undici-types: 5.26.5 + + '@types/prop-types@15.7.12': {} + + '@types/react-dom@18.3.0': + dependencies: + '@types/react': 18.3.5 + + '@types/react@18.3.5': + dependencies: + '@types/prop-types': 15.7.12 + csstype: 3.1.3 + + '@types/sinonjs__fake-timers@8.1.1': {} + + '@types/sizzle@2.3.8': {} + + '@types/yauzl@2.10.3': + dependencies: + '@types/node': 18.19.48 + optional: true + + '@vitejs/plugin-react@4.3.1(vite@4.5.0(@types/node@18.19.48))': + dependencies: + '@babel/core': 7.25.2 + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 4.5.0(@types/node@18.19.48) + transitivePeerDependencies: + - supports-color + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ansi-colors@4.1.3: {} + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-regex@5.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + arch@2.2.0: {} + + asn1@0.2.6: + dependencies: + safer-buffer: 2.1.2 + + assert-plus@1.0.0: {} + + astral-regex@2.0.0: {} + + async@3.2.6: {} + + asynckit@0.4.0: {} + + at-least-node@1.0.0: {} + + aws-sign2@0.7.0: {} + + aws4@1.13.2: {} + + base64-js@1.5.1: {} + + bcrypt-pbkdf@1.0.2: + dependencies: + tweetnacl: 0.14.5 + + blob-util@2.0.2: {} + + bluebird@3.7.2: {} + + browserslist@4.23.3: + dependencies: + caniuse-lite: 1.0.30001655 + electron-to-chromium: 1.5.13 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) + + buffer-crc32@0.2.13: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + cachedir@2.4.0: {} + + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + + caniuse-lite@1.0.30001655: {} + + caseless@0.12.0: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + check-more-types@2.24.0: {} + + ci-info@3.9.0: {} + + clean-stack@2.2.0: {} + + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + + cli-table3@0.6.5: + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + + cli-truncate@2.1.0: + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + colorette@2.0.20: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@6.2.1: {} + + common-tags@1.8.2: {} + + convert-source-map@2.0.0: {} + + core-util-is@1.0.2: {} + + cross-env@7.0.3: + dependencies: + cross-spawn: 7.0.3 + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + csstype@3.1.3: {} + + cypress@13.6.0: + dependencies: + '@cypress/request': 3.0.1 + '@cypress/xvfb': 1.2.4(supports-color@8.1.1) + '@types/node': 18.19.48 + '@types/sinonjs__fake-timers': 8.1.1 + '@types/sizzle': 2.3.8 + arch: 2.2.0 + blob-util: 2.0.2 + bluebird: 3.7.2 + buffer: 5.7.1 + cachedir: 2.4.0 + chalk: 4.1.2 + check-more-types: 2.24.0 + cli-cursor: 3.1.0 + cli-table3: 0.6.5 + commander: 6.2.1 + common-tags: 1.8.2 + dayjs: 1.11.13 + debug: 4.3.6(supports-color@8.1.1) + enquirer: 2.4.1 + eventemitter2: 6.4.7 + execa: 4.1.0 + executable: 4.1.1 + extract-zip: 2.0.1(supports-color@8.1.1) + figures: 3.2.0 + fs-extra: 9.1.0 + getos: 3.2.1 + is-ci: 3.0.1 + is-installed-globally: 0.4.0 + lazy-ass: 1.6.0 + listr2: 3.14.0(enquirer@2.4.1) + lodash: 4.17.21 + log-symbols: 4.1.0 + minimist: 1.2.8 + ospath: 1.2.2 + pretty-bytes: 5.6.0 + process: 0.11.10 + proxy-from-env: 1.0.0 + request-progress: 3.0.0 + semver: 7.6.3 + supports-color: 8.1.1 + tmp: 0.2.3 + untildify: 4.0.0 + yauzl: 2.10.0 + + dashdash@1.14.1: + dependencies: + assert-plus: 1.0.0 + + dayjs@1.11.13: {} + + debug@3.2.7(supports-color@8.1.1): + dependencies: + ms: 2.1.3 + optionalDependencies: + supports-color: 8.1.1 + + debug@4.3.6(supports-color@8.1.1): + dependencies: + ms: 2.1.2 + optionalDependencies: + supports-color: 8.1.1 + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + delayed-stream@1.0.0: {} + + ecc-jsbn@0.1.2: + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + + electron-to-chromium@1.5.13: {} + + emoji-regex@8.0.0: {} + + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 + + enquirer@2.4.1: + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + + esbuild@0.18.20: + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + + escalade@3.2.0: {} + + escape-string-regexp@1.0.5: {} + + eventemitter2@6.4.7: {} + + execa@4.1.0: + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + executable@4.1.1: + dependencies: + pify: 2.3.0 + + extend@3.0.2: {} + + extract-zip@2.0.1(supports-color@8.1.1): + dependencies: + debug: 4.3.6(supports-color@8.1.1) + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color + + extsprintf@1.3.0: {} + + fd-slicer@1.1.0: + dependencies: + pend: 1.2.0 + + figures@3.2.0: + dependencies: + escape-string-regexp: 1.0.5 + + forever-agent@0.6.1: {} + + form-data@2.3.3: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + + get-stream@5.2.0: + dependencies: + pump: 3.0.0 + + getos@3.2.1: + dependencies: + async: 3.2.6 + + getpass@0.1.7: + dependencies: + assert-plus: 1.0.0 + + global-dirs@3.0.1: + dependencies: + ini: 2.0.0 + + globals@11.12.0: {} + + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.4 + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + + has-proto@1.0.3: {} + + has-symbols@1.0.3: {} + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + http-signature@1.3.6: + dependencies: + assert-plus: 1.0.0 + jsprim: 2.0.2 + sshpk: 1.18.0 + + human-signals@1.1.1: {} + + ieee754@1.2.1: {} + + indent-string@4.0.0: {} + + ini@2.0.0: {} + + is-ci@3.0.1: + dependencies: + ci-info: 3.9.0 + + is-fullwidth-code-point@3.0.0: {} + + is-installed-globally@0.4.0: + dependencies: + global-dirs: 3.0.1 + is-path-inside: 3.0.3 + + is-path-inside@3.0.3: {} + + is-stream@2.0.1: {} + + is-typedarray@1.0.0: {} + + is-unicode-supported@0.1.0: {} + + isexe@2.0.0: {} + + isstream@0.1.2: {} + + js-tokens@4.0.0: {} + + jsbn@0.1.1: {} + + jsesc@2.5.2: {} + + json-schema@0.4.0: {} + + json-stringify-safe@5.0.1: {} + + json5@2.2.3: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsprim@2.0.2: + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + + lazy-ass@1.6.0: {} + + listr2@3.14.0(enquirer@2.4.1): + dependencies: + cli-truncate: 2.1.0 + colorette: 2.0.20 + log-update: 4.0.0 + p-map: 4.0.0 + rfdc: 1.4.1 + rxjs: 7.8.1 + through: 2.3.8 + wrap-ansi: 7.0.0 + optionalDependencies: + enquirer: 2.4.1 + + lodash.once@4.1.1: {} + + lodash@4.17.21: {} + + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + + log-update@4.0.0: + dependencies: + ansi-escapes: 4.3.2 + cli-cursor: 3.1.0 + slice-ansi: 4.0.0 + wrap-ansi: 6.2.0 + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + merge-stream@2.0.0: {} + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mimic-fn@2.1.0: {} + + minimist@1.2.8: {} + + ms@2.1.2: {} + + ms@2.1.3: {} + + nanoid@3.3.7: {} + + node-releases@2.0.18: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + object-inspect@1.13.2: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + ospath@1.2.2: {} + + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + path-key@3.1.1: {} + + pend@1.2.0: {} + + performance-now@2.1.0: {} + + picocolors@1.1.0: {} + + pify@2.3.0: {} + + postcss@8.4.44: + dependencies: + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.0 + + pretty-bytes@5.6.0: {} + + process@0.11.10: {} + + proxy-from-env@1.0.0: {} + + psl@1.9.0: {} + + pump@3.0.0: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + + punycode@2.3.1: {} + + qs@6.10.4: + dependencies: + side-channel: 1.0.6 + + querystringify@2.2.0: {} + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-refresh@0.14.2: {} + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + request-progress@3.0.0: + dependencies: + throttleit: 1.0.1 + + requires-port@1.0.0: {} + + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + rfdc@1.4.1: {} + + rollup@3.29.4: + optionalDependencies: + fsevents: 2.3.3 + + rxjs@7.8.1: + dependencies: + tslib: 2.7.0 + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + semver@6.3.1: {} + + semver@7.6.3: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + side-channel@1.0.6: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.2 + + signal-exit@3.0.7: {} + + slice-ansi@3.0.0: + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + + slice-ansi@4.0.0: + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + + source-map-js@1.2.0: {} + + sshpk@1.18.0: + dependencies: + asn1: 0.2.6 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-final-newline@2.0.0: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + throttleit@1.0.1: {} + + through@2.3.8: {} + + tmp@0.2.3: {} + + to-fast-properties@2.0.0: {} + + tough-cookie@4.1.4: + dependencies: + psl: 1.9.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + + tslib@2.7.0: {} + + tunnel-agent@0.6.0: + dependencies: + safe-buffer: 5.2.1 + + tweetnacl@0.14.5: {} + + type-fest@0.21.3: {} + + undici-types@5.26.5: {} + + universalify@0.2.0: {} + + universalify@2.0.1: {} + + untildify@4.0.0: {} + + update-browserslist-db@1.1.0(browserslist@4.23.3): + dependencies: + browserslist: 4.23.3 + escalade: 3.2.0 + picocolors: 1.1.0 + + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + + uuid@8.3.2: {} + + verror@1.10.0: + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + + vite@4.5.0(@types/node@18.19.48): + dependencies: + esbuild: 0.18.20 + postcss: 8.4.44 + rollup: 3.29.4 + optionalDependencies: + '@types/node': 18.19.48 + fsevents: 2.3.3 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrappy@1.0.2: {} + + yallist@3.1.1: {} + + yauzl@2.10.0: + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 65dee80..0000000 --- a/yarn.lock +++ /dev/null @@ -1,1925 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.22.13": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" - integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== - dependencies: - "@babel/highlight" "^7.22.13" - chalk "^2.4.2" - -"@babel/code-frame@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.4.tgz#03ae5af150be94392cb5c7ccd97db5a19a5da6aa" - integrity sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA== - dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" - -"@babel/compat-data@^7.22.9": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.20.tgz#8df6e96661209623f1975d66c35ffca66f3306d0" - integrity sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw== - -"@babel/core@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.3.tgz#5ec09c8803b91f51cc887dedc2654a35852849c9" - integrity sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.3" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.23.2" - "@babel/parser" "^7.23.3" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.3" - "@babel/types" "^7.23.3" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.23.3", "@babel/generator@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.4.tgz#4a41377d8566ec18f807f42962a7f3551de83d1c" - integrity sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ== - dependencies: - "@babel/types" "^7.23.4" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" - integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== - dependencies: - "@babel/compat-data" "^7.22.9" - "@babel/helper-validator-option" "^7.22.15" - browserslist "^4.21.9" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-imports@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" - integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/helper-plugin-utils@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== - -"@babel/helper-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" - integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-option@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" - integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== - -"@babel/helpers@^7.23.2": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.4.tgz#7d2cfb969aa43222032193accd7329851facf3c1" - integrity sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.4" - "@babel/types" "^7.23.4" - -"@babel/highlight@^7.22.13": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" - integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" - integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== - -"@babel/parser@^7.23.3", "@babel/parser@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.4.tgz#409fbe690c333bb70187e2de4021e1e47a026661" - integrity sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ== - -"@babel/plugin-transform-react-jsx-self@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz#ed3e7dadde046cce761a8e3cf003a13d1a7972d9" - integrity sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-jsx-source@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz#03527006bdc8775247a78643c51d4e715fe39a3e" - integrity sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/template@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" - integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" - -"@babel/traverse@^7.23.3", "@babel/traverse@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.4.tgz#c2790f7edf106d059a0098770fe70801417f3f85" - integrity sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg== - dependencies: - "@babel/code-frame" "^7.23.4" - "@babel/generator" "^7.23.4" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.4" - "@babel/types" "^7.23.4" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" - integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@babel/types@^7.23.3", "@babel/types@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.4.tgz#7206a1810fc512a7f7f7d4dace4cb4c1c9dbfb8e" - integrity sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@cypress/react18@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@cypress/react18/-/react18-2.0.0.tgz#9923928328a1a775bc10b7046747d4d90452c754" - integrity sha512-I4iEzyPvSmADPUFT7fuihuo21zu5j5OdgB73KnuCI7VjFT6RaYnag8zBeSkXuwSBO1fbD4jeJWoDyPNLqwLspg== - -"@cypress/request@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.1.tgz#72d7d5425236a2413bd3d8bb66d02d9dc3168960" - integrity sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - http-signature "~1.3.6" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - performance-now "^2.1.0" - qs "6.10.4" - safe-buffer "^5.1.2" - tough-cookie "^4.1.3" - tunnel-agent "^0.6.0" - uuid "^8.3.2" - -"@cypress/xvfb@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" - integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== - dependencies: - debug "^3.1.0" - lodash.once "^4.1.1" - -"@esbuild/android-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" - integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== - -"@esbuild/android-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" - integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== - -"@esbuild/android-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" - integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== - -"@esbuild/darwin-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" - integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== - -"@esbuild/darwin-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" - integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== - -"@esbuild/freebsd-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" - integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== - -"@esbuild/freebsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" - integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== - -"@esbuild/linux-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" - integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== - -"@esbuild/linux-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" - integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== - -"@esbuild/linux-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" - integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== - -"@esbuild/linux-loong64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" - integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== - -"@esbuild/linux-mips64el@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" - integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== - -"@esbuild/linux-ppc64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" - integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== - -"@esbuild/linux-riscv64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" - integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== - -"@esbuild/linux-s390x@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" - integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== - -"@esbuild/linux-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" - integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== - -"@esbuild/netbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" - integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== - -"@esbuild/openbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" - integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== - -"@esbuild/sunos-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" - integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== - -"@esbuild/win32-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" - integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== - -"@esbuild/win32-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" - integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== - -"@esbuild/win32-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" - integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.19" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811" - integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@types/babel__core@^7.20.4": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.5" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.5.tgz#281f4764bcbbbc51fdded0f25aa587b4ce14da95" - integrity sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.2.tgz#843e9f1f47c957553b0c374481dc4772921d6a6b" - integrity sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.2.tgz#4ddf99d95cfdd946ff35d2b65c978d9c9bf2645d" - integrity sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw== - dependencies: - "@babel/types" "^7.20.7" - -"@types/node@*": - version "20.8.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.0.tgz#10ddf0119cf20028781c06d7115562934e53f745" - integrity sha512-LzcWltT83s1bthcvjBmiBvGJiiUe84NWRHkw+ZV6Fr41z2FbIzvc815dk2nQ3RAKMuN2fkenM/z3Xv2QzEpYxQ== - -"@types/node@^18.17.5": - version "18.18.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.1.tgz#80b22f3df719f15c9736207980e95f35d01ec1aa" - integrity sha512-3G42sxmm0fF2+Vtb9TJQpnjmP+uKlWvFa8KoEGquh4gqRmoUG/N0ufuhikw6HEsdG2G2oIKhog1GCTfz9v5NdQ== - -"@types/prop-types@*": - version "15.7.7" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.7.tgz#f9361f7b87fd5d8188b2c998db0a1f47e9fb391a" - integrity sha512-FbtmBWCcSa2J4zL781Zf1p5YUBXQomPEcep9QZCfRfQgTxz3pJWiDFLebohZ9fFntX5ibzOkSsrJ0TEew8cAog== - -"@types/react-dom@18": - version "18.2.8" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.8.tgz#338f1b0a646c9f10e0a97208c1d26b9f473dffd6" - integrity sha512-bAIvO5lN/U8sPGvs1Xm61rlRHHaq5rp5N3kp9C+NJ/Q41P8iqjkXSu0+/qu8POsjH9pNWb0OYabFez7taP7omw== - dependencies: - "@types/react" "*" - -"@types/react@*": - version "18.2.23" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.23.tgz#60ad6cf4895e93bed858db0e03bcc4ff97d0410e" - integrity sha512-qHLW6n1q2+7KyBEYnrZpcsAmU/iiCh9WGCKgXvMxx89+TYdJWRjZohVIo9XTcoLhfX3+/hP0Pbulu3bCZQ9PSA== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/scheduler@*": - version "0.16.4" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.4.tgz#fedc3e5b15c26dc18faae96bf1317487cb3658cf" - integrity sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ== - -"@types/sinonjs__fake-timers@8.1.1": - version "8.1.1" - resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" - integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== - -"@types/sizzle@^2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47" - integrity sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg== - -"@types/yauzl@^2.9.1": - version "2.10.1" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.1.tgz#4e8f299f0934d60f36c74f59cb5a8483fd786691" - integrity sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw== - dependencies: - "@types/node" "*" - -"@vitejs/plugin-react@^4.1.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.2.0.tgz#d71352b1a443c09c7aae8f278dd071ab3d9d8490" - integrity sha512-+MHTH/e6H12kRp5HUkzOGqPMksezRMmW+TNzlh/QXfI8rRf6l2Z2yH/v12no1UvTwhZgEDMuQ7g7rrfMseU6FQ== - dependencies: - "@babel/core" "^7.23.3" - "@babel/plugin-transform-react-jsx-self" "^7.23.3" - "@babel/plugin-transform-react-jsx-source" "^7.23.3" - "@types/babel__core" "^7.20.4" - react-refresh "^0.14.0" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^5.0.0, ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -arch@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" - integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async@^3.2.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" - integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" - integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base64-js@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -blob-util@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" - integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== - -bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -browserslist@^4.21.9: - version "4.22.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" - integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== - dependencies: - caniuse-lite "^1.0.30001541" - electron-to-chromium "^1.4.535" - node-releases "^2.0.13" - update-browserslist-db "^1.0.13" - -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= - -buffer@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -cachedir@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" - integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== - -call-bind@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -caniuse-lite@^1.0.30001541: - version "1.0.30001541" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001541.tgz#b1aef0fadd87fb72db4dcb55d220eae17b81cdb1" - integrity sha512-bLOsqxDgTqUBkzxbNlSBt8annkDpQB9NdzdTbO2ooJ+eC/IQcvDspDc058g84ejCelF7vHUx57KIOjEecOHXaw== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -check-more-types@^2.24.0: - version "2.24.0" - resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" - integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA= - -ci-info@^3.2.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" - integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-table3@~0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colorette@^2.0.16: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -common-tags@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" - integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -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== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cross-env@7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" - integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== - dependencies: - cross-spawn "^7.0.1" - -cross-spawn@^7.0.0, cross-spawn@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -csstype@^3.0.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== - -cypress@13.6.0: - version "13.6.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.0.tgz#b98b7b837679012ed09c7ecee5565bf7b31d4982" - integrity sha512-quIsnFmtj4dBUEJYU4OH0H12bABJpSujvWexC24Ju1gTlKMJbeT6tTO0vh7WNfiBPPjoIXLN+OUqVtiKFs6SGw== - dependencies: - "@cypress/request" "^3.0.0" - "@cypress/xvfb" "^1.2.4" - "@types/node" "^18.17.5" - "@types/sinonjs__fake-timers" "8.1.1" - "@types/sizzle" "^2.3.2" - arch "^2.2.0" - blob-util "^2.0.2" - bluebird "^3.7.2" - buffer "^5.6.0" - cachedir "^2.3.0" - chalk "^4.1.0" - check-more-types "^2.24.0" - cli-cursor "^3.1.0" - cli-table3 "~0.6.1" - commander "^6.2.1" - common-tags "^1.8.0" - dayjs "^1.10.4" - debug "^4.3.4" - enquirer "^2.3.6" - eventemitter2 "6.4.7" - execa "4.1.0" - executable "^4.1.1" - extract-zip "2.0.1" - figures "^3.2.0" - fs-extra "^9.1.0" - getos "^3.2.1" - is-ci "^3.0.0" - is-installed-globally "~0.4.0" - lazy-ass "^1.6.0" - listr2 "^3.8.3" - lodash "^4.17.21" - log-symbols "^4.0.0" - minimist "^1.2.8" - ospath "^1.2.2" - pretty-bytes "^5.6.0" - process "^0.11.10" - proxy-from-env "1.0.0" - request-progress "^3.0.0" - semver "^7.5.3" - supports-color "^8.1.1" - tmp "~0.2.1" - untildify "^4.0.0" - yauzl "^2.10.0" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -dayjs@^1.10.4: - version "1.11.10" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" - integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== - -debug@^3.1.0: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debug@^4.1.0, debug@^4.1.1, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -electron-to-chromium@^1.4.535: - version "1.4.537" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.537.tgz#aac4101db53066be1e49baedd000a26bc754adc9" - integrity sha512-W1+g9qs9hviII0HAwOdehGYkr+zt7KKdmCcJcjH0mYg6oL8+ioT3Skjmt7BLoAQqXhjf40AXd+HlR4oAWMlXjA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enquirer@^2.3.6: - version "2.4.1" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" - integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== - dependencies: - ansi-colors "^4.1.1" - strip-ansi "^6.0.1" - -esbuild@^0.18.10: - version "0.18.20" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" - integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== - optionalDependencies: - "@esbuild/android-arm" "0.18.20" - "@esbuild/android-arm64" "0.18.20" - "@esbuild/android-x64" "0.18.20" - "@esbuild/darwin-arm64" "0.18.20" - "@esbuild/darwin-x64" "0.18.20" - "@esbuild/freebsd-arm64" "0.18.20" - "@esbuild/freebsd-x64" "0.18.20" - "@esbuild/linux-arm" "0.18.20" - "@esbuild/linux-arm64" "0.18.20" - "@esbuild/linux-ia32" "0.18.20" - "@esbuild/linux-loong64" "0.18.20" - "@esbuild/linux-mips64el" "0.18.20" - "@esbuild/linux-ppc64" "0.18.20" - "@esbuild/linux-riscv64" "0.18.20" - "@esbuild/linux-s390x" "0.18.20" - "@esbuild/linux-x64" "0.18.20" - "@esbuild/netbsd-x64" "0.18.20" - "@esbuild/openbsd-x64" "0.18.20" - "@esbuild/sunos-x64" "0.18.20" - "@esbuild/win32-arm64" "0.18.20" - "@esbuild/win32-ia32" "0.18.20" - "@esbuild/win32-x64" "0.18.20" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -eventemitter2@6.4.7: - version "6.4.7" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" - integrity sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg== - -execa@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -executable@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" - integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== - dependencies: - pify "^2.2.0" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extract-zip@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" - integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== - dependencies: - debug "^4.1.1" - get-stream "^5.1.0" - yauzl "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= - dependencies: - pend "~1.2.0" - -figures@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-intrinsic@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" - integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-proto "^1.0.1" - has-symbols "^1.0.3" - -get-stream@^5.0.0, get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -getos@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" - integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== - dependencies: - async "^3.2.0" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob@^7.1.3: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" - integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== - dependencies: - ini "2.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -http-signature@~1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" - integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== - dependencies: - assert-plus "^1.0.0" - jsprim "^2.0.2" - sshpk "^1.14.1" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -ieee754@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -is-ci@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" - integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== - dependencies: - ci-info "^3.2.0" - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-installed-globally@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-path-inside@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsprim@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" - integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -lazy-ass@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" - integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM= - -listr2@^3.8.3: - version "3.14.0" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" - integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.16" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.1" - through "^2.3.8" - wrap-ansi "^7.0.0" - -lodash.once@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== - dependencies: - chalk "^4.0.0" - -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== - dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" - -loose-envify@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -mime-db@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== - dependencies: - mime-db "1.44.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -ms@2.1.2, ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== - -node-releases@^2.0.13: - version "2.0.13" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" - integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== - -npm-run-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -ospath@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" - integrity sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs= - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -pify@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -postcss@^8.4.27: - version "8.4.31" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" - integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== - dependencies: - nanoid "^3.3.6" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -pretty-bytes@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -proxy-from-env@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== - -psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@6.10.4: - version "6.10.4" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.4.tgz#6a3003755add91c0ec9eacdc5f878b034e73f9e7" - integrity sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g== - dependencies: - side-channel "^1.0.4" - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -react-dom@^18: - version "18.1.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.1.0.tgz#7f6dd84b706408adde05e1df575b3a024d7e8a2f" - integrity sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.22.0" - -react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== - -react@^18: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -request-progress@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" - integrity sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4= - dependencies: - throttleit "^1.0.0" - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== - -rimraf@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rollup@^3.27.1: - version "3.29.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981" - integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw== - optionalDependencies: - fsevents "~2.3.2" - -rxjs@^7.5.1: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== - dependencies: - tslib "^2.1.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.2: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -scheduler@^0.22.0: - version "0.22.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.22.0.tgz#83a5d63594edf074add9a7198b1bae76c3db01b8" - integrity sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ== - dependencies: - loose-envify "^1.1.0" - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.5.3: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -sshpk@^1.14.1: - version "1.17.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" - integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -throttleit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" - integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw= - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -tmp@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -tough-cookie@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tslib@^2.1.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -untildify@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" - integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vite@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.0.tgz#ec406295b4167ac3bc23e26f9c8ff559287cff26" - integrity sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw== - dependencies: - esbuild "^0.18.10" - postcss "^8.4.27" - rollup "^3.27.1" - optionalDependencies: - fsevents "~2.3.2" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" From ad916ac7c8e9ae70313d4169f68ce50360e2bc3c Mon Sep 17 00:00:00 2001 From: Aleksandar Toplek Date: Tue, 3 Sep 2024 12:37:03 +0200 Subject: [PATCH 04/22] Updated vite and cypress packages --- package.json | 15 +- pnpm-lock.yaml | 425 ++++++++++++++++++++++++++++++++++--------------- 2 files changed, 302 insertions(+), 138 deletions(-) diff --git a/package.json b/package.json index c62eede..fab3e06 100644 --- a/package.json +++ b/package.json @@ -33,16 +33,15 @@ "form", "validation" ], - "dependencies": {}, "devDependencies": { - "@cypress/react18": "^2.0.0", - "@types/react-dom": "18", - "@vitejs/plugin-react": "^4.1.0", + "@cypress/react18": "2.0.1", + "@types/react-dom": "18.3.0", + "@vitejs/plugin-react": "4.3.1", "cross-env": "7.0.3", - "cypress": "13.6.0", - "react": "^18", - "react-dom": "^18", - "vite": "4.5.0" + "cypress": "13.14.1", + "react": "18.3.1", + "react-dom": "18.3.1", + "vite": "5.4.2" }, "peerDependencies": { "react": "^16.13.1 || ^17 || ^18", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d11f328..fb3e849 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,29 +9,29 @@ importers: .: devDependencies: '@cypress/react18': - specifier: ^2.0.0 - version: 2.0.1(@types/react-dom@18.3.0)(@types/react@18.3.5)(cypress@13.6.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 2.0.1 + version: 2.0.1(@types/react-dom@18.3.0)(@types/react@18.3.5)(cypress@13.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/react-dom': - specifier: '18' + specifier: 18.3.0 version: 18.3.0 '@vitejs/plugin-react': - specifier: ^4.1.0 - version: 4.3.1(vite@4.5.0(@types/node@18.19.48)) + specifier: 4.3.1 + version: 4.3.1(vite@5.4.2(@types/node@22.5.2)) cross-env: specifier: 7.0.3 version: 7.0.3 cypress: - specifier: 13.6.0 - version: 13.6.0 + specifier: 13.14.1 + version: 13.14.1 react: - specifier: ^18 + specifier: 18.3.1 version: 18.3.1 react-dom: - specifier: ^18 + specifier: 18.3.1 version: 18.3.1(react@18.3.1) vite: - specifier: 4.5.0 - version: 4.5.0(@types/node@18.19.48) + specifier: 5.4.2 + version: 5.4.2(@types/node@22.5.2) packages: @@ -149,134 +149,140 @@ packages: '@cypress/xvfb@1.2.4': resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} - '@esbuild/android-arm64@0.18.20': - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.18.20': - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.18.20': - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.18.20': - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.18.20': - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.18.20': - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.18.20': - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.18.20': - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.18.20': - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.18.20': - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.18.20': - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.18.20': - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.18.20': - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.18.20': - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.18.20': - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.18.20': - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.18.20': - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.18.20': - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.18.20': - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.18.20': - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.18.20': - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.18.20': - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -299,6 +305,86 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@rollup/rollup-android-arm-eabi@4.21.2': + resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.21.2': + resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.21.2': + resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.21.2': + resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.21.2': + resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.21.2': + resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.21.2': + resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.21.2': + resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': + resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.21.2': + resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.21.2': + resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.21.2': + resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.21.2': + resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.21.2': + resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.21.2': + resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.21.2': + resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==} + cpu: [x64] + os: [win32] + '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -311,8 +397,11 @@ packages: '@types/babel__traverse@7.20.6': resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} - '@types/node@18.19.48': - resolution: {integrity: sha512-7WevbG4ekUcRQSZzOwxWgi5dZmTak7FaxXDoW7xVxPBmKx1rTzfmRLkeCgJzcbBnOV2dkhAPc8cCeT6agocpjg==} + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/node@22.5.2': + resolution: {integrity: sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==} '@types/prop-types@15.7.12': resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} @@ -507,8 +596,8 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - cypress@13.6.0: - resolution: {integrity: sha512-quIsnFmtj4dBUEJYU4OH0H12bABJpSujvWexC24Ju1gTlKMJbeT6tTO0vh7WNfiBPPjoIXLN+OUqVtiKFs6SGw==} + cypress@13.14.1: + resolution: {integrity: sha512-Wo+byPmjps66hACEH5udhXINEiN3qS3jWNGRzJOjrRJF3D0+YrcP2LVB1T7oYaVQM/S+eanqEvBWYc8cf7Vcbg==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -568,8 +657,8 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} hasBin: true @@ -929,9 +1018,9 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} + rollup@4.21.2: + resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true rxjs@7.8.1: @@ -1046,8 +1135,8 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} @@ -1078,15 +1167,16 @@ packages: resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} engines: {'0': node >=0.6.0} - vite@4.5.0: - resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} - engines: {node: ^14.18.0 || >=16.0.0} + vite@5.4.2: + resolution: {integrity: sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - '@types/node': '>= 14' + '@types/node': ^18.0.0 || >=20.0.0 less: '*' lightningcss: ^1.21.0 sass: '*' + sass-embedded: '*' stylus: '*' sugarss: '*' terser: ^5.4.0 @@ -1099,6 +1189,8 @@ packages: optional: true sass: optional: true + sass-embedded: + optional: true stylus: optional: true sugarss: @@ -1262,10 +1354,10 @@ snapshots: '@colors/colors@1.5.0': optional: true - '@cypress/react18@2.0.1(@types/react-dom@18.3.0)(@types/react@18.3.5)(cypress@13.6.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@cypress/react18@2.0.1(@types/react-dom@18.3.0)(@types/react@18.3.5)(cypress@13.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@types/react-dom': 18.3.0 - cypress: 13.6.0 + cypress: 13.14.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: @@ -1299,70 +1391,73 @@ snapshots: transitivePeerDependencies: - supports-color - '@esbuild/android-arm64@0.18.20': + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.21.5': optional: true - '@esbuild/android-arm@0.18.20': + '@esbuild/android-arm@0.21.5': optional: true - '@esbuild/android-x64@0.18.20': + '@esbuild/android-x64@0.21.5': optional: true - '@esbuild/darwin-arm64@0.18.20': + '@esbuild/darwin-arm64@0.21.5': optional: true - '@esbuild/darwin-x64@0.18.20': + '@esbuild/darwin-x64@0.21.5': optional: true - '@esbuild/freebsd-arm64@0.18.20': + '@esbuild/freebsd-arm64@0.21.5': optional: true - '@esbuild/freebsd-x64@0.18.20': + '@esbuild/freebsd-x64@0.21.5': optional: true - '@esbuild/linux-arm64@0.18.20': + '@esbuild/linux-arm64@0.21.5': optional: true - '@esbuild/linux-arm@0.18.20': + '@esbuild/linux-arm@0.21.5': optional: true - '@esbuild/linux-ia32@0.18.20': + '@esbuild/linux-ia32@0.21.5': optional: true - '@esbuild/linux-loong64@0.18.20': + '@esbuild/linux-loong64@0.21.5': optional: true - '@esbuild/linux-mips64el@0.18.20': + '@esbuild/linux-mips64el@0.21.5': optional: true - '@esbuild/linux-ppc64@0.18.20': + '@esbuild/linux-ppc64@0.21.5': optional: true - '@esbuild/linux-riscv64@0.18.20': + '@esbuild/linux-riscv64@0.21.5': optional: true - '@esbuild/linux-s390x@0.18.20': + '@esbuild/linux-s390x@0.21.5': optional: true - '@esbuild/linux-x64@0.18.20': + '@esbuild/linux-x64@0.21.5': optional: true - '@esbuild/netbsd-x64@0.18.20': + '@esbuild/netbsd-x64@0.21.5': optional: true - '@esbuild/openbsd-x64@0.18.20': + '@esbuild/openbsd-x64@0.21.5': optional: true - '@esbuild/sunos-x64@0.18.20': + '@esbuild/sunos-x64@0.21.5': optional: true - '@esbuild/win32-arm64@0.18.20': + '@esbuild/win32-arm64@0.21.5': optional: true - '@esbuild/win32-ia32@0.18.20': + '@esbuild/win32-ia32@0.21.5': optional: true - '@esbuild/win32-x64@0.18.20': + '@esbuild/win32-x64@0.21.5': optional: true '@jridgewell/gen-mapping@0.3.5': @@ -1382,6 +1477,54 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@rollup/rollup-android-arm-eabi@4.21.2': + optional: true + + '@rollup/rollup-android-arm64@4.21.2': + optional: true + + '@rollup/rollup-darwin-arm64@4.21.2': + optional: true + + '@rollup/rollup-darwin-x64@4.21.2': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.21.2': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.21.2': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.21.2': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.21.2': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.21.2': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.21.2': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.21.2': + optional: true + + '@rollup/rollup-linux-x64-musl@4.21.2': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.21.2': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.21.2': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.21.2': + optional: true + '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.25.6 @@ -1403,9 +1546,12 @@ snapshots: dependencies: '@babel/types': 7.25.6 - '@types/node@18.19.48': + '@types/estree@1.0.5': {} + + '@types/node@22.5.2': dependencies: - undici-types: 5.26.5 + undici-types: 6.19.8 + optional: true '@types/prop-types@15.7.12': {} @@ -1424,17 +1570,17 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 18.19.48 + '@types/node': 22.5.2 optional: true - '@vitejs/plugin-react@4.3.1(vite@4.5.0(@types/node@18.19.48))': + '@vitejs/plugin-react@4.3.1(vite@5.4.2(@types/node@22.5.2))': dependencies: '@babel/core': 7.25.2 '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 4.5.0(@types/node@18.19.48) + vite: 5.4.2(@types/node@22.5.2) transitivePeerDependencies: - supports-color @@ -1587,11 +1733,10 @@ snapshots: csstype@3.1.3: {} - cypress@13.6.0: + cypress@13.14.1: dependencies: '@cypress/request': 3.0.1 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) - '@types/node': 18.19.48 '@types/sinonjs__fake-timers': 8.1.1 '@types/sizzle': 2.3.8 arch: 2.2.0 @@ -1683,30 +1828,31 @@ snapshots: es-errors@1.3.0: {} - esbuild@0.18.20: + esbuild@0.21.5: optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 escalade@3.2.0: {} @@ -2025,8 +2171,26 @@ snapshots: rfdc@1.4.1: {} - rollup@3.29.4: + rollup@4.21.2: + dependencies: + '@types/estree': 1.0.5 optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.21.2 + '@rollup/rollup-android-arm64': 4.21.2 + '@rollup/rollup-darwin-arm64': 4.21.2 + '@rollup/rollup-darwin-x64': 4.21.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.21.2 + '@rollup/rollup-linux-arm-musleabihf': 4.21.2 + '@rollup/rollup-linux-arm64-gnu': 4.21.2 + '@rollup/rollup-linux-arm64-musl': 4.21.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.21.2 + '@rollup/rollup-linux-riscv64-gnu': 4.21.2 + '@rollup/rollup-linux-s390x-gnu': 4.21.2 + '@rollup/rollup-linux-x64-gnu': 4.21.2 + '@rollup/rollup-linux-x64-musl': 4.21.2 + '@rollup/rollup-win32-arm64-msvc': 4.21.2 + '@rollup/rollup-win32-ia32-msvc': 4.21.2 + '@rollup/rollup-win32-x64-msvc': 4.21.2 fsevents: 2.3.3 rxjs@7.8.1: @@ -2144,7 +2308,8 @@ snapshots: type-fest@0.21.3: {} - undici-types@5.26.5: {} + undici-types@6.19.8: + optional: true universalify@0.2.0: {} @@ -2171,13 +2336,13 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 - vite@4.5.0(@types/node@18.19.48): + vite@5.4.2(@types/node@22.5.2): dependencies: - esbuild: 0.18.20 + esbuild: 0.21.5 postcss: 8.4.44 - rollup: 3.29.4 + rollup: 4.21.2 optionalDependencies: - '@types/node': 18.19.48 + '@types/node': 22.5.2 fsevents: 2.3.3 which@2.0.2: From 4092317af68047c2fa78f5e9182474a9ead614bc Mon Sep 17 00:00:00 2001 From: Aleksandar Toplek Date: Tue, 3 Sep 2024 13:12:36 +0200 Subject: [PATCH 05/22] Enable node corepack --- .github/workflows/build.yml | 2 ++ .github/workflows/npm-publish.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 637ecf2..a813701 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,6 +19,8 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 18 + - name: Enable Corepack + run: corepack enable - run: pnpm install - run: pnpm build - run: pnpm test diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 8d197bb..5f2b589 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -19,6 +19,8 @@ jobs: with: node-version: 18 registry-url: "https://registry.npmjs.org" + - name: Enable Corepack + run: corepack enable - run: pnpm install - run: pnpm build - run: pnpm publish From 71fabac88527c7aca548e756d82e5153b6237793 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Radovi=C4=87?= Date: Wed, 18 Dec 2024 16:38:41 +0100 Subject: [PATCH 06/22] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9f218c3..51789d6 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ Hook that keeps on form field's data. | Type
| Description | |---- | ----------- | -| _{
   value: any,
   error: boolean
   dirty: boolean,
   onChange: (any, config?) => void
   onBlur: (event, config?) => void
   setValue: (value: any) => void
   validate: (any, config?) => boolean or Promise<boolean>
   reset: () => void,
   props: {
      value: any,
      onChange: (any, config?) => void
      onBlur: (event, config?) => void
   }
}_ | Object with field's data and callbacks.

  • `value` - field's current value
  • `error` - is error present flag (`true` if value was validated and didn't pass validation, `false` otherwise)
  • `onChange` - callback for change event (changes the value and validates it if previous value wasn't correct)
  • `onBlur` - callback for blur event (validates the value)
  • `setValue` - function for setting the internal value (does not validate the input, enabling support for async data loading)
  • `validate` - function for validating field's value
  • `reset` - function for resetting field's data
  • `dirty` - indicates whether value of field was changed from initial value
  • `props` - set of props that can be spread on standard input elements (same as props in root object, just grouped for better DX)

`onChange`, `onBlur` and `validate` functions accept config as last parameter - this will override config from `useValidation` if provided. | +| _{
   value: any,
   error: boolean
   dirty: boolean,
   onChange: (any, config?) => void
   onBlur: (event, config?) => void
   setValue: (value: any) => void
   validate: (any, config?) => boolean or Promise<boolean>
   reset: () => void,
   props: {
      value: any,
      onChange: (any, config?) => void
      onBlur: (event, config?) => void
   }
}_ | Object with field's data and callbacks.

  • `value` - field's current value
  • `error` - is error present flag (`true` if value was validated and didn't pass validation, `false` otherwise)
  • `onChange` - callback for change event (changes the value and validates it if previous value wasn't correct)
  • `onBlur` - callback for blur event (validates the value)
  • `setValue` - function for setting the internal value (does not validate the input, enabling support for async data loading)
  • `validate` - function for validating field's value
  • `reset` - function for resetting field's data
  • `dirty` - indicates whether value of field was changed from initial value
  • `props` - set of props that can be spread on standard input elements (same as props in root object, just grouped for better DX)

`onChange`, `onBlur` and `validate` functions accept config as last parameter - this will override config from `useValidation` if provided. | #### Usage example From c1af96337443da05526e59d405ca5039e95372ac Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 29 Oct 2025 11:58:23 +0000 Subject: [PATCH 07/22] Initial plan From 1b453bd51d311e463aa2156333f9a7dbaf0cf501 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 29 Oct 2025 12:04:42 +0000 Subject: [PATCH 08/22] Add isDirty property and helper function Co-authored-by: jpaladin <12514334+jpaladin@users.noreply.github.com> --- cypress/components/isDirty.cy.jsx | 264 ++++++++++++++++++++++++++++++ src/formUtils.js | 10 ++ src/index.js | 3 +- src/useValidation.js | 4 + types/index.d.ts | 3 + 5 files changed, 283 insertions(+), 1 deletion(-) create mode 100644 cypress/components/isDirty.cy.jsx diff --git a/cypress/components/isDirty.cy.jsx b/cypress/components/isDirty.cy.jsx new file mode 100644 index 0000000..69e4d6e --- /dev/null +++ b/cypress/components/isDirty.cy.jsx @@ -0,0 +1,264 @@ +import React, { useEffect, useState } from 'react'; +import { mount } from '@cypress/react18'; +import { useValidation, isDirty, setValues, isNonEmptyString } from '../../src'; + +describe('isDirty functionality', () => { + describe('useValidation isDirty property', () => { + it('should be false initially', () => { + const Component = () => { + const field = useValidation('initial', isNonEmptyString); + + return ( +
+

{field.isDirty.toString()}

+
+ ); + }; + + mount(); + cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + }); + + it('should be true after onChange', () => { + const Component = () => { + const field = useValidation('initial', isNonEmptyString); + + return ( +
+ +

{field.isDirty.toString()}

+
+ ); + }; + + mount(); + cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + cy.get('[data-testid="input"]').clear().type('changed'); + cy.get('[data-testid="isDirty"]').should('have.text', 'true'); + }); + + it('should be false after onChange back to initial value', () => { + const Component = () => { + const field = useValidation('initial', isNonEmptyString); + + return ( +
+ +

{field.isDirty.toString()}

+
+ ); + }; + + mount(); + cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + cy.get('[data-testid="input"]').clear().type('changed'); + cy.get('[data-testid="isDirty"]').should('have.text', 'true'); + cy.get('[data-testid="input"]').clear().type('initial'); + cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + }); + + it('should remain false after setValue', () => { + const Component = () => { + const field = useValidation('', isNonEmptyString); + const [clicked, setClicked] = useState(false); + + useEffect(() => { + if (clicked) { + field.setValue('newInitial'); + } + }, [clicked]); + + return ( +
+ + +

{field.isDirty.toString()}

+

{field.value}

+
+ ); + }; + + mount(); + cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + cy.get('[data-testid="button"]').click(); + cy.get('[data-testid="value"]').should('have.text', 'newInitial'); + cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + }); + + it('should be true after setValue then onChange', () => { + const Component = () => { + const field = useValidation('', isNonEmptyString); + const [clicked, setClicked] = useState(false); + + useEffect(() => { + if (clicked) { + field.setValue('newInitial'); + } + }, [clicked]); + + return ( +
+ + +

{field.isDirty.toString()}

+
+ ); + }; + + mount(); + cy.get('[data-testid="button"]').click(); + cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + cy.get('[data-testid="input"]').clear().type('changed'); + cy.get('[data-testid="isDirty"]').should('have.text', 'true'); + }); + + it('should be false after reset', () => { + const Component = () => { + const field = useValidation('initial', isNonEmptyString); + + return ( +
+ + +

{field.isDirty.toString()}

+
+ ); + }; + + mount(); + cy.get('[data-testid="input"]').clear().type('changed'); + cy.get('[data-testid="isDirty"]').should('have.text', 'true'); + cy.get('[data-testid="reset"]').click(); + cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + }); + }); + + describe('isDirty helper function', () => { + it('should return false when no fields are dirty', () => { + let result = null; + + const Component = () => { + const email = useValidation('initial@test.com', isNonEmptyString); + const name = useValidation('Initial Name', isNonEmptyString); + + useEffect(() => { + result = isDirty({ email, name }); + }, []); + + return
; + }; + + mount(); + cy.then(() => { + expect(result).to.be.false; + }); + }); + + it('should return true when at least one field is dirty', () => { + let result = null; + + const Component = () => { + const email = useValidation('initial@test.com', isNonEmptyString); + const name = useValidation('Initial Name', isNonEmptyString); + const [changed, setChanged] = useState(false); + + useEffect(() => { + if (changed) { + result = isDirty({ email, name }); + } + }, [changed]); + + return ( +
+ + +
+ ); + }; + + mount(); + cy.get('[data-testid="change"]').click(); + cy.then(() => { + expect(result).to.be.true; + }); + }); + + it('should return false after setValues is called', () => { + let result = null; + + const Component = () => { + const email = useValidation('', isNonEmptyString); + const name = useValidation('', isNonEmptyString); + const [loaded, setLoaded] = useState(false); + + useEffect(() => { + // Simulate loading data from API + setValues({ email, name }, { + email: 'loaded@test.com', + name: 'Loaded Name' + }); + setLoaded(true); + }, []); + + useEffect(() => { + if (loaded) { + result = isDirty({ email, name }); + } + }, [loaded]); + + return
; + }; + + mount(); + cy.wait(100).then(() => { + expect(result).to.be.false; + }); + }); + + it('should return true after setValues then user changes a field', () => { + let result = null; + + const Component = () => { + const email = useValidation('', isNonEmptyString); + const name = useValidation('', isNonEmptyString); + const [loaded, setLoaded] = useState(false); + const [changed, setChanged] = useState(false); + + useEffect(() => { + // Simulate loading data from API + setValues({ email, name }, { + email: 'loaded@test.com', + name: 'Loaded Name' + }); + setLoaded(true); + }, []); + + useEffect(() => { + if (changed) { + result = isDirty({ email, name }); + } + }, [changed]); + + return ( +
+ + +
+ ); + }; + + mount(); + cy.wait(100); + cy.get('[data-testid="change"]').click(); + cy.then(() => { + expect(result).to.be.true; + }); + }); + }); +}); diff --git a/src/formUtils.js b/src/formUtils.js index 4b37739..2a097d2 100644 --- a/src/formUtils.js +++ b/src/formUtils.js @@ -69,6 +69,16 @@ export const validateFields = (fields) => { }); }; +/** + * Checks if any of the form fields are dirty (have changed from initial values). + * + * @param {Object.} fields Form's fields + * @returns {boolean} true if any field is dirty, false otherwise + */ +export const isDirty = (fields) => { + return Object.values(fields).some(field => field.isDirty); +}; + /** * Resets forms' fields to their initial values. * diff --git a/src/index.js b/src/index.js index 58f6008..ff27159 100644 --- a/src/index.js +++ b/src/index.js @@ -7,7 +7,8 @@ export { setValues, resetFields, submitForm, - cancelForm + cancelForm, + isDirty } from './formUtils'; export { noError, diff --git a/src/useValidation.js b/src/useValidation.js index 8b599a7..6fc2b83 100644 --- a/src/useValidation.js +++ b/src/useValidation.js @@ -30,6 +30,9 @@ export const useValidation = (defaultValue, validationFn, config) => { const [value, setValue] = useState(resetToValue); const [error, setError] = useState(false); const [dirty, setDirty] = useState(false); + + // isDirty compares current value with initial value + const isDirty = value !== resetToValue; const onChange = (e, config) => { const activeConfig = config ?? _config; @@ -98,6 +101,7 @@ export const useValidation = (defaultValue, validationFn, config) => { value, error, dirty, + isDirty, onChange, onBlur, setValue: _handleSetValue, diff --git a/types/index.d.ts b/types/index.d.ts index 7e0acef..7cfa335 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -8,6 +8,7 @@ export declare interface Field { value: any, error: boolean, dirty: boolean, + isDirty: boolean, setValue: (v: any) => void, onChange: (v: any, config?: FieldConfig) => void, onBlur: (event: any, config?: FieldConfig) => void, @@ -38,6 +39,8 @@ export declare function submitForm(fields: Fields, onSubmit: (values: object) => export declare function cancelForm(fields: Fields, onCancel: () => void): void; +export declare function isDirty(fields: Fields): boolean; + export declare function noError(): true; export declare function areEqual(v1: any, v2: any): boolean; From fdef8364f99f9482955c6ed4b8418cffc8c12382 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 29 Oct 2025 12:07:28 +0000 Subject: [PATCH 09/22] Update documentation for isDirty feature Co-authored-by: jpaladin <12514334+jpaladin@users.noreply.github.com> --- README.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 51789d6..1762f74 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,8 @@ * Keeps form's state and validation results * Supports any kind of validation functions -* Dirty checking +* Dirty checking (both user interaction and value change tracking) +* Track changes from initial values with `isDirty` * Separates data from view * Relies on hooks, but can easily be used with class components @@ -87,7 +88,7 @@ Hook that keeps on form field's data. | Type
| Description | |---- | ----------- | -| _{
   value: any,
   error: boolean
   dirty: boolean,
   onChange: (any, config?) => void
   onBlur: (event, config?) => void
   setValue: (value: any) => void
   validate: (any, config?) => boolean or Promise<boolean>
   reset: () => void,
   props: {
      value: any,
      onChange: (any, config?) => void
      onBlur: (event, config?) => void
   }
}_ | Object with field's data and callbacks.

  • `value` - field's current value
  • `error` - is error present flag (`true` if value was validated and didn't pass validation, `false` otherwise)
  • `onChange` - callback for change event (changes the value and validates it if previous value wasn't correct)
  • `onBlur` - callback for blur event (validates the value)
  • `setValue` - function for setting the internal value (does not validate the input, enabling support for async data loading)
  • `validate` - function for validating field's value
  • `reset` - function for resetting field's data
  • `dirty` - indicates whether value of field was changed from initial value
  • `props` - set of props that can be spread on standard input elements (same as props in root object, just grouped for better DX)

`onChange`, `onBlur` and `validate` functions accept config as last parameter - this will override config from `useValidation` if provided. | +| _{
   value: any,
   error: boolean
   dirty: boolean,
   isDirty: boolean,
   onChange: (any, config?) => void
   onBlur: (event, config?) => void
   setValue: (value: any) => void
   validate: (any, config?) => boolean or Promise<boolean>
   reset: () => void,
   props: {
      value: any,
      onChange: (any, config?) => void
      onBlur: (event, config?) => void
   }
}_ | Object with field's data and callbacks.

  • `value` - field's current value
  • `error` - is error present flag (`true` if value was validated and didn't pass validation, `false` otherwise)
  • `dirty` - indicates whether value of field was changed by user (used internally for validation timing)
  • `isDirty` - indicates whether current value differs from initial value (useful for enabling Save buttons)
  • `onChange` - callback for change event (changes the value and validates it if previous value wasn't correct)
  • `onBlur` - callback for blur event (validates the value)
  • `setValue` - function for setting the internal value (does not validate the input, enabling support for async data loading; also updates the initial value so `isDirty` remains `false`)
  • `validate` - function for validating field's value
  • `reset` - function for resetting field's data
  • `props` - set of props that can be spread on standard input elements (same as props in root object, just grouped for better DX)

`onChange`, `onBlur` and `validate` functions accept config as last parameter - this will override config from `useValidation` if provided. | #### Usage example @@ -263,6 +264,55 @@ const onCancel = (data) => alert("Form has been reset"); cancelForm(userFormData, onCancel); ``` +### `isDirty(fields)` + +Util function for checking if any field in a form has been changed from its initial value. This is useful for enabling/disabling Save buttons based on whether the user has made any changes. + +#### Params + +| Name | Type
| Required | Description | +| ---- | ---- | ---- | ----------- | +| fields | _{
  key: { isDirty: boolean },
  ...
}_ | yes | Form field's data (each field must have `isDirty` property - other properties are not important) | + +#### Returns + +| Type
| Description | +|---- | ----------- | +| _boolean_ | `true` if any field has been changed from its initial value, `false` otherwise | + +#### Usage example + +```jsx +import { ..., isDirty } from '@enterwell/react-form-validation'; + +/* useValidation example's code... */ + +const formData = { + name: useValidation('', isNonEmptyString), + email: useValidation('', isValidEmail) +}; + +// Load data from API +useEffect(() => { + if (item) { + setValues(formData, { + name: item.name, + email: item.email + }); + } +}, [item]); + +// Check if form has changes +const hasChanges = isDirty(formData); + +return ( +
+ {/* Form inputs */} + +
+); +``` + ___ _Unless otherwise stated, each validation function will have the following #### Params and #### Returns._ From a281dc945a5da68e9949d0a844bdead6ba9bf875 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 29 Oct 2025 12:09:30 +0000 Subject: [PATCH 10/22] Address code review feedback Co-authored-by: jpaladin <12514334+jpaladin@users.noreply.github.com> --- README.md | 2 +- cypress/components/isDirtyIntegration.cy.jsx | 71 ++++++++++++++++++++ 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 cypress/components/isDirtyIntegration.cy.jsx diff --git a/README.md b/README.md index 1762f74..d7731ec 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ * Keeps form's state and validation results * Supports any kind of validation functions -* Dirty checking (both user interaction and value change tracking) +* Dirty checking (tracks both user interactions and value changes from initial state) * Track changes from initial values with `isDirty` * Separates data from view * Relies on hooks, but can easily be used with class components diff --git a/cypress/components/isDirtyIntegration.cy.jsx b/cypress/components/isDirtyIntegration.cy.jsx new file mode 100644 index 0000000..0da525d --- /dev/null +++ b/cypress/components/isDirtyIntegration.cy.jsx @@ -0,0 +1,71 @@ +import React, { useEffect, useState } from 'react'; +import { mount } from '@cypress/react18'; +import { useValidation, isDirty, setValues, isNonEmptyString, isValidEmail } from '../../src'; + +describe('isDirty integration test - Complete workflow', () => { + it('should demonstrate Save button enable/disable with isDirty', () => { + const Component = () => { + const [loaded, setLoaded] = useState(false); + const [formData] = useState(() => ({ + name: useValidation('', isNonEmptyString), + email: useValidation('', isValidEmail) + })); + + const hasChanges = isDirty(formData); + + // Simulate loading data from an API + useEffect(() => { + setTimeout(() => { + setValues(formData, { + name: 'John Doe', + email: 'john@example.com' + }); + setLoaded(true); + }, 100); + }, [formData]); + + return ( +
+ {loaded && ( + <> + + + +

{hasChanges.toString()}

+ + )} +
+ ); + }; + + mount(); + + // Initially loading, no button + cy.get('[data-testid="save"]').should('not.exist'); + + // After data loads, button should be disabled (no changes yet) + cy.wait(150); + cy.get('[data-testid="save"]').should('be.disabled'); + cy.get('[data-testid="hasChanges"]').should('have.text', 'false'); + + // After user makes a change, button should be enabled + cy.get('[data-testid="name"]').clear().type('Jane Doe'); + cy.get('[data-testid="save"]').should('not.be.disabled'); + cy.get('[data-testid="hasChanges"]').should('have.text', 'true'); + + // After reverting to original value, button should be disabled again + cy.get('[data-testid="name"]').clear().type('John Doe'); + cy.get('[data-testid="save"]').should('be.disabled'); + cy.get('[data-testid="hasChanges"]').should('have.text', 'false'); + + // Changing another field should enable the button + cy.get('[data-testid="email"]').clear().type('jane@example.com'); + cy.get('[data-testid="save"]').should('not.be.disabled'); + cy.get('[data-testid="hasChanges"]').should('have.text', 'true'); + }); +}); From bc785e9a6656c6a786c0543f6e60e4cb924ff91d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 29 Oct 2025 13:30:53 +0000 Subject: [PATCH 11/22] Change dirty to computed property, remove isDirty Co-authored-by: jpaladin <12514334+jpaladin@users.noreply.github.com> --- README.md | 7 ++-- cypress/components/isDirty.cy.jsx | 36 ++++++++++---------- cypress/components/isDirtyIntegration.cy.jsx | 10 +++--- src/formUtils.js | 2 +- src/useValidation.js | 17 ++------- types/index.d.ts | 1 - 6 files changed, 29 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index d7731ec..bd67bed 100644 --- a/README.md +++ b/README.md @@ -15,8 +15,7 @@ * Keeps form's state and validation results * Supports any kind of validation functions -* Dirty checking (tracks both user interactions and value changes from initial state) -* Track changes from initial values with `isDirty` +* Dirty checking (tracks value changes from initial state) * Separates data from view * Relies on hooks, but can easily be used with class components @@ -88,7 +87,7 @@ Hook that keeps on form field's data. | Type
| Description | |---- | ----------- | -| _{
   value: any,
   error: boolean
   dirty: boolean,
   isDirty: boolean,
   onChange: (any, config?) => void
   onBlur: (event, config?) => void
   setValue: (value: any) => void
   validate: (any, config?) => boolean or Promise<boolean>
   reset: () => void,
   props: {
      value: any,
      onChange: (any, config?) => void
      onBlur: (event, config?) => void
   }
}_ | Object with field's data and callbacks.

  • `value` - field's current value
  • `error` - is error present flag (`true` if value was validated and didn't pass validation, `false` otherwise)
  • `dirty` - indicates whether value of field was changed by user (used internally for validation timing)
  • `isDirty` - indicates whether current value differs from initial value (useful for enabling Save buttons)
  • `onChange` - callback for change event (changes the value and validates it if previous value wasn't correct)
  • `onBlur` - callback for blur event (validates the value)
  • `setValue` - function for setting the internal value (does not validate the input, enabling support for async data loading; also updates the initial value so `isDirty` remains `false`)
  • `validate` - function for validating field's value
  • `reset` - function for resetting field's data
  • `props` - set of props that can be spread on standard input elements (same as props in root object, just grouped for better DX)

`onChange`, `onBlur` and `validate` functions accept config as last parameter - this will override config from `useValidation` if provided. | +| _{
   value: any,
   error: boolean
   dirty: boolean,
   onChange: (any, config?) => void
   onBlur: (event, config?) => void
   setValue: (value: any) => void
   validate: (any, config?) => boolean or Promise<boolean>
   reset: () => void,
   props: {
      value: any,
      onChange: (any, config?) => void
      onBlur: (event, config?) => void
   }
}_ | Object with field's data and callbacks.

  • `value` - field's current value
  • `error` - is error present flag (`true` if value was validated and didn't pass validation, `false` otherwise)
  • `dirty` - indicates whether current value differs from initial value (useful for enabling Save buttons and tracking changes)
  • `onChange` - callback for change event (changes the value and validates it if previous value wasn't correct)
  • `onBlur` - callback for blur event (validates the value)
  • `setValue` - function for setting the internal value (does not validate the input, enabling support for async data loading; also updates the initial value so `dirty` remains `false`)
  • `validate` - function for validating field's value
  • `reset` - function for resetting field's data
  • `props` - set of props that can be spread on standard input elements (same as props in root object, just grouped for better DX)

`onChange`, `onBlur` and `validate` functions accept config as last parameter - this will override config from `useValidation` if provided. | #### Usage example @@ -272,7 +271,7 @@ Util function for checking if any field in a form has been changed from its init | Name | Type
| Required | Description | | ---- | ---- | ---- | ----------- | -| fields | _{
  key: { isDirty: boolean },
  ...
}_ | yes | Form field's data (each field must have `isDirty` property - other properties are not important) | +| fields | _{
  key: { dirty: boolean },
  ...
}_ | yes | Form field's data (each field must have `dirty` property - other properties are not important) | #### Returns diff --git a/cypress/components/isDirty.cy.jsx b/cypress/components/isDirty.cy.jsx index 69e4d6e..7738cfc 100644 --- a/cypress/components/isDirty.cy.jsx +++ b/cypress/components/isDirty.cy.jsx @@ -10,13 +10,13 @@ describe('isDirty functionality', () => { return (
-

{field.isDirty.toString()}

+

{field.dirty.toString()}

); }; mount(); - cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + cy.get('[data-testid="dirty"]').should('have.text', 'false'); }); it('should be true after onChange', () => { @@ -26,15 +26,15 @@ describe('isDirty functionality', () => { return (
-

{field.isDirty.toString()}

+

{field.dirty.toString()}

); }; mount(); - cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + cy.get('[data-testid="dirty"]').should('have.text', 'false'); cy.get('[data-testid="input"]').clear().type('changed'); - cy.get('[data-testid="isDirty"]').should('have.text', 'true'); + cy.get('[data-testid="dirty"]').should('have.text', 'true'); }); it('should be false after onChange back to initial value', () => { @@ -44,17 +44,17 @@ describe('isDirty functionality', () => { return (
-

{field.isDirty.toString()}

+

{field.dirty.toString()}

); }; mount(); - cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + cy.get('[data-testid="dirty"]').should('have.text', 'false'); cy.get('[data-testid="input"]').clear().type('changed'); - cy.get('[data-testid="isDirty"]').should('have.text', 'true'); + cy.get('[data-testid="dirty"]').should('have.text', 'true'); cy.get('[data-testid="input"]').clear().type('initial'); - cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + cy.get('[data-testid="dirty"]').should('have.text', 'false'); }); it('should remain false after setValue', () => { @@ -72,17 +72,17 @@ describe('isDirty functionality', () => {
-

{field.isDirty.toString()}

+

{field.dirty.toString()}

{field.value}

); }; mount(); - cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + cy.get('[data-testid="dirty"]').should('have.text', 'false'); cy.get('[data-testid="button"]').click(); cy.get('[data-testid="value"]').should('have.text', 'newInitial'); - cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + cy.get('[data-testid="dirty"]').should('have.text', 'false'); }); it('should be true after setValue then onChange', () => { @@ -100,16 +100,16 @@ describe('isDirty functionality', () => {
-

{field.isDirty.toString()}

+

{field.dirty.toString()}

); }; mount(); cy.get('[data-testid="button"]').click(); - cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + cy.get('[data-testid="dirty"]').should('have.text', 'false'); cy.get('[data-testid="input"]').clear().type('changed'); - cy.get('[data-testid="isDirty"]').should('have.text', 'true'); + cy.get('[data-testid="dirty"]').should('have.text', 'true'); }); it('should be false after reset', () => { @@ -120,16 +120,16 @@ describe('isDirty functionality', () => {
-

{field.isDirty.toString()}

+

{field.dirty.toString()}

); }; mount(); cy.get('[data-testid="input"]').clear().type('changed'); - cy.get('[data-testid="isDirty"]').should('have.text', 'true'); + cy.get('[data-testid="dirty"]').should('have.text', 'true'); cy.get('[data-testid="reset"]').click(); - cy.get('[data-testid="isDirty"]').should('have.text', 'false'); + cy.get('[data-testid="dirty"]').should('have.text', 'false'); }); }); diff --git a/cypress/components/isDirtyIntegration.cy.jsx b/cypress/components/isDirtyIntegration.cy.jsx index 0da525d..4029471 100644 --- a/cypress/components/isDirtyIntegration.cy.jsx +++ b/cypress/components/isDirtyIntegration.cy.jsx @@ -36,7 +36,7 @@ describe('isDirty integration test - Complete workflow', () => { > Save -

{hasChanges.toString()}

+

{hasChanges.toString()}

)} @@ -51,21 +51,21 @@ describe('isDirty integration test - Complete workflow', () => { // After data loads, button should be disabled (no changes yet) cy.wait(150); cy.get('[data-testid="save"]').should('be.disabled'); - cy.get('[data-testid="hasChanges"]').should('have.text', 'false'); + cy.get('[data-testid="dirty"]').should('have.text', 'false'); // After user makes a change, button should be enabled cy.get('[data-testid="name"]').clear().type('Jane Doe'); cy.get('[data-testid="save"]').should('not.be.disabled'); - cy.get('[data-testid="hasChanges"]').should('have.text', 'true'); + cy.get('[data-testid="dirty"]').should('have.text', 'true'); // After reverting to original value, button should be disabled again cy.get('[data-testid="name"]').clear().type('John Doe'); cy.get('[data-testid="save"]').should('be.disabled'); - cy.get('[data-testid="hasChanges"]').should('have.text', 'false'); + cy.get('[data-testid="dirty"]').should('have.text', 'false'); // Changing another field should enable the button cy.get('[data-testid="email"]').clear().type('jane@example.com'); cy.get('[data-testid="save"]').should('not.be.disabled'); - cy.get('[data-testid="hasChanges"]').should('have.text', 'true'); + cy.get('[data-testid="dirty"]').should('have.text', 'true'); }); }); diff --git a/src/formUtils.js b/src/formUtils.js index 2a097d2..36eb467 100644 --- a/src/formUtils.js +++ b/src/formUtils.js @@ -76,7 +76,7 @@ export const validateFields = (fields) => { * @returns {boolean} true if any field is dirty, false otherwise */ export const isDirty = (fields) => { - return Object.values(fields).some(field => field.isDirty); + return Object.values(fields).some(field => field.dirty); }; /** diff --git a/src/useValidation.js b/src/useValidation.js index 6fc2b83..33b513b 100644 --- a/src/useValidation.js +++ b/src/useValidation.js @@ -29,21 +29,15 @@ export const useValidation = (defaultValue, validationFn, config) => { const [resetToValue, setResetToValue] = useState(defaultValue); const [value, setValue] = useState(resetToValue); const [error, setError] = useState(false); - const [dirty, setDirty] = useState(false); - // isDirty compares current value with initial value - const isDirty = value !== resetToValue; + // dirty compares current value with initial value + const dirty = value !== resetToValue; const onChange = (e, config) => { const activeConfig = config ?? _config; const v = activeConfig.receiveEvent ? e.target.value : e; setValue(v); - // Setting dirty flag indicates that value has been changed - if (!activeConfig.ignoreDirtiness && !dirty) { - setDirty(true); - } - // Value is validated on change, only if previously was incorrect if (error) { validate(v, activeConfig); @@ -57,11 +51,6 @@ export const useValidation = (defaultValue, validationFn, config) => { if (activeConfig.ignoreDirtiness || dirty) { validate(value, activeConfig); } - - // Resets the dirty flag - if (!activeConfig.ignoreDirtiness && !dirty) { - setDirty(false); - } }; const _handleSetValue = (v) => { @@ -94,14 +83,12 @@ export const useValidation = (defaultValue, validationFn, config) => { const reset = () => { setValue(defaultValue); setError(false); - setDirty(false); }; return { value, error, dirty, - isDirty, onChange, onBlur, setValue: _handleSetValue, diff --git a/types/index.d.ts b/types/index.d.ts index 7cfa335..94a41e2 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -8,7 +8,6 @@ export declare interface Field { value: any, error: boolean, dirty: boolean, - isDirty: boolean, setValue: (v: any) => void, onChange: (v: any, config?: FieldConfig) => void, onBlur: (event: any, config?: FieldConfig) => void, From 86f0ef5e2bd04fe61068ff88792b77c8afe5d872 Mon Sep 17 00:00:00 2001 From: Josip Paladin Date: Tue, 3 Feb 2026 10:49:44 +0100 Subject: [PATCH 12/22] Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/useValidation.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/useValidation.js b/src/useValidation.js index 33b513b..4b0d625 100644 --- a/src/useValidation.js +++ b/src/useValidation.js @@ -81,7 +81,7 @@ export const useValidation = (defaultValue, validationFn, config) => { }; const reset = () => { - setValue(defaultValue); + setValue(resetToValue); setError(false); }; From 029b6c2a5bcea452e09ed44ddc27b51b043c7721 Mon Sep 17 00:00:00 2001 From: Josip Paladin Date: Tue, 3 Feb 2026 10:50:02 +0100 Subject: [PATCH 13/22] Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bd67bed..1766e09 100644 --- a/README.md +++ b/README.md @@ -267,6 +267,7 @@ cancelForm(userFormData, onCancel); Util function for checking if any field in a form has been changed from its initial value. This is useful for enabling/disabling Save buttons based on whether the user has made any changes. +> **Note:** The dirty flag is determined using strict equality (`===`). For complex data types like objects or arrays, only changes to the reference will be detected—not changes to their internal structure. If you mutate an object or array in place, the dirty flag may not update as expected. This is similar to the limitation described for the `areEqual` validation function. #### Params | Name | Type
| Required | Description | From 3000dcd086be20e9c90ed53b25a5398470d7ebe6 Mon Sep 17 00:00:00 2001 From: Josip Paladin Date: Tue, 3 Feb 2026 10:50:35 +0100 Subject: [PATCH 14/22] Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- cypress/components/isDirtyIntegration.cy.jsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cypress/components/isDirtyIntegration.cy.jsx b/cypress/components/isDirtyIntegration.cy.jsx index 4029471..38d8725 100644 --- a/cypress/components/isDirtyIntegration.cy.jsx +++ b/cypress/components/isDirtyIntegration.cy.jsx @@ -6,10 +6,9 @@ describe('isDirty integration test - Complete workflow', () => { it('should demonstrate Save button enable/disable with isDirty', () => { const Component = () => { const [loaded, setLoaded] = useState(false); - const [formData] = useState(() => ({ - name: useValidation('', isNonEmptyString), - email: useValidation('', isValidEmail) - })); + const name = useValidation('', isNonEmptyString); + const email = useValidation('', isValidEmail); + const formData = { name, email }; const hasChanges = isDirty(formData); From d3fe7c9647ed2ba02705a69b201ef3513346bdca Mon Sep 17 00:00:00 2001 From: Josip Paladin Date: Tue, 3 Feb 2026 10:50:49 +0100 Subject: [PATCH 15/22] Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- cypress/components/isDirty.cy.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/cypress/components/isDirty.cy.jsx b/cypress/components/isDirty.cy.jsx index 7738cfc..264b501 100644 --- a/cypress/components/isDirty.cy.jsx +++ b/cypress/components/isDirty.cy.jsx @@ -224,7 +224,6 @@ describe('isDirty functionality', () => { const Component = () => { const email = useValidation('', isNonEmptyString); const name = useValidation('', isNonEmptyString); - const [loaded, setLoaded] = useState(false); const [changed, setChanged] = useState(false); useEffect(() => { From c0b84984076038fdf5c92af7e5de21877b46c30c Mon Sep 17 00:00:00 2001 From: Josip Paladin Date: Tue, 3 Feb 2026 10:55:51 +0100 Subject: [PATCH 16/22] removed unused state --- cypress/components/isDirty.cy.jsx | 33 +++++++++++++++---------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/cypress/components/isDirty.cy.jsx b/cypress/components/isDirty.cy.jsx index 264b501..2a03f9e 100644 --- a/cypress/components/isDirty.cy.jsx +++ b/cypress/components/isDirty.cy.jsx @@ -7,7 +7,7 @@ describe('isDirty functionality', () => { it('should be false initially', () => { const Component = () => { const field = useValidation('initial', isNonEmptyString); - + return (

{field.dirty.toString()}

@@ -22,7 +22,7 @@ describe('isDirty functionality', () => { it('should be true after onChange', () => { const Component = () => { const field = useValidation('initial', isNonEmptyString); - + return (
@@ -40,7 +40,7 @@ describe('isDirty functionality', () => { it('should be false after onChange back to initial value', () => { const Component = () => { const field = useValidation('initial', isNonEmptyString); - + return (
@@ -61,13 +61,13 @@ describe('isDirty functionality', () => { const Component = () => { const field = useValidation('', isNonEmptyString); const [clicked, setClicked] = useState(false); - + useEffect(() => { if (clicked) { field.setValue('newInitial'); } }, [clicked]); - + return (
@@ -89,13 +89,13 @@ describe('isDirty functionality', () => { const Component = () => { const field = useValidation('', isNonEmptyString); const [clicked, setClicked] = useState(false); - + useEffect(() => { if (clicked) { field.setValue('newInitial'); } }, [clicked]); - + return (
@@ -115,7 +115,7 @@ describe('isDirty functionality', () => { it('should be false after reset', () => { const Component = () => { const field = useValidation('initial', isNonEmptyString); - + return (
@@ -140,11 +140,11 @@ describe('isDirty functionality', () => { const Component = () => { const email = useValidation('initial@test.com', isNonEmptyString); const name = useValidation('Initial Name', isNonEmptyString); - + useEffect(() => { result = isDirty({ email, name }); }, []); - + return
; }; @@ -161,13 +161,13 @@ describe('isDirty functionality', () => { const email = useValidation('initial@test.com', isNonEmptyString); const name = useValidation('Initial Name', isNonEmptyString); const [changed, setChanged] = useState(false); - + useEffect(() => { if (changed) { result = isDirty({ email, name }); } }, [changed]); - + return (
@@ -193,7 +193,7 @@ describe('isDirty functionality', () => { const email = useValidation('', isNonEmptyString); const name = useValidation('', isNonEmptyString); const [loaded, setLoaded] = useState(false); - + useEffect(() => { // Simulate loading data from API setValues({ email, name }, { @@ -208,7 +208,7 @@ describe('isDirty functionality', () => { result = isDirty({ email, name }); } }, [loaded]); - + return
; }; @@ -225,14 +225,13 @@ describe('isDirty functionality', () => { const email = useValidation('', isNonEmptyString); const name = useValidation('', isNonEmptyString); const [changed, setChanged] = useState(false); - + useEffect(() => { // Simulate loading data from API setValues({ email, name }, { email: 'loaded@test.com', name: 'Loaded Name' }); - setLoaded(true); }, []); useEffect(() => { @@ -240,7 +239,7 @@ describe('isDirty functionality', () => { result = isDirty({ email, name }); } }, [changed]); - + return (
From 5435698c808ba91a4d30fffe67127f8bdfdccf29 Mon Sep 17 00:00:00 2001 From: Josip Paladin Date: Tue, 3 Feb 2026 11:06:54 +0100 Subject: [PATCH 17/22] fixed form data change loop --- cypress/components/isDirtyIntegration.cy.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cypress/components/isDirtyIntegration.cy.jsx b/cypress/components/isDirtyIntegration.cy.jsx index 38d8725..db6d1f4 100644 --- a/cypress/components/isDirtyIntegration.cy.jsx +++ b/cypress/components/isDirtyIntegration.cy.jsx @@ -21,7 +21,7 @@ describe('isDirty integration test - Complete workflow', () => { }); setLoaded(true); }, 100); - }, [formData]); + }, []); return (
From 35356413529a8278676fce1779cee0e52e80ecb8 Mon Sep 17 00:00:00 2001 From: Josip Paladin Date: Tue, 3 Feb 2026 11:17:09 +0100 Subject: [PATCH 18/22] Bump version from 1.5.0 to 1.6.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6daae10..43c66f0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@enterwell/react-form-validation", - "version": "1.5.0", + "version": "1.6.0", "description": "Form validation functionality for React components", "license": "MIT", "repository": { From 3289dcaa0d9088060e5db5b0140ba09948a4203e Mon Sep 17 00:00:00 2001 From: Josip Paladin Date: Tue, 3 Feb 2026 11:24:46 +0100 Subject: [PATCH 19/22] Fixed tests hanging --- cypress/components/localRemoteValidation.cy.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cypress/components/localRemoteValidation.cy.jsx b/cypress/components/localRemoteValidation.cy.jsx index b37b711..8559273 100644 --- a/cypress/components/localRemoteValidation.cy.jsx +++ b/cypress/components/localRemoteValidation.cy.jsx @@ -50,7 +50,7 @@ describe('useValidation', () => { if (email.value) { email.validate(email.value); } - }, [email]); + }, []); return (
@@ -176,8 +176,8 @@ describe('formUtils', () => { function Component() { const email = useValidation(testEmailValid, emailValidationRemote); - useEffect(async () => { - result = await submitForm([email], () => expectedResult); + useEffect(() => { + submitForm([email], () => expectedResult).then(r => result = r); }, []); return (
); } @@ -188,4 +188,4 @@ describe('formUtils', () => { expect(result).to.eql(expectedResult); }); }); -}); \ No newline at end of file +}); From aa0fe630475cfe3a59f0656f89cd275f5d8e7c23 Mon Sep 17 00:00:00 2001 From: Aleksandar Toplek Date: Tue, 3 Feb 2026 12:44:33 +0100 Subject: [PATCH 20/22] chore: add pnpm workspace configuration to specify only built dependencies --- .github/workflows/build.yml | 2 +- .github/workflows/npm-publish.yml | 4 +- .nvmrc | 1 + ...alse when no fields are dirty (failed).png | Bin 0 -> 45164 bytes package.json | 16 +-- pnpm-lock.yaml | 124 ++++++++---------- pnpm-workspace.yaml | 3 + 7 files changed, 73 insertions(+), 77 deletions(-) create mode 100644 .nvmrc create mode 100644 cypress/screenshots/isDirty.cy.jsx/isDirty functionality -- isDirty helper function -- should return false when no fields are dirty (failed).png create mode 100644 pnpm-workspace.yaml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a813701..c438eda 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,7 +18,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 22 - name: Enable Corepack run: corepack enable - run: pnpm install diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 5f2b589..ff37e6c 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -8,7 +8,7 @@ on: branches: - master paths: - - 'src/**' + - "src/**" jobs: buildAndPublish: @@ -17,7 +17,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 22 registry-url: "https://registry.npmjs.org" - name: Enable Corepack run: corepack enable diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..517f386 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v22.14.0 diff --git a/cypress/screenshots/isDirty.cy.jsx/isDirty functionality -- isDirty helper function -- should return false when no fields are dirty (failed).png b/cypress/screenshots/isDirty.cy.jsx/isDirty functionality -- isDirty helper function -- should return false when no fields are dirty (failed).png new file mode 100644 index 0000000000000000000000000000000000000000..d0083696f5f65d3b72d845741641e28df0c9ebb1 GIT binary patch literal 45164 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" + "node": ">=22" }, - "packageManager": "pnpm@9.9.0", + "packageManager": "pnpm@10.28.2", "scripts": { "build": "vite build", "test": "cross-env NODE_ENV=test cypress run --component", @@ -35,15 +35,15 @@ ], "devDependencies": { "@cypress/react18": "2.0.1", - "@types/react-dom": "18.3.0", + "@types/react-dom": "19.2.3", "@vitejs/plugin-react": "4.3.1", - "cross-env": "7.0.3", + "cross-env": "10.1.0", "cypress": "13.14.1", - "react": "18.3.1", - "react-dom": "18.3.1", + "react": "19.2.4", + "react-dom": "19.2.4", "vite": "5.4.2" }, "peerDependencies": { - "react": "^16.13.1 || ^17 || ^18" + "react": "^16.13.1 || ^17 || ^18 || ^19" } -} +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fb3e849..b3bf8e4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,25 +10,25 @@ importers: devDependencies: '@cypress/react18': specifier: 2.0.1 - version: 2.0.1(@types/react-dom@18.3.0)(@types/react@18.3.5)(cypress@13.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.0.1(@types/react-dom@19.2.3)(cypress@13.14.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@types/react-dom': - specifier: 18.3.0 - version: 18.3.0 + specifier: 19.2.3 + version: 19.2.3 '@vitejs/plugin-react': specifier: 4.3.1 version: 4.3.1(vite@5.4.2(@types/node@22.5.2)) cross-env: - specifier: 7.0.3 - version: 7.0.3 + specifier: 10.1.0 + version: 10.1.0 cypress: specifier: 13.14.1 version: 13.14.1 react: - specifier: 18.3.1 - version: 18.3.1 + specifier: 19.2.4 + version: 19.2.4 react-dom: - specifier: 18.3.1 - version: 18.3.1(react@18.3.1) + specifier: 19.2.4 + version: 19.2.4(react@19.2.4) vite: specifier: 5.4.2 version: 5.4.2(@types/node@22.5.2) @@ -149,6 +149,9 @@ packages: '@cypress/xvfb@1.2.4': resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} + '@epic-web/invariant@1.0.0': + resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} + '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} @@ -329,46 +332,55 @@ packages: resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.21.2': resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.21.2': resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.21.2': resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.21.2': resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-s390x-gnu@4.21.2': resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.21.2': resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.21.2': resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-win32-arm64-msvc@4.21.2': resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} @@ -403,14 +415,10 @@ packages: '@types/node@22.5.2': resolution: {integrity: sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==} - '@types/prop-types@15.7.12': - resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} - - '@types/react-dom@18.3.0': - resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} - - '@types/react@18.3.5': - resolution: {integrity: sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==} + '@types/react-dom@19.2.3': + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + peerDependencies: + '@types/react': ^19.2.0 '@types/sinonjs__fake-timers@8.1.1': resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} @@ -584,17 +592,18 @@ packages: core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - cross-env@7.0.3: - resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} - engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + cross-env@10.1.0: + resolution: {integrity: sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==} + engines: {node: '>=20'} hasBin: true cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} cypress@13.14.1: resolution: {integrity: sha512-Wo+byPmjps66hACEH5udhXINEiN3qS3jWNGRzJOjrRJF3D0+YrcP2LVB1T7oYaVQM/S+eanqEvBWYc8cf7Vcbg==} @@ -882,10 +891,6 @@ packages: resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} engines: {node: '>=10'} - loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -992,17 +997,17 @@ packages: querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - react-dom@18.3.1: - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + react-dom@19.2.4: + resolution: {integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==} peerDependencies: - react: ^18.3.1 + react: ^19.2.4 react-refresh@0.14.2: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} - react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + react@19.2.4: + resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==} engines: {node: '>=0.10.0'} request-progress@3.0.0: @@ -1032,8 +1037,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} @@ -1354,14 +1359,12 @@ snapshots: '@colors/colors@1.5.0': optional: true - '@cypress/react18@2.0.1(@types/react-dom@18.3.0)(@types/react@18.3.5)(cypress@13.14.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@cypress/react18@2.0.1(@types/react-dom@19.2.3)(cypress@13.14.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@types/react-dom': 18.3.0 + '@types/react-dom': 19.2.3 cypress: 13.14.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.5 + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) '@cypress/request@3.0.1': dependencies: @@ -1391,6 +1394,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@epic-web/invariant@1.0.0': {} + '@esbuild/aix-ppc64@0.21.5': optional: true @@ -1553,16 +1558,7 @@ snapshots: undici-types: 6.19.8 optional: true - '@types/prop-types@15.7.12': {} - - '@types/react-dom@18.3.0': - dependencies: - '@types/react': 18.3.5 - - '@types/react@18.3.5': - dependencies: - '@types/prop-types': 15.7.12 - csstype: 3.1.3 + '@types/react-dom@19.2.3': {} '@types/sinonjs__fake-timers@8.1.1': {} @@ -1721,9 +1717,10 @@ snapshots: core-util-is@1.0.2: {} - cross-env@7.0.3: + cross-env@10.1.0: dependencies: - cross-spawn: 7.0.3 + '@epic-web/invariant': 1.0.0 + cross-spawn: 7.0.6 cross-spawn@7.0.3: dependencies: @@ -1731,7 +1728,11 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - csstype@3.1.3: {} + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 cypress@13.14.1: dependencies: @@ -2061,10 +2062,6 @@ snapshots: slice-ansi: 4.0.0 wrap-ansi: 6.2.0 - loose-envify@1.4.0: - dependencies: - js-tokens: 4.0.0 - lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -2146,17 +2143,14 @@ snapshots: querystringify@2.2.0: {} - react-dom@18.3.1(react@18.3.1): + react-dom@19.2.4(react@19.2.4): dependencies: - loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 + react: 19.2.4 + scheduler: 0.27.0 react-refresh@0.14.2: {} - react@18.3.1: - dependencies: - loose-envify: 1.4.0 + react@19.2.4: {} request-progress@3.0.0: dependencies: @@ -2201,9 +2195,7 @@ snapshots: safer-buffer@2.1.2: {} - scheduler@0.23.2: - dependencies: - loose-envify: 1.4.0 + scheduler@0.27.0: {} semver@6.3.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..e23847f --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +onlyBuiltDependencies: + - cypress + - esbuild From dbd57b207119d3919a1b2e84de116d6c010da50d Mon Sep 17 00:00:00 2001 From: Aleksandar Toplek Date: Tue, 3 Feb 2026 12:55:42 +0100 Subject: [PATCH 21/22] Refactor code structure for improved readability and maintainability --- cypress/components/isDirty.cy.jsx | 3 +- cypress/components/isDirtyIntegration.cy.jsx | 8 +- .../components/localRemoteValidation.cy.jsx | 4 +- ...alse when no fields are dirty (failed).png | Bin 45164 -> 48304 bytes ...Form_localInvalidReturnValues (failed).png | Bin 0 -> 49883 bytes ...itForm_localValidReturnValues (failed).png | Bin 0 -> 50368 bytes ...ils -- submitForm_remoteValid (failed).png | Bin 0 -> 45121 bytes ...tForm_remoteValidReturnValues (failed).png | Bin 0 -> 49356 bytes cypress/support/component.js | 2 +- package.json | 8 +- pnpm-lock.yaml | 1616 +++++++++-------- 11 files changed, 869 insertions(+), 772 deletions(-) create mode 100644 cypress/screenshots/localRemoteValidation.cy.jsx/formUtils -- submitForm_localInvalidReturnValues (failed).png create mode 100644 cypress/screenshots/localRemoteValidation.cy.jsx/formUtils -- submitForm_localValidReturnValues (failed).png create mode 100644 cypress/screenshots/localRemoteValidation.cy.jsx/formUtils -- submitForm_remoteValid (failed).png create mode 100644 cypress/screenshots/localRemoteValidation.cy.jsx/formUtils -- submitForm_remoteValidReturnValues (failed).png diff --git a/cypress/components/isDirty.cy.jsx b/cypress/components/isDirty.cy.jsx index 2a03f9e..7865925 100644 --- a/cypress/components/isDirty.cy.jsx +++ b/cypress/components/isDirty.cy.jsx @@ -1,5 +1,5 @@ import React, { useEffect, useState } from 'react'; -import { mount } from '@cypress/react18'; +import { mount } from 'cypress/react'; import { useValidation, isDirty, setValues, isNonEmptyString } from '../../src'; describe('isDirty functionality', () => { @@ -149,6 +149,7 @@ describe('isDirty functionality', () => { }; mount(); + cy.then(() => { expect(result).to.be.false; }); diff --git a/cypress/components/isDirtyIntegration.cy.jsx b/cypress/components/isDirtyIntegration.cy.jsx index db6d1f4..922b28f 100644 --- a/cypress/components/isDirtyIntegration.cy.jsx +++ b/cypress/components/isDirtyIntegration.cy.jsx @@ -1,5 +1,5 @@ import React, { useEffect, useState } from 'react'; -import { mount } from '@cypress/react18'; +import { mount } from 'cypress/react'; import { useValidation, isDirty, setValues, isNonEmptyString, isValidEmail } from '../../src'; describe('isDirty integration test - Complete workflow', () => { @@ -9,7 +9,7 @@ describe('isDirty integration test - Complete workflow', () => { const name = useValidation('', isNonEmptyString); const email = useValidation('', isValidEmail); const formData = { name, email }; - + const hasChanges = isDirty(formData); // Simulate loading data from an API @@ -29,8 +29,8 @@ describe('isDirty integration test - Complete workflow', () => { <> -