From 33b451bfddcc97c7f9c6fd781a598e7ce9e0c93a Mon Sep 17 00:00:00 2001
From: Remi  PLANEL <rplanel@pasteur.fr>
Date: Thu, 14 Dec 2023 09:32:08 +0100
Subject: [PATCH] Start using expand panel

---
 Dockerfile                      |   4 +-
 components/content/RefseqDb.vue |  47 +--
 package-lock.json               | 493 ++++++++++++++++----------------
 package.json                    |   2 +-
 4 files changed, 278 insertions(+), 268 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 3ecf071e..9b809526 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -78,8 +78,8 @@ FROM nginx:1.25-bookworm
 # RUN rm -rf /usr/share/nginx/html/*
 RUN apt update -y && apt install rsync -y
 COPY nginx.conf /etc/nginx/nginx.conf
-COPY --from=generate /usr/src/app/.output/public /usr/share/nginx/html
-# RUN chmod -R nginx:nginx /usr/share/nginx/html/
 RUN chown nginx:nginx /usr/share/nginx/html
+COPY --chown=nginx:nginx --from=generate /usr/src/app/.output/public /usr/share/nginx/html
+# RUN chmod -R nginx:nginx /usr/share/nginx/html/
 USER nginx
 CMD ["nginx", "-g", "daemon off;"]
\ No newline at end of file
diff --git a/components/content/RefseqDb.vue b/components/content/RefseqDb.vue
index 87f1ba6a..69772751 100644
--- a/components/content/RefseqDb.vue
+++ b/components/content/RefseqDb.vue
@@ -90,11 +90,11 @@ const defaultBarPlotOptions = computed(() => {
     const y = logTransform.value ? { nice: true, grid: true, type: 'symlog' } : { nice: true, grid: true, type: "linear" }
     // const y = { nice: true, grid: true }
     return {
-        x: { label: null, tickRotate: 70 },
+        x: { label: null, tickRotate: 45, ticks: 10 },
         y,
         color: { legend: true },
         width: computedWidth.value,
-        height: plotHeight.value,
+        height: plotHeight.value + 100,
     }
 })
 
