diff --git a/package-lock.json b/package-lock.json
index da23dd3..9abae53 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1739,9 +1739,9 @@
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ=="
},
"@types/node": {
- "version": "16.10.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.1.tgz",
- "integrity": "sha512-4/Z9DMPKFexZj/Gn3LylFgamNKHm4K3QDi0gz9B26Uk0c8izYf97B5fxfpspMNkWlFupblKM/nV8+NA9Ffvr+w=="
+ "version": "16.10.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.2.tgz",
+ "integrity": "sha512-zCclL4/rx+W5SQTzFs9wyvvyCwoK9QtBpratqz2IYJ3O8Umrn0m3nsTv0wQBk9sRGpvUe9CwPDrQFB10f1FIjQ=="
},
"@types/parse-json": {
"version": "4.0.0",
@@ -1759,9 +1759,9 @@
"integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ=="
},
"@types/react": {
- "version": "17.0.24",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.24.tgz",
- "integrity": "sha512-eIpyco99gTH+FTI3J7Oi/OH8MZoFMJuztNRimDOJwH4iGIsKV2qkGnk4M9VzlaVWeEEWLWSQRy0FEA0Kz218cg==",
+ "version": "17.0.27",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.27.tgz",
+ "integrity": "sha512-zgiJwtsggVGtr53MndV7jfiUESTqrbxOcBvwfe6KS/9bzaVPCTDieTWnFNecVNx6EAaapg5xsLLWFfHHR437AA==",
"requires": {
"@types/prop-types": "*",
"@types/scheduler": "*",
@@ -2349,15 +2349,15 @@
"integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ=="
},
"array-includes": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz",
- "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz",
+ "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==",
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.3",
- "es-abstract": "^1.18.0-next.2",
+ "es-abstract": "^1.19.1",
"get-intrinsic": "^1.1.1",
- "is-string": "^1.0.5"
+ "is-string": "^1.0.7"
}
},
"array-union": {
@@ -2379,13 +2379,13 @@
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
},
"array.prototype.flat": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz",
- "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz",
+ "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==",
"requires": {
- "call-bind": "^1.0.0",
+ "call-bind": "^1.0.2",
"define-properties": "^1.1.3",
- "es-abstract": "^1.18.0-next.1"
+ "es-abstract": "^1.19.0"
}
},
"arrify": {
@@ -2481,24 +2481,17 @@
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
},
"autoprefixer": {
- "version": "9.8.7",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.7.tgz",
- "integrity": "sha512-7Hg99B1eTH5+LgmUBUSmov1Z3bsggQJS7v3IMGo6wcScnbRuvtMc871J9J+4bSbIqa9LSX/zypFXJ8sXHpMJeQ==",
+ "version": "9.8.8",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz",
+ "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==",
"requires": {
"browserslist": "^4.12.0",
"caniuse-lite": "^1.0.30001109",
- "nanocolors": "^0.2.8",
"normalize-range": "^0.1.2",
"num2fraction": "^1.2.2",
+ "picocolors": "^0.2.1",
"postcss": "^7.0.32",
"postcss-value-parser": "^4.1.0"
- },
- "dependencies": {
- "nanocolors": {
- "version": "0.2.11",
- "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.11.tgz",
- "integrity": "sha512-83ttyvfJj66dKMadWfBkEUOEDFfRc8FpzTJvh1MySR/pzWFmFikTQZGOV6kHZRz7yR/heiQ1y/MHBBN5P/e7WQ=="
- }
}
},
"aws-sign2": {
@@ -3270,15 +3263,15 @@
}
},
"browserslist": {
- "version": "4.17.1",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz",
- "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==",
+ "version": "4.17.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.3.tgz",
+ "integrity": "sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ==",
"requires": {
- "caniuse-lite": "^1.0.30001259",
- "electron-to-chromium": "^1.3.846",
+ "caniuse-lite": "^1.0.30001264",
+ "electron-to-chromium": "^1.3.857",
"escalade": "^3.1.1",
- "nanocolors": "^0.1.5",
- "node-releases": "^1.1.76"
+ "node-releases": "^1.1.77",
+ "picocolors": "^0.2.1"
}
},
"bser": {
@@ -3461,9 +3454,9 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001261",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz",
- "integrity": "sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA=="
+ "version": "1.0.30001264",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001264.tgz",
+ "integrity": "sha512-Ftfqqfcs/ePiUmyaySsQ4PUsdcYyXG2rfoBVsk3iY1ahHaJEw65vfb7Suzqm+cEkwwPIv/XWkg27iCpRavH4zA=="
},
"capture-exit": {
"version": "2.0.0",
@@ -4732,9 +4725,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"electron-to-chromium": {
- "version": "1.3.852",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.852.tgz",
- "integrity": "sha512-vNbdzbbx3d7TStoC0oIVYz6X/tIezHXnreI+4a8I7EqAQ9hpHulz3ar8xChUNcG77A+TtPSKz9B9Xwpt9e1B5w=="
+ "version": "1.3.859",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.859.tgz",
+ "integrity": "sha512-gXRXKNWedfdiKIzwr0Mg/VGCvxXzy+4SuK9hp1BDvfbCwx0O5Ot+2f4CoqQkqEJ3Zj/eAV/GoAFgBVFgkBLXuQ=="
},
"elliptic": {
"version": "6.5.4",
@@ -4823,9 +4816,9 @@
}
},
"es-abstract": {
- "version": "1.18.6",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.6.tgz",
- "integrity": "sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ==",
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz",
+ "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==",
"requires": {
"call-bind": "^1.0.2",
"es-to-primitive": "^1.2.1",
@@ -4838,7 +4831,9 @@
"is-callable": "^1.2.4",
"is-negative-zero": "^2.0.1",
"is-regex": "^1.1.4",
+ "is-shared-array-buffer": "^1.0.1",
"is-string": "^1.0.7",
+ "is-weakref": "^1.0.1",
"object-inspect": "^1.11.0",
"object-keys": "^1.1.1",
"object.assign": "^4.1.2",
@@ -6937,9 +6932,9 @@
"integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ=="
},
"is-glob": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.2.tgz",
- "integrity": "sha512-ZZTOjRcDjuAAAv2cTBQP/lL59ZTArx77+7UzHdWW/XB1mrfp7DEaVpKmZ0XIzx+M7AxfhKcqV+nMetUQmFifwg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"requires": {
"is-extglob": "^2.1.1"
}
@@ -7028,6 +7023,11 @@
"resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz",
"integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg=="
},
+ "is-shared-array-buffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz",
+ "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA=="
+ },
"is-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
@@ -7054,6 +7054,14 @@
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
+ "is-weakref": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz",
+ "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==",
+ "requires": {
+ "call-bind": "^1.0.0"
+ }
+ },
"is-windows": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
@@ -8232,16 +8240,16 @@
"integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg=="
},
"mime-db": {
- "version": "1.49.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
- "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA=="
+ "version": "1.50.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz",
+ "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A=="
},
"mime-types": {
- "version": "2.1.32",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
- "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
+ "version": "2.1.33",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz",
+ "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==",
"requires": {
- "mime-db": "1.49.0"
+ "mime-db": "1.50.0"
}
},
"mimic-fn": {
@@ -8429,11 +8437,6 @@
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
},
- "nanocolors": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz",
- "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ=="
- },
"nanomatch": {
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
@@ -8585,9 +8588,9 @@
}
},
"node-releases": {
- "version": "1.1.76",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz",
- "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA=="
+ "version": "1.1.77",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz",
+ "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ=="
},
"normalize-package-data": {
"version": "2.5.0",
@@ -8741,34 +8744,33 @@
}
},
"object.entries": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz",
- "integrity": "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz",
+ "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==",
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.3",
- "es-abstract": "^1.18.2"
+ "es-abstract": "^1.19.1"
}
},
"object.fromentries": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz",
- "integrity": "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz",
+ "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==",
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.3",
- "es-abstract": "^1.18.0-next.2",
- "has": "^1.0.3"
+ "es-abstract": "^1.19.1"
}
},
"object.getownpropertydescriptors": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz",
- "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz",
+ "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==",
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.3",
- "es-abstract": "^1.18.0-next.2"
+ "es-abstract": "^1.19.1"
}
},
"object.pick": {
@@ -8780,13 +8782,13 @@
}
},
"object.values": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz",
- "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz",
+ "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==",
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.3",
- "es-abstract": "^1.18.2"
+ "es-abstract": "^1.19.1"
}
},
"obuf": {
@@ -9128,6 +9130,11 @@
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
+ "picocolors": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
+ "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA=="
+ },
"picomatch": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
@@ -9214,19 +9221,12 @@
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
},
"postcss": {
- "version": "7.0.38",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.38.tgz",
- "integrity": "sha512-wNrSHWjHDQJR/IZL5IKGxRtFgrYNaAA/UrkW2WqbtZO6uxSLMxMN+s2iqUMwnAWm3fMROlDYZB41dr0Mt7vBwQ==",
+ "version": "7.0.39",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+ "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
"requires": {
- "nanocolors": "^0.2.2",
+ "picocolors": "^0.2.1",
"source-map": "^0.6.1"
- },
- "dependencies": {
- "nanocolors": {
- "version": "0.2.11",
- "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.11.tgz",
- "integrity": "sha512-83ttyvfJj66dKMadWfBkEUOEDFfRc8FpzTJvh1MySR/pzWFmFikTQZGOV6kHZRz7yR/heiQ1y/MHBBN5P/e7WQ=="
- }
}
},
"postcss-attribute-case-insensitive": {
@@ -11510,9 +11510,9 @@
}
},
"signal-exit": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.4.tgz",
- "integrity": "sha512-rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q=="
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz",
+ "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ=="
},
"simple-swizzle": {
"version": "0.2.2",
@@ -11992,13 +11992,13 @@
}
},
"string.prototype.matchall": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz",
- "integrity": "sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==",
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz",
+ "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==",
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.3",
- "es-abstract": "^1.18.2",
+ "es-abstract": "^1.19.1",
"get-intrinsic": "^1.1.1",
"has-symbols": "^1.0.2",
"internal-slot": "^1.0.3",
diff --git a/src/App.js b/src/App.js
index 74b4fcf..d5581cd 100644
--- a/src/App.js
+++ b/src/App.js
@@ -4,6 +4,7 @@ import styled from 'styled-components';
import ProdutoCar from './components/ProdutoCar';
import Up from './components/Up'
import Carrinho from './components/Carrinho'
+import ItemCarrinho from './components/ItemCarrinho';
const ProdutoApp = styled.div`
display: grid;
@@ -11,67 +12,70 @@ const ProdutoApp = styled.div`
padding: 16px;
gap: 8px;
`;
-const AddCartButton = styled.button`
+
+ const AddCartButton = styled.button`
align-self: center;
margin-top: 4px;
`;
+
+
const produto = [
{
id: 1,
- name: "Trono de Vidro: Reino de Cinzas",
+ name: "Trono de Vidro: Reino de Cinzas",
author: "Autor: Sarah J. Maas",
- value: Number(46.89),
- imageUrl: "https://images-na.ssl-images-amazon.com/images/I/51-ucM+lQuL._SX335_BO1,204,203,200_.jpg",
+ value: Number(46.89),
+ imageUrl: "https://images-na.ssl-images-amazon.com/images/I/51-ucM+lQuL._SX335_BO1,204,203,200_.jpg",
},
{
id: 2,
- name: "A Menina que Roubava Livros",
+ name: "A Menina que Roubava Livros",
author: "Autor: Markus Zusak",
- value: Number(38.99),
- imageUrl: "https://images-na.ssl-images-amazon.com/images/I/514GbfM-F4L._SX347_BO1,204,203,200_.jpg",
+ value: Number(38.99),
+ imageUrl: "https://images-na.ssl-images-amazon.com/images/I/514GbfM-F4L._SX347_BO1,204,203,200_.jpg",
},
{
id: 3,
- name: "A garota do lago",
+ name: "A garota do lago",
author: "Autor: Charlie Donlea",
- value: Number(8.48),
- imageUrl: "https://images-na.ssl-images-amazon.com/images/I/516VOgxwg2L._SX339_BO1,204,203,200_.jpg",
+ value: Number(8.48),
+ imageUrl: "https://images-na.ssl-images-amazon.com/images/I/516VOgxwg2L._SX339_BO1,204,203,200_.jpg",
},
{
id: 4,
- name: "A rainha vermelha",
+ name: "A rainha vermelha",
author: "Autor: Victoria Aveyard",
- value: Number(23.99),
- imageUrl: "https://images-na.ssl-images-amazon.com/images/I/41rK-7HUAML._SX346_BO1,204,203,200_.jpg",
+ value: Number(23.99),
+ imageUrl: "https://images-na.ssl-images-amazon.com/images/I/41rK-7HUAML._SX346_BO1,204,203,200_.jpg",
},
{
id: 5,
- name: "Trono destruído",
+ name: "Trono destruído",
author: "Autor: Victoria Aveyard",
- value: Number(26.98),
- imageUrl: "https://images-na.ssl-images-amazon.com/images/I/41d3EwKB63L._SX339_BO1,204,203,200_.jpg",
+ value: Number(26.98),
+ imageUrl: "https://images-na.ssl-images-amazon.com/images/I/41d3EwKB63L._SX339_BO1,204,203,200_.jpg",
},
{
id: 6,
- name: "As Crônicas de Nárnia",
+ name: "As Crônicas de Nárnia",
author: "Autor: C. S. Lewis",
- value: Number(29.99),
- imageUrl: "https://images-na.ssl-images-amazon.com/images/I/51+2QAB7I+L._SX329_BO1,204,203,200_.jpg",
+ value: Number(29.99),
+ imageUrl: "https://images-na.ssl-images-amazon.com/images/I/51+2QAB7I+L._SX329_BO1,204,203,200_.jpg",
},
{
id: 7,
- name: "Trono de Vidro: Herdeira do fogo",
+ name: "Trono de Vidro: Herdeira do fogo",
author: "Autor: Sarah J. Maas",
- value: Number(27.98),
- imageUrl: "https://images-na.ssl-images-amazon.com/images/I/51nj67GhHkL._SX335_BO1,204,203,200_.jpg",
+ value: Number(27.98),
+ imageUrl: "https://images-na.ssl-images-amazon.com/images/I/51nj67GhHkL._SX335_BO1,204,203,200_.jpg",
},
{
id: 8,
- name: "Trono de vidro: Rainha das sombras",
+ name: "Trono de vidro: Rainha das sombras",
author: "Autor: Sarah J. Maas",
- value: Number(42.19),
- imageUrl: "https://images-na.ssl-images-amazon.com/images/I/41MSwpp8z3L._SX335_BO1,204,203,200_.jpg",
+ value: Number(42.19),
+ imageUrl: "https://images-na.ssl-images-amazon.com/images/I/41MSwpp8z3L._SX335_BO1,204,203,200_.jpg",
},
]
@@ -83,51 +87,89 @@ export class App extends React.Component {
state = {
listaDeCompras: [],
order: 1,
- produto: produto
- }
-
- updateOrder = (ev) => {
- this.setState({order: Number(ev.target.value)})
+ produto: produto,
+ produtosNoCarrinho: [
+ {
+ id: 7,
+ name: "Trono de Vidro: Herdeira do fogo",
+ author: "Autor: Sarah J. Maas",
+ value: Number(27.98),
+ imageUrl: "https://images-na.ssl-images-amazon.com/images/I/51nj67GhHkL._SX335_BO1,204,203,200_.jpg",
+ quantity: 2
+ },
+ {
+ id: 8,
+ name: "Trono de vidro: Rainha das sombras",
+ author: "Autor: Sarah J. Maas",
+ value: Number(42.19),
+ imageUrl: "https://images-na.ssl-images-amazon.com/images/I/41MSwpp8z3L._SX335_BO1,204,203,200_.jpg",
+ quantity: 3
+ }
+
+ ]
}
- addNoCarrinho = (produto) => {
- const lista = this.state.listaDeCompras
- this.setState({...this.state, listaDeCompras: {...lista, produto}})
+ updateOrder = (ev) => {
+ this.setState({ order: Number(ev.target.value) })
}
+
ordenaDecrescente = (array) => {
- return array.sort((a,b)=>{
- return b.value - a.value
+ return array.sort((a, b) => {
+ return b.value - a.value
})
}
ordenaCrescente = (array) => {
- return array.sort((a,b)=>{
- return a.value - b.value
+ return array.sort((a, b) => {
+ return a.value - b.value
})
+ }
+
+ addNoCarrinho = (produto) => {
+
+ const lista = this.state.listaDeCompras
+ this.setState({...this.state, listaDeCompras: {...lista, produto}})
+ }
+
+ onRemoveProductFromCart = (productId) => {
+ const newProductsInCart = this.state.produtosNoCarrinho.map((produto) => {
+ if (produto.id === productId) {
+ return {
+ ...produto,
+ quantity: produto.quantity - 1
}
+}
+ return produto
+
+ }).filter((produto) => produto.quantity > 0)
+
+ this.setState({produtosNoCarrinho: newProductsInCart})
+ }
render() {
const ordenaArray = () => {
- if(this.state.order === 1) {
+ if (this.state.order === 1) {
return this.ordenaDecrescente(produto)
} else {
return this.ordenaCrescente(produto)
}
}
-
+
return (
ITEM:
+ {this.props.listaCompras.name} +QUANTIDADE:
+ {this.props.listaCompras.order} + +{produto?.name}
-{produto?.author}
-R$ {produto?.value}
- {this.props.addNoCarrinho} + return{produto.name}
+{produto.author}
+R$ {produto.value}
+ + +Valor total:{this.valorTotal()}
+