| @@ -3489,6 +3489,7 @@ | |||
| "version": "8.19.0", | |||
| "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.19.0.tgz", | |||
| "integrity": "sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A==", | |||
| "dev": true, | |||
| "dependencies": { | |||
| "@babel/code-frame": "^7.10.4", | |||
| "@babel/runtime": "^7.12.5", | |||
| @@ -3507,6 +3508,7 @@ | |||
| "version": "7.14.0", | |||
| "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", | |||
| "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==", | |||
| "dev": true, | |||
| "dependencies": { | |||
| "regenerator-runtime": "^0.13.4" | |||
| } | |||
| @@ -3515,6 +3517,7 @@ | |||
| "version": "4.3.0", | |||
| "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", | |||
| "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", | |||
| "dev": true, | |||
| "dependencies": { | |||
| "color-convert": "^2.0.1" | |||
| }, | |||
| @@ -3529,6 +3532,7 @@ | |||
| "version": "5.1.1", | |||
| "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.1.tgz", | |||
| "integrity": "sha512-4cPQjOYM2mqq7mZG8CSxkUvL2Yv/x29VhGq5LKehTsxRnoVQps1YGt9NyjcNQsznEsD4rr8a6zGxqeNTqJWjpA==", | |||
| "dev": true, | |||
| "dependencies": { | |||
| "deep-equal": "^2.0.5" | |||
| } | |||
| @@ -3537,6 +3541,7 @@ | |||
| "version": "4.1.1", | |||
| "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", | |||
| "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", | |||
| "dev": true, | |||
| "dependencies": { | |||
| "ansi-styles": "^4.1.0", | |||
| "supports-color": "^7.1.0" | |||
| @@ -3552,6 +3557,7 @@ | |||
| "version": "2.0.1", | |||
| "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", | |||
| "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", | |||
| "dev": true, | |||
| "dependencies": { | |||
| "color-name": "~1.1.4" | |||
| }, | |||
| @@ -3562,12 +3568,14 @@ | |||
| "node_modules/@testing-library/dom/node_modules/color-name": { | |||
| "version": "1.1.4", | |||
| "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", | |||
| "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" | |||
| "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", | |||
| "dev": true | |||
| }, | |||
| "node_modules/@testing-library/dom/node_modules/deep-equal": { | |||
| "version": "2.0.5", | |||
| "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz", | |||
| "integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==", | |||
| "dev": true, | |||
| "dependencies": { | |||
| "call-bind": "^1.0.0", | |||
| "es-get-iterator": "^1.1.1", | |||
| @@ -3593,6 +3601,7 @@ | |||
| "version": "4.0.0", | |||
| "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | |||
| "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", | |||
| "dev": true, | |||
| "engines": { | |||
| "node": ">=8" | |||
| } | |||
| @@ -3600,12 +3609,14 @@ | |||
| "node_modules/@testing-library/dom/node_modules/isarray": { | |||
| "version": "2.0.5", | |||
| "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", | |||
| "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" | |||
| "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", | |||
| "dev": true | |||
| }, | |||
| "node_modules/@testing-library/dom/node_modules/pretty-format": { | |||
| "version": "27.5.1", | |||
| "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", | |||
| "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", | |||
| "dev": true, | |||
| "dependencies": { | |||
| "ansi-regex": "^5.0.1", | |||
| "ansi-styles": "^5.0.0", | |||
| @@ -3619,6 +3630,7 @@ | |||
| "version": "5.2.0", | |||
| "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", | |||
| "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", | |||
| "dev": true, | |||
| "engines": { | |||
| "node": ">=10" | |||
| }, | |||
| @@ -3630,6 +3642,7 @@ | |||
| "version": "7.2.0", | |||
| "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", | |||
| "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", | |||
| "dev": true, | |||
| "dependencies": { | |||
| "has-flag": "^4.0.0" | |||
| }, | |||
| @@ -3807,7 +3820,8 @@ | |||
| "node_modules/@types/aria-query": { | |||
| "version": "4.2.1", | |||
| "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.1.tgz", | |||
| "integrity": "sha512-S6oPal772qJZHoRZLFc/XoZW2gFvwXusYUmXPXkgxJLuEk2vOt7jc4Yo6z/vtI0EBkbPBVrJJ0B+prLIKiWqHg==" | |||
| "integrity": "sha512-S6oPal772qJZHoRZLFc/XoZW2gFvwXusYUmXPXkgxJLuEk2vOt7jc4Yo6z/vtI0EBkbPBVrJJ0B+prLIKiWqHg==", | |||
| "dev": true | |||
| }, | |||
| "node_modules/@types/babel__core": { | |||
| "version": "7.1.14", | |||
| @@ -4965,6 +4979,7 @@ | |||
| "version": "1.0.5", | |||
| "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", | |||
| "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", | |||
| "dev": true, | |||
| "engines": { | |||
| "node": ">= 0.4" | |||
| }, | |||
| @@ -7918,7 +7933,8 @@ | |||
| "node_modules/dom-accessibility-api": { | |||
| "version": "0.5.14", | |||
| "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz", | |||
| "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==" | |||
| "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==", | |||
| "dev": true | |||
| }, | |||
| "node_modules/dom-converter": { | |||
| "version": "0.2.0", | |||
| @@ -8328,6 +8344,7 @@ | |||
| "version": "1.1.2", | |||
| "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", | |||
| "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", | |||
| "dev": true, | |||
| "dependencies": { | |||
| "call-bind": "^1.0.2", | |||
| "get-intrinsic": "^1.1.0", | |||
| @@ -8345,7 +8362,8 @@ | |||
| "node_modules/es-get-iterator/node_modules/isarray": { | |||
| "version": "2.0.5", | |||
| "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", | |||
| "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" | |||
| "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", | |||
| "dev": true | |||
| }, | |||
| "node_modules/es-to-primitive": { | |||
| "version": "1.2.1", | |||
| @@ -10106,6 +10124,7 @@ | |||
| "version": "0.3.3", | |||
| "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", | |||
| "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", | |||
| "dev": true, | |||
| "dependencies": { | |||
| "is-callable": "^1.1.3" | |||
| } | |||
| @@ -11886,6 +11905,7 @@ | |||
| "version": "2.0.2", | |||
| "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", | |||
| "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", | |||
| "dev": true, | |||
| "funding": { | |||
| "url": "https://github.com/sponsors/ljharb" | |||
| } | |||
| @@ -12043,6 +12063,7 @@ | |||
| "version": "2.0.2", | |||
| "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", | |||
| "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", | |||
| "dev": true, | |||
| "funding": { | |||
| "url": "https://github.com/sponsors/ljharb" | |||
| } | |||
| @@ -12101,6 +12122,7 @@ | |||
| "version": "1.1.9", | |||
| "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz", | |||
| "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==", | |||
| "dev": true, | |||
| "dependencies": { | |||
| "available-typed-arrays": "^1.0.5", | |||
| "call-bind": "^1.0.2", | |||
| @@ -12124,6 +12146,7 @@ | |||
| "version": "2.0.1", | |||
| "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", | |||
| "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", | |||
| "dev": true, | |||
| "funding": { | |||
| "url": "https://github.com/sponsors/ljharb" | |||
| } | |||
| @@ -12143,6 +12166,7 @@ | |||
| "version": "2.0.2", | |||
| "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", | |||
| "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", | |||
| "dev": true, | |||
| "dependencies": { | |||
| "call-bind": "^1.0.2", | |||
| "get-intrinsic": "^1.1.1" | |||
| @@ -14226,12 +14250,6 @@ | |||
| "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", | |||
| "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==" | |||
| }, | |||
| "node_modules/jquery": { | |||
| "version": "3.6.1", | |||
| "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz", | |||
| "integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw==", | |||
| "peer": true | |||
| }, | |||
| "node_modules/js-tokens": { | |||
| "version": "4.0.0", | |||
| "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | |||
| @@ -14978,6 +14996,7 @@ | |||
| "version": "1.4.4", | |||
| "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", | |||
| "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", | |||
| "dev": true, | |||
| "bin": { | |||
| "lz-string": "bin/bin.js" | |||
| } | |||
| @@ -17879,6 +17898,7 @@ | |||
| "version": "2.3.1", | |||
| "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz", | |||
| "integrity": "sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==", | |||
| "dev": true, | |||
| "bin": { | |||
| "prettier": "bin-prettier.js" | |||
| }, | |||
| @@ -21990,19 +22010,6 @@ | |||
| "is-typedarray": "^1.0.0" | |||
| } | |||
| }, | |||
| "node_modules/typescript": { | |||
| "version": "4.8.4", | |||
| "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", | |||
| "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", | |||
| "peer": true, | |||
| "bin": { | |||
| "tsc": "bin/tsc", | |||
| "tsserver": "bin/tsserver" | |||
| }, | |||
| "engines": { | |||
| "node": ">=4.2.0" | |||
| } | |||
| }, | |||
| "node_modules/typescript-compare": { | |||
| "version": "0.0.2", | |||
| "resolved": "https://registry.npmjs.org/typescript-compare/-/typescript-compare-0.0.2.tgz", | |||
| @@ -24035,6 +24042,7 @@ | |||
| "version": "1.0.1", | |||
| "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", | |||
| "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", | |||
| "dev": true, | |||
| "dependencies": { | |||
| "is-map": "^2.0.1", | |||
| "is-set": "^2.0.1", | |||
| @@ -24054,6 +24062,7 @@ | |||
| "version": "1.1.8", | |||
| "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz", | |||
| "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==", | |||
| "dev": true, | |||
| "dependencies": { | |||
| "available-typed-arrays": "^1.0.5", | |||
| "call-bind": "^1.0.2", | |||
| @@ -25883,8 +25892,7 @@ | |||
| "@emotion/use-insertion-effect-with-fallbacks": { | |||
| "version": "1.0.0", | |||
| "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", | |||
| "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", | |||
| "requires": {} | |||
| "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==" | |||
| }, | |||
| "@emotion/utils": { | |||
| "version": "1.2.0", | |||
| @@ -26675,8 +26683,7 @@ | |||
| "@mui/types": { | |||
| "version": "7.2.0", | |||
| "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.0.tgz", | |||
| "integrity": "sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA==", | |||
| "requires": {} | |||
| "integrity": "sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA==" | |||
| }, | |||
| "@mui/utils": { | |||
| "version": "5.10.9", | |||
| @@ -27045,6 +27052,7 @@ | |||
| "version": "8.19.0", | |||
| "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.19.0.tgz", | |||
| "integrity": "sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A==", | |||
| "dev": true, | |||
| "requires": { | |||
| "@babel/code-frame": "^7.10.4", | |||
| "@babel/runtime": "^7.12.5", | |||
| @@ -27060,6 +27068,7 @@ | |||
| "version": "7.14.0", | |||
| "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", | |||
| "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==", | |||
| "dev": true, | |||
| "requires": { | |||
| "regenerator-runtime": "^0.13.4" | |||
| } | |||
| @@ -27068,6 +27077,7 @@ | |||
| "version": "4.3.0", | |||
| "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", | |||
| "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", | |||
| "dev": true, | |||
| "requires": { | |||
| "color-convert": "^2.0.1" | |||
| } | |||
| @@ -27076,6 +27086,7 @@ | |||
| "version": "5.1.1", | |||
| "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.1.tgz", | |||
| "integrity": "sha512-4cPQjOYM2mqq7mZG8CSxkUvL2Yv/x29VhGq5LKehTsxRnoVQps1YGt9NyjcNQsznEsD4rr8a6zGxqeNTqJWjpA==", | |||
| "dev": true, | |||
| "requires": { | |||
| "deep-equal": "^2.0.5" | |||
| } | |||
| @@ -27084,6 +27095,7 @@ | |||
| "version": "4.1.1", | |||
| "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", | |||
| "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", | |||
| "dev": true, | |||
| "requires": { | |||
| "ansi-styles": "^4.1.0", | |||
| "supports-color": "^7.1.0" | |||
| @@ -27093,6 +27105,7 @@ | |||
| "version": "2.0.1", | |||
| "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", | |||
| "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", | |||
| "dev": true, | |||
| "requires": { | |||
| "color-name": "~1.1.4" | |||
| } | |||
| @@ -27100,12 +27113,14 @@ | |||
| "color-name": { | |||
| "version": "1.1.4", | |||
| "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", | |||
| "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" | |||
| "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", | |||
| "dev": true | |||
| }, | |||
| "deep-equal": { | |||
| "version": "2.0.5", | |||
| "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz", | |||
| "integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==", | |||
| "dev": true, | |||
| "requires": { | |||
| "call-bind": "^1.0.0", | |||
| "es-get-iterator": "^1.1.1", | |||
| @@ -27127,17 +27142,20 @@ | |||
| "has-flag": { | |||
| "version": "4.0.0", | |||
| "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | |||
| "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" | |||
| "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", | |||
| "dev": true | |||
| }, | |||
| "isarray": { | |||
| "version": "2.0.5", | |||
| "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", | |||
| "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" | |||
| "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", | |||
| "dev": true | |||
| }, | |||
| "pretty-format": { | |||
| "version": "27.5.1", | |||
| "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", | |||
| "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", | |||
| "dev": true, | |||
| "requires": { | |||
| "ansi-regex": "^5.0.1", | |||
| "ansi-styles": "^5.0.0", | |||
| @@ -27147,7 +27165,8 @@ | |||
| "ansi-styles": { | |||
| "version": "5.2.0", | |||
| "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", | |||
| "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" | |||
| "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", | |||
| "dev": true | |||
| } | |||
| } | |||
| }, | |||
| @@ -27155,6 +27174,7 @@ | |||
| "version": "7.2.0", | |||
| "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", | |||
| "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", | |||
| "dev": true, | |||
| "requires": { | |||
| "has-flag": "^4.0.0" | |||
| } | |||
| @@ -27293,7 +27313,8 @@ | |||
| "@types/aria-query": { | |||
| "version": "4.2.1", | |||
| "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.1.tgz", | |||
| "integrity": "sha512-S6oPal772qJZHoRZLFc/XoZW2gFvwXusYUmXPXkgxJLuEk2vOt7jc4Yo6z/vtI0EBkbPBVrJJ0B+prLIKiWqHg==" | |||
| "integrity": "sha512-S6oPal772qJZHoRZLFc/XoZW2gFvwXusYUmXPXkgxJLuEk2vOt7jc4Yo6z/vtI0EBkbPBVrJJ0B+prLIKiWqHg==", | |||
| "dev": true | |||
| }, | |||
| "@types/babel__core": { | |||
| "version": "7.1.14", | |||
| @@ -27911,8 +27932,7 @@ | |||
| "acorn-jsx": { | |||
| "version": "5.3.2", | |||
| "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", | |||
| "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", | |||
| "requires": {} | |||
| "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" | |||
| }, | |||
| "acorn-walk": { | |||
| "version": "7.2.0", | |||
| @@ -27964,14 +27984,12 @@ | |||
| "ajv-errors": { | |||
| "version": "1.0.1", | |||
| "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", | |||
| "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", | |||
| "requires": {} | |||
| "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" | |||
| }, | |||
| "ajv-keywords": { | |||
| "version": "3.5.2", | |||
| "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", | |||
| "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", | |||
| "requires": {} | |||
| "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" | |||
| }, | |||
| "alphanum-sort": { | |||
| "version": "1.0.2", | |||
| @@ -28245,7 +28263,8 @@ | |||
| "available-typed-arrays": { | |||
| "version": "1.0.5", | |||
| "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", | |||
| "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" | |||
| "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", | |||
| "dev": true | |||
| }, | |||
| "axe-core": { | |||
| "version": "4.2.2", | |||
| @@ -28443,8 +28462,7 @@ | |||
| "babel-plugin-named-asset-import": { | |||
| "version": "0.3.7", | |||
| "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz", | |||
| "integrity": "sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==", | |||
| "requires": {} | |||
| "integrity": "sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==" | |||
| }, | |||
| "babel-plugin-polyfill-corejs2": { | |||
| "version": "0.2.2", | |||
| @@ -30584,7 +30602,8 @@ | |||
| "dom-accessibility-api": { | |||
| "version": "0.5.14", | |||
| "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz", | |||
| "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==" | |||
| "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==", | |||
| "dev": true | |||
| }, | |||
| "dom-converter": { | |||
| "version": "0.2.0", | |||
| @@ -30941,6 +30960,7 @@ | |||
| "version": "1.1.2", | |||
| "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", | |||
| "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", | |||
| "dev": true, | |||
| "requires": { | |||
| "call-bind": "^1.0.2", | |||
| "get-intrinsic": "^1.1.0", | |||
| @@ -30955,7 +30975,8 @@ | |||
| "isarray": { | |||
| "version": "2.0.5", | |||
| "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", | |||
| "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" | |||
| "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", | |||
| "dev": true | |||
| } | |||
| } | |||
| }, | |||
| @@ -31237,8 +31258,7 @@ | |||
| "version": "8.3.0", | |||
| "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", | |||
| "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", | |||
| "dev": true, | |||
| "requires": {} | |||
| "dev": true | |||
| }, | |||
| "eslint-config-react-app": { | |||
| "version": "6.0.0", | |||
| @@ -31472,8 +31492,7 @@ | |||
| "eslint-plugin-react-hooks": { | |||
| "version": "4.2.0", | |||
| "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz", | |||
| "integrity": "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==", | |||
| "requires": {} | |||
| "integrity": "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==" | |||
| }, | |||
| "eslint-plugin-security": { | |||
| "version": "1.4.0", | |||
| @@ -32267,6 +32286,7 @@ | |||
| "version": "0.3.3", | |||
| "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", | |||
| "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", | |||
| "dev": true, | |||
| "requires": { | |||
| "is-callable": "^1.1.3" | |||
| } | |||
| @@ -33646,7 +33666,8 @@ | |||
| "is-map": { | |||
| "version": "2.0.2", | |||
| "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", | |||
| "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" | |||
| "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", | |||
| "dev": true | |||
| }, | |||
| "is-module": { | |||
| "version": "1.0.0", | |||
| @@ -33749,7 +33770,8 @@ | |||
| "is-set": { | |||
| "version": "2.0.2", | |||
| "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", | |||
| "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" | |||
| "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", | |||
| "dev": true | |||
| }, | |||
| "is-shared-array-buffer": { | |||
| "version": "1.0.2", | |||
| @@ -33784,6 +33806,7 @@ | |||
| "version": "1.1.9", | |||
| "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz", | |||
| "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==", | |||
| "dev": true, | |||
| "requires": { | |||
| "available-typed-arrays": "^1.0.5", | |||
| "call-bind": "^1.0.2", | |||
| @@ -33800,7 +33823,8 @@ | |||
| "is-weakmap": { | |||
| "version": "2.0.1", | |||
| "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", | |||
| "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" | |||
| "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", | |||
| "dev": true | |||
| }, | |||
| "is-weakref": { | |||
| "version": "1.0.2", | |||
| @@ -33814,6 +33838,7 @@ | |||
| "version": "2.0.2", | |||
| "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", | |||
| "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", | |||
| "dev": true, | |||
| "requires": { | |||
| "call-bind": "^1.0.2", | |||
| "get-intrinsic": "^1.1.1" | |||
| @@ -34603,8 +34628,7 @@ | |||
| "jest-pnp-resolver": { | |||
| "version": "1.2.2", | |||
| "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", | |||
| "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", | |||
| "requires": {} | |||
| "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" | |||
| }, | |||
| "jest-regex-util": { | |||
| "version": "26.0.0", | |||
| @@ -35350,12 +35374,6 @@ | |||
| "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", | |||
| "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==" | |||
| }, | |||
| "jquery": { | |||
| "version": "3.6.1", | |||
| "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz", | |||
| "integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw==", | |||
| "peer": true | |||
| }, | |||
| "js-tokens": { | |||
| "version": "4.0.0", | |||
| "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | |||
| @@ -35955,7 +35973,8 @@ | |||
| "lz-string": { | |||
| "version": "1.4.4", | |||
| "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", | |||
| "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=" | |||
| "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", | |||
| "dev": true | |||
| }, | |||
| "magic-string": { | |||
| "version": "0.25.7", | |||
| @@ -38286,7 +38305,8 @@ | |||
| "prettier": { | |||
| "version": "2.3.1", | |||
| "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz", | |||
| "integrity": "sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==" | |||
| "integrity": "sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==", | |||
| "dev": true | |||
| }, | |||
| "prettier-linter-helpers": { | |||
| "version": "1.0.0", | |||
| @@ -39229,8 +39249,7 @@ | |||
| "redux-thunk": { | |||
| "version": "2.4.1", | |||
| "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.1.tgz", | |||
| "integrity": "sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q==", | |||
| "requires": {} | |||
| "integrity": "sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q==" | |||
| }, | |||
| "regenerate": { | |||
| "version": "1.4.2", | |||
| @@ -40301,8 +40320,7 @@ | |||
| "slick-carousel": { | |||
| "version": "1.8.1", | |||
| "resolved": "https://registry.npmjs.org/slick-carousel/-/slick-carousel-1.8.1.tgz", | |||
| "integrity": "sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==", | |||
| "requires": {} | |||
| "integrity": "sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==" | |||
| }, | |||
| "snapdragon": { | |||
| "version": "0.8.2", | |||
| @@ -41553,12 +41571,6 @@ | |||
| "is-typedarray": "^1.0.0" | |||
| } | |||
| }, | |||
| "typescript": { | |||
| "version": "4.8.4", | |||
| "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", | |||
| "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", | |||
| "peer": true | |||
| }, | |||
| "typescript-compare": { | |||
| "version": "0.0.2", | |||
| "resolved": "https://registry.npmjs.org/typescript-compare/-/typescript-compare-0.0.2.tgz", | |||
| @@ -43180,6 +43192,7 @@ | |||
| "version": "1.0.1", | |||
| "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", | |||
| "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", | |||
| "dev": true, | |||
| "requires": { | |||
| "is-map": "^2.0.1", | |||
| "is-set": "^2.0.1", | |||
| @@ -43196,6 +43209,7 @@ | |||
| "version": "1.1.8", | |||
| "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz", | |||
| "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==", | |||
| "dev": true, | |||
| "requires": { | |||
| "available-typed-arrays": "^1.0.5", | |||
| "call-bind": "^1.0.2", | |||
| @@ -43483,8 +43497,7 @@ | |||
| "ws": { | |||
| "version": "7.4.6", | |||
| "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", | |||
| "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", | |||
| "requires": {} | |||
| "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==" | |||
| }, | |||
| "xdg-basedir": { | |||
| "version": "4.0.0", | |||
| @@ -28,6 +28,9 @@ | |||
| } | |||
| .ml-20px { | |||
| margin-left: 30px; | |||
| @include media-below($bp-xl) { | |||
| margin-left: 15px; | |||
| } | |||
| } | |||
| .divider{ | |||
| display: flex; | |||
| @@ -24,6 +24,10 @@ | |||
| cursor: auto; | |||
| } | |||
| &.enabledEdit { | |||
| background-color: $mainBlueLight !important; | |||
| } | |||
| &.c-btn--primary { | |||
| background-color: $mainBlue; | |||
| color: $white; | |||
| @@ -15,4 +15,12 @@ | |||
| } | |||
| .td-btn.inactive{ | |||
| background-color: rgba(255,100,100,0.75) !important; | |||
| } | |||
| .userPageBtn.activeEnable{ | |||
| background-color: rgba(100,255,100,0.75) !important; | |||
| } | |||
| .userPageBtn.deactiveEnable{ | |||
| background-color: rgba(255,100,100,0.75) !important;; | |||
| } | |||
| @@ -69,4 +69,4 @@ color: #226cb0; | |||
| top: 2.5px; | |||
| color: $mainBlue; | |||
| margin-right: 100px; | |||
| } | |||
| } | |||
| @@ -1,5 +1,6 @@ | |||
| import React from "react"; | |||
| import planeVector from "../../assets/images/planeVector.png"; | |||
| import * as Yup from "yup"; | |||
| import PropTypes from "prop-types"; | |||
| import { | |||
| Dialog, | |||
| @@ -10,24 +11,77 @@ import { | |||
| useMediaQuery, | |||
| useTheme, | |||
| IconButton, | |||
| TextField, | |||
| } from "@mui/material"; | |||
| import { useDispatch, useSelector } from "react-redux"; | |||
| import { useEffect } from "react"; | |||
| import { inviteUserReq } from "../../store/actions/users/usersActions"; | |||
| // import { useState } from "react"; | |||
| import { useTranslation } from "react-i18next"; | |||
| import { useFormik } from "formik"; | |||
| // import { set } from "lodash"; | |||
| const InviteDialog = ({ | |||
| title, | |||
| content, | |||
| // content, | |||
| onClose, | |||
| open, | |||
| maxWidth, | |||
| fullWidth, | |||
| responsive, | |||
| }) => { | |||
| // const [invite, setInvite] = useState({ | |||
| // email: "", | |||
| // firstName: "", | |||
| // lastName: "", | |||
| // }); | |||
| const dispatch = useDispatch(); | |||
| const { isSuccess } = useSelector((s) => s.invite); | |||
| const theme = useTheme(); | |||
| const fullScreen = useMediaQuery(theme.breakpoints.down("md")); | |||
| const { t } = useTranslation(); | |||
| const handleClose = () => { | |||
| onClose(); | |||
| formik.resetForm(); | |||
| }; | |||
| const handleSubmit = (values, { resetForm }) => { | |||
| const { lastName, firstName, email } = values; | |||
| dispatch( | |||
| inviteUserReq({ | |||
| invite: { | |||
| lastName, | |||
| firstName, | |||
| email, | |||
| }, | |||
| handleApiResponseSuccess: resetForm | |||
| }) | |||
| ); | |||
| }; | |||
| const formik = useFormik({ | |||
| initialValues: { | |||
| firstName: "", | |||
| lastName: "", | |||
| email: "", | |||
| }, | |||
| validationSchema: Yup.object().shape({ | |||
| firstName: Yup.string().required(t("login.firstnameRequired")), | |||
| lastName: Yup.string().required(t("login.lastnameRequired")), | |||
| email: Yup.string().required(t("login.emailRequired")), | |||
| }), | |||
| onSubmit: handleSubmit, | |||
| validateOnBlur: true, | |||
| enableReinitialize: true, | |||
| }); | |||
| useEffect(() => { | |||
| handleClose(); | |||
| }, [dispatch, isSuccess]); | |||
| return ( | |||
| <Dialog | |||
| maxWidth={maxWidth} | |||
| @@ -40,27 +94,75 @@ const InviteDialog = ({ | |||
| }} | |||
| > | |||
| <div style={{ padding: "36px" }}> | |||
| <DialogTitle style={{padding: 0}}>{title}</DialogTitle> | |||
| {content && <DialogContent style={{padding: '50px 0px'}}>{content}</DialogContent>} | |||
| <DialogActions style={{padding: 0}}> | |||
| {<IconButton | |||
| className={"c-btn--primary c-btn inviteBtn"} | |||
| sx={{ | |||
| width:'100%' | |||
| }} | |||
| onClick={handleClose} | |||
| > | |||
| <img | |||
| <DialogTitle style={{ padding: 0 }}>{title}</DialogTitle> | |||
| <DialogContent style={{ padding: "50px 0px 10px 0px" }}> | |||
| <form onSubmit={formik.handleSubmit}> | |||
| {/* <label>Primaoc</label> */} | |||
| <div | |||
| className="" | |||
| style={{ | |||
| position: "relative", | |||
| top: 1.25, | |||
| paddingRight: "15px", | |||
| display: "flex", | |||
| justifyContent: "center", | |||
| alignItems: "start", | |||
| gap: "15px", | |||
| }} | |||
| > | |||
| <TextField | |||
| name="firstName" | |||
| label={t("users.receiver")} | |||
| margin="normal" | |||
| value={formik.values.firstName} | |||
| onChange={formik.handleChange} | |||
| error={ | |||
| formik.touched.firstName && Boolean(formik.errors.firstName) | |||
| } | |||
| helperText={formik.touched.firstName && formik.errors.firstName} | |||
| fullWidth | |||
| /> | |||
| <TextField | |||
| name="lastName" | |||
| label={t("users.receiver")} | |||
| margin="normal" | |||
| value={formik.values.lastName} | |||
| onChange={formik.handleChange} | |||
| error={ | |||
| formik.touched.lastName && Boolean(formik.errors.lastName) | |||
| } | |||
| helperText={formik.touched.lastName && formik.errors.lastName} | |||
| fullWidth | |||
| /> | |||
| </div> | |||
| <TextField | |||
| name="email" | |||
| label={t("users.receiver")} | |||
| margin="normal" | |||
| value={formik.values.email} | |||
| onChange={formik.handleChange} | |||
| error={formik.touched.email && Boolean(formik.errors.email)} | |||
| helperText={formik.touched.email && formik.errors.email} | |||
| fullWidth | |||
| /> | |||
| <IconButton | |||
| className={"c-btn--primary c-btn inviteBtn"} | |||
| sx={{ | |||
| width: "100%", | |||
| marginTop: "15px", | |||
| }} | |||
| src={planeVector} | |||
| />{" "} | |||
| Registracioni link | |||
| </IconButton>} | |||
| </DialogActions> | |||
| type="submit" | |||
| > | |||
| <img | |||
| style={{ | |||
| position: "relative", | |||
| top: 1.25, | |||
| paddingRight: "15px", | |||
| }} | |||
| src={planeVector} | |||
| />{" "} | |||
| Registracioni link | |||
| </IconButton> | |||
| </form> | |||
| </DialogContent> | |||
| <DialogActions style={{ padding: 0 }}></DialogActions> | |||
| </div> | |||
| </Dialog> | |||
| ); | |||
| @@ -69,7 +171,7 @@ const InviteDialog = ({ | |||
| InviteDialog.propTypes = { | |||
| title: PropTypes.any, | |||
| open: PropTypes.bool.isRequired, | |||
| content: PropTypes.any, | |||
| // content: PropTypes.any, | |||
| onClose: PropTypes.func.isRequired, | |||
| maxWidth: PropTypes.oneOf(["xs", "sm", "md", "lg", "xl"]), | |||
| fullWidth: PropTypes.bool, | |||
| @@ -32,7 +32,7 @@ import LogoutIcon from "@mui/icons-material/Logout"; | |||
| import UserProfile from "../Profile/UserProfile"; | |||
| import { useSelector } from "react-redux"; | |||
| //import { userSelector } from "../../store/selectors/userSelectors"; | |||
| import { Link } from "react-router-dom"; | |||
| import { Link, useLocation } from "react-router-dom"; | |||
| const NavbarComponent = () => { | |||
| const navItems = [ | |||
| @@ -45,6 +45,7 @@ const NavbarComponent = () => { | |||
| "users", | |||
| // "signOut" | |||
| ]; | |||
| const { pathname } = useLocation(); | |||
| const [openDrawer, setOpenDrawer] = useState(false); | |||
| const [preview, setPreview] = useState(false); | |||
| const theme = useTheme(); | |||
| @@ -295,7 +296,7 @@ const NavbarComponent = () => { | |||
| padding: "0", | |||
| textDecoration: "none", | |||
| }} | |||
| className="text-black" | |||
| className={pathname === `/${n}` ? 'text-blue' : 'text-black'} | |||
| as={Link} | |||
| to={`/${n}`} | |||
| > | |||
| @@ -325,4 +326,4 @@ const NavbarComponent = () => { | |||
| ); | |||
| }; | |||
| export default NavbarComponent; | |||
| export default NavbarComponent; | |||
| @@ -41,9 +41,11 @@ export default { | |||
| }, | |||
| login: { | |||
| welcome: "Welcome!", | |||
| firstnameRequired: "An first name is required.", | |||
| lastnameRequired: "A last name is required.", | |||
| emailRequired: "An Email is required.", | |||
| dontHaveAccount: "Don't have an account? ", | |||
| emailFormat: "Invalid email address format.", | |||
| emailRequired: "An email or username is required.", | |||
| noUsers: "There are no users with that email.", | |||
| passwordStrength: "Your password is {{strength}}.", | |||
| passwordLength: "Your password contain between 8 and 50 characters.", | |||
| @@ -112,4 +114,17 @@ export default { | |||
| adDetailsOffer: "What We Offer", | |||
| archiveAdsCandidates: "Registered candidates", | |||
| }, | |||
| users: { | |||
| management: "User management", | |||
| fullName: "Name and surname", | |||
| position: 'Position', | |||
| invite: 'Invite', | |||
| inviteUser: 'Invite user', | |||
| regLink: 'Registration link', | |||
| receiver: 'Receiver', | |||
| user: 'User', | |||
| contact: 'Contact', | |||
| phone: 'Phone', | |||
| socials: 'Social Media', | |||
| }, | |||
| }; | |||
| @@ -53,6 +53,9 @@ export default { | |||
| // email: 'Please enter your email address or username to log in:', | |||
| logInTitle: "Prijavi se", | |||
| logIn: "Prijavi se", | |||
| firstnameRequired: "Potrebno je uneti ime.", | |||
| lastnameRequired: "Potrebno je uneti prezime.", | |||
| emailRequired: "Potrebno je uneti email adresu.", | |||
| // signUp: 'Sign Up', | |||
| usernameRequired: "Potrebno je uneti korisničko ime.", | |||
| passwordRequired: "Potrebno je uneti šifru.", | |||
| @@ -132,5 +135,18 @@ export default { | |||
| }, | |||
| selection: { | |||
| title: "Tok Selekcije" | |||
| } | |||
| }, | |||
| users:{ | |||
| management: "Upravljanje korisnicima", | |||
| fullName: 'Ime i prezime', | |||
| position: 'Pozicija', | |||
| invite: 'Pozovi', | |||
| inviteUser: 'Pozovi korisnika', | |||
| regLink: 'Registracioni link', | |||
| receiver: 'Primalac', | |||
| user: 'Korisnik', | |||
| contact: 'Kontakt', | |||
| phone: 'Telefon', | |||
| socials: 'Društvene mreže', | |||
| } | |||
| }; | |||
| @@ -6,15 +6,22 @@ import lock from "../../assets/images/lock.png"; | |||
| import forbiden from "../../assets/images/forbiden.png"; | |||
| import IconButton from "../../components/IconButton/IconButton"; | |||
| import { Link, useParams } from "react-router-dom"; | |||
| import { deleteUserReq } from "../../store/actions/users/usersActions"; | |||
| import { useDispatch } from "react-redux"; | |||
| import { deleteUserReq, setEnableUsersReq, userDetailsReq } from "../../store/actions/users/usersActions"; | |||
| import { useDispatch, useSelector } from "react-redux"; | |||
| import { USERS_PAGE } from "../../constants/pages"; | |||
| import { forgetPassword } from "../../store/actions/login/loginActions"; | |||
| import { useEffect } from "react"; | |||
| import { useTheme } from "@emotion/react"; | |||
| import { useMediaQuery } from "@mui/material"; | |||
| const UserDetails = ({ history }) => { | |||
| const theme = useTheme(); | |||
| const matches = useMediaQuery(theme.breakpoints.down("sm")); | |||
| const { id } = useParams(); | |||
| const dispatch = useDispatch(); | |||
| const { user } = useSelector((s) => s.userDetails); | |||
| const handleReset = (email) => { | |||
| dispatch( | |||
| forgetPassword({ | |||
| @@ -24,8 +31,12 @@ const UserDetails = ({ history }) => { | |||
| ); | |||
| }; | |||
| const enableHandler = () =>{ | |||
| dispatch(setEnableUsersReq({ id: user.id })); | |||
| } | |||
| const handleApiResponseSuccessReset = () => { | |||
| alert("Ok"); | |||
| console.log('DONE!') | |||
| }; | |||
| const handleApiResponseSuccess = () => { | |||
| @@ -41,6 +52,10 @@ const UserDetails = ({ history }) => { | |||
| dispatch(deleteUserReq({ id, handleApiResponseSuccess })); | |||
| }; | |||
| useEffect(()=>{ | |||
| dispatch(userDetailsReq({id})) | |||
| },[dispatch]) | |||
| return ( | |||
| <div> | |||
| <div className="l-t-rectangle"></div> | |||
| @@ -65,7 +80,7 @@ const UserDetails = ({ history }) => { | |||
| }} | |||
| className="text-blue" | |||
| > | |||
| Stefan Stamenkovic | |||
| {user && user.firstName} {user && user.lastName} | |||
| </h3> | |||
| </div> | |||
| <div className="flex-center"> | |||
| @@ -73,24 +88,25 @@ const UserDetails = ({ history }) => { | |||
| className={ | |||
| "c-btn--primary-outlined c-btn userPageBtn ml-20px no-padding" | |||
| } | |||
| onClick={() => handleReset("meris.ahmatovic@dilig.net")} | |||
| onClick={() => handleReset(user.email)} | |||
| > | |||
| Resetuj password | |||
| {!matches && 'Resetuj password'} | |||
| <img | |||
| style={{ | |||
| position: "relative", | |||
| top: -0.25, | |||
| paddingLeft: "10px", | |||
| paddingLeft: !matches && "10px", | |||
| }} | |||
| src={lock} | |||
| /> | |||
| </IconButton> | |||
| <IconButton | |||
| {!matches && <IconButton | |||
| className={ | |||
| "c-btn--primary-outlined c-btn userPageBtn ml-20px no-padding" | |||
| `c-btn--primary-outlined c-btn userPageBtn ml-20px no-padding ${user?.isEnabled ? 'activeEnable' : 'deactiveEnable'}` | |||
| } | |||
| onClick={enableHandler} | |||
| > | |||
| Blokiraj | |||
| {user?.isEnabled ? 'Blokiraj' : 'Odblokiraj'} | |||
| <img | |||
| style={{ | |||
| position: "relative", | |||
| @@ -99,8 +115,8 @@ const UserDetails = ({ history }) => { | |||
| }} | |||
| src={forbiden} | |||
| /> | |||
| </IconButton> | |||
| <IconButton | |||
| </IconButton>} | |||
| {!matches && <IconButton | |||
| className={ | |||
| "c-btn--primary-outlined c-btn userPageBtn ml-20px no-padding" | |||
| } | |||
| @@ -115,18 +131,18 @@ const UserDetails = ({ history }) => { | |||
| }} | |||
| src={filters} | |||
| /> | |||
| </IconButton> | |||
| </IconButton>} | |||
| <IconButton | |||
| className={ | |||
| "c-btn--primary-outlined c-btn userPageBtn ml-20px no-padding" | |||
| } | |||
| > | |||
| Uredi profil | |||
| {!matches && "Uredi profil"} | |||
| <img | |||
| style={{ | |||
| position: "relative", | |||
| top: -0.25, | |||
| paddingLeft: "10px", | |||
| paddingLeft: !matches && "10px", | |||
| }} | |||
| src={filters} | |||
| /> | |||
| @@ -140,17 +156,17 @@ const UserDetails = ({ history }) => { | |||
| width="108px" | |||
| style={{ margin: "18px 15px 36px 0px" }} | |||
| /> | |||
| <p>HR Specialist</p> | |||
| <p>{user?.position ? user.position : "Position has not been declared yet."}</p> | |||
| </div> | |||
| <div style={{ display: "flex", flexDirection: "column", gap: "18px" }}> | |||
| <p style={{ fontWeight: "600" }}>Kontakt</p> | |||
| <div className="flex-center" style={{ justifyContent: "flex-start" }}> | |||
| <p style={{ width: "85px" }}>Email:</p> | |||
| <p className="text-blue">stameni@dilig.net</p> | |||
| <p className="text-blue">{user && user.email}</p> | |||
| </div> | |||
| <div className="flex-center" style={{ justifyContent: "flex-start" }}> | |||
| <p style={{ width: "85px" }}>Telefon:</p> | |||
| <p className="text-blue">0628264606</p> | |||
| <p className="text-blue">{user?.phoneNumber ? user.phoneNumber : "User has no phone number saved."}</p> | |||
| </div> | |||
| </div> | |||
| <div | |||
| @@ -164,7 +180,7 @@ const UserDetails = ({ history }) => { | |||
| <p style={{ fontWeight: "600" }}>Drustvene mreze</p> | |||
| <div className="flex-center" style={{ justifyContent: "flex-start" }}> | |||
| <p style={{ width: "85px" }}>LinkedIn:</p> | |||
| <p className="text-blue">https://www.linkedin.com/in/stamenis/</p> | |||
| <p className="text-blue">{user?.socialMedias ? user.socialMedias : "User takes not part in any social media."}</p> | |||
| </div> | |||
| </div> | |||
| <div | |||
| @@ -18,11 +18,12 @@ import { | |||
| setUsersReq, | |||
| } from "../../store/actions/users/usersActions"; | |||
| import { useTheme } from "@mui/system"; | |||
| import { TextField, useMediaQuery } from "@mui/material"; | |||
| import { useMediaQuery } from "@mui/material"; | |||
| // import DialogComponent from "../../components/MUI/DialogComponent"; | |||
| import InviteDialog from "../../components/MUI/InviteDialog"; | |||
| import { Link } from "react-router-dom"; | |||
| import { forgetPassword } from "../../store/actions/login/loginActions"; | |||
| import { useTranslation } from "react-i18next"; | |||
| const UsersPage = () => { | |||
| const theme = useTheme(); | |||
| @@ -31,6 +32,9 @@ const UsersPage = () => { | |||
| const { users } = useSelector((s) => s.users); | |||
| const [showInvite, setShowInvite] = useState(false); | |||
| const [editEnable, setEdit] = useState(false); | |||
| const { t } = useTranslation(); | |||
| useEffect(() => { | |||
| dispatch(setUsersReq()); | |||
| @@ -40,17 +44,17 @@ const UsersPage = () => { | |||
| dispatch(setEnableUsersReq({ id })); | |||
| }; | |||
| const handleReset = (email) => { | |||
| dispatch( | |||
| forgetPassword({ | |||
| email, | |||
| handleApiResponseSuccessReset, | |||
| }) | |||
| ); | |||
| }; | |||
| const handleReset = (email) => { | |||
| dispatch( | |||
| forgetPassword({ | |||
| email, | |||
| handleApiResponseSuccessReset, | |||
| }) | |||
| ); | |||
| }; | |||
| const handleApiResponseSuccessReset = () => { | |||
| alert("Ok"); | |||
| console.log("DONE!"); | |||
| }; | |||
| return ( | |||
| @@ -77,9 +81,9 @@ const UsersPage = () => { | |||
| }} | |||
| src={addUser} | |||
| /> | |||
| <h5>Invite korisnika</h5> | |||
| <h5>{t("users.inviteUser")}</h5> | |||
| <div className="vr"></div> | |||
| <p className="dialog-subtitle">Registracioni link</p> | |||
| <p className="dialog-subtitle">{t("users.regLink")}</p> | |||
| </div> | |||
| <IconButton onClick={() => setShowInvite(false)}> | |||
| <img | |||
| @@ -92,46 +96,33 @@ const UsersPage = () => { | |||
| </IconButton> | |||
| </div> | |||
| } | |||
| content={ | |||
| <form> | |||
| {/* <label>Primaoc</label> */} | |||
| <TextField | |||
| name="username" | |||
| label={"Primaoc"} | |||
| margin="normal" | |||
| // value={formik.values.username} | |||
| // onChange={formik.handleChange} | |||
| // error={formik.touched.username && Boolean(formik.errors.username)} | |||
| // helperText={formik.touched.username && formik.errors.username} | |||
| // autoFocus | |||
| fullWidth | |||
| /> | |||
| </form> | |||
| } | |||
| /> | |||
| <div> | |||
| <div | |||
| className="pl-144 flex-center" | |||
| style={{ paddingTop: "36px", justifyContent: "space-between" }} | |||
| > | |||
| <h1 className="page-heading">Upravljanje korisnicima</h1> | |||
| <h1 className="page-heading">{t("users.management")}</h1> | |||
| <div className="flex-center"> | |||
| {/* <button></button> */} | |||
| {!matches && ( | |||
| <IconButton | |||
| className={"c-btn--primary-outlined c-btn userPageBtn"} | |||
| > | |||
| Režim uređivanja | |||
| <img | |||
| style={{ | |||
| position: "relative", | |||
| top: -0.25, | |||
| paddingLeft: "10px", | |||
| }} | |||
| src={userPageBtnIcon} | |||
| /> | |||
| </IconButton> | |||
| )} | |||
| <IconButton | |||
| className={`${ | |||
| editEnable && "enabledEdit" | |||
| } c-btn--primary-outlined c-btn userPageBtn`} | |||
| onClick={() => { | |||
| setEdit((s) => !s); | |||
| }} | |||
| > | |||
| {!matches && "Režim uređivanja"} | |||
| <img | |||
| style={{ | |||
| position: "relative", | |||
| top: -0.25, | |||
| paddingLeft: matches ? "0px" : "10px", | |||
| }} | |||
| src={userPageBtnIcon} | |||
| /> | |||
| </IconButton> | |||
| <IconButton | |||
| className={ | |||
| "c-btn--primary-outlined c-btn userPageBtn ml-20px no-padding" | |||
| @@ -163,9 +154,9 @@ const UsersPage = () => { | |||
| <table className="usersTable" style={{ width: "893.56px" }}> | |||
| <thead> | |||
| <tr className="headingRow"> | |||
| <th>Ime i prezime</th> | |||
| <th>{t("users.fullName")}</th> | |||
| <th>E-mail</th> | |||
| <th>Pozicija</th> | |||
| <th>{t("users.position")}</th> | |||
| <th></th> | |||
| </tr> | |||
| </thead> | |||
| @@ -179,55 +170,61 @@ const UsersPage = () => { | |||
| <td>HR Specialist</td> | |||
| {/* <td className="cvLink">CV_Ermin.pdf</td> */} | |||
| <td> | |||
| <IconButton | |||
| className={`c-btn--primary-outlined c-btn td-btn`} | |||
| onClick={() => handleReset(n.email)} | |||
| > | |||
| <img | |||
| style={{ | |||
| position: "relative", | |||
| }} | |||
| src={lock} | |||
| /> | |||
| </IconButton> | |||
| <IconButton | |||
| className={`c-btn--primary-outlined c-btn td-btn ${ | |||
| n.isEnabled ? "active" : "inactive" | |||
| }`} | |||
| onClick={() => disableHandler(n.id)} | |||
| > | |||
| <img | |||
| style={{ | |||
| position: "relative", | |||
| }} | |||
| src={forbiden} | |||
| /> | |||
| </IconButton> | |||
| <Link to={`/users/${n.id}`}> | |||
| <IconButton | |||
| className={"c-btn--primary-outlined c-btn td-btn"} | |||
| > | |||
| <img | |||
| style={{ | |||
| position: "relative", | |||
| }} | |||
| src={edit} | |||
| /> | |||
| </IconButton> | |||
| </Link> | |||
| {editEnable && ( | |||
| <> | |||
| <IconButton | |||
| className={`c-btn--primary-outlined c-btn td-btn`} | |||
| onClick={() => handleReset(n.email)} | |||
| > | |||
| <img | |||
| style={{ | |||
| position: "relative", | |||
| }} | |||
| src={lock} | |||
| /> | |||
| </IconButton> | |||
| <IconButton | |||
| className={`c-btn--primary-outlined c-btn td-btn ${ | |||
| n.isEnabled ? "active" : "inactive" | |||
| }`} | |||
| onClick={() => disableHandler(n.id)} | |||
| > | |||
| <img | |||
| style={{ | |||
| position: "relative", | |||
| }} | |||
| src={forbiden} | |||
| /> | |||
| </IconButton> | |||
| <Link to={`/users/${n.id}`}> | |||
| <IconButton | |||
| className={"c-btn--primary-outlined c-btn td-btn"} | |||
| > | |||
| <img | |||
| style={{ | |||
| position: "relative", | |||
| }} | |||
| src={edit} | |||
| /> | |||
| </IconButton> | |||
| </Link> | |||
| </> | |||
| )} | |||
| </td> | |||
| </tr> | |||
| ))} | |||
| </tbody> | |||
| </table> | |||
| </div> | |||
| <div style={{ display: "flex", justifyContent: "flex-end" }}> | |||
| <div style={{ display: "flex", justifyContent: "flex-end", marginBottom:'35px' }}> | |||
| <IconButton | |||
| className={"c-btn--primary c-btn inviteBtn"} | |||
| onClick={() => { | |||
| setShowInvite(true); | |||
| }} | |||
| // style={{ | |||
| // // marginBottom:'20px !important' | |||
| // }} | |||
| > | |||
| <img | |||
| style={{ | |||
| @@ -237,7 +234,7 @@ const UsersPage = () => { | |||
| }} | |||
| src={planeVector} | |||
| />{" "} | |||
| INVITE | |||
| {t("users.invite")} | |||
| </IconButton> | |||
| </div> | |||
| </div> | |||
| @@ -13,6 +13,7 @@ export default { | |||
| allUsers:'http://localhost:26081/v1/users', | |||
| user:'http://localhost:26081/v1/users/{id}', | |||
| toggleEnabled:'http://localhost:26081/v1/users/toggleEnable/{id}', | |||
| invite:'http://localhost:26081/v1/users/invite', | |||
| }, | |||
| candidates: { | |||
| allCandidates: base + "/applicants", | |||
| @@ -2,6 +2,7 @@ import { deleteRequest, getRequest, postRequest, replaceInUrl } from "."; | |||
| import apiEndpoints from "./apiEndpoints"; | |||
| export const getAllUsers = () => getRequest(apiEndpoints.users.allUsers); | |||
| export const inviteUserRequest = (payload) => postRequest(apiEndpoints.users.invite, payload) | |||
| export const enableUserRequest = (id) => | |||
| postRequest( | |||
| @@ -16,3 +17,10 @@ export const deleteUserRequest = (id) => | |||
| id, | |||
| }) | |||
| ); | |||
| export const userDetailsRequest = (id) => | |||
| getRequest( | |||
| replaceInUrl(apiEndpoints.users.user, { | |||
| id, | |||
| }) | |||
| ); | |||
| @@ -8,4 +8,13 @@ export const TOGGLE_USER_ENABLE_SUCCESS = 'TOGGLE_USER_ENABLE_SUCCESS'; | |||
| export const DELETE_USER_REQ = 'DELETE_USER_REQ'; | |||
| export const DELETE_USER_ERR = 'DELETE_USER_ERR'; | |||
| export const DELETE_USER_SUCCESS = 'DELETE_USER_SUCCESS'; | |||
| export const DELETE_USER_SUCCESS = 'DELETE_USER_SUCCESS'; | |||
| export const USER_DETAILS_REQ = 'USER_DETAILS_REQ'; | |||
| export const USER_DETAILS_ERR = 'USER_DETAILS_ERR'; | |||
| export const USER_DETAILS_SUCCESS = 'USER_DETAILS_SUCCESS'; | |||
| export const USER_DETAILS_TOGGLE = 'USER_DETAILS_TOGGLE'; | |||
| export const USER_INVITE_REQ = 'USER_INVITE_REQ'; | |||
| export const USER_INVITE_ERR = 'USER_INVITE_ERR'; | |||
| export const USER_INVITE_SUCCESS = 'USER_INVITE_SUCCESS'; | |||
| @@ -8,8 +8,16 @@ import { | |||
| TOGGLE_USER_ENABLE_ERR, | |||
| TOGGLE_USER_ENABLE_REQ, | |||
| TOGGLE_USER_ENABLE_SUCCESS, | |||
| USER_DETAILS_ERR, | |||
| USER_DETAILS_REQ, | |||
| USER_DETAILS_SUCCESS, | |||
| USER_DETAILS_TOGGLE, | |||
| USER_INVITE_ERR, | |||
| USER_INVITE_REQ, | |||
| USER_INVITE_SUCCESS, | |||
| } from "./usersActionConstants"; | |||
| // USER LIST | |||
| export const setUsersReq = () => ({ | |||
| type: FETCH_USERS_REQ, | |||
| }); | |||
| @@ -24,6 +32,7 @@ export const setUsers = (payload) => ({ | |||
| payload, | |||
| }); | |||
| // TOGGLE ENABLE TO LOGIN | |||
| export const setEnableUsersReq = (payload) => ({ | |||
| type: TOGGLE_USER_ENABLE_REQ, | |||
| payload, | |||
| @@ -39,6 +48,7 @@ export const setEnableUsers = (payload) => ({ | |||
| payload, | |||
| }); | |||
| // DELETE USER | |||
| export const deleteUserReq = (payload) => ({ | |||
| type: DELETE_USER_REQ, | |||
| payload, | |||
| @@ -53,3 +63,38 @@ export const deleteStateUser = (payload) => ({ | |||
| type: DELETE_USER_SUCCESS, | |||
| payload, | |||
| }); | |||
| // SINGLE USER DETAILS | |||
| export const userDetailsReq = (payload) => ({ | |||
| type: USER_DETAILS_REQ, | |||
| payload, | |||
| }); | |||
| export const userDetailsError = (payload) => ({ | |||
| type: USER_DETAILS_ERR, | |||
| payload, | |||
| }); | |||
| export const stateUserDetailsSuccess = (payload) => ({ | |||
| type: USER_DETAILS_SUCCESS, | |||
| payload, | |||
| }); | |||
| export const toggleSingleUser = () => ({ | |||
| type: USER_DETAILS_TOGGLE, | |||
| }); | |||
| // INVITE USER | |||
| export const inviteUserReq = (payload) => ({ | |||
| type: USER_INVITE_REQ, | |||
| payload, | |||
| }); | |||
| export const inviteUserError = (payload) => ({ | |||
| type: USER_INVITE_ERR, | |||
| payload, | |||
| }); | |||
| export const inviteUserSuccess = () => ({ | |||
| type: USER_INVITE_SUCCESS | |||
| }); | |||
| @@ -12,7 +12,8 @@ import candidatesReducer from "./candidates/candidatesReducer"; | |||
| import processesReducer from './processes/processesReducer'; | |||
| import processReducer from "./processes/processReducer"; | |||
| import applicantWithProcessesReducer from "./processes/applicantWithProcessesReducer"; | |||
| import userDetailsReducer from './user/userDetailsReducer'; | |||
| import inviteUserReducer from './user/inviteUserReducer'; | |||
| export default combineReducers({ | |||
| login: loginReducer, | |||
| @@ -27,5 +28,9 @@ export default combineReducers({ | |||
| candidates: candidatesReducer, | |||
| processes: processesReducer, | |||
| process: processReducer, | |||
| applicant: applicantWithProcessesReducer | |||
| applicant: applicantWithProcessesReducer, | |||
| userDetails: userDetailsReducer, | |||
| invite: inviteUserReducer | |||
| }); | |||
| @@ -0,0 +1,33 @@ | |||
| import createReducer from "../../utils/createReducer"; | |||
| import { | |||
| USER_INVITE_ERR, | |||
| USER_INVITE_SUCCESS, | |||
| } from "../../actions/users/usersActionConstants"; | |||
| // import { setUsersError } from "../../actions/users/usersActions"; | |||
| const initialState = { | |||
| isSuccess: false, | |||
| errorMessage: "", | |||
| }; | |||
| export default createReducer( | |||
| { | |||
| [USER_INVITE_SUCCESS]: inviteSucceded, | |||
| [USER_INVITE_ERR]: inviteFailed, | |||
| }, | |||
| initialState | |||
| ); | |||
| function inviteSucceded(state) { | |||
| return { | |||
| ...state, | |||
| isSuccess: !state.isSuccess, | |||
| }; | |||
| } | |||
| function inviteFailed(state, action) { | |||
| return { | |||
| ...state, | |||
| errorMessage: action.payload, | |||
| }; | |||
| } | |||
| @@ -0,0 +1,47 @@ | |||
| import createReducer from "../../utils/createReducer"; | |||
| import { | |||
| USER_DETAILS_ERR, | |||
| USER_DETAILS_SUCCESS, | |||
| USER_DETAILS_TOGGLE, | |||
| } from "../../actions/users/usersActionConstants"; | |||
| // import { setUsersError } from "../../actions/users/usersActions"; | |||
| const initialState = { | |||
| user: {}, | |||
| errorMessage: "", | |||
| }; | |||
| export default createReducer( | |||
| { | |||
| [USER_DETAILS_SUCCESS]: setStateUserDetails, | |||
| [USER_DETAILS_ERR]: setUserDetailsErrorMessage, | |||
| [USER_DETAILS_TOGGLE]: toggleUserDetails, | |||
| }, | |||
| initialState | |||
| ); | |||
| function setStateUserDetails(state, action) { | |||
| return { | |||
| ...state, | |||
| user: action.payload, | |||
| }; | |||
| } | |||
| function setUserDetailsErrorMessage(state, action) { | |||
| return { | |||
| ...state, | |||
| errorMessage: action.payload, | |||
| }; | |||
| } | |||
| function toggleUserDetails(state) { | |||
| console.log('ovde') | |||
| return state.user | |||
| ? { | |||
| ...state, | |||
| user: { ...state.user, isEnabled: !state.user.isEnabled }, | |||
| } | |||
| : { | |||
| ...state, | |||
| }; | |||
| } | |||
| @@ -11,6 +11,7 @@ import { | |||
| const initialState = { | |||
| users: [], | |||
| selected: {}, | |||
| fetchUsersErrorMessage: "", | |||
| toggleEnableErrorMessage: "" | |||
| }; | |||
| @@ -5,6 +5,8 @@ import { | |||
| deleteUserRequest, | |||
| enableUserRequest, | |||
| getAllUsers, | |||
| inviteUserRequest, | |||
| userDetailsRequest, | |||
| } from "../../request/usersRequest"; | |||
| import { authScopeStringGetHelper } from "../../util/helpers/authScopeHelpers"; | |||
| import { rejectErrorCodeHelper } from "../../util/helpers/rejectErrorCodeHelper"; | |||
| @@ -12,14 +14,21 @@ import { | |||
| DELETE_USER_REQ, | |||
| FETCH_USERS_REQ, | |||
| TOGGLE_USER_ENABLE_REQ, | |||
| USER_DETAILS_REQ, | |||
| USER_INVITE_REQ, | |||
| } from "../actions/users/usersActionConstants"; | |||
| import { | |||
| deleteStateUser, | |||
| deleteUserError, | |||
| inviteUserError, | |||
| inviteUserSuccess, | |||
| setEnableUsers, | |||
| setEnableUsersError, | |||
| setUsers, | |||
| setUsersError, | |||
| stateUserDetailsSuccess, | |||
| toggleSingleUser, | |||
| userDetailsError, | |||
| } from "../actions/users/usersActions"; | |||
| export function* getUsers() { | |||
| @@ -40,6 +49,7 @@ export function* enableUser({ payload }) { | |||
| try { | |||
| const result = yield call(enableUserRequest, payload.id); | |||
| yield put(setEnableUsers(result.data)); | |||
| yield put(toggleSingleUser()); | |||
| } catch (error) { | |||
| if (error.response && error.response.data) { | |||
| const errorMessage = yield call(rejectErrorCodeHelper, error); | |||
| @@ -67,10 +77,44 @@ export function* deleteUser({ payload }) { | |||
| } | |||
| } | |||
| export function* userDetails({ payload }) { | |||
| try { | |||
| const result = yield call(userDetailsRequest, payload.id); | |||
| // console.log(result) | |||
| yield put(stateUserDetailsSuccess(result.data)); | |||
| if(payload.handleApiResponseSuccess){ | |||
| yield call(payload.handleApiResponseSuccess) | |||
| } | |||
| } catch (error) { | |||
| if (error.response && error.response.data) { | |||
| const errorMessage = yield call(rejectErrorCodeHelper, error); | |||
| yield put(userDetailsError(errorMessage)); | |||
| } | |||
| } | |||
| } | |||
| export function* invite({ payload }) { | |||
| try { | |||
| const result = yield call(inviteUserRequest, payload.invite); | |||
| console.log(result) | |||
| yield put(inviteUserSuccess()); | |||
| if(payload.handleApiResponseSuccess){ | |||
| yield call(payload.handleApiResponseSuccess) | |||
| } | |||
| } catch (error) { | |||
| if (error.response && error.response.data) { | |||
| const errorMessage = yield call(rejectErrorCodeHelper, error); | |||
| yield put(inviteUserError(errorMessage)); | |||
| } | |||
| } | |||
| } | |||
| export default function* usersSaga() { | |||
| yield all([ | |||
| takeEvery(FETCH_USERS_REQ, getUsers), | |||
| takeEvery(TOGGLE_USER_ENABLE_REQ, enableUser), | |||
| takeEvery(DELETE_USER_REQ, deleteUser), | |||
| takeEvery(USER_DETAILS_REQ, userDetails), | |||
| takeEvery(USER_INVITE_REQ, invite), | |||
| ]); | |||
| } | |||
| @@ -28,7 +28,7 @@ | |||
| "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.4.tgz" | |||
| "version" "7.14.4" | |||
| "@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.4.0-0", "@babel/core@^7.7.5", "@babel/core@^7.8.4", "@babel/core@7 || ^7.0.0-rc.2": | |||
| "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5", "@babel/core@^7.8.4": | |||
| "integrity" "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==" | |||
| "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz" | |||
| "version" "7.14.3" | |||
| @@ -1313,7 +1313,7 @@ | |||
| "resolved" "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz" | |||
| "version" "0.8.0" | |||
| "@emotion/react@^11.0.0-rc.0", "@emotion/react@^11.1.1", "@emotion/react@^11.4.1", "@emotion/react@^11.5.0": | |||
| "@emotion/react@^11.1.1", "@emotion/react@^11.5.0": | |||
| "integrity" "sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA==" | |||
| "resolved" "https://registry.npmjs.org/@emotion/react/-/react-11.10.4.tgz" | |||
| "version" "11.10.4" | |||
| @@ -1649,7 +1649,7 @@ | |||
| dependencies: | |||
| "@babel/runtime" "^7.19.0" | |||
| "@mui/material@^5.0.0", "@mui/material@^5.0.6", "@mui/material@^5.4.1": | |||
| "@mui/material@^5.0.6": | |||
| "integrity" "sha512-ioLvqY7VvcePz9dnEIRhpiVvtJmAFmvG6rtLXXzVdMmAVbSaelr5Io07mPz/mCyqE+Uv8/4EuJV276DWO7etzA==" | |||
| "resolved" "https://registry.npmjs.org/@mui/material/-/material-5.10.10.tgz" | |||
| "version" "5.10.10" | |||
| @@ -1686,7 +1686,7 @@ | |||
| "csstype" "^3.1.1" | |||
| "prop-types" "^15.8.1" | |||
| "@mui/system@^5.10.10", "@mui/system@^5.4.1": | |||
| "@mui/system@^5.10.10": | |||
| "integrity" "sha512-TXwtKN0adKpBrZmO+eilQWoPf2veh050HLYrN78Kps9OhlvO70v/2Kya0+mORFhu9yhpAwjHXO8JII/R4a5ZLA==" | |||
| "resolved" "https://registry.npmjs.org/@mui/system/-/system-5.10.10.tgz" | |||
| "version" "5.10.10" | |||
| @@ -1992,7 +1992,7 @@ | |||
| dependencies: | |||
| "defer-to-connect" "^1.0.1" | |||
| "@testing-library/dom@^8.0.0", "@testing-library/dom@>=7.21.4": | |||
| "@testing-library/dom@^8.0.0": | |||
| "integrity" "sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A==" | |||
| "resolved" "https://registry.npmjs.org/@testing-library/dom/-/dom-8.19.0.tgz" | |||
| "version" "8.19.0" | |||
| @@ -2233,7 +2233,7 @@ | |||
| dependencies: | |||
| "@types/react" "*" | |||
| "@types/react@*", "@types/react@^17.0.0 || ^18.0.0": | |||
| "@types/react@*": | |||
| "integrity" "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==" | |||
| "resolved" "https://registry.npmjs.org/@types/react/-/react-18.0.21.tgz" | |||
| "version" "18.0.21" | |||
| @@ -2301,7 +2301,7 @@ | |||
| "@types/source-list-map" "*" | |||
| "source-map" "^0.7.3" | |||
| "@types/webpack@^4.41.8", "@types/webpack@4.x": | |||
| "@types/webpack@^4.41.8": | |||
| "integrity" "sha512-6pLaORaVNZxiB3FSHbyBiWM7QdazAWda1zvAq4SbZObZqHSDbWLi62iFdblVea6SK9eyBIVp5yHhKt/yNQdR7Q==" | |||
| "resolved" "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.29.tgz" | |||
| "version" "4.41.29" | |||
| @@ -2325,7 +2325,7 @@ | |||
| dependencies: | |||
| "@types/yargs-parser" "*" | |||
| "@typescript-eslint/eslint-plugin@^4.0.0", "@typescript-eslint/eslint-plugin@^4.5.0", "@typescript-eslint/eslint-plugin@>= 4": | |||
| "@typescript-eslint/eslint-plugin@^4.5.0": | |||
| "integrity" "sha512-yA7IWp+5Qqf+TLbd8b35ySFOFzUfL7i+4If50EqvjT6w35X8Lv0eBHb6rATeWmucks37w+zV+tWnOXI9JlG6Eg==" | |||
| "resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.26.0.tgz" | |||
| "version" "4.26.0" | |||
| @@ -2362,7 +2362,7 @@ | |||
| "eslint-scope" "^5.1.1" | |||
| "eslint-utils" "^3.0.0" | |||
| "@typescript-eslint/parser@^4.0.0", "@typescript-eslint/parser@^4.5.0": | |||
| "@typescript-eslint/parser@^4.5.0": | |||
| "integrity" "sha512-b4jekVJG9FfmjUfmM4VoOItQhPlnt6MPOBUL0AQbiTmm+SSpSdhHYlwayOm4IW9KLI/4/cRKtQCmDl1oE2OlPg==" | |||
| "resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.26.0.tgz" | |||
| "version" "4.26.0" | |||
| @@ -2618,16 +2618,16 @@ | |||
| "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" | |||
| "version" "7.2.0" | |||
| "acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^7.1.0", "acorn@^7.1.1", "acorn@^7.4.0": | |||
| "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" | |||
| "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" | |||
| "version" "7.4.1" | |||
| "acorn@^6.4.1": | |||
| "integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" | |||
| "resolved" "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" | |||
| "version" "6.4.2" | |||
| "acorn@^7.1.0", "acorn@^7.1.1", "acorn@^7.4.0": | |||
| "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" | |||
| "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" | |||
| "version" "7.4.1" | |||
| "acorn@^8.2.4": | |||
| "integrity" "sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==" | |||
| "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.3.0.tgz" | |||
| @@ -2671,7 +2671,7 @@ | |||
| "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" | |||
| "version" "3.5.2" | |||
| "ajv@^6.1.0", "ajv@^6.10.0", "ajv@^6.10.2", "ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.9.1", "ajv@>=5.0.0": | |||
| "ajv@^6.1.0", "ajv@^6.10.0", "ajv@^6.10.2", "ajv@^6.12.4", "ajv@^6.12.5": | |||
| "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" | |||
| "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" | |||
| "version" "6.12.6" | |||
| @@ -2994,7 +2994,7 @@ | |||
| "resolved" "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz" | |||
| "version" "2.2.0" | |||
| "babel-eslint@^10.0.0", "babel-eslint@^10.1.0": | |||
| "babel-eslint@^10.1.0": | |||
| "integrity" "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==" | |||
| "resolved" "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz" | |||
| "version" "10.1.0" | |||
| @@ -3425,7 +3425,7 @@ | |||
| dependencies: | |||
| "pako" "~1.0.5" | |||
| "browserslist@^4", "browserslist@^4.0.0", "browserslist@^4.12.0", "browserslist@^4.16.6", "browserslist@^4.6.2", "browserslist@^4.6.4": | |||
| "browserslist@^4.0.0", "browserslist@^4.12.0", "browserslist@^4.16.6", "browserslist@^4.6.2", "browserslist@^4.6.4": | |||
| "integrity" "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==" | |||
| "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz" | |||
| "version" "4.16.6" | |||
| @@ -5221,7 +5221,7 @@ | |||
| "lodash" "^4.17.15" | |||
| "string-natural-compare" "^3.0.1" | |||
| "eslint-plugin-import@^2.22.0", "eslint-plugin-import@^2.22.1", "eslint-plugin-import@^2.23.4": | |||
| "eslint-plugin-import@^2.22.1", "eslint-plugin-import@^2.23.4": | |||
| "integrity" "sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ==" | |||
| "resolved" "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz" | |||
| "version" "2.23.4" | |||
| @@ -5242,7 +5242,7 @@ | |||
| "resolve" "^1.20.0" | |||
| "tsconfig-paths" "^3.9.0" | |||
| "eslint-plugin-jest@^24.0.0", "eslint-plugin-jest@^24.1.0": | |||
| "eslint-plugin-jest@^24.1.0": | |||
| "integrity" "sha512-WOVH4TIaBLIeCX576rLcOgjNXqP+jNlCiEmRgFTfQtJ52DpwnIQKAVGlGPAN7CZ33bW6eNfHD6s8ZbEUTQubJg==" | |||
| "resolved" "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.3.6.tgz" | |||
| "version" "24.3.6" | |||
| @@ -5273,12 +5273,12 @@ | |||
| dependencies: | |||
| "prettier-linter-helpers" "^1.0.0" | |||
| "eslint-plugin-react-hooks@^4 || ^3 || ^2.3.0 || ^1.7.0", "eslint-plugin-react-hooks@^4.0.8", "eslint-plugin-react-hooks@^4.2.0": | |||
| "eslint-plugin-react-hooks@^4.2.0": | |||
| "integrity" "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==" | |||
| "resolved" "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz" | |||
| "version" "4.2.0" | |||
| "eslint-plugin-react@^7.20.3", "eslint-plugin-react@^7.21.5", "eslint-plugin-react@^7.24.0": | |||
| "eslint-plugin-react@^7.21.5", "eslint-plugin-react@^7.24.0": | |||
| "integrity" "sha512-KJJIx2SYx7PBx3ONe/mEeMz4YE0Lcr7feJTCMyyKb/341NcjuAgim3Acgan89GfPv7nxXK2+0slu0CWXYM4x+Q==" | |||
| "resolved" "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.24.0.tgz" | |||
| "version" "7.24.0" | |||
| @@ -5303,7 +5303,7 @@ | |||
| dependencies: | |||
| "safe-regex" "^1.1.0" | |||
| "eslint-plugin-testing-library@^3.9.0", "eslint-plugin-testing-library@^3.9.2": | |||
| "eslint-plugin-testing-library@^3.9.2": | |||
| "integrity" "sha512-WAmOCt7EbF1XM8XfbCKAEzAPnShkNSwcIsAD2jHdsMUT9mZJPjLCG7pMzbcC8kK366NOuGip8HKLDC+Xk4yIdA==" | |||
| "resolved" "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-3.10.2.tgz" | |||
| "version" "3.10.2" | |||
| @@ -5379,7 +5379,7 @@ | |||
| "normalize-path" "^3.0.0" | |||
| "schema-utils" "^3.0.0" | |||
| "eslint@*", "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0", "eslint@^3 || ^4 || ^5 || ^6 || ^7", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", "eslint@^5 || ^6 || ^7", "eslint@^5.0.0 || ^6.0.0 || ^7.0.0", "eslint@^5.16.0 || ^6.8.0 || ^7.2.0", "eslint@^7.0.0", "eslint@^7.1.0", "eslint@^7.11.0", "eslint@^7.28.0", "eslint@^7.5.0", "eslint@>= 4.12.1", "eslint@>=5", "eslint@>=5.0.0", "eslint@>=7.0.0": | |||
| "eslint@^7.11.0", "eslint@^7.28.0": | |||
| "integrity" "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==" | |||
| "resolved" "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" | |||
| "version" "7.32.0" | |||
| @@ -5726,7 +5726,7 @@ | |||
| dependencies: | |||
| "flat-cache" "^3.0.4" | |||
| "file-loader@*", "file-loader@6.1.1": | |||
| "file-loader@6.1.1": | |||
| "integrity" "sha512-Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw==" | |||
| "resolved" "https://registry.npmjs.org/file-loader/-/file-loader-6.1.1.tgz" | |||
| "version" "6.1.1" | |||
| @@ -6524,7 +6524,7 @@ | |||
| "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz" | |||
| "version" "1.1.1" | |||
| "i18next@^20.3.1", "i18next@>= 19.0.0": | |||
| "i18next@^20.3.1": | |||
| "integrity" "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==" | |||
| "resolved" "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz" | |||
| "version" "20.6.1" | |||
| @@ -7469,20 +7469,6 @@ | |||
| "jest-regex-util" "^26.0.0" | |||
| "jest-snapshot" "^26.6.2" | |||
| "jest-resolve@*", "jest-resolve@26.6.0": | |||
| "integrity" "sha512-tRAz2bwraHufNp+CCmAD8ciyCpXCs1NQxB5EJAmtCFy6BN81loFEGWKzYu26Y62lAJJe4X4jg36Kf+NsQyiStQ==" | |||
| "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.0.tgz" | |||
| "version" "26.6.0" | |||
| dependencies: | |||
| "@jest/types" "^26.6.0" | |||
| "chalk" "^4.0.0" | |||
| "graceful-fs" "^4.2.4" | |||
| "jest-pnp-resolver" "^1.2.2" | |||
| "jest-util" "^26.6.0" | |||
| "read-pkg-up" "^7.0.1" | |||
| "resolve" "^1.17.0" | |||
| "slash" "^3.0.0" | |||
| "jest-resolve@^26.6.2": | |||
| "integrity" "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==" | |||
| "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz" | |||
| @@ -7497,6 +7483,20 @@ | |||
| "resolve" "^1.18.1" | |||
| "slash" "^3.0.0" | |||
| "jest-resolve@26.6.0": | |||
| "integrity" "sha512-tRAz2bwraHufNp+CCmAD8ciyCpXCs1NQxB5EJAmtCFy6BN81loFEGWKzYu26Y62lAJJe4X4jg36Kf+NsQyiStQ==" | |||
| "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.0.tgz" | |||
| "version" "26.6.0" | |||
| dependencies: | |||
| "@jest/types" "^26.6.0" | |||
| "chalk" "^4.0.0" | |||
| "graceful-fs" "^4.2.4" | |||
| "jest-pnp-resolver" "^1.2.2" | |||
| "jest-util" "^26.6.0" | |||
| "read-pkg-up" "^7.0.1" | |||
| "resolve" "^1.17.0" | |||
| "slash" "^3.0.0" | |||
| "jest-runner@^26.6.0", "jest-runner@^26.6.3": | |||
| "integrity" "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==" | |||
| "resolved" "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz" | |||
| @@ -7653,7 +7653,7 @@ | |||
| "merge-stream" "^2.0.0" | |||
| "supports-color" "^7.0.0" | |||
| "jest@^26.0.0", "jest@^26.6.0", "jest@26.6.0": | |||
| "jest@^26.6.0", "jest@26.6.0": | |||
| "integrity" "sha512-jxTmrvuecVISvKFFhOkjsWRZV7sFqdSUAd1ajOKY+/QE/aLBVstsJ/dX8GczLzwiT6ZEwwmZqtCUHLHHQVzcfA==" | |||
| "resolved" "https://registry.npmjs.org/jest/-/jest-26.6.0.tgz" | |||
| "version" "26.6.0" | |||
| @@ -7667,11 +7667,6 @@ | |||
| "resolved" "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz" | |||
| "version" "1.4.0" | |||
| "jquery@>=1.8.0": | |||
| "integrity" "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw==" | |||
| "resolved" "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz" | |||
| "version" "3.6.1" | |||
| "js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": | |||
| "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" | |||
| "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" | |||
| @@ -10072,7 +10067,7 @@ | |||
| dependencies: | |||
| "fast-diff" "^1.1.2" | |||
| "prettier@>=1.13.0", "prettier@2.3.1": | |||
| "prettier@2.3.1": | |||
| "integrity" "sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==" | |||
| "resolved" "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz" | |||
| "version" "2.3.1" | |||
| @@ -10367,7 +10362,7 @@ | |||
| "strip-ansi" "6.0.0" | |||
| "text-table" "0.2.0" | |||
| "react-dom@^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.6.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.8.0 || ^17.0.0", "react-dom@^17.0.0 || ^18.0.0", "react-dom@^17.0.2", "react-dom@^17.0.2 || ^18.0.0", "react-dom@<18.0.0", "react-dom@>=16.6.0", "react-dom@>=16.8.3": | |||
| "react-dom@^17.0.2": | |||
| "integrity" "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==" | |||
| "resolved" "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" | |||
| "version" "17.0.2" | |||
| @@ -10452,7 +10447,7 @@ | |||
| "prop-types" "^15.5.8" | |||
| "substyle" "^9.1.0" | |||
| "react-redux@^7.2.1 || ^8.0.2", "react-redux@^7.2.4": | |||
| "react-redux@^7.2.4": | |||
| "integrity" "sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==" | |||
| "resolved" "https://registry.npmjs.org/react-redux/-/react-redux-7.2.9.tgz" | |||
| "version" "7.2.9" | |||
| @@ -10464,7 +10459,7 @@ | |||
| "prop-types" "^15.7.2" | |||
| "react-is" "^17.0.2" | |||
| "react-refresh@^0.8.3", "react-refresh@>=0.8.3 <0.10.0": | |||
| "react-refresh@^0.8.3": | |||
| "integrity" "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==" | |||
| "resolved" "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz" | |||
| "version" "0.8.3" | |||
| @@ -10614,7 +10609,7 @@ | |||
| "loose-envify" "^1.4.0" | |||
| "prop-types" "^15.6.2" | |||
| "react@^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.3.0 || ^17.0.0", "react@^16.6.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0", "react@^16.8.3 || ^17 || ^18", "react@^16.9.0 || ^17.0.0 || ^18", "react@^17.0.0 || ^18.0.0", "react@^17.0.2", "react@^17.0.2 || ^18.0.0", "react@^18.2.0", "react@<18.0.0", "react@>= 16", "react@>= 16.8.0", "react@>=15", "react@>=16.6.0", "react@>=16.8.0", "react@>=16.8.3", "react@17.0.2": | |||
| "react@^17.0.2": | |||
| "integrity" "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==" | |||
| "resolved" "https://registry.npmjs.org/react/-/react-17.0.2.tgz" | |||
| "version" "17.0.2" | |||
| @@ -10827,7 +10822,7 @@ | |||
| "resolved" "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.1.tgz" | |||
| "version" "2.4.1" | |||
| "redux@^4", "redux@^4.0.0", "redux@^4.0.4", "redux@^4.1.0", "redux@^4.1.2": | |||
| "redux@^4.0.0", "redux@^4.0.4", "redux@^4.1.0", "redux@^4.1.2": | |||
| "integrity" "sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA==" | |||
| "resolved" "https://registry.npmjs.org/redux/-/redux-4.2.0.tgz" | |||
| "version" "4.2.0" | |||
| @@ -11177,7 +11172,7 @@ | |||
| dependencies: | |||
| "estree-walker" "^0.6.1" | |||
| "rollup@^1.20.0 || ^2.0.0", "rollup@^1.20.0||^2.0.0", "rollup@^1.31.1", "rollup@>=0.60.0 <3", "rollup@>=0.66.0 <3": | |||
| "rollup@^1.31.1": | |||
| "integrity" "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==" | |||
| "resolved" "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz" | |||
| "version" "1.32.1" | |||
| @@ -11272,7 +11267,7 @@ | |||
| "schema-utils" "^3.0.0" | |||
| "semver" "^7.3.2" | |||
| "sass@^1.3.0", "sass@^1.34.1": | |||
| "sass@^1.34.1": | |||
| "integrity" "sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A==" | |||
| "resolved" "https://registry.npmjs.org/sass/-/sass-1.55.0.tgz" | |||
| "version" "1.55.0" | |||
| @@ -11641,7 +11636,7 @@ | |||
| "source-map-resolve" "^0.5.0" | |||
| "use" "^3.1.0" | |||
| "sockjs-client@^1.4.0", "sockjs-client@^1.5.0": | |||
| "sockjs-client@^1.5.0": | |||
| "integrity" "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==" | |||
| "resolved" "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz" | |||
| "version" "1.5.1" | |||
| @@ -12556,11 +12551,6 @@ | |||
| dependencies: | |||
| "typescript-compare" "^0.0.2" | |||
| "typescript@^3.2.1 || ^4", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta": | |||
| "integrity" "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==" | |||
| "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz" | |||
| "version" "4.8.4" | |||
| "unbox-primitive@^1.0.2": | |||
| "integrity" "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==" | |||
| "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" | |||
| @@ -12920,7 +12910,7 @@ | |||
| "range-parser" "^1.2.1" | |||
| "webpack-log" "^2.0.0" | |||
| "webpack-dev-server@3.11.1", "webpack-dev-server@3.x": | |||
| "webpack-dev-server@3.11.1": | |||
| "integrity" "sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ==" | |||
| "resolved" "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz" | |||
| "version" "3.11.1" | |||
| @@ -12985,7 +12975,7 @@ | |||
| "source-list-map" "^2.0.0" | |||
| "source-map" "~0.6.1" | |||
| "webpack@^4.0.0", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.27.0 || ^5.0.0", "webpack@^4.36.0 || ^5.0.0", "webpack@^4.4.0 || ^5.0.0", "webpack@>=2", "webpack@>=4.43.0 <6.0.0", "webpack@2 || 3 || 4", "webpack@4.44.2": | |||
| "webpack@4.44.2": | |||
| "integrity" "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==" | |||
| "resolved" "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz" | |||
| "version" "4.44.2" | |||