@@ -113,7 +113,7 @@ const computedSystemDistribution = computed(() => {
 const computedDistriSystemOptions = computed(() => {
     return {
         ...defaultBarPlotOptions.value,
-        marginBottom: 120,
+        marginBottom: 100,
         marks: [
             // Plot.frame(),
             Plot.barY(
@@ -143,7 +143,7 @@ const computedTaxonomyDistribution = computed(() => {
 const computedDistriTaxoOptions = computed(() => {
     return {
         ...defaultBarPlotOptions.value,
-        marginBottom: 120,
+        marginBottom: 100,
         marks: [
             Plot.barY(
                 toValue(computedTaxonomyDistribution),
@@ -188,25 +188,36 @@ function namesToAccessionChips(names: string[]) {
             </v-btn-toggle>
         </v-toolbar>
         <v-row align="start" class="my-2">
+
             <v-col :cols="fullWidth ? 12 : 6">
-                <v-card color="transparent" flat class="my-3">
-                    <v-toolbar flat color="transparent">
-                        <v-toolbar-title>Systems</v-toolbar-title></v-toolbar>
-                    <v-card-text>
-                        <PlotFigure :options="unref(computedDistriSystemOptions)" defer></PlotFigure>
-                    </v-card-text>
+
+                <v-card color="transparent" flat>
+                    <v-expansion-panels>
+                        <v-expansion-panel elevation="3">
+                            <v-expansion-panel-title color="grey-lighten-4">Systems</v-expansion-panel-title>
+                            <v-expansion-panel-text>
+                                <PlotFigure :options="unref(computedDistriSystemOptions)" defer></PlotFigure>
+                            </v-expansion-panel-text>
+                        </v-expansion-panel>
+                    </v-expansion-panels>
                 </v-card>
             </v-col>
             <v-col :cols="fullWidth ? 12 : 6">
                 <v-card flat color="transparent">
-                    <v-toolbar flat color="transparent">
-                        <v-toolbar-title>Taxonomic</v-toolbar-title>
-                        <v-select v-model="selectedTaxoRank" :items="availableTaxo" density="compact"
-                            label="Select taxonomic rank"></v-select>
-                    </v-toolbar>
-                    <v-card-text>
-                        <PlotFigure defer :options="unref(computedDistriTaxoOptions)"></PlotFigure>
-                    </v-card-text>
+                    <v-expansion-panels>
+                        <v-expansion-panel elevation="3">
+                            <v-expansion-panel-title color="grey-lighten-4">
+                                Taxonomic
+
+
+                            </v-expansion-panel-title>
+                            <v-expansion-panel-text>
+
+                                <PlotFigure defer :options="unref(computedDistriTaxoOptions)"></PlotFigure>
+
+                            </v-expansion-panel-text>
+                        </v-expansion-panel>
+                    </v-expansion-panels>
                 </v-card>
             </v-col>
         </v-row>
diff --git a/package-lock.json b/package-lock.json
index 4e6dfc38..db81ba7d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5,7 +5,7 @@
   "packages": {
     "": {
       "dependencies": {
-        "@observablehq/plot": "^0.6.11",
+        "@observablehq/plot": "^0.6.13",
         "@pinia/nuxt": "^0.5.1",
         "d3": "^7.8.5",
         "file-saver": "^2.0.5",
@@ -35,82 +35,82 @@
       }
     },
     "node_modules/@algolia/cache-browser-local-storage": {
-      "version": "4.20.0",
+      "version": "4.21.1",
       "dev": true,
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "@algolia/cache-common": "4.20.0"
+        "@algolia/cache-common": "4.21.1"
       }
     },
     "node_modules/@algolia/cache-common": {
-      "version": "4.20.0",
+      "version": "4.21.1",
       "dev": true,
       "license": "MIT",
       "peer": true
     },
     "node_modules/@algolia/cache-in-memory": {
-      "version": "4.20.0",
+      "version": "4.21.1",
       "dev": true,
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "@algolia/cache-common": "4.20.0"
+        "@algolia/cache-common": "4.21.1"
       }
     },
     "node_modules/@algolia/client-account": {
-      "version": "4.20.0",
+      "version": "4.21.1",
       "dev": true,
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "@algolia/client-common": "4.20.0",
-        "@algolia/client-search": "4.20.0",
-        "@algolia/transporter": "4.20.0"
+        "@algolia/client-common": "4.21.1",
+        "@algolia/client-search": "4.21.1",
+        "@algolia/transporter": "4.21.1"
       }
     },
     "node_modules/@algolia/client-analytics": {
-      "version": "4.20.0",
+      "version": "4.21.1",
       "dev": true,
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "@algolia/client-common": "4.20.0",
-        "@algolia/client-search": "4.20.0",
-        "@algolia/requester-common": "4.20.0",
-        "@algolia/transporter": "4.20.0"
+        "@algolia/client-common": "4.21.1",
+        "@algolia/client-search": "4.21.1",
+        "@algolia/requester-common": "4.21.1",
+        "@algolia/transporter": "4.21.1"
       }
     },
     "node_modules/@algolia/client-common": {
-      "version": "4.20.0",
+      "version": "4.21.1",
       "dev": true,
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "@algolia/requester-common": "4.20.0",
-        "@algolia/transporter": "4.20.0"
+        "@algolia/requester-common": "4.21.1",
+        "@algolia/transporter": "4.21.1"
       }
     },
     "node_modules/@algolia/client-personalization": {
-      "version": "4.20.0",
+      "version": "4.21.1",
       "dev": true,
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "@algolia/client-common": "4.20.0",
-        "@algolia/requester-common": "4.20.0",
-        "@algolia/transporter": "4.20.0"
+        "@algolia/client-common": "4.21.1",
+        "@algolia/requester-common": "4.21.1",
+        "@algolia/transporter": "4.21.1"
       }
     },
     "node_modules/@algolia/client-search": {
-      "version": "4.20.0",
+      "version": "4.21.1",
       "dev": true,
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "@algolia/client-common": "4.20.0",
-        "@algolia/requester-common": "4.20.0",
-        "@algolia/transporter": "4.20.0"
+        "@algolia/client-common": "4.21.1",
+        "@algolia/requester-common": "4.21.1",
+        "@algolia/transporter": "4.21.1"
       }
     },
     "node_modules/@algolia/events": {
@@ -119,53 +119,53 @@
       "license": "MIT"
     },
     "node_modules/@algolia/logger-common": {
-      "version": "4.20.0",
+      "version": "4.21.1",
       "dev": true,
       "license": "MIT",
       "peer": true
     },
     "node_modules/@algolia/logger-console": {
-      "version": "4.20.0",
+      "version": "4.21.1",
       "dev": true,
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "@algolia/logger-common": "4.20.0"
+        "@algolia/logger-common": "4.21.1"
       }
     },
     "node_modules/@algolia/requester-browser-xhr": {
-      "version": "4.20.0",
+      "version": "4.21.1",
       "dev": true,
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "@algolia/requester-common": "4.20.0"
+        "@algolia/requester-common": "4.21.1"
       }
     },
     "node_modules/@algolia/requester-common": {
-      "version": "4.20.0",
+      "version": "4.21.1",
       "dev": true,
       "license": "MIT",
       "peer": true
     },
     "node_modules/@algolia/requester-node-http": {
-      "version": "4.20.0",
+      "version": "4.21.1",
       "dev": true,
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "@algolia/requester-common": "4.20.0"
+        "@algolia/requester-common": "4.21.1"
       }
     },
     "node_modules/@algolia/transporter": {
-      "version": "4.20.0",
+      "version": "4.21.1",
       "dev": true,
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "@algolia/cache-common": "4.20.0",
-        "@algolia/logger-common": "4.20.0",
-        "@algolia/requester-common": "4.20.0"
+        "@algolia/cache-common": "4.21.1",
+        "@algolia/logger-common": "4.21.1",
+        "@algolia/requester-common": "4.21.1"
       }
     },
     "node_modules/@algolia/ui-components-highlight-vdom": {
@@ -194,7 +194,7 @@
       }
     },
     "node_modules/@antfu/utils": {
-      "version": "0.7.6",
+      "version": "0.7.7",
       "dev": true,
       "license": "MIT",
       "funding": {
@@ -220,19 +220,19 @@
       }
     },
     "node_modules/@babel/core": {
-      "version": "7.23.5",
+      "version": "7.23.6",
       "license": "MIT",
       "dependencies": {
         "@ampproject/remapping": "^2.2.0",
         "@babel/code-frame": "^7.23.5",
-        "@babel/generator": "^7.23.5",
-        "@babel/helper-compilation-targets": "^7.22.15",
+        "@babel/generator": "^7.23.6",
+        "@babel/helper-compilation-targets": "^7.23.6",
         "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helpers": "^7.23.5",
-        "@babel/parser": "^7.23.5",
+        "@babel/helpers": "^7.23.6",
+        "@babel/parser": "^7.23.6",
         "@babel/template": "^7.22.15",
-        "@babel/traverse": "^7.23.5",
-        "@babel/types": "^7.23.5",
+        "@babel/traverse": "^7.23.6",
+        "@babel/types": "^7.23.6",
         "convert-source-map": "^2.0.0",
         "debug": "^4.1.0",
         "gensync": "^1.0.0-beta.2",
@@ -255,10 +255,10 @@
       }
     },
     "node_modules/@babel/generator": {
-      "version": "7.23.5",
+      "version": "7.23.6",
       "license": "MIT",
       "dependencies": {
-        "@babel/types": "^7.23.5",
+        "@babel/types": "^7.23.6",
         "@jridgewell/gen-mapping": "^0.3.2",
         "@jridgewell/trace-mapping": "^0.3.17",
         "jsesc": "^2.5.1"
@@ -279,12 +279,12 @@
       }
     },
     "node_modules/@babel/helper-compilation-targets": {
-      "version": "7.22.15",
+      "version": "7.23.6",
       "license": "MIT",
       "dependencies": {
-        "@babel/compat-data": "^7.22.9",
-        "@babel/helper-validator-option": "^7.22.15",
-        "browserslist": "^4.21.9",
+        "@babel/compat-data": "^7.23.5",
+        "@babel/helper-validator-option": "^7.23.5",
+        "browserslist": "^4.22.2",
         "lru-cache": "^5.1.1",
         "semver": "^6.3.1"
       },
@@ -300,7 +300,7 @@
       }
     },
     "node_modules/@babel/helper-create-class-features-plugin": {
-      "version": "7.23.5",
+      "version": "7.23.6",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -483,12 +483,12 @@
       }
     },
     "node_modules/@babel/helpers": {
-      "version": "7.23.5",
+      "version": "7.23.6",
       "license": "MIT",
       "dependencies": {
         "@babel/template": "^7.22.15",
-        "@babel/traverse": "^7.23.5",
-        "@babel/types": "^7.23.5"
+        "@babel/traverse": "^7.23.6",
+        "@babel/types": "^7.23.6"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -507,7 +507,7 @@
       }
     },
     "node_modules/@babel/parser": {
-      "version": "7.23.5",
+      "version": "7.23.6",
       "license": "MIT",
       "bin": {
         "parser": "bin/babel-parser.js"
@@ -517,13 +517,14 @@
       }
     },
     "node_modules/@babel/plugin-proposal-decorators": {
-      "version": "7.23.5",
+      "version": "7.23.6",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.23.5",
+        "@babel/helper-create-class-features-plugin": "^7.23.6",
         "@babel/helper-plugin-utils": "^7.22.5",
         "@babel/helper-replace-supers": "^7.22.20",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
         "@babel/helper-split-export-declaration": "^7.22.6",
         "@babel/plugin-syntax-decorators": "^7.23.3"
       },
@@ -602,12 +603,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-typescript": {
-      "version": "7.23.5",
+      "version": "7.23.6",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-annotate-as-pure": "^7.22.5",
-        "@babel/helper-create-class-features-plugin": "^7.23.5",
+        "@babel/helper-create-class-features-plugin": "^7.23.6",
         "@babel/helper-plugin-utils": "^7.22.5",
         "@babel/plugin-syntax-typescript": "^7.23.3"
       },
@@ -619,7 +620,7 @@
       }
     },
     "node_modules/@babel/runtime": {
-      "version": "7.23.5",
+      "version": "7.23.6",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -630,7 +631,7 @@
       }
     },
     "node_modules/@babel/standalone": {
-      "version": "7.23.5",
+      "version": "7.23.6",
       "license": "MIT",
       "engines": {
         "node": ">=6.9.0"
@@ -649,18 +650,18 @@
       }
     },
     "node_modules/@babel/traverse": {
-      "version": "7.23.5",
+      "version": "7.23.6",
       "license": "MIT",
       "dependencies": {
         "@babel/code-frame": "^7.23.5",
-        "@babel/generator": "^7.23.5",
+        "@babel/generator": "^7.23.6",
         "@babel/helper-environment-visitor": "^7.22.20",
         "@babel/helper-function-name": "^7.23.0",
         "@babel/helper-hoist-variables": "^7.22.5",
         "@babel/helper-split-export-declaration": "^7.22.6",
-        "@babel/parser": "^7.23.5",
-        "@babel/types": "^7.23.5",
-        "debug": "^4.1.0",
+        "@babel/parser": "^7.23.6",
+        "@babel/types": "^7.23.6",
+        "debug": "^4.3.1",
         "globals": "^11.1.0"
       },
       "engines": {
@@ -668,7 +669,7 @@
       }
     },
     "node_modules/@babel/types": {
-      "version": "7.23.5",
+      "version": "7.23.6",
       "license": "MIT",
       "dependencies": {
         "@babel/helper-string-parser": "^7.23.4",
@@ -692,7 +693,7 @@
       }
     },
     "node_modules/@esbuild/linux-x64": {
-      "version": "0.19.8",
+      "version": "0.19.9",
       "cpu": [
         "x64"
       ],
@@ -762,7 +763,7 @@
       }
     },
     "node_modules/@eslint/eslintrc/node_modules/globals": {
-      "version": "13.23.0",
+      "version": "13.24.0",
       "dev": true,
       "license": "MIT",
       "peer": true,
@@ -1093,11 +1094,11 @@
       }
     },
     "node_modules/@netlify/functions": {
-      "version": "2.4.0",
+      "version": "2.4.1",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@netlify/serverless-functions-api": "1.11.0",
+        "@netlify/serverless-functions-api": "1.12.3",
         "is-promise": "^4.0.0"
       },
       "engines": {
@@ -1113,7 +1114,7 @@
       }
     },
     "node_modules/@netlify/serverless-functions-api": {
-      "version": "1.11.0",
+      "version": "1.12.3",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -1368,13 +1369,13 @@
       "license": "MIT"
     },
     "node_modules/@nuxt/devtools": {
-      "version": "1.0.5",
+      "version": "1.0.6",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@antfu/utils": "^0.7.6",
-        "@nuxt/devtools-kit": "1.0.5",
-        "@nuxt/devtools-wizard": "1.0.5",
+        "@antfu/utils": "^0.7.7",
+        "@nuxt/devtools-kit": "1.0.6",
+        "@nuxt/devtools-wizard": "1.0.6",
         "@nuxt/kit": "^3.8.2",
         "birpc": "^0.2.14",
         "consola": "^3.2.3",
@@ -1408,18 +1409,18 @@
         "vite-plugin-inspect": "^0.8.1",
         "vite-plugin-vue-inspector": "^4.0.2",
         "which": "^3.0.1",
-        "ws": "^8.14.2"
+        "ws": "^8.15.0"
       },
       "bin": {
         "devtools": "cli.mjs"
       },
       "peerDependencies": {
-        "nuxt": "^3.8.1",
+        "nuxt": "^3.8.2",
         "vite": "*"
       }
     },
     "node_modules/@nuxt/devtools-kit": {
-      "version": "1.0.5",
+      "version": "1.0.6",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -1428,7 +1429,7 @@
         "execa": "^7.2.0"
       },
       "peerDependencies": {
-        "nuxt": "^3.8.1",
+        "nuxt": "^3.8.2",
         "vite": "*"
       }
     },
