diff --git a/website/package-lock.json b/website/package-lock.json index 50dc0d460..69c4b2c47 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -20,8 +20,8 @@ "dayjs": "^1.11.20", "katex": "^0.16.38", "patch-package": "^8.0.1", - "react": "^18.3.1", - "react-dom": "^18.3.1", + "react": "^19.0.0", + "react-dom": "^19.0.0", "react-katex": "^3.1.0", "react-toastify": "^11.0.5", "uuid": "^11.1.0", @@ -44,8 +44,8 @@ "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@types/node": "^24.5.2", - "@types/react": "^18.3.12", - "@types/react-dom": "^18.3.1", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", "@types/react-katex": "^3.0.4", "@types/topojson-specification": "^1.0.5", "@typescript-eslint/eslint-plugin": "^8.57.1", @@ -561,13 +561,10 @@ } }, "node_modules/@babel/runtime": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz", - "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, "engines": { "node": ">=6.9.0" } @@ -1342,28 +1339,28 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.0.tgz", - "integrity": "sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.9" + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/dom": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.0.tgz", - "integrity": "sha512-lGTor4VlXcesUMh1cupTUTDoCxMb0V6bm3CnxHzQcw8Eaf1jQbgQX4i02fYgT0vJ82tb5MZ4CZk1LRGkktJCzg==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.7.0", - "@floating-ui/utils": "^0.2.9" + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/utils": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", - "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", "license": "MIT" }, "node_modules/@genspectrum/dashboard-components": { @@ -2134,33 +2131,33 @@ "license": "MIT" }, "node_modules/@lit-labs/ssr-dom-shim": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.3.0.tgz", - "integrity": "sha512-nQIWonJ6eFAvUUrSlwyHDm/aE8PBDu5kRpL0vHMg6K8fK3Diq1xdPjTnsJSwxABhaZ+5eBi1btQB5ShUTKo4nQ==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.5.1.tgz", + "integrity": "sha512-Aou5UdlSpr5whQe8AA/bZG0jMj96CoJIWbGfZ91qieWu5AWUMKw8VR/pAkQkJYvBNhmCcWnZlyyk5oze8JIqYA==", "license": "BSD-3-Clause" }, "node_modules/@lit/context": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@lit/context/-/context-1.1.5.tgz", - "integrity": "sha512-57KyQD9of4RlBXkOIF1N40/BLY1j+1wLB5wRmB207+VtwNIRfXbanLsB6BsnFYXrycOUIp2d8gqTNGwuW1lE9Q==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@lit/context/-/context-1.1.6.tgz", + "integrity": "sha512-M26qDE6UkQbZA2mQ3RjJ3Gzd8TxP+/0obMgE5HfkfLhEEyYE3Bui4A5XHiGPjy0MUGAyxB3QgVuw2ciS0kHn6A==", "license": "BSD-3-Clause", "dependencies": { "@lit/reactive-element": "^1.6.2 || ^2.1.0" } }, "node_modules/@lit/reactive-element": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.0.tgz", - "integrity": "sha512-L2qyoZSQClcBmq0qajBVbhYEcG6iK0XfLn66ifLe/RfC0/ihpc+pl0Wdn8bJ8o+hj38cG0fGXRgSS20MuXn7qA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.2.tgz", + "integrity": "sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==", "license": "BSD-3-Clause", "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.2.0" + "@lit-labs/ssr-dom-shim": "^1.5.0" } }, "node_modules/@lit/task": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@lit/task/-/task-1.0.2.tgz", - "integrity": "sha512-ofj/fahKhhS1SpbPSC57OMo2BXMxHG/y4sxH/ahWzXT5dh1kxjex7WqbL8ammb6zIlqbFCj6z2aGFYOh/qCQ+g==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@lit/task/-/task-1.0.3.tgz", + "integrity": "sha512-1gJGJl8WON+2j0y9xfcD+XsS1rvcy3XDgsIhcdUW++yTR8ESjZW6o7dn8M8a4SZM8NnJe6ynS2cKWwsbfLOurg==", "license": "BSD-3-Clause", "dependencies": { "@lit/reactive-element": "^1.0.0 || ^2.0.0" @@ -3345,32 +3342,24 @@ "undici-types": "~7.12.0" } }, - "node_modules/@types/prop-types": { - "version": "15.7.14", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", - "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/react": { - "version": "18.3.18", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz", - "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", "dev": true, "license": "MIT", "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" + "csstype": "^3.2.2" } }, "node_modules/@types/react-dom": { - "version": "18.3.5", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", - "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", "dev": true, "license": "MIT", "peerDependencies": { - "@types/react": "^18.0.0" + "@types/react": "^19.2.0" } }, "node_modules/@types/react-katex": { @@ -5423,9 +5412,9 @@ } }, "node_modules/chart.js": { - "version": "4.4.9", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.9.tgz", - "integrity": "sha512-EyZ9wWKgpAU0fLJ43YAEIF8sr5F2W3LqbS40ZJyHIner2lY14ufqv2VMp69MAiZ2rpwxEUxEhIH/0U3xyRynxg==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.1.tgz", + "integrity": "sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==", "license": "MIT", "dependencies": { "@kurkle/color": "^0.3.0" @@ -5435,18 +5424,18 @@ } }, "node_modules/chartjs-chart-error-bars": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/chartjs-chart-error-bars/-/chartjs-chart-error-bars-4.4.4.tgz", - "integrity": "sha512-gE4SpgSvdNbT5xnEUJa0H3MGnE4S7wtgRHg2RbrInbQ+i16O3c95UYW1gbl83i0VWKbuW4M0N7JzDgLeOx6cfQ==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/chartjs-chart-error-bars/-/chartjs-chart-error-bars-4.4.5.tgz", + "integrity": "sha512-JXdPy0AsgllDgjGUG/Kyz4oIFPPqbaa4zgAN+JqhDq0MaYYSCq17467BYDwdJEeOjmPRhtldf/7DF3p8873eTg==", "license": "MIT", "peerDependencies": { "chart.js": "^4.1.0" } }, "node_modules/chartjs-chart-venn": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/chartjs-chart-venn/-/chartjs-chart-venn-4.3.5.tgz", - "integrity": "sha512-M6UYTi4Wnaoodq/wZeZvBZ7uuyZWRdkZuMiGuWHITxJRlqBwN2r/byWYyfLBrUHTPZ9GAhQusnrKY93ZC094UQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chartjs-chart-venn/-/chartjs-chart-venn-4.3.7.tgz", + "integrity": "sha512-8nJMlaZ4i41RzlJL+3dEreD+M9/c3t4EwH1TXK3BpE3ZqusbVsdlJyq38xeZ2njSYSeE8r5ECgFegOdUoiCIvA==", "license": "MIT", "dependencies": { "@upsetjs/venn.js": "^2.0.0" @@ -5835,9 +5824,9 @@ "license": "CC0-1.0" }, "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", "dev": true, "license": "MIT" }, @@ -6245,9 +6234,9 @@ } }, "node_modules/dompurify": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.5.tgz", - "integrity": "sha512-mLPd29uoRe9HpvwP2TxClGQBzGXeEC/we/q+bFlmPPmj2p2Ugl3r6ATu/UU1v77DXNcehiBg9zsr1dREyA/dJQ==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.3.tgz", + "integrity": "sha512-Oj6pzI2+RqBfFG+qOaOLbFXLQ90ARpcGG6UePL82bJLtdsa6CYJD7nmiU8MW9nQNOtCHV3lZ/Bzq1X0QYbBZCA==", "license": "(MPL-2.0 OR Apache-2.0)", "optionalDependencies": { "@types/trusted-types": "^2.0.7" @@ -6281,16 +6270,16 @@ } }, "node_modules/downshift": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/downshift/-/downshift-9.0.9.tgz", - "integrity": "sha512-ygOT8blgiz5liDuEFAIaPeU4dDEa+w9p6PHVUisPIjrkF5wfR59a52HpGWAVVMoWnoFO8po2mZSScKZueihS7g==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/downshift/-/downshift-9.3.2.tgz", + "integrity": "sha512-5VD0WZLQDhipWiDU+K5ili3VDhGrXwlvOlSaSG1Cb0eS4XpssxVuoD09JNgju+bAzxB2Wvlwx+FwTE/FNdrqow==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.24.5", - "compute-scroll-into-view": "^3.1.0", + "@babel/runtime": "^7.28.6", + "compute-scroll-into-view": "^3.1.1", "prop-types": "^15.8.1", - "react-is": "18.2.0", - "tslib": "^2.6.2" + "react-is": "^18.2.0", + "tslib": "^2.8.1" }, "peerDependencies": { "react": ">=16.12.0" @@ -9102,9 +9091,9 @@ } }, "node_modules/lit": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.0.tgz", - "integrity": "sha512-DGVsqsOIHBww2DqnuZzW7QsuCdahp50ojuDaBPC7jUDRpYoH0z7kHBBYZewRzer75FwtrkmkKk7iOAwSaWdBmw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.2.tgz", + "integrity": "sha512-NF9zbsP79l4ao2SNrH3NkfmFgN/hBYSQo90saIVI1o5GpjAdCPVstVzO1MrLOakHoEhYkrtRjPK6Ob521aoYWQ==", "license": "BSD-3-Clause", "dependencies": { "@lit/reactive-element": "^2.1.0", @@ -9113,20 +9102,20 @@ } }, "node_modules/lit-element": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.2.0.tgz", - "integrity": "sha512-MGrXJVAI5x+Bfth/pU9Kst1iWID6GHDLEzFEnyULB/sFiRLgkd8NPK/PeeXxktA3T6EIIaq8U3KcbTU5XFcP2Q==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.2.2.tgz", + "integrity": "sha512-aFKhNToWxoyhkNDmWZwEva2SlQia+jfG0fjIWV//YeTaWrVnOxD89dPKfigCUspXFmjzOEUQpOkejH5Ly6sG0w==", "license": "BSD-3-Clause", "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.2.0", + "@lit-labs/ssr-dom-shim": "^1.5.0", "@lit/reactive-element": "^2.1.0", "lit-html": "^3.3.0" } }, "node_modules/lit-html": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.0.tgz", - "integrity": "sha512-RHoswrFAxY2d8Cf2mm4OZ1DgzCoBKUKSPvA1fhtSELxUERq2aQQ2h05pO9j81gS1o7RIRJ+CePLogfyahwmynw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.2.tgz", + "integrity": "sha512-Qy9hU88zcmaxBXcc10ZpdK7cOLXvXpRoBxERdtqV9QOrfpMZZ6pSYP91LhpPtap3sFMUiL7Tw2RImbe0Al2/kw==", "license": "BSD-3-Clause", "dependencies": { "@types/trusted-types": "^2.0.2" @@ -11304,34 +11293,30 @@ } }, "node_modules/react": { - "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==", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" + "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^18.3.1" + "react": "^19.2.4" } }, "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==", "license": "MIT" }, "node_modules/react-katex": { @@ -11435,12 +11420,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "license": "MIT" - }, "node_modules/regex": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", @@ -11938,13 +11917,10 @@ } }, "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" }, "node_modules/semver": { "version": "7.7.3", diff --git a/website/package.json b/website/package.json index 35d56b962..515a30bdb 100644 --- a/website/package.json +++ b/website/package.json @@ -36,8 +36,8 @@ "dayjs": "^1.11.20", "katex": "^0.16.38", "patch-package": "^8.0.1", - "react": "^18.3.1", - "react-dom": "^18.3.1", + "react": "^19.0.0", + "react-dom": "^19.0.0", "react-katex": "^3.1.0", "react-toastify": "^11.0.5", "uuid": "^11.1.0", @@ -60,8 +60,8 @@ "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@types/node": "^24.5.2", - "@types/react": "^18.3.12", - "@types/react-dom": "^18.3.1", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", "@types/react-katex": "^3.0.4", "@types/topojson-specification": "^1.0.5", "@typescript-eslint/eslint-plugin": "^8.57.1", diff --git a/website/src/components/genspectrum/AdvancedQueryFilter.tsx b/website/src/components/genspectrum/AdvancedQueryFilter.tsx index 0ed6faf1c..1daa38575 100644 --- a/website/src/components/genspectrum/AdvancedQueryFilter.tsx +++ b/website/src/components/genspectrum/AdvancedQueryFilter.tsx @@ -1,4 +1,4 @@ -import { type ChangeEvent, type FC, useEffect, useState } from 'react'; +import { type InputEvent, type FC, useEffect, useState } from 'react'; export const advancedQueryUrlParamForVariant = 'advancedQueryVariant'; export const advancedQueryUrlParam = 'advancedQuery'; @@ -29,8 +29,8 @@ export const AdvancedQueryFilter: FC = ({ value, onInp className='input input-bordered w-full' placeholder={'Advanced query: A123T & ins_123:TA'} value={inputValue} - onInput={(event: ChangeEvent) => { - const newValue = event.target.value; + onInput={(event: InputEvent) => { + const newValue = event.currentTarget.value; setInputValue(newValue === '' ? undefined : newValue); }} onBlur={() => { diff --git a/website/src/components/genspectrum/GsAggregate.tsx b/website/src/components/genspectrum/GsAggregate.tsx index 41672eee7..b86a6f82f 100644 --- a/website/src/components/genspectrum/GsAggregate.tsx +++ b/website/src/components/genspectrum/GsAggregate.tsx @@ -17,9 +17,9 @@ export const GsAggregate: FC = ({ title, height, fields, lapis return ( (); + const dateRangeSelectorRef = useRef(null); useEffect(() => { const currentDateRangeSelectorRef = dateRangeSelectorRef.current; @@ -73,8 +73,8 @@ export function GsDateRangeFilter({ return ( diff --git a/website/src/components/genspectrum/GsLineageFilter.tsx b/website/src/components/genspectrum/GsLineageFilter.tsx index a3bfc9279..7052d6b69 100644 --- a/website/src/components/genspectrum/GsLineageFilter.tsx +++ b/website/src/components/genspectrum/GsLineageFilter.tsx @@ -24,7 +24,7 @@ export function GsLineageFilter({ hideCounts?: true; multiSelect?: true; }) { - const lineageFilterRef = useRef(); + const lineageFilterRef = useRef(null); useEffect(() => { const currentLineageFilterRef = lineageFilterRef.current; @@ -63,16 +63,14 @@ export function GsLineageFilter({ }; }, [onLineageMultiChange]); - const valueProperty = value === undefined ? (multiSelect ? '[]' : '') : multiSelect ? JSON.stringify(value) : value; - return ( diff --git a/website/src/components/genspectrum/GsLocationFilter.tsx b/website/src/components/genspectrum/GsLocationFilter.tsx index e94da1940..48f533279 100644 --- a/website/src/components/genspectrum/GsLocationFilter.tsx +++ b/website/src/components/genspectrum/GsLocationFilter.tsx @@ -22,7 +22,7 @@ export function GsLocationFilter({ value?: LapisLocation; hideCounts?: true; }) { - const locationFilterRef = useRef(); + const locationFilterRef = useRef(null); useEffect(() => { const currentLocationFilterRef = locationFilterRef.current; @@ -42,12 +42,12 @@ export function GsLocationFilter({ return ( ); diff --git a/website/src/components/genspectrum/GsMutationComparison.tsx b/website/src/components/genspectrum/GsMutationComparison.tsx index eac5b1a70..b73a75730 100644 --- a/website/src/components/genspectrum/GsMutationComparison.tsx +++ b/website/src/components/genspectrum/GsMutationComparison.tsx @@ -1,4 +1,4 @@ -import type { NamedLapisFilter, SequenceType } from '@genspectrum/dashboard-components/util'; +import { type NamedLapisFilter, type SequenceType, views } from '@genspectrum/dashboard-components/util'; import type { FC } from 'react'; import { defaultTablePageSize } from '../../views/View'; @@ -23,9 +23,9 @@ export const GsMutationComparison: FC = ({ height={height} > void; }) { - const mutationFilterRef = useRef(); + const mutationFilterRef = useRef(null); useEffect(() => { const currentMutationFilterRef = mutationFilterRef.current; @@ -48,10 +48,8 @@ export function GsMutationFilter({ diff --git a/website/src/components/genspectrum/GsMutations.tsx b/website/src/components/genspectrum/GsMutations.tsx index fef22f7d2..b3efca7d3 100644 --- a/website/src/components/genspectrum/GsMutations.tsx +++ b/website/src/components/genspectrum/GsMutations.tsx @@ -1,4 +1,4 @@ -import { type LapisFilter, type SequenceType } from '@genspectrum/dashboard-components/util'; +import { type LapisFilter, type SequenceType, views } from '@genspectrum/dashboard-components/util'; import { type FC } from 'react'; import { defaultTablePageSize } from '../../views/View.ts'; @@ -25,12 +25,10 @@ export const GsMutations: FC = ({ height={height} > = ({ ); diff --git a/website/src/components/genspectrum/GsNumerRangeFilter.tsx b/website/src/components/genspectrum/GsNumberRangeFilter.tsx similarity index 91% rename from website/src/components/genspectrum/GsNumerRangeFilter.tsx rename to website/src/components/genspectrum/GsNumberRangeFilter.tsx index bbd3748d7..a5976501f 100644 --- a/website/src/components/genspectrum/GsNumerRangeFilter.tsx +++ b/website/src/components/genspectrum/GsNumberRangeFilter.tsx @@ -8,7 +8,7 @@ import { import { useEffect, useRef } from 'react'; import '@genspectrum/dashboard-components/components'; -export function GsNumerRangeFilter({ +export function GsNumberRangeFilter({ lapisField, width, onNumberRangeChanged = () => {}, @@ -27,11 +27,11 @@ export function GsNumerRangeFilter({ sliderMax?: number; sliderStep?: number; }) { - const numberRangeFilterRef = useRef(); + const numberRangeFilterRef = useRef(null); useEffect(() => { const currentInputRef = numberRangeFilterRef.current; - if (currentInputRef === undefined) { + if (currentInputRef === null) { return; } @@ -57,7 +57,7 @@ export function GsNumerRangeFilter({ ref={numberRangeFilterRef} lapisField={lapisField} width={width} - value={JSON.stringify(value ?? {})} + value={value ?? {}} sliderMin={sliderMin} sliderMax={sliderMax} sliderStep={sliderStep} diff --git a/website/src/components/genspectrum/GsNumberSequencesOverTime.tsx b/website/src/components/genspectrum/GsNumberSequencesOverTime.tsx index ecbe70940..1a6b42017 100644 --- a/website/src/components/genspectrum/GsNumberSequencesOverTime.tsx +++ b/website/src/components/genspectrum/GsNumberSequencesOverTime.tsx @@ -29,9 +29,9 @@ export function GsNumberSequencesOverTime({ return ( = ({ return ( = ({ ); diff --git a/website/src/components/genspectrum/GsRelativeGrowthAdvantage.tsx b/website/src/components/genspectrum/GsRelativeGrowthAdvantage.tsx index d9d1d7ea8..437685857 100644 --- a/website/src/components/genspectrum/GsRelativeGrowthAdvantage.tsx +++ b/website/src/components/genspectrum/GsRelativeGrowthAdvantage.tsx @@ -20,9 +20,9 @@ export const GsRelativeGrowthAdvantage: FC = ({ return ( = ({ @@ -40,10 +40,10 @@ export const GsSequencesByLocation: FC = ({ = ({ numeratorFilter, denominat
diff --git a/website/src/components/genspectrum/GsTextFilter.tsx b/website/src/components/genspectrum/GsTextFilter.tsx index aad384695..1eeb85d75 100644 --- a/website/src/components/genspectrum/GsTextFilter.tsx +++ b/website/src/components/genspectrum/GsTextFilter.tsx @@ -20,7 +20,7 @@ export function GsTextFilter({ value?: string | undefined; hideCounts?: true; }) { - const textInputRef = useRef(); + const textInputRef = useRef(null); useEffect(() => { const currentInputRef = textInputRef.current; @@ -43,7 +43,7 @@ export function GsTextFilter({ ref={textInputRef} lapisField={lapisField} placeholderText={placeholderText} - lapisFilter={JSON.stringify(lapisFilter)} + lapisFilter={lapisFilter} width={width} value={value ?? ''} hideCounts={hideCounts} diff --git a/website/src/components/genspectrum/VariantQueryFilter.tsx b/website/src/components/genspectrum/VariantQueryFilter.tsx index 04066b3da..cf4a2a3ff 100644 --- a/website/src/components/genspectrum/VariantQueryFilter.tsx +++ b/website/src/components/genspectrum/VariantQueryFilter.tsx @@ -1,11 +1,11 @@ -import type { ChangeEventHandler } from 'react'; +import type { InputEventHandler } from 'react'; export function VariantQueryFilter({ value, onInput, }: { value?: string; - onInput?: ChangeEventHandler; + onInput?: InputEventHandler; }) { return (