diff --git a/client/package-lock.json b/client/package-lock.json
index 03ce8f115..96c868e7b 100644
--- a/client/package-lock.json
+++ b/client/package-lock.json
@@ -20,6 +20,7 @@
"@mui/lab": "^5.0.0-alpha.137",
"@mui/material": "^5.15.14",
"@mui/styles": "^5.15.14",
+ "@rc-component/color-picker": "^3.1.1",
"@reach/router": "^1.3.4",
"@redux-devtools/core": "^4.0.0",
"@reduxjs/toolkit": "^1.9.7",
@@ -37,7 +38,6 @@
"mathjax-react": "^2.0.1",
"mathjs": "^12.4.1",
"prismjs": "^1.29.0",
- "rc-color-picker": "^1.2.6",
"react": "^18.2.0",
"react-chartjs-2": "^5.3.1",
"react-color": "^2.19.3",
@@ -115,6 +115,15 @@
"node": ">=6.0.0"
}
},
+ "node_modules/@ant-design/fast-color": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@ant-design/fast-color/-/fast-color-3.0.1.tgz",
+ "integrity": "sha512-esKJegpW4nckh0o6kV3Tkb7NPIZYbPnnFxmQDUmL08ukXZAvV85TZBr70eGuke/CIArLaP6aw8lt9KILjnWuOw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.x"
+ }
+ },
"node_modules/@apideck/better-ajv-errors": {
"version": "0.3.6",
"license": "MIT",
@@ -5052,6 +5061,35 @@
"url": "https://opencollective.com/popperjs"
}
},
+ "node_modules/@rc-component/color-picker": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-3.1.1.tgz",
+ "integrity": "sha512-OHaCHLHszCegdXmIq2ZRIZBN/EtpT6Wm8SG/gpzLATHbVKc/avvuKi+zlOuk05FTWvgaMmpxAko44uRJ3M+2pg==",
+ "license": "MIT",
+ "dependencies": {
+ "@ant-design/fast-color": "^3.0.1",
+ "@rc-component/util": "^1.3.0",
+ "clsx": "^2.1.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.9.0",
+ "react-dom": ">=16.9.0"
+ }
+ },
+ "node_modules/@rc-component/util": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/@rc-component/util/-/util-1.9.0.tgz",
+ "integrity": "sha512-5uW6AfhIigCWeEQDthTozlxiT4Prn6xYQWeO0xokjcaa186OtwPRHBZJ2o0T0FhbjGhZ3vXdbkv0sx3gAYW7Vg==",
+ "license": "MIT",
+ "dependencies": {
+ "is-mobile": "^5.0.0",
+ "react-is": "^18.2.0"
+ },
+ "peerDependencies": {
+ "react": ">=18.0.0",
+ "react-dom": ">=18.0.0"
+ }
+ },
"node_modules/@reach/router": {
"version": "1.3.4",
"license": "MIT",
@@ -6620,13 +6658,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/add-dom-event-listener": {
- "version": "1.1.0",
- "license": "MIT",
- "dependencies": {
- "object-assign": "4.x"
- }
- },
"node_modules/address": {
"version": "1.2.2",
"license": "MIT",
@@ -7348,23 +7379,6 @@
"babel-plugin-transform-react-remove-prop-types": "^0.4.24"
}
},
- "node_modules/babel-runtime": {
- "version": "6.26.0",
- "license": "MIT",
- "dependencies": {
- "core-js": "^2.4.0",
- "regenerator-runtime": "^0.11.0"
- }
- },
- "node_modules/babel-runtime/node_modules/core-js": {
- "version": "2.6.12",
- "hasInstallScript": true,
- "license": "MIT"
- },
- "node_modules/babel-runtime/node_modules/regenerator-runtime": {
- "version": "0.11.1",
- "license": "MIT"
- },
"node_modules/balanced-match": {
"version": "1.0.2",
"license": "MIT"
@@ -8028,16 +8042,6 @@
"url": "https://www.patreon.com/infusion"
}
},
- "node_modules/component-classes": {
- "version": "1.2.6",
- "license": "MIT",
- "dependencies": {
- "component-indexof": "0.0.3"
- }
- },
- "node_modules/component-indexof": {
- "version": "0.0.3"
- },
"node_modules/compressible": {
"version": "2.0.18",
"license": "MIT",
@@ -8319,14 +8323,6 @@
"node": ">=8"
}
},
- "node_modules/create-react-class": {
- "version": "15.7.0",
- "license": "MIT",
- "dependencies": {
- "loose-envify": "^1.3.1",
- "object-assign": "^4.1.1"
- }
- },
"node_modules/create-react-context": {
"version": "0.3.0",
"license": "MIT",
@@ -8360,14 +8356,6 @@
"node": ">=8"
}
},
- "node_modules/css-animation": {
- "version": "1.6.1",
- "license": "MIT",
- "dependencies": {
- "babel-runtime": "6.x",
- "component-classes": "^1.2.5"
- }
- },
"node_modules/css-blank-pseudo": {
"version": "3.0.3",
"license": "CC0-1.0",
@@ -9308,10 +9296,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/dom-align": {
- "version": "1.12.4",
- "license": "MIT"
- },
"node_modules/dom-converter": {
"version": "0.2.0",
"license": "MIT",
@@ -12226,6 +12210,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-mobile": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-5.0.0.tgz",
+ "integrity": "sha512-Tz/yndySvLAEXh+Uk8liFCxOwVH6YutuR74utvOcu7I9Di+DwM0mtdPVZNaVvvBUM2OXxne/NhOs1zAO7riusQ==",
+ "license": "MIT"
+ },
"node_modules/is-module": {
"version": "1.0.0",
"license": "MIT"
@@ -20080,70 +20070,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/rc-align": {
- "version": "2.4.5",
- "license": "MIT",
- "dependencies": {
- "babel-runtime": "^6.26.0",
- "dom-align": "^1.7.0",
- "prop-types": "^15.5.8",
- "rc-util": "^4.0.4"
- }
- },
- "node_modules/rc-animate": {
- "version": "2.11.1",
- "license": "MIT",
- "dependencies": {
- "babel-runtime": "6.x",
- "classnames": "^2.2.6",
- "css-animation": "^1.3.2",
- "prop-types": "15.x",
- "raf": "^3.4.0",
- "rc-util": "^4.15.3",
- "react-lifecycles-compat": "^3.0.4"
- }
- },
- "node_modules/rc-color-picker": {
- "version": "1.2.6",
- "license": "MIT",
- "dependencies": {
- "classnames": "^2.2.5",
- "prop-types": "^15.5.8",
- "rc-trigger": "1.x",
- "rc-util": "^4.0.2",
- "tinycolor2": "^1.4.1"
- },
- "peerDependencies": {
- "react": "16.x",
- "react-dom": "16.x"
- }
- },
- "node_modules/rc-trigger": {
- "version": "1.11.5",
- "dependencies": {
- "babel-runtime": "6.x",
- "create-react-class": "15.x",
- "prop-types": "15.x",
- "rc-align": "2.x",
- "rc-animate": "2.x",
- "rc-util": "4.x"
- }
- },
- "node_modules/rc-util": {
- "version": "4.21.1",
- "license": "MIT",
- "dependencies": {
- "add-dom-event-listener": "^1.1.0",
- "prop-types": "^15.5.10",
- "react-is": "^16.12.0",
- "react-lifecycles-compat": "^3.0.4",
- "shallowequal": "^1.1.0"
- }
- },
- "node_modules/rc-util/node_modules/react-is": {
- "version": "16.13.1",
- "license": "MIT"
- },
"node_modules/react": {
"version": "18.2.0",
"license": "MIT",
@@ -22587,10 +22513,6 @@
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
"license": "ISC"
},
- "node_modules/shallowequal": {
- "version": "1.1.0",
- "license": "MIT"
- },
"node_modules/shebang-command": {
"version": "2.0.0",
"license": "MIT",
diff --git a/client/package.json b/client/package.json
index 692508de8..bbef092e3 100644
--- a/client/package.json
+++ b/client/package.json
@@ -16,6 +16,7 @@
"@mui/lab": "^5.0.0-alpha.137",
"@mui/material": "^5.15.14",
"@mui/styles": "^5.15.14",
+ "@rc-component/color-picker": "^3.1.1",
"@reach/router": "^1.3.4",
"@redux-devtools/core": "^4.0.0",
"@reduxjs/toolkit": "^1.9.7",
@@ -33,7 +34,6 @@
"mathjax-react": "^2.0.1",
"mathjs": "^12.4.1",
"prismjs": "^1.29.0",
- "rc-color-picker": "^1.2.6",
"react": "^18.2.0",
"react-chartjs-2": "^5.3.1",
"react-color": "^2.19.3",
diff --git a/client/src/assets/stylesheets/components/css/colorPicker.css b/client/src/assets/stylesheets/components/css/colorPicker.css
index b2cd3e16c..b8a52d8b7 100644
--- a/client/src/assets/stylesheets/components/css/colorPicker.css
+++ b/client/src/assets/stylesheets/components/css/colorPicker.css
@@ -1,39 +1,40 @@
/*FOR COLOR PICKER*/
-.rc-color-picker-panel-inner {
+/* All names changed to `color-picker` for updated dependency */
+.color-picker-panel-inner {
position: relative;
border-radius: 4px;
box-shadow: 0 1px 5px #ccc;
border: 1px solid #ccc;
padding-bottom: 8px;
}
-.rc-color-picker-panel-wrap {
+.color-picker-panel-wrap {
margin: 5px 0 0;
height: 30px;
width: 100%;
position: relative;
}
-.rc-color-picker-panel-wrap-preview {
+.color-picker-panel-wrap-preview {
position: absolute;
right: 8px;
}
-.rc-color-picker-panel-wrap-ribbon {
+.color-picker-panel-wrap-ribbon {
position: absolute;
left: 8px;
top: 0;
right: 43px;
height: 30px;
}
-.rc-color-picker-panel-wrap-alpha {
+.color-picker-panel-wrap-alpha {
position: absolute;
left: 8px;
right: 43px;
bottom: 0;
height: 12.5px;
}
-.rc-color-picker-panel-wrap-has-alpha .rc-color-picker-panel-wrap-ribbon {
+.color-picker-panel-wrap-has-alpha .color-picker-panel-wrap-ribbon {
height: 12.5px;
}
-.rc-color-picker-trigger {
+.color-picker-trigger {
border: 1px solid #999;
display: inline-block;
padding: 2px;
@@ -47,10 +48,10 @@
cursor: pointer;
box-shadow: 0 0 0 2px #fff inset;
}
-.rc-color-picker-trigger-open {
+.color-picker-trigger-open {
box-shadow: 0px 0px 3px #999;
}
-.rc-color-picker-panel {
+.color-picker-panel {
width: 218px;
background-color: #fff;
box-sizing: border-box;
@@ -63,37 +64,37 @@
-ms-user-select: none;
user-select: none;
}
-.rc-color-picker-panel * {
+.color-picker-panel * {
box-sizing: border-box;
}
-.rc-color-picker-panel-open {
+.color-picker-panel-open {
display: block;
}
-.rc-color-picker-panel-close {
+.color-picker-panel-close {
display: none;
}
-.rc-color-picker-panel-preview {
+.color-picker-panel-preview {
height: 30px;
width: 30px;
overflow: hidden;
border-radius: 2px;
background-image: url("data:image/png;base64,R0lGODdhCgAKAPAAAOXl5f///ywAAAAACgAKAEACEIQdqXt9GxyETrI279OIgwIAOw==");
}
-.rc-color-picker-panel-preview span {
+.color-picker-panel-preview span {
box-shadow: 0 0 2px #808080 inset;
}
-.rc-color-picker-panel-preview span,
-.rc-color-picker-panel-preview input[type="color"] {
+.color-picker-panel-preview span,
+.color-picker-panel-preview input[type="color"] {
position: absolute;
display: block;
height: 100%;
width: 30px;
border-radius: 2px;
}
-.rc-color-picker-panel-preview input[type="color"] {
+.color-picker-panel-preview input[type="color"] {
opacity: 0;
}
-.rc-color-picker-panel-board {
+.color-picker-panel-board {
position: relative;
font-size: 0;
-webkit-user-select: none;
@@ -102,7 +103,7 @@
user-select: none;
margin: 8px 8px 0px;
}
-.rc-color-picker-panel-board span {
+.color-picker-panel-board span {
position: absolute;
border-radius: 10px;
border: 1px solid #fff;
@@ -114,14 +115,14 @@
box-shadow: 0 0 1px rgba(120, 120, 120, 0.7);
z-index: 2;
}
-.rc-color-picker-panel-board-hsv {
+.color-picker-panel-board-hsv {
width: 200px;
height: 150px;
position: relative;
z-index: 1;
border-radius: 2px;
}
-.rc-color-picker-panel-board-value {
+.color-picker-panel-board-value {
border-radius: 2px;
position: absolute;
width: 100%;
@@ -135,7 +136,7 @@
background-image: -o-linear-gradient(top, transparent 0%, #000000 100%);
background-image: linear-gradient(to bottom, transparent 0%, #000000 100%);
}
-.rc-color-picker-panel-board-saturation {
+.color-picker-panel-board-saturation {
border-radius: 2px;
position: absolute;
width: 100%;
@@ -149,7 +150,7 @@
background-image: -o-linear-gradient(left, #ffffff 0%, transparent 100%);
background-image: linear-gradient(to right, #ffffff 0%, transparent 100%);
}
-.rc-color-picker-panel-board-handler {
+.color-picker-panel-board-handler {
box-shadow: 0 0 2px #808080 inset;
border-radius: 2px;
cursor: crosshair;
@@ -164,7 +165,7 @@
height: 100%;
z-index: 3;
}
-.rc-color-picker-panel-ribbon {
+.color-picker-panel-ribbon {
position: relative;
height: 100%;
border-radius: 2px;
@@ -227,7 +228,7 @@
#ff0000 100%
);
}
-.rc-color-picker-panel-ribbon span {
+.color-picker-panel-ribbon span {
position: absolute;
top: 0;
height: 100%;
@@ -238,14 +239,14 @@
background-color: #fff;
border-radius: 3px;
}
-.rc-color-picker-panel-ribbon-handler {
+.color-picker-panel-ribbon-handler {
position: absolute;
width: 104%;
height: 100%;
left: -2%;
cursor: pointer;
}
-.rc-color-picker-panel-alpha {
+.color-picker-panel-alpha {
position: relative;
height: 100%;
width: 100%;
@@ -257,14 +258,14 @@
-ms-user-select: none;
user-select: none;
}
-.rc-color-picker-panel-alpha-bg {
+.color-picker-panel-alpha-bg {
position: absolute;
width: 100%;
height: 100%;
border-radius: 2px;
box-shadow: 0 0 2px #808080 inset;
}
-.rc-color-picker-panel-alpha span {
+.color-picker-panel-alpha span {
position: absolute;
top: 0;
height: 100%;
@@ -275,21 +276,21 @@
background-color: #fff;
border-radius: 3px;
}
-.rc-color-picker-panel-alpha-handler {
+.color-picker-panel-alpha-handler {
position: absolute;
width: 104%;
height: 100%;
left: -2%;
cursor: pointer;
}
-.rc-color-picker-panel-params {
+.color-picker-panel-params {
font-size: 12px;
}
-.rc-color-picker-panel-params-input {
+.color-picker-panel-params-input {
overflow: hidden;
padding: 2px 8px;
}
-.rc-color-picker-panel-params input {
+.color-picker-panel-params input {
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
@@ -302,17 +303,17 @@
border: 1px solid #cacaca;
font-family: "Helvetica Neue", Helvetica, sans-serif;
}
-.rc-color-picker-panel-params-hex {
+.color-picker-panel-params-hex {
width: 52px;
}
-.rc-color-picker-panel-params input[type="number"] {
+.color-picker-panel-params input[type="number"] {
margin-left: 5px;
width: 44px;
}
-.rc-color-picker-panel-params input[type="number"]::-webkit-inner-spin-button {
+.color-picker-panel-params input[type="number"]::-webkit-inner-spin-button {
-webkit-appearance: none;
}
-.rc-color-picker-panel-params-lable {
+.color-picker-panel-params-lable {
padding: 2px 8px;
height: 22px;
line-height: 18px;
@@ -321,41 +322,41 @@
-ms-user-select: none;
user-select: none;
}
-.rc-color-picker-panel-params-lable label {
+.color-picker-panel-params-lable label {
float: left;
text-align: center;
}
-.rc-color-picker-panel-params-lable-hex {
+.color-picker-panel-params-lable-hex {
width: 52px;
}
-.rc-color-picker-panel-params-lable-number,
-.rc-color-picker-panel-params-lable-alpha {
+.color-picker-panel-params-lable-number,
+.color-picker-panel-params-lable-alpha {
margin-left: 5px;
width: 44px;
text-transform: uppercase;
}
-.rc-color-picker-panel-params-lable-number:hover {
+.color-picker-panel-params-lable-number:hover {
border-radius: 2px;
background-color: #eee;
box-shadow: 0 0 0 1px #ccc inset;
cursor: pointer;
}
-.rc-color-picker-panel-params-has-alpha input[type="number"] {
+.color-picker-panel-params-has-alpha input[type="number"] {
width: 32px;
}
-.rc-color-picker-panel-params-has-alpha
- .rc-color-picker-panel-params-lable-number,
-.rc-color-picker-panel-params-has-alpha
- .rc-color-picker-panel-params-lable-alpha {
+.color-picker-panel-params-has-alpha
+ .color-picker-panel-params-lable-number,
+.color-picker-panel-params-has-alpha
+ .color-picker-panel-params-lable-alpha {
width: 32px;
}
-.rc-color-picker {
+.color-picker {
position: absolute;
left: -9999px;
top: -9999px;
z-index: 1000;
}
-.rc-color-picker-slide-up-enter {
+.color-picker-slide-up-enter {
animation-duration: 0.3s;
animation-fill-mode: both;
transform-origin: 0 0;
@@ -364,7 +365,7 @@
animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
animation-play-state: paused;
}
-.rc-color-picker-slide-up-appear {
+.color-picker-slide-up-appear {
animation-duration: 0.3s;
animation-fill-mode: both;
transform-origin: 0 0;
@@ -373,7 +374,7 @@
animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
animation-play-state: paused;
}
-.rc-color-picker-slide-up-leave {
+.color-picker-slide-up-leave {
animation-duration: 0.3s;
animation-fill-mode: both;
transform-origin: 0 0;
@@ -382,27 +383,27 @@
animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
animation-play-state: paused;
}
-.rc-color-picker-slide-up-enter.rc-color-picker-slide-up-enter-active.rc-color-picker-placement-bottomLeft,
-.rc-color-picker-slide-up-enter.rc-color-picker-slide-up-enter-active.rc-color-picker-placement-bottomRight,
-.rc-color-picker-slide-up-appear.rc-color-picker-slide-up-appear-active.rc-color-picker-placement-bottomLeft,
-.rc-color-picker-slide-up-appear.rc-color-picker-slide-up-appear-active.rc-color-picker-placement-bottomRight {
+.color-picker-slide-up-enter.color-picker-slide-up-enter-active.color-picker-placement-bottomLeft,
+.color-picker-slide-up-enter.color-picker-slide-up-enter-active.color-picker-placement-bottomRight,
+.color-picker-slide-up-appear.color-picker-slide-up-appear-active.color-picker-placement-bottomLeft,
+.color-picker-slide-up-appear.color-picker-slide-up-appear-active.color-picker-placement-bottomRight {
animation-name: rcColorPickerSlideUpIn;
animation-play-state: running;
}
-.rc-color-picker-slide-up-enter.rc-color-picker-slide-up-enter-active.rc-color-picker-placement-topLeft,
-.rc-color-picker-slide-up-enter.rc-color-picker-slide-up-enter-active.rc-color-picker-placement-topRight,
-.rc-color-picker-slide-up-appear.rc-color-picker-slide-up-appear-active.rc-color-picker-placement-topLeft,
-.rc-color-picker-slide-up-appear.rc-color-picker-slide-up-appear-active.rc-color-picker-placement-topRight {
+.color-picker-slide-up-enter.color-picker-slide-up-enter-active.color-picker-placement-topLeft,
+.color-picker-slide-up-enter.color-picker-slide-up-enter-active.color-picker-placement-topRight,
+.color-picker-slide-up-appear.color-picker-slide-up-appear-active.color-picker-placement-topLeft,
+.color-picker-slide-up-appear.color-picker-slide-up-appear-active.color-picker-placement-topRight {
animation-name: rcColorPickerSlideDownIn;
animation-play-state: running;
}
-.rc-color-picker-slide-up-leave.rc-color-picker-slide-up-leave-active.rc-color-picker-placement-bottomLeft,
-.rc-color-picker-slide-up-leave.rc-color-picker-slide-up-leave-active.rc-color-picker-placement-bottomRight {
+.color-picker-slide-up-leave.color-picker-slide-up-leave-active.color-picker-placement-bottomLeft,
+.color-picker-slide-up-leave.color-picker-slide-up-leave-active.color-picker-placement-bottomRight {
animation-name: rcColorPickerSlideUpOut;
animation-play-state: running;
}
-.rc-color-picker-slide-up-leave.rc-color-picker-slide-up-leave-active.rc-color-picker-placement-topLeft,
-.rc-color-picker-slide-up-leave.rc-color-picker-slide-up-leave-active.rc-color-picker-placement-topRight {
+.color-picker-slide-up-leave.color-picker-slide-up-leave-active.color-picker-placement-topLeft,
+.color-picker-slide-up-leave.color-picker-slide-up-leave-active.color-picker-placement-topRight {
animation-name: rcColorPickerSlideDownOut;
animation-play-state: running;
}
diff --git a/client/src/components/all-components/ALLCardRow.js b/client/src/components/all-components/ALLCardRow.js
index 0a40ff3c1..f24f5ae6b 100644
--- a/client/src/components/all-components/ALLCardRow.js
+++ b/client/src/components/all-components/ALLCardRow.js
@@ -33,15 +33,15 @@ const ALLCardRow = (props) => {
{/* Left */}
-
{/* Middle */}
diff --git a/client/src/components/all-components/LabButton.js b/client/src/components/all-components/LabButton.js
index 5927584f5..88d828a62 100644
--- a/client/src/components/all-components/LabButton.js
+++ b/client/src/components/all-components/LabButton.js
@@ -2,13 +2,14 @@ import React from "react";
import PropTypes from "prop-types";
const LabButton = (props) => {
- const { onClick, type, label, key, disabled, ariaLabel } = props;
+ // 'key' cannot be a prop
+ const { onClick, type, label, _key, disabled, ariaLabel } = props;
return (