@@ -1535,7 +1536,7 @@
       }
     },
     "node_modules/@nuxt/devtools-wizard": {
-      "version": "1.0.5",
+      "version": "1.0.6",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -1971,7 +1972,7 @@
       }
     },
     "node_modules/@observablehq/plot": {
-      "version": "0.6.11",
+      "version": "0.6.13",
       "license": "ISC",
       "dependencies": {
         "d3": "^7.8.0",
@@ -2179,11 +2180,11 @@
       }
     },
     "node_modules/@rollup/plugin-json": {
-      "version": "6.0.1",
+      "version": "6.1.0",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@rollup/pluginutils": "^5.0.1"
+        "@rollup/pluginutils": "^5.1.0"
       },
       "engines": {
         "node": ">=14.0.0"
@@ -2302,7 +2303,7 @@
       }
     },
     "node_modules/@rollup/rollup-linux-x64-gnu": {
-      "version": "4.6.1",
+      "version": "4.9.0",
       "cpu": [
         "x64"
       ],
@@ -2313,7 +2314,7 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-x64-musl": {
-      "version": "4.6.1",
+      "version": "4.9.0",
       "cpu": [
         "x64"
       ],
@@ -2553,15 +2554,15 @@
       "license": "MIT"
     },
     "node_modules/@typescript-eslint/eslint-plugin": {
-      "version": "6.13.2",
+      "version": "6.14.0",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@eslint-community/regexpp": "^4.5.1",
-        "@typescript-eslint/scope-manager": "6.13.2",
-        "@typescript-eslint/type-utils": "6.13.2",
-        "@typescript-eslint/utils": "6.13.2",
-        "@typescript-eslint/visitor-keys": "6.13.2",
+        "@typescript-eslint/scope-manager": "6.14.0",
+        "@typescript-eslint/type-utils": "6.14.0",
+        "@typescript-eslint/utils": "6.14.0",
+        "@typescript-eslint/visitor-keys": "6.14.0",
         "debug": "^4.3.4",
         "graphemer": "^1.4.0",
         "ignore": "^5.2.4",
@@ -2587,14 +2588,14 @@
       }
     },
     "node_modules/@typescript-eslint/parser": {
-      "version": "6.13.2",
+      "version": "6.14.0",
       "dev": true,
       "license": "BSD-2-Clause",
       "dependencies": {
-        "@typescript-eslint/scope-manager": "6.13.2",
-        "@typescript-eslint/types": "6.13.2",
-        "@typescript-eslint/typescript-estree": "6.13.2",
-        "@typescript-eslint/visitor-keys": "6.13.2",
+        "@typescript-eslint/scope-manager": "6.14.0",
+        "@typescript-eslint/types": "6.14.0",
+        "@typescript-eslint/typescript-estree": "6.14.0",
+        "@typescript-eslint/visitor-keys": "6.14.0",
         "debug": "^4.3.4"
       },
       "engines": {
@@ -2614,12 +2615,12 @@
       }
     },
     "node_modules/@typescript-eslint/scope-manager": {
-      "version": "6.13.2",
+      "version": "6.14.0",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "6.13.2",
-        "@typescript-eslint/visitor-keys": "6.13.2"
+        "@typescript-eslint/types": "6.14.0",
+        "@typescript-eslint/visitor-keys": "6.14.0"
       },
       "engines": {
         "node": "^16.0.0 || >=18.0.0"
@@ -2630,12 +2631,12 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils": {
-      "version": "6.13.2",
+      "version": "6.14.0",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/typescript-estree": "6.13.2",
-        "@typescript-eslint/utils": "6.13.2",
+        "@typescript-eslint/typescript-estree": "6.14.0",
+        "@typescript-eslint/utils": "6.14.0",
         "debug": "^4.3.4",
         "ts-api-utils": "^1.0.1"
       },
