diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 5ae929aadda..679f537a948 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -37,7 +37,7 @@ jobs: uses: tj-actions/eslint-changed-files@v18 with: config_path: "src/main/webapp/.eslintrc.js" - extra_args: "--max-warnings=0" + extra_args: "--max-warnings=0 --parser-options project:src/main/webapp/tsconfig.json" file_extensions: | src/main/webapp/resources/js/**/*.ts src/main/webapp/resources/js/**/*.tsx diff --git a/CHANGELOG.md b/CHANGELOG.md index dace2fbf4cf..47ed9b5efa3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ * [UI]: Fixed bug where the `User` column was named `User Group` on the admin User Groups page. [See PR 1450](https://github.com/phac-nml/irida/pull/1450) * [Developer]: Replaced Apache OLTU with Nimbusds for performing OAuth2 authentication flow during syncing and Galaxy exporting. See [PR 1432](https://github.com/phac-nml/irida/pull/1432) * [Developer/UI]: Performance enhancements to the metadata uploader. See [PR 1445](https://github.com/phac-nml/irida/pull/1445). +* [UI/Developer]: Updated Eslint config to use `airbnb`. [See PR 1454](https://github.com/phac-nml/irida/pull/1454) ## [22.09.7] - 2022/01/24 * [UI]: Fixed bugs on NCBI Export page preventing the NCBI `submission.xml` file from being properly written. See [PR 1451](https://github.com/phac-nml/irida/pull/1451) diff --git a/build.gradle.kts b/build.gradle.kts index e1b573f3bab..a6670aa35c5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -301,6 +301,11 @@ tasks.register("cleanWebapp") { pnpmCommand.set(listOf("clean")) } +tasks.register("lintWebapp") { + dependsOn(":pnpmInstall") + pnpmCommand.set(listOf("lint")) +} + tasks.register("buildWebapp") { inputs.files(fileTree("${project.projectDir}/src/main/webapp/resources")) inputs.file("${project.projectDir}/src/main/webapp/package.json") diff --git a/src/main/webapp/.eslintrc.js b/src/main/webapp/.eslintrc.js index bd380cf9cc2..cfe3bb083cf 100644 --- a/src/main/webapp/.eslintrc.js +++ b/src/main/webapp/.eslintrc.js @@ -10,14 +10,13 @@ module.exports = { __webpack_public_path__: true, }, extends: [ - "eslint:recommended", - "plugin:react/recommended", - "plugin:react-hooks/recommended", - "plugin:@typescript-eslint/eslint-recommended", + "airbnb", + "airbnb-typescript", "plugin:@typescript-eslint/recommended", "plugin:prettier/recommended", ], parserOptions: { + project: "./tsconfig.json", ecmaFeatures: { jsx: true, }, @@ -31,22 +30,6 @@ module.exports = { }, }, rules: { - "react/prop-types": 0, - "prefer-destructuring": [ - "error", - { - array: true, - object: true, - }, - { - enforceForRenamedProperties: false, - }, - ], - "prettier/prettier": [ - "error", - { - endOfLine: "auto", - }, - ], + "@typescript-eslint/consistent-type-imports": "warn", }, }; diff --git a/src/main/webapp/package.json b/src/main/webapp/package.json index b767cd50193..90f82e0a2af 100644 --- a/src/main/webapp/package.json +++ b/src/main/webapp/package.json @@ -8,7 +8,7 @@ "clean": "run-z --then rm -rf dist/ pages/templates/i18n/", "test": "run-z --then jest resources/js/**/*.test.js", "test_watch": "run-z --then jest --watch resources/js/**/*.test.js", - "lint": "run-z --then eslint --ext resources/js/**/*.{js,jsx,ts,tsx}" + "lint": "run-z --then eslint --ext .js,.jsx,.ts,.tsx resources/js/" }, "browserslist": [ "last 2 Chrome versions", @@ -90,20 +90,23 @@ "@types/react-virtualized-auto-sizer": "^1.0.1", "@types/react-window": "^1.8.5", "@types/styled-components": "^5.1.25", - "@typescript-eslint/eslint-plugin": "^5.27.0", - "@typescript-eslint/parser": "^5.27.0", + "@typescript-eslint/eslint-plugin": "^5.49.0", + "@typescript-eslint/parser": "^5.49.0", "autoprefixer": "^10.4.4", "babel-loader": "^8.2.4", "babel-plugin-import": "^1.13.5", "browserslist": "^4.20.2", "css-loader": "^6.7.1", "css-minimizer-webpack-plugin": "^3.4.1", - "eslint": "^8.13.0", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-prettier": "^4.0.0", - "eslint-plugin-react": "^7.29.4", - "eslint-plugin-react-hooks": "^4.4.0", + "eslint": "^8.32.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-airbnb-typescript": "^17.0.0", + "eslint-config-prettier": "^8.6.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-react": "^7.32.1", + "eslint-plugin-react-hooks": "^4.6.0", "expose-loader": "^3.1.0", "jest": "^27.5.1", "less": "^4.1.2", diff --git a/src/main/webapp/pnpm-lock.yaml b/src/main/webapp/pnpm-lock.yaml index 9866f5b46ae..cf40936bece 100644 --- a/src/main/webapp/pnpm-lock.yaml +++ b/src/main/webapp/pnpm-lock.yaml @@ -43,8 +43,8 @@ specifiers: '@types/react-virtualized-auto-sizer': ^1.0.1 '@types/react-window': ^1.8.5 '@types/styled-components': ^5.1.25 - '@typescript-eslint/eslint-plugin': ^5.27.0 - '@typescript-eslint/parser': ^5.27.0 + '@typescript-eslint/eslint-plugin': ^5.49.0 + '@typescript-eslint/parser': ^5.49.0 ag-grid-community: ^27.1.0 ag-grid-react: ^27.1.0 antd: 4.19.5 @@ -58,12 +58,15 @@ specifiers: css-minimizer-webpack-plugin: ^3.4.1 dayjs: ^1.11.1 deck.gl: ^8.7.12 - eslint: ^8.13.0 - eslint-config-prettier: ^8.5.0 - eslint-plugin-jsx-a11y: ^6.5.1 - eslint-plugin-prettier: ^4.0.0 - eslint-plugin-react: ^7.29.4 - eslint-plugin-react-hooks: ^4.4.0 + eslint: ^8.32.0 + eslint-config-airbnb: ^19.0.4 + eslint-config-airbnb-typescript: ^17.0.0 + eslint-config-prettier: ^8.6.0 + eslint-plugin-import: ^2.27.5 + eslint-plugin-jsx-a11y: ^6.7.1 + eslint-plugin-prettier: ^4.2.1 + eslint-plugin-react: ^7.32.1 + eslint-plugin-react-hooks: ^4.6.0 expose-loader: ^3.1.0 flexlayout-react: ^0.7.4 gl-matrix: ^3.4.3 @@ -188,20 +191,23 @@ devDependencies: '@types/react-virtualized-auto-sizer': 1.0.1 '@types/react-window': 1.8.5 '@types/styled-components': 5.1.25 - '@typescript-eslint/eslint-plugin': 5.27.0_ljfpvv7dypng7yyhsvie2ogdeu - '@typescript-eslint/parser': 5.27.0_6hvhxfirl4y3p6nuemvvvbadcu + '@typescript-eslint/eslint-plugin': 5.49.0_yp7zhi6aulozdh56jexh6njdgm + '@typescript-eslint/parser': 5.49.0_xxxxlh5gp6rpyhwj2gzuzeb7o4 autoprefixer: 10.4.4_postcss@8.4.12 babel-loader: 8.2.4_h3kngfo6sqnotbut4nntjyiezm babel-plugin-import: 1.13.5 browserslist: 4.20.2 css-loader: 6.7.1_webpack@5.72.0 css-minimizer-webpack-plugin: 3.4.1_webpack@5.72.0 - eslint: 8.13.0 - eslint-config-prettier: 8.5.0_eslint@8.13.0 - eslint-plugin-jsx-a11y: 6.5.1_eslint@8.13.0 - eslint-plugin-prettier: 4.0.0_vyq77qlfwyijisbn35utc2xrra - eslint-plugin-react: 7.29.4_eslint@8.13.0 - eslint-plugin-react-hooks: 4.4.0_eslint@8.13.0 + eslint: 8.32.0 + eslint-config-airbnb: 19.0.4_td5yecidacttadzxcsbd5t7tli + eslint-config-airbnb-typescript: 17.0.0_zvmt5xh6vil4vpagx2utjxrocy + eslint-config-prettier: 8.6.0_eslint@8.32.0 + eslint-plugin-import: 2.27.5_6savw6y3b7jng6f64kgkyoij64 + eslint-plugin-jsx-a11y: 6.7.1_eslint@8.32.0 + eslint-plugin-prettier: 4.2.1_bwiznj6mum4nx2xtr6b6ecukoq + eslint-plugin-react: 7.32.1_eslint@8.32.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.32.0 expose-loader: 3.1.0_webpack@5.72.0 jest: 27.5.1 less: 4.1.2 @@ -284,7 +290,7 @@ packages: peerDependencies: react: '>=16.0.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 json2mq: 0.2.0 lodash: 4.17.21 @@ -1695,19 +1701,18 @@ packages: - supports-color dev: true - /@babel/runtime-corejs3/7.13.10: - resolution: {integrity: sha512-x/XYVQ1h684pp1mJwOV4CyvqZXqbc8CMsMGUnAbuc82ZCdv1U63w5RSUzgDSXQHG5Rps/kiksH6g2D5BuaKyXg==} - dependencies: - core-js-pure: 3.9.1 - regenerator-runtime: 0.13.10 - dev: true - /@babel/runtime/7.20.1: resolution: {integrity: sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.10 + /@babel/runtime/7.20.13: + resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + /@babel/template/7.18.10: resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} engines: {node: '>=6.9.0'} @@ -2051,14 +2056,14 @@ packages: resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} dev: false - /@eslint/eslintrc/1.2.1: - resolution: {integrity: sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==} + /@eslint/eslintrc/1.4.1: + resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.3.1 - globals: 13.12.1 + espree: 9.4.1 + globals: 13.19.0 ignore: 5.2.0 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -2068,8 +2073,8 @@ packages: - supports-color dev: true - /@humanwhocodes/config-array/0.9.3: - resolution: {integrity: sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==} + /@humanwhocodes/config-array/0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -2079,6 +2084,11 @@ packages: - supports-color dev: true + /@humanwhocodes/module-importer/1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + /@humanwhocodes/object-schema/1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true @@ -2358,7 +2368,7 @@ packages: /@loaders.gl/draco/3.2.4: resolution: {integrity: sha512-cagaHY5I1TSBPOUyQS0ZWgLtMqd+Dnx9wUzduAxLXEVBNHIS2kuG/FXJa/vZFHI79++ZG48BnbmDo05ZVUd4GA==} dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 '@loaders.gl/loader-utils': 3.2.4 '@loaders.gl/schema': 3.2.4 '@loaders.gl/worker-utils': 3.2.4 @@ -2393,7 +2403,7 @@ packages: /@loaders.gl/loader-utils/3.2.4: resolution: {integrity: sha512-FwWgQztK5l0Gn7UaIq1LzSKo4751XY1SlQGxibczxRbkwfpbgyCn9yAyJy59HxcqZboYzXi+mrVr7yxLTYAIQg==} dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 '@loaders.gl/worker-utils': 3.2.4 '@probe.gl/stats': 3.5.0 dev: false @@ -2426,7 +2436,7 @@ packages: /@loaders.gl/terrain/3.2.4: resolution: {integrity: sha512-+41KWTn/wm62U+7Nx73tHn1PU8XHUIFK700Diq+VJaien+lbdhIRcqwgQV4NXRjxI/7p1yKn9+YNMGtN08diyA==} dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 '@loaders.gl/loader-utils': 3.2.4 '@loaders.gl/schema': 3.2.4 '@mapbox/martini': 0.2.0 @@ -2461,7 +2471,7 @@ packages: /@loaders.gl/worker-utils/3.2.4: resolution: {integrity: sha512-gGy8+LiyoxfahCgldYDCgXAUXsC3eBkVGqLrqU759+1y/sw3S+vJzZ2Vwpt8lB7+0LEaJ7gLNnGD+x2LekvO+A==} dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 dev: false /@luma.gl/constants/8.5.14: @@ -2471,7 +2481,7 @@ packages: /@luma.gl/core/8.5.14: resolution: {integrity: sha512-YgXxWzBNnoIuo6BTsJdK9tfFBWSzmhqeCGsbGMOVimSRXNMDBXATDL5c/J8pkVSbphjhk5aSOmhUC7C5WzKKYQ==} dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 '@luma.gl/constants': 8.5.14 '@luma.gl/engine': 8.5.14 '@luma.gl/gltools': 8.5.14 @@ -2562,7 +2572,7 @@ packages: /@math.gl/core/3.6.0: resolution: {integrity: sha512-ZDgNC8iuP2qnG84kjiNKszugKvNHdp5iiiTQUwRPNxOY3qQ7Tw0WfoppCdUfrUdGaa7HEOXbnbJoy9Qnf/M1uQ==} dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 '@math.gl/types': 3.6.0 gl-matrix: 3.4.3 dev: false @@ -2570,7 +2580,7 @@ packages: /@math.gl/culling/3.6.0: resolution: {integrity: sha512-IBDQV3k0D54q3vHdAyJkdiTsZJIaWiPczHF1hfykeM5Lj3jtPmpyyhZMsea8yQeeJeacZ7//ZuMMUeqrEuhdxA==} dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 '@math.gl/core': 3.6.0 gl-matrix: 3.4.3 dev: false @@ -2578,7 +2588,7 @@ packages: /@math.gl/geospatial/3.6.0: resolution: {integrity: sha512-YSTBOuRksW9lO0BrfFbdfwBbu5SXalfTVni28LLIYsD3u+DYhYnQ/27PYpyfsyTJ364un4zmCo6DLCyjFUpOzA==} dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 '@math.gl/core': 3.6.0 gl-matrix: 3.4.3 dev: false @@ -2596,7 +2606,7 @@ packages: /@math.gl/web-mercator/3.6.0: resolution: {integrity: sha512-C9X1NUd6pA3G2g8CFDhi2a1UzsjFNljHl6a1cZ0qQkGMCpjRctHYpjQA1fJ/A+r7vgAxXvMf3EcY5odDOHeS6A==} dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 gl-matrix: 3.4.3 dev: false @@ -2632,20 +2642,20 @@ packages: /@probe.gl/env/3.5.0: resolution: {integrity: sha512-YdlpZZshhyYxvWDBmZ5RIW2pTR14Pw4p9czMlt/v7F6HbFzWfAdmH7q6xVwFRYxUpQLwhWensWyv4aFysiWl4g==} dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 dev: false /@probe.gl/log/3.5.0: resolution: {integrity: sha512-nW/qz2X1xY08WU/TsmJP6/6IPNcaY5fS/vLjpC4ahJuE2Mezga4hGM/R2X5JWE/nkPc+BsC5GnAnD13rwAxS7g==} dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 '@probe.gl/env': 3.5.0 dev: false /@probe.gl/stats/3.5.0: resolution: {integrity: sha512-IH2M+F3c8HR1DTroBARePUFG7wIewumtKA0UFqx51Z7S4hKrD60wFbpMmg0AcF4FvHAXMBoC+kYi1UKW9XbAOw==} dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 dev: false /@proc7ts/context-values/7.0.1: @@ -2704,7 +2714,7 @@ packages: /@redux-saga/core/1.1.3: resolution: {integrity: sha512-8tInBftak8TPzE6X13ABmEtRJGjtK17w7VUs7qV17S8hCO5S3+aUTWZ/DBsBJPdE8Z5jOPwYALyvofgq1Ws+kg==} dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 '@redux-saga/deferred': 1.1.2 '@redux-saga/delay-p': 1.1.2 '@redux-saga/is': 1.1.2 @@ -2932,6 +2942,10 @@ packages: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true + /@types/json5/0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: true + /@types/lodash.uniqby/4.7.7: resolution: {integrity: sha512-sv2g6vkCIvEUsK5/Vq17haoZaisfj2EWW8mP7QWlnKi6dByoNmeuHDDXHR7sabuDqwO4gvU7ModIL22MmnOocg==} dependencies: @@ -3014,6 +3028,10 @@ packages: /@types/scheduler/0.16.1: resolution: {integrity: sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==} + /@types/semver/7.3.13: + resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + dev: true + /@types/stack-utils/2.0.0: resolution: {integrity: sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==} dev: true @@ -3044,8 +3062,8 @@ packages: '@types/yargs-parser': 20.2.0 dev: true - /@typescript-eslint/eslint-plugin/5.27.0_ljfpvv7dypng7yyhsvie2ogdeu: - resolution: {integrity: sha512-DDrIA7GXtmHXr1VCcx9HivA39eprYBIFxbQEHI6NyraRDxCGpxAFiYQAT/1Y0vh1C+o2vfBiy4IuPoXxtTZCAQ==} + /@typescript-eslint/eslint-plugin/5.49.0_yp7zhi6aulozdh56jexh6njdgm: + resolution: {integrity: sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -3055,14 +3073,14 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.27.0_6hvhxfirl4y3p6nuemvvvbadcu - '@typescript-eslint/scope-manager': 5.27.0 - '@typescript-eslint/type-utils': 5.27.0_6hvhxfirl4y3p6nuemvvvbadcu - '@typescript-eslint/utils': 5.27.0_6hvhxfirl4y3p6nuemvvvbadcu + '@typescript-eslint/parser': 5.49.0_xxxxlh5gp6rpyhwj2gzuzeb7o4 + '@typescript-eslint/scope-manager': 5.49.0 + '@typescript-eslint/type-utils': 5.49.0_xxxxlh5gp6rpyhwj2gzuzeb7o4 + '@typescript-eslint/utils': 5.49.0_xxxxlh5gp6rpyhwj2gzuzeb7o4 debug: 4.3.4 - eslint: 8.13.0 - functional-red-black-tree: 1.0.1 + eslint: 8.32.0 ignore: 5.2.0 + natural-compare-lite: 1.4.0 regexpp: 3.2.0 semver: 7.3.7 tsutils: 3.21.0_typescript@4.7.2 @@ -3071,8 +3089,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.27.0_6hvhxfirl4y3p6nuemvvvbadcu: - resolution: {integrity: sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA==} + /@typescript-eslint/parser/5.49.0_xxxxlh5gp6rpyhwj2gzuzeb7o4: + resolution: {integrity: sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -3081,26 +3099,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.27.0 - '@typescript-eslint/types': 5.27.0 - '@typescript-eslint/typescript-estree': 5.27.0_typescript@4.7.2 + '@typescript-eslint/scope-manager': 5.49.0 + '@typescript-eslint/types': 5.49.0 + '@typescript-eslint/typescript-estree': 5.49.0_typescript@4.7.2 debug: 4.3.4 - eslint: 8.13.0 + eslint: 8.32.0 typescript: 4.7.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.27.0: - resolution: {integrity: sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g==} + /@typescript-eslint/scope-manager/5.49.0: + resolution: {integrity: sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.27.0 - '@typescript-eslint/visitor-keys': 5.27.0 + '@typescript-eslint/types': 5.49.0 + '@typescript-eslint/visitor-keys': 5.49.0 dev: true - /@typescript-eslint/type-utils/5.27.0_6hvhxfirl4y3p6nuemvvvbadcu: - resolution: {integrity: sha512-vpTvRRchaf628Hb/Xzfek+85o//zEUotr1SmexKvTfs7czXfYjXVT/a5yDbpzLBX1rhbqxjDdr1Gyo0x1Fc64g==} + /@typescript-eslint/type-utils/5.49.0_xxxxlh5gp6rpyhwj2gzuzeb7o4: + resolution: {integrity: sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -3109,22 +3127,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/utils': 5.27.0_6hvhxfirl4y3p6nuemvvvbadcu + '@typescript-eslint/typescript-estree': 5.49.0_typescript@4.7.2 + '@typescript-eslint/utils': 5.49.0_xxxxlh5gp6rpyhwj2gzuzeb7o4 debug: 4.3.4 - eslint: 8.13.0 + eslint: 8.32.0 tsutils: 3.21.0_typescript@4.7.2 typescript: 4.7.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.27.0: - resolution: {integrity: sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A==} + /@typescript-eslint/types/5.49.0: + resolution: {integrity: sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.27.0_typescript@4.7.2: - resolution: {integrity: sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ==} + /@typescript-eslint/typescript-estree/5.49.0_typescript@4.7.2: + resolution: {integrity: sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -3132,8 +3151,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.27.0 - '@typescript-eslint/visitor-keys': 5.27.0 + '@typescript-eslint/types': 5.49.0 + '@typescript-eslint/visitor-keys': 5.49.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -3144,29 +3163,31 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.27.0_6hvhxfirl4y3p6nuemvvvbadcu: - resolution: {integrity: sha512-nZvCrkIJppym7cIbP3pOwIkAefXOmfGPnCM0LQfzNaKxJHI6VjI8NC662uoiPlaf5f6ymkTy9C3NQXev2mdXmA==} + /@typescript-eslint/utils/5.49.0_xxxxlh5gp6rpyhwj2gzuzeb7o4: + resolution: {integrity: sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 - '@typescript-eslint/scope-manager': 5.27.0 - '@typescript-eslint/types': 5.27.0 - '@typescript-eslint/typescript-estree': 5.27.0_typescript@4.7.2 - eslint: 8.13.0 + '@types/semver': 7.3.13 + '@typescript-eslint/scope-manager': 5.49.0 + '@typescript-eslint/types': 5.49.0 + '@typescript-eslint/typescript-estree': 5.49.0_typescript@4.7.2 + eslint: 8.32.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.13.0 + eslint-utils: 3.0.0_eslint@8.32.0 + semver: 7.3.7 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.27.0: - resolution: {integrity: sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA==} + /@typescript-eslint/visitor-keys/5.49.0: + resolution: {integrity: sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.27.0 + '@typescript-eslint/types': 5.49.0 eslint-visitor-keys: 3.3.0 dev: true @@ -3334,12 +3355,12 @@ packages: acorn: 8.7.1 dev: true - /acorn-jsx/5.3.1_acorn@8.7.1: - resolution: {integrity: sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==} + /acorn-jsx/5.3.2_acorn@8.8.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.7.1 + acorn: 8.8.2 dev: true /acorn-walk/7.2.0: @@ -3359,6 +3380,12 @@ packages: hasBin: true dev: true + /acorn/8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + /adler-32/1.3.1: resolution: {integrity: sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==} engines: {node: '>=0.8'} @@ -3567,12 +3594,10 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true - /aria-query/4.2.2: - resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} - engines: {node: '>=6.0'} + /aria-query/5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} dependencies: - '@babel/runtime': 7.20.1 - '@babel/runtime-corejs3': 7.13.10 + deep-equal: 2.2.0 dev: true /array-back/3.1.0: @@ -3585,14 +3610,14 @@ packages: engines: {node: '>=8'} dev: false - /array-includes/3.1.4: - resolution: {integrity: sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==} + /array-includes/3.1.6: + resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 - get-intrinsic: 1.1.1 + define-properties: 1.1.4 + es-abstract: 1.21.1 + get-intrinsic: 1.2.0 is-string: 1.0.7 dev: true @@ -3605,13 +3630,34 @@ packages: engines: {node: '>=8'} dev: true - /array.prototype.flatmap/1.2.5: - resolution: {integrity: sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==} + /array.prototype.flat/1.3.1: + resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.21.1 + es-shim-unscopables: 1.0.0 + dev: true + + /array.prototype.flatmap/1.3.1: + resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 + define-properties: 1.1.4 + es-abstract: 1.21.1 + es-shim-unscopables: 1.0.0 + dev: true + + /array.prototype.tosorted/1.1.1: + resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.21.1 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.2.0 dev: true /ast-types-flow/0.0.7: @@ -3642,8 +3688,13 @@ packages: postcss-value-parser: 4.2.0 dev: true - /axe-core/4.4.1: - resolution: {integrity: sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==} + /available-typed-arrays/1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + + /axe-core/4.6.3: + resolution: {integrity: sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==} engines: {node: '>=4'} dev: true @@ -3655,8 +3706,10 @@ packages: - debug dev: false - /axobject-query/2.2.0: - resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==} + /axobject-query/3.1.1: + resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} + dependencies: + deep-equal: 2.2.0 dev: true /babel-jest/27.5.1_@babel+core@7.19.6: @@ -3877,7 +3930,7 @@ packages: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 - get-intrinsic: 1.1.1 + get-intrinsic: 1.2.0 /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -4108,6 +4161,10 @@ packages: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true + /confusing-browser-globals/1.0.11: + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} + dev: true + /convert-source-map/1.7.0: resolution: {integrity: sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==} dependencies: @@ -4132,12 +4189,6 @@ packages: browserslist: 4.21.4 dev: true - /core-js-pure/3.9.1: - resolution: {integrity: sha512-laz3Zx0avrw9a4QEIdmIblnVuJz8W51leY9iLThatCsFawWxC3sE4guASC78JbCin+DkwMpCdp1AVAuzL/GN7A==} - deprecated: core-js-pure@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. - requiresBuild: true - dev: true - /cosmiconfig/7.0.0: resolution: {integrity: sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==} engines: {node: '>=10'} @@ -4486,7 +4537,6 @@ packages: dependencies: ms: 2.1.3 dev: true - optional: true /debug/4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} @@ -4553,6 +4603,28 @@ packages: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true + /deep-equal/2.2.0: + resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==} + dependencies: + call-bind: 1.0.2 + es-get-iterator: 1.1.3 + get-intrinsic: 1.2.0 + is-arguments: 1.1.1 + is-array-buffer: 3.0.1 + is-date-object: 1.0.5 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + isarray: 2.0.5 + object-is: 1.1.5 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.4.3 + side-channel: 1.0.4 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.9 + dev: true + /deep-extend/0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -4567,10 +4639,11 @@ packages: engines: {node: '>=0.10.0'} dev: true - /define-properties/1.1.3: - resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} + /define-properties/1.1.4: + resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} engines: {node: '>= 0.4'} dependencies: + has-property-descriptors: 1.0.0 object-keys: 1.1.1 dev: true @@ -4749,41 +4822,83 @@ packages: is-arrayish: 0.2.1 dev: true - /es-abstract/1.19.1: - resolution: {integrity: sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==} + /es-abstract/1.21.1: + resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==} engines: {node: '>= 0.4'} dependencies: + available-typed-arrays: 1.0.5 call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 es-to-primitive: 1.2.1 function-bind: 1.1.1 - get-intrinsic: 1.1.1 + function.prototype.name: 1.1.5 + get-intrinsic: 1.2.0 get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 has: 1.0.3 - has-symbols: 1.0.2 - internal-slot: 1.0.3 - is-callable: 1.2.4 - is-negative-zero: 2.0.1 + has-property-descriptors: 1.0.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.4 + is-array-buffer: 3.0.1 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.1 + is-shared-array-buffer: 1.0.2 is-string: 1.0.7 + is-typed-array: 1.1.10 is-weakref: 1.0.2 - object-inspect: 1.12.0 + object-inspect: 1.12.3 object-keys: 1.1.1 - object.assign: 4.1.2 - string.prototype.trimend: 1.0.4 - string.prototype.trimstart: 1.0.4 - unbox-primitive: 1.0.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.4.3 + safe-regex-test: 1.0.0 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.9 + dev: true + + /es-get-iterator/1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.2 + is-set: 2.0.2 + is-string: 1.0.7 + isarray: 2.0.5 + stop-iteration-iterator: 1.0.0 dev: true /es-module-lexer/0.9.3: resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} dev: true + /es-set-tostringtag/2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.0 + has: 1.0.3 + has-tostringtag: 1.0.0 + dev: true + + /es-shim-unscopables/1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + dependencies: + has: 1.0.3 + dev: true + /es-to-primitive/1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} dependencies: - is-callable: 1.2.4 + is-callable: 1.2.7 is-date-object: 1.0.2 is-symbol: 1.0.3 dev: true @@ -4820,39 +4935,165 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier/8.5.0_eslint@8.13.0: - resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} + /eslint-config-airbnb-base/15.0.0_ps7hf4l2dvbuxvtusmrfhmzsba: + resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + eslint: ^7.32.0 || ^8.2.0 + eslint-plugin-import: ^2.25.2 + dependencies: + confusing-browser-globals: 1.0.11 + eslint: 8.32.0 + eslint-plugin-import: 2.27.5_6savw6y3b7jng6f64kgkyoij64 + object.assign: 4.1.4 + object.entries: 1.1.6 + semver: 6.3.0 + dev: true + + /eslint-config-airbnb-typescript/17.0.0_zvmt5xh6vil4vpagx2utjxrocy: + resolution: {integrity: sha512-elNiuzD0kPAPTXjFWg+lE24nMdHMtuxgYoD30OyMD6yrW1AhFZPAg27VX7d3tzOErw+dgJTNWfRSDqEcXb4V0g==} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.13.0 + '@typescript-eslint/parser': ^5.0.0 + eslint: ^7.32.0 || ^8.2.0 + eslint-plugin-import: ^2.25.3 + dependencies: + '@typescript-eslint/eslint-plugin': 5.49.0_yp7zhi6aulozdh56jexh6njdgm + '@typescript-eslint/parser': 5.49.0_xxxxlh5gp6rpyhwj2gzuzeb7o4 + eslint: 8.32.0 + eslint-config-airbnb-base: 15.0.0_ps7hf4l2dvbuxvtusmrfhmzsba + eslint-plugin-import: 2.27.5_6savw6y3b7jng6f64kgkyoij64 + dev: true + + /eslint-config-airbnb/19.0.4_td5yecidacttadzxcsbd5t7tli: + resolution: {integrity: sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==} + engines: {node: ^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.32.0 || ^8.2.0 + eslint-plugin-import: ^2.25.3 + eslint-plugin-jsx-a11y: ^6.5.1 + eslint-plugin-react: ^7.28.0 + eslint-plugin-react-hooks: ^4.3.0 + dependencies: + eslint: 8.32.0 + eslint-config-airbnb-base: 15.0.0_ps7hf4l2dvbuxvtusmrfhmzsba + eslint-plugin-import: 2.27.5_6savw6y3b7jng6f64kgkyoij64 + eslint-plugin-jsx-a11y: 6.7.1_eslint@8.32.0 + eslint-plugin-react: 7.32.1_eslint@8.32.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.32.0 + object.assign: 4.1.2 + object.entries: 1.1.5 + dev: true + + /eslint-config-prettier/8.6.0_eslint@8.32.0: + resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.13.0 + eslint: 8.32.0 + dev: true + + /eslint-import-resolver-node/0.3.7: + resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} + dependencies: + debug: 3.2.7 + is-core-module: 2.11.0 + resolve: 1.22.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-module-utils/2.7.4_cnxxylyx37asr43xy64ejg3pwe: + resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 5.49.0_xxxxlh5gp6rpyhwj2gzuzeb7o4 + debug: 3.2.7 + eslint: 8.32.0 + eslint-import-resolver-node: 0.3.7 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-import/2.27.5_6savw6y3b7jng6f64kgkyoij64: + resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 5.49.0_xxxxlh5gp6rpyhwj2gzuzeb7o4 + array-includes: 3.1.6 + array.prototype.flat: 1.3.1 + array.prototype.flatmap: 1.3.1 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.32.0 + eslint-import-resolver-node: 0.3.7 + eslint-module-utils: 2.7.4_cnxxylyx37asr43xy64ejg3pwe + has: 1.0.3 + is-core-module: 2.11.0 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.values: 1.1.6 + resolve: 1.22.0 + semver: 6.3.0 + tsconfig-paths: 3.14.1 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color dev: true - /eslint-plugin-jsx-a11y/6.5.1_eslint@8.13.0: - resolution: {integrity: sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==} + /eslint-plugin-jsx-a11y/6.7.1_eslint@8.32.0: + resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - '@babel/runtime': 7.20.1 - aria-query: 4.2.2 - array-includes: 3.1.4 + '@babel/runtime': 7.20.13 + aria-query: 5.1.3 + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 ast-types-flow: 0.0.7 - axe-core: 4.4.1 - axobject-query: 2.2.0 + axe-core: 4.6.3 + axobject-query: 3.1.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.13.0 + eslint: 8.32.0 has: 1.0.3 - jsx-ast-utils: 3.2.1 + jsx-ast-utils: 3.3.3 language-tags: 1.0.5 minimatch: 3.1.2 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + semver: 6.3.0 dev: true - /eslint-plugin-prettier/4.0.0_vyq77qlfwyijisbn35utc2xrra: - resolution: {integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==} - engines: {node: '>=6.0.0'} + /eslint-plugin-prettier/4.2.1_bwiznj6mum4nx2xtr6b6ecukoq: + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} peerDependencies: eslint: '>=7.28.0' eslint-config-prettier: '*' @@ -4861,42 +5102,43 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.13.0 - eslint-config-prettier: 8.5.0_eslint@8.13.0 + eslint: 8.32.0 + eslint-config-prettier: 8.6.0_eslint@8.32.0 prettier: 2.7.1 prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-react-hooks/4.4.0_eslint@8.13.0: - resolution: {integrity: sha512-U3RVIfdzJaeKDQKEJbz5p3NW8/L80PCATJAfuojwbaEL+gBjfGdhUcGde+WGUW46Q5sr/NgxevsIiDtNXrvZaQ==} + /eslint-plugin-react-hooks/4.6.0_eslint@8.32.0: + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.13.0 + eslint: 8.32.0 dev: true - /eslint-plugin-react/7.29.4_eslint@8.13.0: - resolution: {integrity: sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ==} + /eslint-plugin-react/7.32.1_eslint@8.32.0: + resolution: {integrity: sha512-vOjdgyd0ZHBXNsmvU+785xY8Bfe57EFbTYYk8XrROzWpr9QBvpjITvAXt9xqcE6+8cjR/g1+mfumPToxsl1www==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - array-includes: 3.1.4 - array.prototype.flatmap: 1.2.5 + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.13.0 + eslint: 8.32.0 estraverse: 5.3.0 jsx-ast-utils: 3.2.1 minimatch: 3.1.2 - object.entries: 1.1.5 - object.fromentries: 2.0.5 - object.hasown: 1.1.0 - object.values: 1.1.5 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + object.hasown: 1.1.2 + object.values: 1.1.6 prop-types: 15.8.1 resolve: 1.22.0 semver: 6.3.0 - string.prototype.matchall: 4.0.6 + string.prototype.matchall: 4.0.8 dev: true /eslint-scope/5.1.1: @@ -4915,13 +5157,13 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.13.0: + /eslint-utils/3.0.0_eslint@8.32.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.13.0 + eslint: 8.32.0 eslint-visitor-keys: 2.0.0 dev: true @@ -4935,13 +5177,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.13.0: - resolution: {integrity: sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ==} + /eslint/8.32.0: + resolution: {integrity: sha512-nETVXpnthqKPFyuY2FNjz/bEd6nbosRgKbkgS/y1C7LJop96gYHWpiguLecMHQ2XCPxn77DS0P+68WzG6vkZSQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.2.1 - '@humanwhocodes/config-array': 0.9.3 + '@eslint/eslintrc': 1.4.1 + '@humanwhocodes/config-array': 0.11.8 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -4949,20 +5193,23 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.13.0 + eslint-utils: 3.0.0_eslint@8.32.0 eslint-visitor-keys: 3.3.0 - espree: 9.3.1 + espree: 9.4.1 esquery: 1.4.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 - functional-red-black-tree: 1.0.1 + find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.12.1 + globals: 13.19.0 + grapheme-splitter: 1.0.4 ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.3.0 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 @@ -4974,17 +5221,16 @@ packages: strip-ansi: 6.0.1 strip-json-comments: 3.1.1 text-table: 0.2.0 - v8-compile-cache: 2.3.0 transitivePeerDependencies: - supports-color dev: true - /espree/9.3.1: - resolution: {integrity: sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==} + /espree/9.4.1: + resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.7.1 - acorn-jsx: 5.3.1_acorn@8.7.1 + acorn: 8.8.2 + acorn-jsx: 5.3.2_acorn@8.8.2 eslint-visitor-keys: 3.3.0 dev: true @@ -5161,6 +5407,14 @@ packages: path-exists: 4.0.0 dev: true + /find-up/5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + /flat-cache/3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -5209,6 +5463,12 @@ packages: optional: true dev: false + /for-each/0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + /form-data/3.0.1: resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} engines: {node: '>= 6'} @@ -5242,8 +5502,18 @@ packages: /function-bind/1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - /functional-red-black-tree/1.0.1: - resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + /function.prototype.name/1.1.5: + resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.21.1 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names/1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true /gensync/1.0.0-beta.2: @@ -5256,12 +5526,12 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: true - /get-intrinsic/1.1.1: - resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} + /get-intrinsic/1.2.0: + resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} dependencies: function-bind: 1.1.1 has: 1.0.3 - has-symbols: 1.0.2 + has-symbols: 1.0.3 /get-package-type/0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} @@ -5278,7 +5548,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.1.1 + get-intrinsic: 1.2.0 dev: true /gl-matrix/3.4.3: @@ -5318,13 +5588,20 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - /globals/13.12.1: - resolution: {integrity: sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==} + /globals/13.19.0: + resolution: {integrity: sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true + /globalthis/1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.1.4 + dev: true + /globby/11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -5343,8 +5620,15 @@ packages: delegate: 3.2.0 dev: false + /gopd/1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.0 + dev: true + /graceful-fs/4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + requiresBuild: true dev: true optional: true @@ -5352,6 +5636,10 @@ packages: resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} dev: true + /grapheme-splitter/1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true + /h3-js/3.7.2: resolution: {integrity: sha512-LPjlHSwB9zQZrMqKloCZmmmt3yZzIK7nqPcXqwU93zT3TtYG6jP4tZBzAPouxut7lLjdFbMQ75wRBiKfpsnY7w==} engines: {node: '>=4', npm: '>=3', yarn: '>=1.3.0'} @@ -5362,8 +5650,8 @@ packages: engines: {node: '>=0.8.0'} dev: false - /has-bigints/1.0.1: - resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==} + /has-bigints/1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true /has-flag/3.0.0: @@ -5375,15 +5663,26 @@ packages: engines: {node: '>=8'} dev: true - /has-symbols/1.0.2: - resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==} + /has-property-descriptors/1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.2.0 + dev: true + + /has-proto/1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} /has-tostringtag/1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} dependencies: - has-symbols: 1.0.2 + has-symbols: 1.0.3 dev: true /has/1.0.3: @@ -5526,11 +5825,11 @@ packages: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} dev: false - /internal-slot/1.0.3: - resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} + /internal-slot/1.0.4: + resolution: {integrity: sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.1.1 + get-intrinsic: 1.2.0 has: 1.0.3 side-channel: 1.0.4 dev: true @@ -5544,6 +5843,22 @@ packages: engines: {node: '>= 0.10'} dev: true + /is-arguments/1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-array-buffer/3.0.1: + resolution: {integrity: sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + is-typed-array: 1.1.10 + dev: true + /is-arrayish/0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true @@ -5564,13 +5879,13 @@ packages: engines: {node: '>=4'} dev: false - /is-callable/1.2.4: - resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} + /is-callable/1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} dev: true - /is-core-module/2.8.1: - resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} + /is-core-module/2.11.0: + resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} dependencies: has: 1.0.3 dev: true @@ -5580,6 +5895,13 @@ packages: engines: {node: '>= 0.4'} dev: true + /is-date-object/1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-extglob/2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -5607,8 +5929,12 @@ packages: is-extglob: 2.1.1 dev: true - /is-negative-zero/2.0.1: - resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==} + /is-map/2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + dev: true + + /is-negative-zero/2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} dev: true @@ -5622,6 +5948,11 @@ packages: engines: {node: '>=0.12.0'} dev: true + /is-path-inside/3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + /is-plain-obj/4.0.0: resolution: {integrity: sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw==} engines: {node: '>=12'} @@ -5646,8 +5977,14 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-shared-array-buffer/1.0.1: - resolution: {integrity: sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==} + /is-set/2.0.2: + resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + dev: true + + /is-shared-array-buffer/1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.2 dev: true /is-stream/2.0.0: @@ -5666,7 +6003,18 @@ packages: resolution: {integrity: sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==} engines: {node: '>= 0.4'} dependencies: - has-symbols: 1.0.2 + has-symbols: 1.0.3 + dev: true + + /is-typed-array/1.1.10: + resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 dev: true /is-typedarray/1.0.0: @@ -5678,16 +6026,31 @@ packages: engines: {node: '>=12'} dev: true + /is-weakmap/2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + dev: true + /is-weakref/1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.2 dev: true + /is-weakset/2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + dev: true + /is-what/3.14.1: resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} dev: true + /isarray/2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + /isexe/2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true @@ -6209,6 +6572,10 @@ packages: - utf-8-validate dev: true + /js-sdsl/4.3.0: + resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} + dev: true + /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -6237,7 +6604,7 @@ packages: optional: true dependencies: abab: 2.0.5 - acorn: 8.7.1 + acorn: 8.8.2 acorn-globals: 6.0.0 cssom: 0.4.4 cssstyle: 2.3.0 @@ -6315,6 +6682,13 @@ packages: string-convert: 0.2.1 dev: false + /json5/1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.7 + dev: true + /json5/2.2.1: resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} engines: {node: '>=6'} @@ -6325,8 +6699,16 @@ packages: resolution: {integrity: sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==} engines: {node: '>=4.0'} dependencies: - array-includes: 3.1.4 - object.assign: 4.1.2 + array-includes: 3.1.6 + object.assign: 4.1.4 + dev: true + + /jsx-ast-utils/3.3.3: + resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} + engines: {node: '>=4.0'} + dependencies: + array-includes: 3.1.6 + object.assign: 4.1.4 dev: true /kind-of/6.0.3: @@ -6446,6 +6828,13 @@ packages: p-locate: 4.1.0 dev: true + /locate-path/6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + /lockfile/1.0.4: resolution: {integrity: sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==} dependencies: @@ -6837,6 +7226,10 @@ packages: brace-expansion: 1.1.11 dev: true + /minimist/1.2.7: + resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} + dev: true + /mjolnir.js/2.7.0: resolution: {integrity: sha512-XlK5OZ7d09eAIdYr+5VKOArYtkWB/f306s34yVij4pBk5wnaKxSrD7fVfP8/BL27nKVylNweqP1pxqh8h+hWKw==} engines: {node: '>= 4', npm: '>= 3'} @@ -6872,13 +7265,16 @@ packages: /ms/2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - optional: true /nanoid/3.3.2: resolution: {integrity: sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + /natural-compare-lite/1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true @@ -6956,8 +7352,16 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - /object-inspect/1.12.0: - resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} + /object-inspect/1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + + /object-is/1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + dev: true /object-keys/1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -6969,8 +7373,18 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 - has-symbols: 1.0.2 + define-properties: 1.1.4 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /object.assign/4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + has-symbols: 1.0.3 object-keys: 1.1.1 dev: true @@ -6979,33 +7393,42 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 + define-properties: 1.1.4 + es-abstract: 1.21.1 + dev: true + + /object.entries/1.1.6: + resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.21.1 dev: true - /object.fromentries/2.0.5: - resolution: {integrity: sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==} + /object.fromentries/2.0.6: + resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 + define-properties: 1.1.4 + es-abstract: 1.21.1 dev: true - /object.hasown/1.1.0: - resolution: {integrity: sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==} + /object.hasown/1.1.2: + resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} dependencies: - define-properties: 1.1.3 - es-abstract: 1.19.1 + define-properties: 1.1.4 + es-abstract: 1.21.1 dev: true - /object.values/1.1.5: - resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} + /object.values/1.1.6: + resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 + define-properties: 1.1.4 + es-abstract: 1.21.1 dev: true /once/1.4.0: @@ -7052,6 +7475,13 @@ packages: p-try: 2.2.0 dev: true + /p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + /p-locate/4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -7059,6 +7489,13 @@ packages: p-limit: 2.3.0 dev: true + /p-locate/5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + /p-try/2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -7889,7 +8326,7 @@ packages: /probe.gl/3.5.0: resolution: {integrity: sha512-KWj8u0PNytr/rVwcQFcN7O8SK7n/ITOsUZ91l4fSX95oHhKvVCI7eadrzFUzFRlXkFfBWpMWZXFHITsHHHUctw==} dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 '@probe.gl/env': 3.5.0 '@probe.gl/log': 3.5.0 '@probe.gl/stats': 3.5.0 @@ -7975,7 +8412,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 dom-align: 1.12.0 rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m @@ -7990,7 +8427,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 array-tree-filter: 2.1.0 classnames: 2.3.1 rc-select: 14.0.3_sfoxds7t5ydpegc3knd667wn6m @@ -8006,7 +8443,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 @@ -8018,7 +8455,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-motion: 2.4.5_sfoxds7t5ydpegc3knd667wn6m rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m @@ -8033,7 +8470,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-motion: 2.4.5_sfoxds7t5ydpegc3knd667wn6m rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m @@ -8047,7 +8484,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 @@ -8060,7 +8497,7 @@ packages: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-trigger: 5.2.10_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 @@ -8074,7 +8511,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 async-validator: 4.0.7 rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 @@ -8087,7 +8524,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-dialog: 8.6.0_sfoxds7t5ydpegc3knd667wn6m rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m @@ -8101,7 +8538,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 @@ -8114,7 +8551,7 @@ packages: react: '>=16.0.0' react-dom: '>=16.0.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 @@ -8127,7 +8564,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-menu: 9.3.2_sfoxds7t5ydpegc3knd667wn6m rc-textarea: 0.3.4_sfoxds7t5ydpegc3knd667wn6m @@ -8143,7 +8580,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-motion: 2.4.5_sfoxds7t5ydpegc3knd667wn6m rc-overflow: 1.2.2_sfoxds7t5ydpegc3knd667wn6m @@ -8160,7 +8597,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 @@ -8174,7 +8611,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-motion: 2.4.5_sfoxds7t5ydpegc3knd667wn6m rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m @@ -8188,7 +8625,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-resize-observer: 1.2.0_sfoxds7t5ydpegc3knd667wn6m rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m @@ -8202,7 +8639,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 @@ -8215,7 +8652,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 date-fns: 2.28.0 dayjs: 1.11.1 @@ -8233,7 +8670,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 @@ -8247,7 +8684,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 @@ -8260,7 +8697,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 @@ -8275,7 +8712,7 @@ packages: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-motion: 2.4.5_sfoxds7t5ydpegc3knd667wn6m rc-overflow: 1.2.2_sfoxds7t5ydpegc3knd667wn6m @@ -8293,7 +8730,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-tooltip: 5.1.1_sfoxds7t5ydpegc3knd667wn6m rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m @@ -8309,7 +8746,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 @@ -8322,7 +8759,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 @@ -8336,7 +8773,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-resize-observer: 1.2.0_sfoxds7t5ydpegc3knd667wn6m rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m @@ -8352,7 +8789,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-dropdown: 3.3.2_sfoxds7t5ydpegc3knd667wn6m rc-menu: 9.3.2_sfoxds7t5ydpegc3knd667wn6m @@ -8368,7 +8805,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-resize-observer: 1.2.0_sfoxds7t5ydpegc3knd667wn6m rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m @@ -8382,7 +8819,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 rc-trigger: 5.2.10_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 react-dom: 17.0.2_react@17.0.2 @@ -8394,7 +8831,7 @@ packages: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-select: 14.0.3_sfoxds7t5ydpegc3knd667wn6m rc-tree: 5.4.4_sfoxds7t5ydpegc3knd667wn6m @@ -8410,7 +8847,7 @@ packages: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-motion: 2.4.5_sfoxds7t5ydpegc3knd667wn6m rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m @@ -8426,7 +8863,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-align: 4.0.9_sfoxds7t5ydpegc3knd667wn6m rc-motion: 2.4.5_sfoxds7t5ydpegc3knd667wn6m @@ -8441,7 +8878,7 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 classnames: 2.3.1 rc-util: 5.20.1_sfoxds7t5ydpegc3knd667wn6m react: 17.0.2 @@ -8480,7 +8917,7 @@ packages: peerDependencies: react: ^15.3.0 || ^16.0.0 || ^17.0.0 dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 react: 17.0.2 dev: false @@ -8544,7 +8981,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 focus-lock: 0.9.2 prop-types: 15.8.1 react: 17.0.2 @@ -8764,18 +9201,22 @@ packages: /regenerator-runtime/0.13.10: resolution: {integrity: sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==} + /regenerator-runtime/0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + /regenerator-transform/0.15.0: resolution: {integrity: sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==} dependencies: - '@babel/runtime': 7.20.1 + '@babel/runtime': 7.20.13 dev: true - /regexp.prototype.flags/1.3.1: - resolution: {integrity: sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==} + /regexp.prototype.flags/1.4.3: + resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 + define-properties: 1.1.4 + functions-have-names: 1.2.3 dev: true /regexpp/3.2.0: @@ -8880,7 +9321,7 @@ packages: resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} hasBin: true dependencies: - is-core-module: 2.8.1 + is-core-module: 2.11.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true @@ -8950,6 +9391,14 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true + /safe-regex-test/1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + is-regex: 1.1.4 + dev: true + /safer-buffer/2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -9074,8 +9523,8 @@ packages: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.1.1 - object-inspect: 1.12.0 + get-intrinsic: 1.2.0 + object-inspect: 1.12.3 /signal-exit/3.0.3: resolution: {integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==} @@ -9159,6 +9608,13 @@ packages: escape-string-regexp: 2.0.0 dev: true + /stop-iteration-iterator/1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + dependencies: + internal-slot: 1.0.4 + dev: true + /string-convert/0.2.1: resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} dev: false @@ -9189,31 +9645,33 @@ packages: strip-ansi: 7.0.1 dev: true - /string.prototype.matchall/4.0.6: - resolution: {integrity: sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==} + /string.prototype.matchall/4.0.8: + resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 - get-intrinsic: 1.1.1 - has-symbols: 1.0.2 - internal-slot: 1.0.3 - regexp.prototype.flags: 1.3.1 + define-properties: 1.1.4 + es-abstract: 1.21.1 + get-intrinsic: 1.2.0 + has-symbols: 1.0.3 + internal-slot: 1.0.4 + regexp.prototype.flags: 1.4.3 side-channel: 1.0.4 dev: true - /string.prototype.trimend/1.0.4: - resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==} + /string.prototype.trimend/1.0.6: + resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 + define-properties: 1.1.4 + es-abstract: 1.21.1 dev: true - /string.prototype.trimstart/1.0.4: - resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==} + /string.prototype.trimstart/1.0.6: + resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 + define-properties: 1.1.4 + es-abstract: 1.21.1 dev: true /strip-ansi/6.0.1: @@ -9230,6 +9688,11 @@ packages: ansi-regex: 6.0.1 dev: true + /strip-bom/3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + /strip-bom/4.0.0: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} engines: {node: '>=8'} @@ -9392,7 +9855,7 @@ packages: acorn: optional: true dependencies: - acorn: 8.7.1 + acorn: 8.8.2 commander: 2.20.3 source-map: 0.7.3 source-map-support: 0.5.21 @@ -9475,6 +9938,15 @@ packages: resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} dev: false + /tsconfig-paths/3.14.1: + resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.7 + strip-bom: 3.0.0 + dev: true + /tslib/1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} @@ -9525,6 +9997,14 @@ packages: engines: {node: '>=10'} dev: true + /typed-array-length/1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + is-typed-array: 1.1.10 + dev: true + /typedarray-to-buffer/3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} dependencies: @@ -9563,12 +10043,12 @@ packages: engines: {node: '>=8'} dev: false - /unbox-primitive/1.0.1: - resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==} + /unbox-primitive/1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - function-bind: 1.1.1 - has-bigints: 1.0.1 - has-symbols: 1.0.2 + call-bind: 1.0.2 + has-bigints: 1.0.2 + has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 dev: true @@ -9733,10 +10213,6 @@ packages: sade: 1.8.1 dev: false - /v8-compile-cache/2.3.0: - resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} - dev: true - /v8-to-istanbul/8.1.1: resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} engines: {node: '>=10.12.0'} @@ -9933,6 +10409,27 @@ packages: is-symbol: 1.0.3 dev: true + /which-collection/1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + dependencies: + is-map: 2.0.2 + is-set: 2.0.2 + is-weakmap: 2.0.1 + is-weakset: 2.0.2 + dev: true + + /which-typed-array/1.1.9: + resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + is-typed-array: 1.1.10 + dev: true + /which/2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -10065,3 +10562,8 @@ packages: y18n: 5.0.8 yargs-parser: 21.0.1 dev: true + + /yocto-queue/0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true diff --git a/src/main/webapp/resources/js/apis/paged-table/paged-table.ts b/src/main/webapp/resources/js/apis/paged-table/paged-table.ts index a740d63a1a5..8b80ea85313 100644 --- a/src/main/webapp/resources/js/apis/paged-table/paged-table.ts +++ b/src/main/webapp/resources/js/apis/paged-table/paged-table.ts @@ -1,5 +1,4 @@ import axios from "axios"; -import { BaseModel } from "../../types/irida"; export interface PageTableFilters { [key: string]: string[]; @@ -14,23 +13,14 @@ export interface PageTableRequest { filters: PageTableFilters; } -export interface PageTableResponse { - dataSource: PageTableModel[]; - total: number; -} - -export interface PageTableModel extends BaseModel { - [key: string]: any; // allows any additional keys of any type value -} - /** * Default function to fetch paged table data. * @param url - datasource url for the paged table - * @param data - table request payload for the paged table + * @param body - table request payload for the paged table */ -export async function fetchPageTableUpdate( +export async function fetchPageTableUpdate( url: string, - data: PageTableRequest -): Promise { - return axios.post(url, data).then(({ data }) => data); + body: PageTableRequest +) { + return axios.post(url, body).then(({ data }) => data); } diff --git a/src/main/webapp/resources/js/apis/projects/samples.ts b/src/main/webapp/resources/js/apis/projects/samples.ts index 535c655abba..2e5f190ee65 100644 --- a/src/main/webapp/resources/js/apis/projects/samples.ts +++ b/src/main/webapp/resources/js/apis/projects/samples.ts @@ -1,15 +1,21 @@ import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -import { - PairedEndSequenceFile, - SingleEndSequenceFile, -} from "../../types/irida"; -import { + +import axios from "axios"; +import type { AjaxErrorResponse, AjaxSuccessResponse, } from "../../types/ajax-response"; +import type { + PairedEndSequenceFile, + SelectedSample, + SingleEndSequenceFile, +} from "../../types/irida"; +import type { + PagedTableOptions, + PagedTableResponse, +} from "../../types/paged-table"; import { getProjectIdFromUrl, setBaseUrl } from "../../utilities/url-utilities"; import { get, post } from "../requests"; -import axios from "axios"; export interface SequencingFiles { singles: SingleEndSequenceFile[]; @@ -82,9 +88,31 @@ export type CreateUpdateSamples = (params: { const PROJECT_ID = getProjectIdFromUrl(); const URL = setBaseUrl(`/ajax/projects`); +type FetchPagedSamplesParams = { + projectId: number; + body: PagedTableOptions; +}; + +type MergeSamplesParams = { + projectId: number; + body: { + ids: number[]; + newName: string; + primary: number; + }; +}; + +type ShareSamplesParams = { + currentId: number; + locked: boolean; + remove: boolean; + restrictions: { restriction: string; identifier: number }[]; + sampleIds: number[]; + targetId: number; +}; + /** * Redux API for handling project samples queries. - * @type {Api<(args: (string | FetchArgs), api: BaseQueryApi, extraOptions: {}) => MaybePromise>, {getSampleIdsForProject: *}, string, never, typeof coreModuleName> | Api<(args: (string | FetchArgs), api: BaseQueryApi, extraOptions: {}) => MaybePromise>, {getSampleIdsForProject: *}, string, never, any>} */ export const samplesApi = createApi({ reducerPath: "samplesApi", @@ -92,35 +120,44 @@ export const samplesApi = createApi({ baseUrl: URL, }), endpoints: (builder) => ({ - listSamples: builder.query({ + listSamples: builder.query< + PagedTableResponse, + FetchPagedSamplesParams + >({ query: (body) => ({ url: `/${PROJECT_ID}/samples`, method: "POST", body, }), }), - merge: builder.mutation({ - query: ({ request }) => ({ - url: `/${PROJECT_ID}/samples/merge`, + merge: builder.mutation<{ message: string }, MergeSamplesParams>({ + query: ({ projectId, body }) => ({ + url: `/${projectId}/samples/merge`, method: "POST", - body: request, + body, }), }), - remove: builder.mutation({ + remove: builder.mutation<{ message: string }, number[]>({ query: (sampleIds) => ({ url: `/${PROJECT_ID}/samples/remove`, method: "DELETE", body: { sampleIds }, }), }), - shareSamplesWithProject: builder.mutation({ + shareSamplesWithProject: builder.mutation< + PagedTableResponse<{ message: string }>, + ShareSamplesParams + >({ query: (body) => ({ url: `/${PROJECT_ID}/samples/share`, method: `POST`, body, }), }), - validateSamples: builder.mutation({ + validateSamples: builder.mutation< + PagedTableResponse<{ ids: null | number[]; name: string }[]>, + { projectId: number; body: { samples: { name: string }[] } } + >({ query: ({ projectId, body }) => ({ url: `/${projectId}/samples/validate`, method: `POST`, @@ -170,17 +207,15 @@ export const createSamples: CreateUpdateSamples = async ({ `${URL}/${projectId}/samples/create`, body ); - return Promise.resolve(data); + return await Promise.resolve(data); } catch (error) { if (axios.isAxiosError(error)) { if (error.response) { return Promise.resolve(error.response.data); - } else { - return Promise.reject(error.message); } - } else { - return Promise.reject("An unexpected error occurred"); + return Promise.reject(error.message); } + return Promise.reject(new Error("An unexpected error occurred")); } }; @@ -193,17 +228,15 @@ export const updateSamples: CreateUpdateSamples = async ({ `${URL}/${projectId}/samples/update`, body ); - return Promise.resolve(data); + return await Promise.resolve(data); } catch (error) { if (axios.isAxiosError(error)) { if (error.response) { return Promise.resolve(error.response.data); - } else { - return Promise.reject(error.message); } - } else { - return Promise.reject("An unexpected error occurred"); + return Promise.reject(error.message); } + return Promise.reject(new Error("An unexpected error occurred")); } }; diff --git a/src/main/webapp/resources/js/components/DefaultErrorBoundary.tsx b/src/main/webapp/resources/js/components/DefaultErrorBoundary.tsx index f1a5e3b0a7b..68f0988cec3 100644 --- a/src/main/webapp/resources/js/components/DefaultErrorBoundary.tsx +++ b/src/main/webapp/resources/js/components/DefaultErrorBoundary.tsx @@ -7,7 +7,7 @@ import { useRouteError } from "react-router-dom"; * @constructor */ function DefaultErrorBoundary(): JSX.Element { - const error = useRouteError(); + const error = useRouteError() as string; return ( diff --git a/src/main/webapp/resources/js/pages/projects/samples/components/MergeModal.jsx b/src/main/webapp/resources/js/pages/projects/samples/components/MergeModal.tsx similarity index 76% rename from src/main/webapp/resources/js/pages/projects/samples/components/MergeModal.jsx rename to src/main/webapp/resources/js/pages/projects/samples/components/MergeModal.tsx index dad3891809c..1abc953f282 100644 --- a/src/main/webapp/resources/js/pages/projects/samples/components/MergeModal.jsx +++ b/src/main/webapp/resources/js/pages/projects/samples/components/MergeModal.tsx @@ -12,22 +12,33 @@ import { Typography, } from "antd"; import React from "react"; -import { useSelector } from "react-redux"; -import { serverValidateSampleName } from "../../../../utilities/validation-utilities"; import { useMergeMutation } from "../../../../apis/projects/samples"; +import type { StoredSample } from "../../../../types/irida"; +import { serverValidateSampleName } from "../../../../utilities/validation-utilities"; +import { useTypedSelector } from "../store"; import LockedSamplesList from "./LockedSamplesList"; +type MergeModalProps = { + onCancel: () => void; + onComplete: () => void; + samples: { locked: StoredSample[]; valid: StoredSample[] }; + visible: boolean; +}; + /** * React element to display a modal to merge multiple samples into a single one. - * @param {array} samples - list of samples to merge together - * @param {boolean} visible - whether the modal is currently visible on the page - * @param {function} onComplete - function to call when the merge is complete - * @param {function} onCancel - function to call when the merge is cancelled. - * @returns {JSX.Element} - * @constructor - */ -export default function MergeModal({ samples, visible, onComplete, onCancel }) { - const { projectId } = useSelector((state) => state.samples); + * @param samples - list of samples to merge together + * @param visible - whether the modal is currently visible on the page + * @param onComplete - function to call when the merge is complete + * @param onCancel - function to call when the merge is cancelled. +s */ +export default function MergeModal({ + samples, + visible, + onComplete, + onCancel, +}: MergeModalProps) { + const { projectId } = useTypedSelector((state) => state.samples); const [merge, { isLoading }] = useMergeMutation(); const [renameSample, setRenameSample] = React.useState(false); @@ -48,44 +59,43 @@ export default function MergeModal({ samples, visible, onComplete, onCancel }) { }, [form, renameSample]); // Server validate new name - const validateName = async (name) => { + const validateName = async (name: string) => { if (renameSample) { return serverValidateSampleName(name); - } else { - return Promise.resolve(); } + return Promise.resolve(); }; const onSubmit = async () => { - let values; - try { - values = await form.validateFields(); + const { newName, primary }: typeof initialValues = + await form.validateFields(); + + const ids = samples.valid + .map((sample) => sample.id) + .filter((id) => id !== primary); + + const { message } = await merge({ + projectId: Number(projectId), + body: { + newName, + primary, + ids, + }, + }).unwrap(); + + notification.success({ + message: i18n("MergeModal.success"), + description: message, + }); + onComplete(); } catch { /* If the form is in an invalid state it will hit here. This will prevent the invalid date from being submitted and display the errors (if not already displayed) to the user. */ - return; } - const ids = samples.valid - .map((sample) => sample.id) - .filter((id) => id !== values.primary); - - const { message } = await merge({ - projectId, - request: { - ...values, - ids, - }, - }).unwrap(); - - notification.success({ - message: i18n("MergeModal.success"), - description: message, - }); - onComplete(); }; return ( @@ -153,7 +163,7 @@ export default function MergeModal({ samples, visible, onComplete, onCancel }) { ({ + () => ({ validator(_, value) { return validateName(value); }, diff --git a/src/main/webapp/resources/js/pages/projects/samples/index.tsx b/src/main/webapp/resources/js/pages/projects/samples/index.tsx new file mode 100644 index 00000000000..6e38ee6aabb --- /dev/null +++ b/src/main/webapp/resources/js/pages/projects/samples/index.tsx @@ -0,0 +1,24 @@ +/** + * @file Base file for the project samples page. + */ +import React from "react"; +import { render } from "react-dom"; +import { Provider } from "react-redux"; +import ProjectSamples from "./components/ProjectSamples"; +import { setBaseUrl } from "../../../utilities/url-utilities"; +import store from "./store"; + +/* +WEBPACK PUBLIC PATH: +Webpack does not know what the servlet context path is. To fix this, webpack exposed +the variable `__webpack_public_path__` +See: https://webpack.js.org/guides/public-path/#on-the-fly + */ +__webpack_public_path__ = setBaseUrl(`/dist/`); + +render( + + + , + document.getElementById("root") +); diff --git a/src/main/webapp/resources/js/pages/projects/samples/index.js b/src/main/webapp/resources/js/pages/projects/samples/store.ts similarity index 50% rename from src/main/webapp/resources/js/pages/projects/samples/index.js rename to src/main/webapp/resources/js/pages/projects/samples/store.ts index 28c9f6230e7..d8e558014c1 100644 --- a/src/main/webapp/resources/js/pages/projects/samples/index.js +++ b/src/main/webapp/resources/js/pages/projects/samples/store.ts @@ -1,30 +1,15 @@ -/** - * @file Base file for the project samples page. - */ -import React from "react"; -import { render } from "react-dom"; -import ProjectSamples from "./components/ProjectSamples"; import { configureStore } from "@reduxjs/toolkit"; -import { setupListeners } from "@reduxjs/toolkit/query"; -import { Provider } from "react-redux"; -import { samplesApi } from "../../../apis/projects/samples"; +import type { TypedUseSelectorHook } from "react-redux"; +import { useSelector } from "react-redux"; import { associatedProjectsApi } from "../../../apis/projects/associated-projects"; -import samplesReducer from "../redux/samplesSlice"; import { projectApi } from "../../../apis/projects/project"; -import { setBaseUrl } from "../../../utilities/url-utilities"; - -/* -WEBPACK PUBLIC PATH: -Webpack does not know what the servlet context path is. To fix this, webpack exposed -the variable `__webpack_public_path__` -See: https://webpack.js.org/guides/public-path/#on-the-fly - */ -__webpack_public_path__ = setBaseUrl(`/dist/`); +import { samplesApi } from "../../../apis/projects/samples"; +import samplesReducer from "../redux/samplesSlice"; /** * Redux store for project samples */ -export const store = configureStore({ +const store = configureStore({ reducer: { samples: samplesReducer, [projectApi.reducerPath]: projectApi.reducer, @@ -39,11 +24,10 @@ export const store = configureStore({ ), devTools: process.env.NODE_ENV !== "production", }); -setupListeners(store.dispatch); -render( - - - , - document.getElementById("root") -); +export type AppDispatch = typeof store.dispatch; +export type RootState = ReturnType; +export const useAppDispatch = () => store.dispatch; +export const useTypedSelector: TypedUseSelectorHook = useSelector; + +export default store; diff --git a/src/main/webapp/resources/js/pages/projects/typs.d.ts b/src/main/webapp/resources/js/pages/projects/typs.d.ts new file mode 100644 index 00000000000..670b64f6027 --- /dev/null +++ b/src/main/webapp/resources/js/pages/projects/typs.d.ts @@ -0,0 +1,11 @@ +import type { Project, Sample } from "../../types/irida"; + +export type ProjectSample = { + coverage: unknown; // TODO: (Josh - 12/9/22) Figure this one out + key: string; + owner: boolean; + project: Project; + qcStatus: string; + quality: string[]; + sample: Sample; +}; diff --git a/src/main/webapp/resources/js/types/ant-design/index.d.ts b/src/main/webapp/resources/js/types/ant-design/index.d.ts index d31bc08e957..1050215d969 100644 --- a/src/main/webapp/resources/js/types/ant-design/index.d.ts +++ b/src/main/webapp/resources/js/types/ant-design/index.d.ts @@ -1,26 +1,32 @@ /** * Properties that are available on the Ant Design Grid Component */ -export interface GridProps { - column?: number; - gutter?: number; - xs?: number; - sm?: number; - md?: number; - lg?: number; - xl?: number; - xxl?: number; + +declare namespace ANTD { + interface GridProps { + column?: number; + gutter?: number; + xs?: number; + sm?: number; + md?: number; + lg?: number; + xl?: number; + xxl?: number; + } + + type TagColor = + | "magenta" + | "red" + | "volcano" + | "orange" + | "gold" + | "lime" + | "green" + | "cyan" + | "blue" + | "geekblue" + | "purple"; } -export type TagColor = - | "magenta" - | "red" - | "volcano" - | "orange" - | "gold" - | "lime" - | "green" - | "cyan" - | "blue" - | "geekblue" - | "purple"; +export = ANTD; +export as namespace ANTD; diff --git a/src/main/webapp/resources/js/types/irida/index.d.ts b/src/main/webapp/resources/js/types/irida/index.d.ts index 95b35d5e87a..8cd23ce08b8 100644 --- a/src/main/webapp/resources/js/types/irida/index.d.ts +++ b/src/main/webapp/resources/js/types/irida/index.d.ts @@ -1,8 +1,5 @@ -import { GenomeAssembly } from "../../apis/samples/samples"; -import { Restriction } from "../../utilities/restriction-utilities"; - -export = IRIDA; -export as namespace IRIDA; +import type { GenomeAssembly } from "../../apis/samples/samples"; +import type { Restriction } from "../../utilities/restriction-utilities"; declare namespace IRIDA { interface BaseModel { @@ -164,7 +161,7 @@ declare namespace IRIDA { interface StoredSample { id: number; - name: string; + sampleName: string; owner: boolean; projectId: number; } @@ -221,6 +218,11 @@ declare namespace IRIDA { bioSampleFiles: NcbiBioSampleFiles[]; } + type SelectedSample = Pick & { + owner: boolean; + projectId: number; + }; + interface SequenceFile extends BaseModel { fileSize: string; } @@ -243,3 +245,6 @@ declare namespace IRIDA { restriction: Restriction; } } + +export = IRIDA; +export as namespace IRIDA; diff --git a/src/main/webapp/resources/js/types/paged-table.d.ts b/src/main/webapp/resources/js/types/paged-table.d.ts new file mode 100644 index 00000000000..1cc6fece27f --- /dev/null +++ b/src/main/webapp/resources/js/types/paged-table.d.ts @@ -0,0 +1,38 @@ +import type { + FilterValue, + TablePaginationConfig, +} from "antd/lib/table/interface"; + +export type PagedTableResponse = { + content: T[]; + total: number; +}; + +export type TableFilters = Record | undefined; + +export type PagedTableOptions = { + filters: TableFilters; + pagination: TablePaginationConfig; + order: TableSortOrder[] | undefined; + search: TableSearch[]; + reload?: number; +}; + +export type TableSortOrder = { + property: string; + direction: "asc" | "desc"; +}; + +export type TableOperation = + | "IN" + | "MATCH" + | "MATCH_IN" + | "GREATER_THAN_EQUAL" + | "LESS_THAN_EQUAL"; + +export type TableSearch = { + property: string; + value: string | string[]; + operation: TableOperation; + _file?: boolean; +}; diff --git a/src/main/webapp/tsconfig.json b/src/main/webapp/tsconfig.json index 9a7a861dbbb..e02bfd17d40 100644 --- a/src/main/webapp/tsconfig.json +++ b/src/main/webapp/tsconfig.json @@ -13,5 +13,12 @@ "jsx": "react", "esModuleInterop": true }, - "include": ["./resources/js/**/*.ts", "./resources/js/**/*.tsx"] + "include": [ + "./*.js", + "./*.json", + "./resources/js/**/*.ts", + "./resources/js/**/*.tsx", + "./resources/js/**/*.js", + "./resources/js/**/*.jsx" + ] }