diff --git a/app/index.jsx b/app/index.jsx
index 08b73a82a..3c9ae7bd9 100644
--- a/app/index.jsx
+++ b/app/index.jsx
@@ -1,7 +1,9 @@
import React from 'react'
-import ReactDOM from 'react-dom'
+import { createRoot } from 'react-dom/client'
import App from './App'
// Inject React app in DOM
-ReactDOM.render(, document.getElementById('app'))
+const container = document.getElementById('app')
+const root = createRoot(container) // createRoot(container!) if you use TypeScript
+root.render()
diff --git a/package-lock.json b/package-lock.json
index 5bff9fcca..53b1d0263 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -35,8 +35,8 @@
"prop-types": "~15.8.1",
"re-reselect": "~4.0.0",
"re-resizable": "^6.10.0",
- "react": "~17.0.2",
- "react-dom": "~17.0.2",
+ "react": "18.3.1",
+ "react-dom": "18.3.1",
"react-flip-move": "3.0.5",
"react-helmet": "6.1.0",
"react-i18next": "~9.0.1",
@@ -106,7 +106,7 @@
"mini-css-extract-plugin": "^2.9.1",
"node-sass": "8.0.0",
"prettier": "3.2.5",
- "react-test-renderer": "^17.0.2",
+ "react-test-renderer": "^18.3.1",
"sass-loader": "^16.0.4",
"style-loader": "^1.1.3",
"terser-webpack-plugin": "^5.3.10",
@@ -4118,11 +4118,11 @@
}
},
"node_modules/@styled-icons/styled-icon": {
- "version": "10.7.0",
- "resolved": "https://registry.npmjs.org/@styled-icons/styled-icon/-/styled-icon-10.7.0.tgz",
- "integrity": "sha512-SCrhCfRyoY8DY7gUkpz+B0RqUg/n1Zaqrr2+YKmK/AyeNfCcoHuP4R9N4H0p/NA1l7PTU10ZkAWSLi68phnAjw==",
+ "version": "10.7.1",
+ "resolved": "https://registry.npmjs.org/@styled-icons/styled-icon/-/styled-icon-10.7.1.tgz",
+ "integrity": "sha512-WLYaeMTMhMkSxE+v+of+r2ovIk0tceDGfv8iqWHRMxvbm+6zxngVcQ4ELx6Zt/LFxqckmmoAdvo6ehiiYj6I6A==",
"dependencies": {
- "@babel/runtime": "^7.19.0"
+ "@babel/runtime": "^7.20.7"
},
"funding": {
"type": "GitHub",
@@ -4130,7 +4130,7 @@
},
"peerDependencies": {
"react": "*",
- "styled-components": ">=4.1.0 <6"
+ "styled-components": ">=4.1.0"
}
},
"node_modules/@styled-icons/typicons": {
@@ -17423,28 +17423,26 @@
}
},
"node_modules/react": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
- "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
+ "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
"dependencies": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1"
+ "loose-envify": "^1.1.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/react-dom": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
- "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
+ "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
"dependencies": {
"loose-envify": "^1.1.0",
- "object-assign": "^4.1.1",
- "scheduler": "^0.20.2"
+ "scheduler": "^0.23.2"
},
"peerDependencies": {
- "react": "17.0.2"
+ "react": "^18.3.1"
}
},
"node_modules/react-fast-compare": {
@@ -17552,9 +17550,9 @@
"integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ=="
},
"node_modules/react-is": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
- "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="
},
"node_modules/react-markdown": {
"version": "8.0.7",
@@ -17775,26 +17773,19 @@
}
},
"node_modules/react-test-renderer": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-17.0.2.tgz",
- "integrity": "sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.3.1.tgz",
+ "integrity": "sha512-KkAgygexHUkQqtvvx/otwxtuFu5cVjfzTCtjXLH9boS19/Nbtg84zS7wIQn39G8IlrhThBpQsMKkq5ZHZIYFXA==",
"dev": true,
"dependencies": {
- "object-assign": "^4.1.1",
- "react-is": "^17.0.2",
- "react-shallow-renderer": "^16.13.1",
- "scheduler": "^0.20.2"
+ "react-is": "^18.3.1",
+ "react-shallow-renderer": "^16.15.0",
+ "scheduler": "^0.23.2"
},
"peerDependencies": {
- "react": "17.0.2"
+ "react": "^18.3.1"
}
},
- "node_modules/react-test-renderer/node_modules/react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
- },
"node_modules/react-toggled": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/react-toggled/-/react-toggled-1.2.7.tgz",
@@ -18557,12 +18548,11 @@
}
},
"node_modules/scheduler": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
- "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
+ "version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
"dependencies": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1"
+ "loose-envify": "^1.1.0"
}
},
"node_modules/schema-utils": {
@@ -19509,6 +19499,22 @@
"styled-components": ">=4.1.0 <6"
}
},
+ "node_modules/styled-icons/node_modules/@styled-icons/styled-icon": {
+ "version": "10.7.0",
+ "resolved": "https://registry.npmjs.org/@styled-icons/styled-icon/-/styled-icon-10.7.0.tgz",
+ "integrity": "sha512-SCrhCfRyoY8DY7gUkpz+B0RqUg/n1Zaqrr2+YKmK/AyeNfCcoHuP4R9N4H0p/NA1l7PTU10ZkAWSLi68phnAjw==",
+ "dependencies": {
+ "@babel/runtime": "^7.19.0"
+ },
+ "funding": {
+ "type": "GitHub",
+ "url": "https://github.com/sponsors/jacobwgillespie"
+ },
+ "peerDependencies": {
+ "react": "*",
+ "styled-components": ">=4.1.0 <6"
+ }
+ },
"node_modules/styled-system": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/styled-system/-/styled-system-3.2.1.tgz",
@@ -24297,11 +24303,11 @@
}
},
"@styled-icons/styled-icon": {
- "version": "10.7.0",
- "resolved": "https://registry.npmjs.org/@styled-icons/styled-icon/-/styled-icon-10.7.0.tgz",
- "integrity": "sha512-SCrhCfRyoY8DY7gUkpz+B0RqUg/n1Zaqrr2+YKmK/AyeNfCcoHuP4R9N4H0p/NA1l7PTU10ZkAWSLi68phnAjw==",
+ "version": "10.7.1",
+ "resolved": "https://registry.npmjs.org/@styled-icons/styled-icon/-/styled-icon-10.7.1.tgz",
+ "integrity": "sha512-WLYaeMTMhMkSxE+v+of+r2ovIk0tceDGfv8iqWHRMxvbm+6zxngVcQ4ELx6Zt/LFxqckmmoAdvo6ehiiYj6I6A==",
"requires": {
- "@babel/runtime": "^7.19.0"
+ "@babel/runtime": "^7.20.7"
}
},
"@styled-icons/typicons": {
@@ -34107,22 +34113,20 @@
"requires": {}
},
"react": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
- "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
+ "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
"requires": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1"
+ "loose-envify": "^1.1.0"
}
},
"react-dom": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
- "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
+ "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
"requires": {
"loose-envify": "^1.1.0",
- "object-assign": "^4.1.1",
- "scheduler": "^0.20.2"
+ "scheduler": "^0.23.2"
}
},
"react-fast-compare": {
@@ -34218,9 +34222,9 @@
}
},
"react-is": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
- "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="
},
"react-markdown": {
"version": "8.0.7",
@@ -34400,23 +34404,14 @@
"requires": {}
},
"react-test-renderer": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-17.0.2.tgz",
- "integrity": "sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.3.1.tgz",
+ "integrity": "sha512-KkAgygexHUkQqtvvx/otwxtuFu5cVjfzTCtjXLH9boS19/Nbtg84zS7wIQn39G8IlrhThBpQsMKkq5ZHZIYFXA==",
"dev": true,
"requires": {
- "object-assign": "^4.1.1",
- "react-is": "^17.0.2",
- "react-shallow-renderer": "^16.13.1",
- "scheduler": "^0.20.2"
- },
- "dependencies": {
- "react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true
- }
+ "react-is": "^18.3.1",
+ "react-shallow-renderer": "^16.15.0",
+ "scheduler": "^0.23.2"
}
},
"react-toggled": {
@@ -34962,12 +34957,11 @@
}
},
"scheduler": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
- "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
+ "version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
"requires": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1"
+ "loose-envify": "^1.1.0"
}
},
"schema-utils": {
@@ -35737,6 +35731,16 @@
"@styled-icons/styled-icon": "10.7.0",
"@styled-icons/typicons": "10.46.0",
"@styled-icons/zondicons": "10.46.0"
+ },
+ "dependencies": {
+ "@styled-icons/styled-icon": {
+ "version": "10.7.0",
+ "resolved": "https://registry.npmjs.org/@styled-icons/styled-icon/-/styled-icon-10.7.0.tgz",
+ "integrity": "sha512-SCrhCfRyoY8DY7gUkpz+B0RqUg/n1Zaqrr2+YKmK/AyeNfCcoHuP4R9N4H0p/NA1l7PTU10ZkAWSLi68phnAjw==",
+ "requires": {
+ "@babel/runtime": "^7.19.0"
+ }
+ }
}
},
"styled-system": {
diff --git a/package.json b/package.json
index 5e11626d1..0390028d1 100644
--- a/package.json
+++ b/package.json
@@ -77,8 +77,8 @@
"prop-types": "~15.8.1",
"re-reselect": "~4.0.0",
"re-resizable": "^6.10.0",
- "react": "~17.0.2",
- "react-dom": "~17.0.2",
+ "react": "18.3.1",
+ "react-dom": "18.3.1",
"react-flip-move": "3.0.5",
"react-helmet": "6.1.0",
"react-i18next": "~9.0.1",
@@ -148,7 +148,7 @@
"mini-css-extract-plugin": "^2.9.1",
"node-sass": "8.0.0",
"prettier": "3.2.5",
- "react-test-renderer": "^17.0.2",
+ "react-test-renderer": "^18.3.1",
"sass-loader": "^16.0.4",
"style-loader": "^1.1.3",
"terser-webpack-plugin": "^5.3.10",