@@ -2656,7 +2657,7 @@
       }
     },
     "node_modules/@typescript-eslint/types": {
-      "version": "6.13.2",
+      "version": "6.14.0",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2668,12 +2669,12 @@
       }
     },
     "node_modules/@typescript-eslint/typescript-estree": {
-      "version": "6.13.2",
+      "version": "6.14.0",
       "dev": true,
       "license": "BSD-2-Clause",
       "dependencies": {
-        "@typescript-eslint/types": "6.13.2",
-        "@typescript-eslint/visitor-keys": "6.13.2",
+        "@typescript-eslint/types": "6.14.0",
+        "@typescript-eslint/visitor-keys": "6.14.0",
         "debug": "^4.3.4",
         "globby": "^11.1.0",
         "is-glob": "^4.0.3",
@@ -2721,16 +2722,16 @@
       }
     },
     "node_modules/@typescript-eslint/utils": {
-      "version": "6.13.2",
+      "version": "6.14.0",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.4.0",
         "@types/json-schema": "^7.0.12",
         "@types/semver": "^7.5.0",
-        "@typescript-eslint/scope-manager": "6.13.2",
-        "@typescript-eslint/types": "6.13.2",
-        "@typescript-eslint/typescript-estree": "6.13.2",
+        "@typescript-eslint/scope-manager": "6.14.0",
+        "@typescript-eslint/types": "6.14.0",
+        "@typescript-eslint/typescript-estree": "6.14.0",
         "semver": "^7.5.4"
       },
       "engines": {
@@ -2745,11 +2746,11 @@
       }
     },
     "node_modules/@typescript-eslint/visitor-keys": {
-      "version": "6.13.2",
+      "version": "6.14.0",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "6.13.2",
+        "@typescript-eslint/types": "6.14.0",
         "eslint-visitor-keys": "^3.4.1"
       },
       "engines": {
@@ -2766,19 +2767,19 @@
       "license": "ISC"
     },
     "node_modules/@unhead/dom": {
-      "version": "1.8.8",
+      "version": "1.8.9",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@unhead/schema": "1.8.8",
-        "@unhead/shared": "1.8.8"
+        "@unhead/schema": "1.8.9",
+        "@unhead/shared": "1.8.9"
       },
       "funding": {
         "url": "https://github.com/sponsors/harlan-zw"
       }
     },
     "node_modules/@unhead/schema": {
-      "version": "1.8.8",
+      "version": "1.8.9",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -2790,37 +2791,37 @@
       }
     },
     "node_modules/@unhead/shared": {
-      "version": "1.8.8",
+      "version": "1.8.9",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@unhead/schema": "1.8.8"
+        "@unhead/schema": "1.8.9"
       },
       "funding": {
         "url": "https://github.com/sponsors/harlan-zw"
       }
     },
     "node_modules/@unhead/ssr": {
-      "version": "1.8.8",
+      "version": "1.8.9",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@unhead/schema": "1.8.8",
-        "@unhead/shared": "1.8.8"
+        "@unhead/schema": "1.8.9",
+        "@unhead/shared": "1.8.9"
       },
       "funding": {
         "url": "https://github.com/sponsors/harlan-zw"
       }
     },
     "node_modules/@unhead/vue": {
-      "version": "1.8.8",
+      "version": "1.8.9",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@unhead/schema": "1.8.8",
-        "@unhead/shared": "1.8.8",
+        "@unhead/schema": "1.8.9",
+        "@unhead/shared": "1.8.9",
         "hookable": "^5.5.3",
-        "unhead": "1.8.8"
+        "unhead": "1.8.9"
       },
       "funding": {
         "url": "https://github.com/sponsors/harlan-zw"
@@ -2934,14 +2935,14 @@
       }
     },
     "node_modules/@vue-macros/common": {
-      "version": "1.9.0",
+      "version": "1.10.0",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/types": "^7.23.3",
-        "@rollup/pluginutils": "^5.0.5",
-        "@vue/compiler-sfc": "^3.3.8",
-        "ast-kit": "^0.11.2",
+        "@babel/types": "^7.23.5",
+        "@rollup/pluginutils": "^5.1.0",
+        "@vue/compiler-sfc": "^3.3.10",
+        "ast-kit": "^0.11.3",
         "local-pkg": "^0.5.0",
         "magic-string-ast": "^0.3.0"
       },
@@ -2982,33 +2983,33 @@
       }
     },
     "node_modules/@vue/compiler-core": {
-      "version": "3.3.10",
+      "version": "3.3.11",
       "license": "MIT",
       "dependencies": {
         "@babel/parser": "^7.23.5",
-        "@vue/shared": "3.3.10",
+        "@vue/shared": "3.3.11",
         "estree-walker": "^2.0.2",
         "source-map-js": "^1.0.2"
       }
     },
     "node_modules/@vue/compiler-dom": {
-      "version": "3.3.10",
+      "version": "3.3.11",
       "license": "MIT",
       "dependencies": {
-        "@vue/compiler-core": "3.3.10",
-        "@vue/shared": "3.3.10"
+        "@vue/compiler-core": "3.3.11",
+        "@vue/shared": "3.3.11"
       }
     },
     "node_modules/@vue/compiler-sfc": {
-      "version": "3.3.10",
+      "version": "3.3.11",
       "license": "MIT",
       "dependencies": {
         "@babel/parser": "^7.23.5",
-        "@vue/compiler-core": "3.3.10",
-        "@vue/compiler-dom": "3.3.10",
-        "@vue/compiler-ssr": "3.3.10",
-        "@vue/reactivity-transform": "3.3.10",
-        "@vue/shared": "3.3.10",
+        "@vue/compiler-core": "3.3.11",
+        "@vue/compiler-dom": "3.3.11",
+        "@vue/compiler-ssr": "3.3.11",
+        "@vue/reactivity-transform": "3.3.11",
+        "@vue/shared": "3.3.11",
         "estree-walker": "^2.0.2",
         "magic-string": "^0.30.5",
         "postcss": "^8.4.32",
@@ -3016,11 +3017,11 @@
       }
     },
     "node_modules/@vue/compiler-ssr": {
-      "version": "3.3.10",
+      "version": "3.3.11",
       "license": "MIT",
       "dependencies": {
-        "@vue/compiler-dom": "3.3.10",
-        "@vue/shared": "3.3.10"
+        "@vue/compiler-dom": "3.3.11",
+        "@vue/shared": "3.3.11"
       }
     },
     "node_modules/@vue/devtools-api": {
@@ -3028,53 +3029,53 @@
       "license": "MIT"
     },
     "node_modules/@vue/reactivity": {
-      "version": "3.3.10",
+      "version": "3.3.11",
       "license": "MIT",
       "dependencies": {
-        "@vue/shared": "3.3.10"
+        "@vue/shared": "3.3.11"
       }
     },
     "node_modules/@vue/reactivity-transform": {
-      "version": "3.3.10",
+      "version": "3.3.11",
       "license": "MIT",
       "dependencies": {
         "@babel/parser": "^7.23.5",
-        "@vue/compiler-core": "3.3.10",
-        "@vue/shared": "3.3.10",
+        "@vue/compiler-core": "3.3.11",
+        "@vue/shared": "3.3.11",
         "estree-walker": "^2.0.2",
         "magic-string": "^0.30.5"
       }
     },
     "node_modules/@vue/runtime-core": {
-      "version": "3.3.10",
+      "version": "3.3.11",
       "license": "MIT",
       "dependencies": {
-        "@vue/reactivity": "3.3.10",
-        "@vue/shared": "3.3.10"
+        "@vue/reactivity": "3.3.11",
+        "@vue/shared": "3.3.11"
       }
     },
     "node_modules/@vue/runtime-dom": {
-      "version": "3.3.10",
+      "version": "3.3.11",
       "license": "MIT",
       "dependencies": {
-        "@vue/runtime-core": "3.3.10",
-        "@vue/shared": "3.3.10",
+        "@vue/runtime-core": "3.3.11",
+        "@vue/shared": "3.3.11",
         "csstype": "^3.1.2"
       }
     },
     "node_modules/@vue/server-renderer": {
-      "version": "3.3.10",
+      "version": "3.3.11",
       "license": "MIT",
       "dependencies": {
-        "@vue/compiler-ssr": "3.3.10",
-        "@vue/shared": "3.3.10"
+        "@vue/compiler-ssr": "3.3.11",
+        "@vue/shared": "3.3.11"
       },
       "peerDependencies": {
-        "vue": "3.3.10"
+        "vue": "3.3.11"
       }
     },
     "node_modules/@vue/shared": {
-      "version": "3.3.10",
+      "version": "3.3.11",
       "license": "MIT"
     },
     "node_modules/@vuetify/loader-shared": {
@@ -3218,25 +3219,25 @@
       }
     },
     "node_modules/algoliasearch": {
-      "version": "4.20.0",
+      "version": "4.21.1",
       "dev": true,
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "@algolia/cache-browser-local-storage": "4.20.0",
-        "@algolia/cache-common": "4.20.0",
-        "@algolia/cache-in-memory": "4.20.0",
-        "@algolia/client-account": "4.20.0",
-        "@algolia/client-analytics": "4.20.0",
-        "@algolia/client-common": "4.20.0",
-        "@algolia/client-personalization": "4.20.0",
-        "@algolia/client-search": "4.20.0",
-        "@algolia/logger-common": "4.20.0",
-        "@algolia/logger-console": "4.20.0",
-        "@algolia/requester-browser-xhr": "4.20.0",
-        "@algolia/requester-common": "4.20.0",
-        "@algolia/requester-node-http": "4.20.0",
-        "@algolia/transporter": "4.20.0"
+        "@algolia/cache-browser-local-storage": "4.21.1",
+        "@algolia/cache-common": "4.21.1",
+        "@algolia/cache-in-memory": "4.21.1",
+        "@algolia/client-account": "4.21.1",
+        "@algolia/client-analytics": "4.21.1",
+        "@algolia/client-common": "4.21.1",
+        "@algolia/client-personalization": "4.21.1",
+        "@algolia/client-search": "4.21.1",
+        "@algolia/logger-common": "4.21.1",
+        "@algolia/logger-console": "4.21.1",
+        "@algolia/requester-browser-xhr": "4.21.1",
+        "@algolia/requester-common": "4.21.1",
+        "@algolia/requester-node-http": "4.21.1",
+        "@algolia/transporter": "4.21.1"
       }
     },
     "node_modules/algoliasearch-helper": {
@@ -3764,7 +3765,7 @@
       }
     },
     "node_modules/caniuse-lite": {
-      "version": "1.0.30001566",
+      "version": "1.0.30001570",
       "funding": [
         {
           "type": "opencollective",
@@ -4274,7 +4275,7 @@
       "license": "MIT"
     },
     "node_modules/cytoscape": {
-      "version": "3.27.0",
+      "version": "3.28.0",
       "license": "MIT",
       "dependencies": {
         "heap": "^0.2.6",
@@ -5100,7 +5101,7 @@
       "license": "MIT"
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.4.608",
+      "version": "1.4.612",
       "license": "ISC"
     },
     "node_modules/elkjs": {
@@ -5227,7 +5228,7 @@
       }
     },
     "node_modules/esbuild": {
-      "version": "0.19.8",
+      "version": "0.19.9",
       "dev": true,
       "hasInstallScript": true,
       "license": "MIT",
@@ -5238,28 +5239,28 @@
         "node": ">=12"
       },
       "optionalDependencies": {
-        "@esbuild/android-arm": "0.19.8",
-        "@esbuild/android-arm64": "0.19.8",
-        "@esbuild/android-x64": "0.19.8",
-        "@esbuild/darwin-arm64": "0.19.8",
-        "@esbuild/darwin-x64": "0.19.8",
-        "@esbuild/freebsd-arm64": "0.19.8",
-        "@esbuild/freebsd-x64": "0.19.8",
-        "@esbuild/linux-arm": "0.19.8",
-        "@esbuild/linux-arm64": "0.19.8",
-        "@esbuild/linux-ia32": "0.19.8",
-        "@esbuild/linux-loong64": "0.19.8",
-        "@esbuild/linux-mips64el": "0.19.8",
-        "@esbuild/linux-ppc64": "0.19.8",
-        "@esbuild/linux-riscv64": "0.19.8",
-        "@esbuild/linux-s390x": "0.19.8",
-        "@esbuild/linux-x64": "0.19.8",
-        "@esbuild/netbsd-x64": "0.19.8",
-        "@esbuild/openbsd-x64": "0.19.8",
-        "@esbuild/sunos-x64": "0.19.8",
-        "@esbuild/win32-arm64": "0.19.8",
-        "@esbuild/win32-ia32": "0.19.8",
-        "@esbuild/win32-x64": "0.19.8"
+        "@esbuild/android-arm": "0.19.9",
+        "@esbuild/android-arm64": "0.19.9",
+        "@esbuild/android-x64": "0.19.9",
+        "@esbuild/darwin-arm64": "0.19.9",
+        "@esbuild/darwin-x64": "0.19.9",
+        "@esbuild/freebsd-arm64": "0.19.9",
+        "@esbuild/freebsd-x64": "0.19.9",
+        "@esbuild/linux-arm": "0.19.9",
+        "@esbuild/linux-arm64": "0.19.9",
+        "@esbuild/linux-ia32": "0.19.9",
+        "@esbuild/linux-loong64": "0.19.9",
+        "@esbuild/linux-mips64el": "0.19.9",
+        "@esbuild/linux-ppc64": "0.19.9",
+        "@esbuild/linux-riscv64": "0.19.9",
+        "@esbuild/linux-s390x": "0.19.9",
+        "@esbuild/linux-x64": "0.19.9",
+        "@esbuild/netbsd-x64": "0.19.9",
+        "@esbuild/openbsd-x64": "0.19.9",
+        "@esbuild/sunos-x64": "0.19.9",
+        "@esbuild/win32-arm64": "0.19.9",
+        "@esbuild/win32-ia32": "0.19.9",
+        "@esbuild/win32-x64": "0.19.9"
       }
     },
     "node_modules/escalade": {
@@ -5469,7 +5470,7 @@
       }
     },
     "node_modules/eslint/node_modules/globals": {
-      "version": "13.23.0",
+      "version": "13.24.0",
       "dev": true,
       "license": "MIT",
       "peer": true,
@@ -5705,8 +5706,7 @@
     },
     "node_modules/file-saver": {
       "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz",
-      "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA=="
+      "license": "MIT"
     },
     "node_modules/file-uri-to-path": {
       "version": "1.0.0",
@@ -10616,9 +10616,8 @@
     },
     "node_modules/nuxt": {
       "version": "3.8.2",
-      "resolved": "https://registry.npmjs.org/nuxt/-/nuxt-3.8.2.tgz",
-      "integrity": "sha512-HUAyifmqTs2zcQBGvcby3KNs2pBAk+l7ZbLjD1oCNqQQ+wBuZ1qgLC4Ebu++y4g3o3Y8WAWSvpafbKRLQZziPw==",
       "dev": true,
+      "license": "MIT",
       "dependencies": {
         "@nuxt/devalue": "^2.0.2",
         "@nuxt/devtools": "^1.0.3",
@@ -10931,15 +10930,15 @@
       }
     },
     "node_modules/openapi-typescript": {
-      "version": "6.7.2",
+      "version": "6.7.3",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-colors": "^4.1.3",
-        "fast-glob": "^3.3.1",
+        "fast-glob": "^3.3.2",
         "js-yaml": "^4.1.0",
         "supports-color": "^9.4.0",
-        "undici": "^5.27.2",
+        "undici": "^5.28.2",
         "yargs-parser": "^21.1.1"
       },
       "bin": {
@@ -11059,8 +11058,7 @@
     },
     "node_modules/papaparse": {
       "version": "5.4.1",
-      "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.4.1.tgz",
-      "integrity": "sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw=="
+      "license": "MIT"
     },
     "node_modules/parent-module": {
       "version": "1.0.1",
@@ -11760,7 +11758,7 @@
       }
     },
     "node_modules/preact": {
-      "version": "10.19.2",
+      "version": "10.19.3",
       "dev": true,
       "license": "MIT",
       "funding": {
@@ -12695,7 +12693,7 @@
       "license": "Unlicense"
     },
     "node_modules/rollup": {
-      "version": "4.6.1",
+      "version": "4.9.0",
       "devOptional": true,
       "license": "MIT",
       "bin": {
@@ -12706,23 +12704,24 @@
         "npm": ">=8.0.0"
       },
       "optionalDependencies": {
-        "@rollup/rollup-android-arm-eabi": "4.6.1",
-        "@rollup/rollup-android-arm64": "4.6.1",
-        "@rollup/rollup-darwin-arm64": "4.6.1",
-        "@rollup/rollup-darwin-x64": "4.6.1",
-        "@rollup/rollup-linux-arm-gnueabihf": "4.6.1",
-        "@rollup/rollup-linux-arm64-gnu": "4.6.1",
-        "@rollup/rollup-linux-arm64-musl": "4.6.1",
-        "@rollup/rollup-linux-x64-gnu": "4.6.1",
-        "@rollup/rollup-linux-x64-musl": "4.6.1",
-        "@rollup/rollup-win32-arm64-msvc": "4.6.1",
-        "@rollup/rollup-win32-ia32-msvc": "4.6.1",
-        "@rollup/rollup-win32-x64-msvc": "4.6.1",
+        "@rollup/rollup-android-arm-eabi": "4.9.0",
+        "@rollup/rollup-android-arm64": "4.9.0",
+        "@rollup/rollup-darwin-arm64": "4.9.0",
+        "@rollup/rollup-darwin-x64": "4.9.0",
+        "@rollup/rollup-linux-arm-gnueabihf": "4.9.0",
+        "@rollup/rollup-linux-arm64-gnu": "4.9.0",
+        "@rollup/rollup-linux-arm64-musl": "4.9.0",
+        "@rollup/rollup-linux-riscv64-gnu": "4.9.0",
+        "@rollup/rollup-linux-x64-gnu": "4.9.0",
+        "@rollup/rollup-linux-x64-musl": "4.9.0",
+        "@rollup/rollup-win32-arm64-msvc": "4.9.0",
+        "@rollup/rollup-win32-ia32-msvc": "4.9.0",
+        "@rollup/rollup-win32-x64-msvc": "4.9.0",
         "fsevents": "~2.3.2"
       }
     },
     "node_modules/rollup-plugin-visualizer": {
-      "version": "5.10.0",
+      "version": "5.11.0",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -12823,7 +12822,7 @@
       "license": "MIT"
     },
     "node_modules/search-insights": {
-      "version": "2.11.0",
+      "version": "2.13.0",
       "dev": true,
       "license": "MIT"
     },
@@ -13230,7 +13229,7 @@
       "license": "MIT"
     },
     "node_modules/streamx": {
-      "version": "2.15.5",
+      "version": "2.15.6",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -13384,7 +13383,7 @@
       "dev": true
     },
     "node_modules/svgo": {
-      "version": "3.0.5",
+      "version": "3.1.0",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -13710,13 +13709,13 @@
       }
     },
     "node_modules/unhead": {
-      "version": "1.8.8",
+      "version": "1.8.9",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@unhead/dom": "1.8.8",
-        "@unhead/schema": "1.8.8",
-        "@unhead/shared": "1.8.8",
+        "@unhead/dom": "1.8.9",
+        "@unhead/schema": "1.8.9",
+        "@unhead/shared": "1.8.9",
         "hookable": "^5.5.3"
       },
       "funding": {
@@ -14724,15 +14723,15 @@
       "license": "MIT"
     },
     "node_modules/vue": {
-      "version": "3.3.10",
-      "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.10.tgz",
-      "integrity": "sha512-zg6SIXZdTBwiqCw/1p+m04VyHjLfwtjwz8N57sPaBhEex31ND0RYECVOC1YrRwMRmxFf5T1dabl6SGUbMKKuVw==",
+      "version": "3.3.11",
+      "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.11.tgz",
+      "integrity": "sha512-d4oBctG92CRO1cQfVBZp6WJAs0n8AK4Xf5fNjQCBeKCvMI1efGQ5E3Alt1slFJS9fZuPcFoiAiqFvQlv1X7t/w==",
       "dependencies": {
-        "@vue/compiler-dom": "3.3.10",
-        "@vue/compiler-sfc": "3.3.10",
-        "@vue/runtime-dom": "3.3.10",
-        "@vue/server-renderer": "3.3.10",
-        "@vue/shared": "3.3.10"
+        "@vue/compiler-dom": "3.3.11",
+        "@vue/compiler-sfc": "3.3.11",
+        "@vue/runtime-dom": "3.3.11",
+        "@vue/server-renderer": "3.3.11",
+        "@vue/shared": "3.3.11"
       },
       "peerDependencies": {
         "typescript": "*"
@@ -14841,7 +14840,7 @@
       }
     },
     "node_modules/vuetify": {
-      "version": "3.4.6",
+      "version": "3.4.7",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -14853,10 +14852,10 @@
       },
       "peerDependencies": {
         "typescript": ">=4.7",
-        "vite-plugin-vuetify": "^1.0.0-alpha.12",
+        "vite-plugin-vuetify": ">=1.0.0-alpha.12",
         "vue": "^3.3.0",
         "vue-i18n": "^9.0.0",
-        "webpack-plugin-vuetify": "^2.0.0-alpha.11"
+        "webpack-plugin-vuetify": ">=2.0.0-alpha.11"
       },
       "peerDependenciesMeta": {
         "typescript": {
@@ -15047,7 +15046,7 @@
       "license": "ISC"
     },
     "node_modules/ws": {
-      "version": "8.14.2",
+      "version": "8.15.1",
       "dev": true,
       "license": "MIT",
       "engines": {
diff --git a/package.json b/package.json
index 597fb170..a45f22d7 100644
--- a/package.json
+++ b/package.json
@@ -19,7 +19,7 @@
     "vue": "latest"
   },
   "dependencies": {
-    "@observablehq/plot": "^0.6.11",
+    "@observablehq/plot": "^0.6.13",
     "@pinia/nuxt": "^0.5.1",
     "d3": "^7.8.5",
     "file-saver": "^2.0.5",
-- 
GitLab