Ver Fonte

expose control over aromatic bond vis

Sebastian Bittrich há 1 ano atrás
pai
commit
5c84374f7b
5 ficheiros alterados com 285 adições e 282 exclusões
  1. 1 1
      CHANGELOG.md
  2. 271 271
      package-lock.json
  3. 7 7
      package.json
  4. 5 3
      src/viewer/index.ts
  5. 1 0
      src/viewer/types.ts

+ 1 - 1
CHANGELOG.md

@@ -2,7 +2,7 @@
 
 [Semantic Versioning](https://semver.org/)
 
-## Unreleased
+## [2.8.0] - 2023-10-02
 ### Added
 - Dedicated ligand viewer for the visualization of CCD/BIRD entries
 

+ 271 - 271
package-lock.json

@@ -9,30 +9,30 @@
             "version": "2.8.0-dev.5",
             "license": "MIT",
             "dependencies": {
-                "@types/react": "^18.2.21",
-                "@types/react-dom": "^18.2.7",
-                "molstar": "^3.39.0",
+                "@types/react": "^18.2.24",
+                "@types/react-dom": "^18.2.8",
+                "molstar": "^3.40.1",
                 "react": "^18.2.0",
                 "react-dom": "^18.2.0",
                 "rxjs": "^7.8.1",
                 "tslib": "^2.6.2"
             },
             "devDependencies": {
-                "@typescript-eslint/eslint-plugin": "^6.5.0",
-                "@typescript-eslint/parser": "^6.5.0",
+                "@typescript-eslint/eslint-plugin": "^6.7.4",
+                "@typescript-eslint/parser": "^6.7.4",
                 "buffer": "^6.0.3",
                 "concurrently": "^8.2.1",
                 "cpx2": "^5.0.0",
                 "crypto-browserify": "^3.12.0",
                 "css-loader": "^6.8.1",
-                "eslint": "^8.48.0",
+                "eslint": "^8.50.0",
                 "extra-watch-webpack-plugin": "^1.0.3",
                 "file-loader": "^6.2.0",
                 "fs-extra": "^11.1.1",
                 "mini-css-extract-plugin": "^2.7.6",
                 "path-browserify": "^1.0.1",
                 "raw-loader": "^4.0.2",
-                "sass": "^1.66.1",
+                "sass": "^1.68.0",
                 "sass-loader": "^13.3.2",
                 "stream-browserify": "^3.0.0",
                 "style-loader": "^3.3.3",
@@ -119,18 +119,18 @@
             }
         },
         "node_modules/@eslint/js": {
-            "version": "8.48.0",
-            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz",
-            "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==",
+            "version": "8.50.0",
+            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz",
+            "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==",
             "dev": true,
             "engines": {
                 "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
             }
         },
         "node_modules/@humanwhocodes/config-array": {
-            "version": "0.11.10",
-            "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
-            "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
+            "version": "0.11.11",
+            "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz",
+            "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==",
             "dev": true,
             "dependencies": {
                 "@humanwhocodes/object-schema": "^1.2.1",
@@ -380,36 +380,36 @@
             }
         },
         "node_modules/@types/argparse": {
-            "version": "2.0.10",
-            "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-2.0.10.tgz",
-            "integrity": "sha512-C4wahC3gz3vQtvPazrJ5ONwmK1zSDllQboiWvpMM/iOswCYfBREFnjFbq/iWKIVOCl8+m5Pk6eva6/ZSsDuIGA=="
+            "version": "2.0.11",
+            "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-2.0.11.tgz",
+            "integrity": "sha512-OpC8Kh8eMFAWgZaJ8UkqZi+CemEDcn20f5OehrRZ/ek0zvMk0Tzazk5tNj7MghH/LSP3bxwAbC05Slyfv/zC0w=="
         },
         "node_modules/@types/benchmark": {
-            "version": "2.1.2",
-            "resolved": "https://registry.npmjs.org/@types/benchmark/-/benchmark-2.1.2.tgz",
-            "integrity": "sha512-EDKtLYNMKrig22jEvhXq8TBFyFgVNSPmDF2b9UzJ7+eylPqdZVo17PCUMkn1jP6/1A/0u78VqYC6VrX6b8pDWA=="
+            "version": "2.1.3",
+            "resolved": "https://registry.npmjs.org/@types/benchmark/-/benchmark-2.1.3.tgz",
+            "integrity": "sha512-psuUawgwIy/hSjO4AUDiPBJhJx72e3cBL+YzmVK/5ofRJC02R0NmvrSenGRuSmJc++0j95y2T01xKKNz50FGZw=="
         },
         "node_modules/@types/body-parser": {
-            "version": "1.19.2",
-            "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
-            "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
+            "version": "1.19.3",
+            "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz",
+            "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==",
             "dependencies": {
                 "@types/connect": "*",
                 "@types/node": "*"
             }
         },
         "node_modules/@types/compression": {
-            "version": "1.7.2",
-            "resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.2.tgz",
-            "integrity": "sha512-lwEL4M/uAGWngWFLSG87ZDr2kLrbuR8p7X+QZB1OQlT+qkHsCPDVFnHPyXf4Vyl4yDDorNY+mAhosxkCvppatg==",
+            "version": "1.7.3",
+            "resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.3.tgz",
+            "integrity": "sha512-rKquEGjebqizyHNMOpaE/4FdYR5VQiWFeesqYfvJU0seSEyB4625UGhNOO/qIkH10S3wftiV7oefc8WdLZ/gCQ==",
             "dependencies": {
                 "@types/express": "*"
             }
         },
         "node_modules/@types/connect": {
-            "version": "3.4.35",
-            "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
-            "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
+            "version": "3.4.36",
+            "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz",
+            "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==",
             "dependencies": {
                 "@types/node": "*"
             }
@@ -441,9 +441,9 @@
             "dev": true
         },
         "node_modules/@types/express": {
-            "version": "4.17.17",
-            "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz",
-            "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==",
+            "version": "4.17.18",
+            "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz",
+            "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==",
             "dependencies": {
                 "@types/body-parser": "*",
                 "@types/express-serve-static-core": "^4.17.33",
@@ -452,9 +452,9 @@
             }
         },
         "node_modules/@types/express-serve-static-core": {
-            "version": "4.17.36",
-            "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.36.tgz",
-            "integrity": "sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==",
+            "version": "4.17.37",
+            "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz",
+            "integrity": "sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==",
             "dependencies": {
                 "@types/node": "*",
                 "@types/qs": "*",
@@ -463,9 +463,9 @@
             }
         },
         "node_modules/@types/http-errors": {
-            "version": "2.0.1",
-            "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz",
-            "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ=="
+            "version": "2.0.2",
+            "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz",
+            "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg=="
         },
         "node_modules/@types/json-schema": {
             "version": "7.0.12",
@@ -474,22 +474,22 @@
             "dev": true
         },
         "node_modules/@types/mime": {
-            "version": "1.3.2",
-            "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
-            "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
+            "version": "1.3.3",
+            "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.3.tgz",
+            "integrity": "sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg=="
         },
         "node_modules/@types/node": {
-            "version": "16.18.48",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.48.tgz",
-            "integrity": "sha512-mlaecDKQ7rIZrYD7iiKNdzFb6e/qD5I9U1rAhq+Fd+DWvYVs+G2kv74UFHmSOlg5+i/vF3XxuR522V4u8BqO+Q=="
+            "version": "16.18.55",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.55.tgz",
+            "integrity": "sha512-Y1zz/LIuJek01+hlPNzzXQhmq/Z2BCP96j18MSXC0S0jSu/IG4FFxmBs7W4/lI2vPJ7foVfEB0hUVtnOjnCiTg=="
         },
         "node_modules/@types/node-fetch": {
-            "version": "2.6.4",
-            "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz",
-            "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==",
+            "version": "2.6.6",
+            "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.6.tgz",
+            "integrity": "sha512-95X8guJYhfqiuVVhRFxVQcf4hW/2bCuoPwDasMf/531STFoNoWTT7YDnWdXHEZKqAGUigmpG31r2FE70LwnzJw==",
             "dependencies": {
                 "@types/node": "*",
-                "form-data": "^3.0.0"
+                "form-data": "^4.0.0"
             }
         },
         "node_modules/@types/prop-types": {
@@ -498,19 +498,19 @@
             "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ=="
         },
         "node_modules/@types/qs": {
-            "version": "6.9.7",
-            "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
-            "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw=="
+            "version": "6.9.8",
+            "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz",
+            "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg=="
         },
         "node_modules/@types/range-parser": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
-            "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw=="
+            "version": "1.2.5",
+            "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.5.tgz",
+            "integrity": "sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA=="
         },
         "node_modules/@types/react": {
-            "version": "18.2.21",
-            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz",
-            "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==",
+            "version": "18.2.24",
+            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.24.tgz",
+            "integrity": "sha512-Ee0Jt4sbJxMu1iDcetZEIKQr99J1Zfb6D4F3qfUWoR1JpInkY1Wdg4WwCyBjL257D0+jGqSl1twBjV8iCaC0Aw==",
             "dependencies": {
                 "@types/prop-types": "*",
                 "@types/scheduler": "*",
@@ -518,9 +518,9 @@
             }
         },
         "node_modules/@types/react-dom": {
-            "version": "18.2.7",
-            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz",
-            "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==",
+            "version": "18.2.8",
+            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.8.tgz",
+            "integrity": "sha512-bAIvO5lN/U8sPGvs1Xm61rlRHHaq5rp5N3kp9C+NJ/Q41P8iqjkXSu0+/qu8POsjH9pNWb0OYabFez7taP7omw==",
             "dependencies": {
                 "@types/react": "*"
             }
@@ -531,24 +531,24 @@
             "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
         },
         "node_modules/@types/semver": {
-            "version": "7.5.1",
-            "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz",
-            "integrity": "sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==",
+            "version": "7.5.3",
+            "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz",
+            "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==",
             "dev": true
         },
         "node_modules/@types/send": {
-            "version": "0.17.1",
-            "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz",
-            "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
+            "version": "0.17.2",
+            "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.2.tgz",
+            "integrity": "sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==",
             "dependencies": {
                 "@types/mime": "^1",
                 "@types/node": "*"
             }
         },
         "node_modules/@types/serve-static": {
-            "version": "1.15.2",
-            "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz",
-            "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==",
+            "version": "1.15.3",
+            "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.3.tgz",
+            "integrity": "sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==",
             "dependencies": {
                 "@types/http-errors": "*",
                 "@types/mime": "*",
@@ -556,21 +556,21 @@
             }
         },
         "node_modules/@types/swagger-ui-dist": {
-            "version": "3.30.1",
-            "resolved": "https://registry.npmjs.org/@types/swagger-ui-dist/-/swagger-ui-dist-3.30.1.tgz",
-            "integrity": "sha512-wWojDensMF33dSrhak4iWSPOsWBbvf+rSJ6VWQ7ohQbGdKAiT2IwUexrDZkMvf3+vVAPVnNFDRDtxADFszbh+Q=="
+            "version": "3.30.2",
+            "resolved": "https://registry.npmjs.org/@types/swagger-ui-dist/-/swagger-ui-dist-3.30.2.tgz",
+            "integrity": "sha512-Wx1swzWAUisf/zTr6eg6H0v/crVw52311aZ1qdM1/qk7pv8kxvYeqzfqtUIl1xAWhIrJu1mHF+D8BfEK4YQuqQ=="
         },
         "node_modules/@typescript-eslint/eslint-plugin": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.5.0.tgz",
-            "integrity": "sha512-2pktILyjvMaScU6iK3925uvGU87E+N9rh372uGZgiMYwafaw9SXq86U04XPq3UH6tzRvNgBsub6x2DacHc33lw==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.4.tgz",
+            "integrity": "sha512-DAbgDXwtX+pDkAHwiGhqP3zWUGpW49B7eqmgpPtg+BKJXwdct79ut9+ifqOFPJGClGKSHXn2PTBatCnldJRUoA==",
             "dev": true,
             "dependencies": {
                 "@eslint-community/regexpp": "^4.5.1",
-                "@typescript-eslint/scope-manager": "6.5.0",
-                "@typescript-eslint/type-utils": "6.5.0",
-                "@typescript-eslint/utils": "6.5.0",
-                "@typescript-eslint/visitor-keys": "6.5.0",
+                "@typescript-eslint/scope-manager": "6.7.4",
+                "@typescript-eslint/type-utils": "6.7.4",
+                "@typescript-eslint/utils": "6.7.4",
+                "@typescript-eslint/visitor-keys": "6.7.4",
                 "debug": "^4.3.4",
                 "graphemer": "^1.4.0",
                 "ignore": "^5.2.4",
@@ -596,15 +596,15 @@
             }
         },
         "node_modules/@typescript-eslint/parser": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.5.0.tgz",
-            "integrity": "sha512-LMAVtR5GN8nY0G0BadkG0XIe4AcNMeyEy3DyhKGAh9k4pLSMBO7rF29JvDBpZGCmp5Pgz5RLHP6eCpSYZJQDuQ==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.4.tgz",
+            "integrity": "sha512-I5zVZFY+cw4IMZUeNCU7Sh2PO5O57F7Lr0uyhgCJmhN/BuTlnc55KxPonR4+EM3GBdfiCyGZye6DgMjtubQkmA==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/scope-manager": "6.5.0",
-                "@typescript-eslint/types": "6.5.0",
-                "@typescript-eslint/typescript-estree": "6.5.0",
-                "@typescript-eslint/visitor-keys": "6.5.0",
+                "@typescript-eslint/scope-manager": "6.7.4",
+                "@typescript-eslint/types": "6.7.4",
+                "@typescript-eslint/typescript-estree": "6.7.4",
+                "@typescript-eslint/visitor-keys": "6.7.4",
                 "debug": "^4.3.4"
             },
             "engines": {
@@ -624,13 +624,13 @@
             }
         },
         "node_modules/@typescript-eslint/scope-manager": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.5.0.tgz",
-            "integrity": "sha512-A8hZ7OlxURricpycp5kdPTH3XnjG85UpJS6Fn4VzeoH4T388gQJ/PGP4ole5NfKt4WDVhmLaQ/dBLNDC4Xl/Kw==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.4.tgz",
+            "integrity": "sha512-SdGqSLUPTXAXi7c3Ob7peAGVnmMoGzZ361VswK2Mqf8UOYcODiYvs8rs5ILqEdfvX1lE7wEZbLyELCW+Yrql1A==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/types": "6.5.0",
-                "@typescript-eslint/visitor-keys": "6.5.0"
+                "@typescript-eslint/types": "6.7.4",
+                "@typescript-eslint/visitor-keys": "6.7.4"
             },
             "engines": {
                 "node": "^16.0.0 || >=18.0.0"
@@ -641,13 +641,13 @@
             }
         },
         "node_modules/@typescript-eslint/type-utils": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.5.0.tgz",
-            "integrity": "sha512-f7OcZOkRivtujIBQ4yrJNIuwyCQO1OjocVqntl9dgSIZAdKqicj3xFDqDOzHDlGCZX990LqhLQXWRnQvsapq8A==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.4.tgz",
+            "integrity": "sha512-n+g3zi1QzpcAdHFP9KQF+rEFxMb2KxtnJGID3teA/nxKHOVi3ylKovaqEzGBbVY2pBttU6z85gp0D00ufLzViQ==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/typescript-estree": "6.5.0",
-                "@typescript-eslint/utils": "6.5.0",
+                "@typescript-eslint/typescript-estree": "6.7.4",
+                "@typescript-eslint/utils": "6.7.4",
                 "debug": "^4.3.4",
                 "ts-api-utils": "^1.0.1"
             },
@@ -668,9 +668,9 @@
             }
         },
         "node_modules/@typescript-eslint/types": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.5.0.tgz",
-            "integrity": "sha512-eqLLOEF5/lU8jW3Bw+8auf4lZSbbljHR2saKnYqON12G/WsJrGeeDHWuQePoEf9ro22+JkbPfWQwKEC5WwLQ3w==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.4.tgz",
+            "integrity": "sha512-o9XWK2FLW6eSS/0r/tgjAGsYasLAnOWg7hvZ/dGYSSNjCh+49k5ocPN8OmG5aZcSJ8pclSOyVKP2x03Sj+RrCA==",
             "dev": true,
             "engines": {
                 "node": "^16.0.0 || >=18.0.0"
@@ -681,13 +681,13 @@
             }
         },
         "node_modules/@typescript-eslint/typescript-estree": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.5.0.tgz",
-            "integrity": "sha512-q0rGwSe9e5Kk/XzliB9h2LBc9tmXX25G0833r7kffbl5437FPWb2tbpIV9wAATebC/018pGa9fwPDuvGN+LxWQ==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.4.tgz",
+            "integrity": "sha512-ty8b5qHKatlNYd9vmpHooQz3Vki3gG+3PchmtsA4TgrZBKWHNjWfkQid7K7xQogBqqc7/BhGazxMD5vr6Ha+iQ==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/types": "6.5.0",
-                "@typescript-eslint/visitor-keys": "6.5.0",
+                "@typescript-eslint/types": "6.7.4",
+                "@typescript-eslint/visitor-keys": "6.7.4",
                 "debug": "^4.3.4",
                 "globby": "^11.1.0",
                 "is-glob": "^4.0.3",
@@ -708,17 +708,17 @@
             }
         },
         "node_modules/@typescript-eslint/utils": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.5.0.tgz",
-            "integrity": "sha512-9nqtjkNykFzeVtt9Pj6lyR9WEdd8npPhhIPM992FWVkZuS6tmxHfGVnlUcjpUP2hv8r4w35nT33mlxd+Be1ACQ==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.4.tgz",
+            "integrity": "sha512-PRQAs+HUn85Qdk+khAxsVV+oULy3VkbH3hQ8hxLRJXWBEd7iI+GbQxH5SEUSH7kbEoTp6oT1bOwyga24ELALTA==",
             "dev": true,
             "dependencies": {
                 "@eslint-community/eslint-utils": "^4.4.0",
                 "@types/json-schema": "^7.0.12",
                 "@types/semver": "^7.5.0",
-                "@typescript-eslint/scope-manager": "6.5.0",
-                "@typescript-eslint/types": "6.5.0",
-                "@typescript-eslint/typescript-estree": "6.5.0",
+                "@typescript-eslint/scope-manager": "6.7.4",
+                "@typescript-eslint/types": "6.7.4",
+                "@typescript-eslint/typescript-estree": "6.7.4",
                 "semver": "^7.5.4"
             },
             "engines": {
@@ -733,12 +733,12 @@
             }
         },
         "node_modules/@typescript-eslint/visitor-keys": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.5.0.tgz",
-            "integrity": "sha512-yCB/2wkbv3hPsh02ZS8dFQnij9VVQXJMN/gbQsaaY+zxALkZnxa/wagvLEFsAWMPv7d7lxQmNsIzGU1w/T/WyA==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.4.tgz",
+            "integrity": "sha512-pOW37DUhlTZbvph50x5zZCkFn3xzwkGtNoJHzIM3svpiSkJzwOYr/kVBaXmf+RAQiUDs1AHEZVNPg6UJCJpwRA==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/types": "6.5.0",
+                "@typescript-eslint/types": "6.7.4",
                 "eslint-visitor-keys": "^3.4.1"
             },
             "engines": {
@@ -2612,16 +2612,16 @@
             }
         },
         "node_modules/eslint": {
-            "version": "8.48.0",
-            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz",
-            "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==",
+            "version": "8.50.0",
+            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz",
+            "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==",
             "dev": true,
             "dependencies": {
                 "@eslint-community/eslint-utils": "^4.2.0",
                 "@eslint-community/regexpp": "^4.6.1",
                 "@eslint/eslintrc": "^2.1.2",
-                "@eslint/js": "8.48.0",
-                "@humanwhocodes/config-array": "^0.11.10",
+                "@eslint/js": "8.50.0",
+                "@humanwhocodes/config-array": "^0.11.11",
                 "@humanwhocodes/module-importer": "^1.0.1",
                 "@nodelib/fs.walk": "^1.2.8",
                 "ajv": "^6.12.4",
@@ -3232,9 +3232,9 @@
             }
         },
         "node_modules/form-data": {
-            "version": "3.0.1",
-            "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
-            "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
+            "version": "4.0.0",
+            "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+            "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
             "dependencies": {
                 "asynckit": "^0.4.0",
                 "combined-stream": "^1.0.8",
@@ -4862,17 +4862,17 @@
             "optional": true
         },
         "node_modules/molstar": {
-            "version": "3.39.0",
-            "resolved": "https://registry.npmjs.org/molstar/-/molstar-3.39.0.tgz",
-            "integrity": "sha512-NImqUi7ZBJpfCBFaV33lAcyRydPuaV2aiQVDDESdn8xU08mHz9ahHtYWSefs2BE0jvWRgptXVKh0NXdsIY7iBg==",
-            "dependencies": {
-                "@types/argparse": "^2.0.10",
-                "@types/benchmark": "^2.1.2",
-                "@types/compression": "1.7.2",
-                "@types/express": "^4.17.17",
-                "@types/node": "^16.18.47",
-                "@types/node-fetch": "^2.6.4",
-                "@types/swagger-ui-dist": "3.30.1",
+            "version": "3.40.1",
+            "resolved": "https://registry.npmjs.org/molstar/-/molstar-3.40.1.tgz",
+            "integrity": "sha512-nWpntjYzi8FxQDk8lGRj4VRSigbGHMEoayur3/is73nQh0TN1WfI1qIc8yeDnrQOD3+rSWVKFQHyuYDj+73DUw==",
+            "dependencies": {
+                "@types/argparse": "^2.0.11",
+                "@types/benchmark": "^2.1.3",
+                "@types/compression": "1.7.3",
+                "@types/express": "^4.17.18",
+                "@types/node": "^16.18.55",
+                "@types/node-fetch": "^2.6.6",
+                "@types/swagger-ui-dist": "3.30.2",
                 "argparse": "^2.0.1",
                 "body-parser": "^1.20.2",
                 "compression": "^1.7.4",
@@ -4883,7 +4883,7 @@
                 "immutable": "^4.3.4",
                 "node-fetch": "^2.7.0",
                 "rxjs": "^7.8.1",
-                "swagger-ui-dist": "^5.4.2",
+                "swagger-ui-dist": "^5.9.0",
                 "tslib": "^2.6.2",
                 "util.promisify": "^1.1.2",
                 "xhr2": "^0.2.1"
@@ -6006,9 +6006,9 @@
             "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
         },
         "node_modules/sass": {
-            "version": "1.66.1",
-            "resolved": "https://registry.npmjs.org/sass/-/sass-1.66.1.tgz",
-            "integrity": "sha512-50c+zTsZOJVgFfTgwwEzkjA3/QACgdNsKueWPyAR0mRINIvLAStVQBbPg14iuqEQ74NPDbXzJARJ/O4SI1zftA==",
+            "version": "1.68.0",
+            "resolved": "https://registry.npmjs.org/sass/-/sass-1.68.0.tgz",
+            "integrity": "sha512-Lmj9lM/fef0nQswm1J2HJcEsBUba4wgNx2fea6yJHODREoMFnwRpZydBnX/RjyXw2REIwdkbqE4hrTo4qfDBUA==",
             "dev": true,
             "dependencies": {
                 "chokidar": ">=3.0.0 <4.0.0",
@@ -6579,9 +6579,9 @@
             }
         },
         "node_modules/swagger-ui-dist": {
-            "version": "5.4.2",
-            "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.4.2.tgz",
-            "integrity": "sha512-vT5QxP/NOr9m4gLZl+SpavWI3M9Fdh30+Sdw9rEtZbkqNmNNEPhjXas2xTD9rsJYYdLzAiMfwXvtooWH3xbLJA=="
+            "version": "5.9.0",
+            "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.9.0.tgz",
+            "integrity": "sha512-NUHSYoe5XRTk/Are8jPJ6phzBh3l9l33nEyXosM17QInoV95/jng8+PuSGtbD407QoPf93MH3Bkh773OgesJpA=="
         },
         "node_modules/tapable": {
             "version": "2.2.1",
@@ -7461,15 +7461,15 @@
             }
         },
         "@eslint/js": {
-            "version": "8.48.0",
-            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz",
-            "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==",
+            "version": "8.50.0",
+            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz",
+            "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==",
             "dev": true
         },
         "@humanwhocodes/config-array": {
-            "version": "0.11.10",
-            "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
-            "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
+            "version": "0.11.11",
+            "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz",
+            "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==",
             "dev": true,
             "requires": {
                 "@humanwhocodes/object-schema": "^1.2.1",
@@ -7651,36 +7651,36 @@
             "optional": true
         },
         "@types/argparse": {
-            "version": "2.0.10",
-            "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-2.0.10.tgz",
-            "integrity": "sha512-C4wahC3gz3vQtvPazrJ5ONwmK1zSDllQboiWvpMM/iOswCYfBREFnjFbq/iWKIVOCl8+m5Pk6eva6/ZSsDuIGA=="
+            "version": "2.0.11",
+            "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-2.0.11.tgz",
+            "integrity": "sha512-OpC8Kh8eMFAWgZaJ8UkqZi+CemEDcn20f5OehrRZ/ek0zvMk0Tzazk5tNj7MghH/LSP3bxwAbC05Slyfv/zC0w=="
         },
         "@types/benchmark": {
-            "version": "2.1.2",
-            "resolved": "https://registry.npmjs.org/@types/benchmark/-/benchmark-2.1.2.tgz",
-            "integrity": "sha512-EDKtLYNMKrig22jEvhXq8TBFyFgVNSPmDF2b9UzJ7+eylPqdZVo17PCUMkn1jP6/1A/0u78VqYC6VrX6b8pDWA=="
+            "version": "2.1.3",
+            "resolved": "https://registry.npmjs.org/@types/benchmark/-/benchmark-2.1.3.tgz",
+            "integrity": "sha512-psuUawgwIy/hSjO4AUDiPBJhJx72e3cBL+YzmVK/5ofRJC02R0NmvrSenGRuSmJc++0j95y2T01xKKNz50FGZw=="
         },
         "@types/body-parser": {
-            "version": "1.19.2",
-            "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
-            "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
+            "version": "1.19.3",
+            "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz",
+            "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==",
             "requires": {
                 "@types/connect": "*",
                 "@types/node": "*"
             }
         },
         "@types/compression": {
-            "version": "1.7.2",
-            "resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.2.tgz",
-            "integrity": "sha512-lwEL4M/uAGWngWFLSG87ZDr2kLrbuR8p7X+QZB1OQlT+qkHsCPDVFnHPyXf4Vyl4yDDorNY+mAhosxkCvppatg==",
+            "version": "1.7.3",
+            "resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.3.tgz",
+            "integrity": "sha512-rKquEGjebqizyHNMOpaE/4FdYR5VQiWFeesqYfvJU0seSEyB4625UGhNOO/qIkH10S3wftiV7oefc8WdLZ/gCQ==",
             "requires": {
                 "@types/express": "*"
             }
         },
         "@types/connect": {
-            "version": "3.4.35",
-            "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
-            "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
+            "version": "3.4.36",
+            "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz",
+            "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==",
             "requires": {
                 "@types/node": "*"
             }
@@ -7712,9 +7712,9 @@
             "dev": true
         },
         "@types/express": {
-            "version": "4.17.17",
-            "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz",
-            "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==",
+            "version": "4.17.18",
+            "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.18.tgz",
+            "integrity": "sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==",
             "requires": {
                 "@types/body-parser": "*",
                 "@types/express-serve-static-core": "^4.17.33",
@@ -7723,9 +7723,9 @@
             }
         },
         "@types/express-serve-static-core": {
-            "version": "4.17.36",
-            "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.36.tgz",
-            "integrity": "sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==",
+            "version": "4.17.37",
+            "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz",
+            "integrity": "sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==",
             "requires": {
                 "@types/node": "*",
                 "@types/qs": "*",
@@ -7734,9 +7734,9 @@
             }
         },
         "@types/http-errors": {
-            "version": "2.0.1",
-            "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz",
-            "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ=="
+            "version": "2.0.2",
+            "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz",
+            "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg=="
         },
         "@types/json-schema": {
             "version": "7.0.12",
@@ -7745,22 +7745,22 @@
             "dev": true
         },
         "@types/mime": {
-            "version": "1.3.2",
-            "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
-            "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
+            "version": "1.3.3",
+            "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.3.tgz",
+            "integrity": "sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg=="
         },
         "@types/node": {
-            "version": "16.18.48",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.48.tgz",
-            "integrity": "sha512-mlaecDKQ7rIZrYD7iiKNdzFb6e/qD5I9U1rAhq+Fd+DWvYVs+G2kv74UFHmSOlg5+i/vF3XxuR522V4u8BqO+Q=="
+            "version": "16.18.55",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.55.tgz",
+            "integrity": "sha512-Y1zz/LIuJek01+hlPNzzXQhmq/Z2BCP96j18MSXC0S0jSu/IG4FFxmBs7W4/lI2vPJ7foVfEB0hUVtnOjnCiTg=="
         },
         "@types/node-fetch": {
-            "version": "2.6.4",
-            "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz",
-            "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==",
+            "version": "2.6.6",
+            "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.6.tgz",
+            "integrity": "sha512-95X8guJYhfqiuVVhRFxVQcf4hW/2bCuoPwDasMf/531STFoNoWTT7YDnWdXHEZKqAGUigmpG31r2FE70LwnzJw==",
             "requires": {
                 "@types/node": "*",
-                "form-data": "^3.0.0"
+                "form-data": "^4.0.0"
             }
         },
         "@types/prop-types": {
@@ -7769,19 +7769,19 @@
             "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ=="
         },
         "@types/qs": {
-            "version": "6.9.7",
-            "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
-            "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw=="
+            "version": "6.9.8",
+            "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz",
+            "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg=="
         },
         "@types/range-parser": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
-            "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw=="
+            "version": "1.2.5",
+            "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.5.tgz",
+            "integrity": "sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA=="
         },
         "@types/react": {
-            "version": "18.2.21",
-            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz",
-            "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==",
+            "version": "18.2.24",
+            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.24.tgz",
+            "integrity": "sha512-Ee0Jt4sbJxMu1iDcetZEIKQr99J1Zfb6D4F3qfUWoR1JpInkY1Wdg4WwCyBjL257D0+jGqSl1twBjV8iCaC0Aw==",
             "requires": {
                 "@types/prop-types": "*",
                 "@types/scheduler": "*",
@@ -7789,9 +7789,9 @@
             }
         },
         "@types/react-dom": {
-            "version": "18.2.7",
-            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz",
-            "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==",
+            "version": "18.2.8",
+            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.8.tgz",
+            "integrity": "sha512-bAIvO5lN/U8sPGvs1Xm61rlRHHaq5rp5N3kp9C+NJ/Q41P8iqjkXSu0+/qu8POsjH9pNWb0OYabFez7taP7omw==",
             "requires": {
                 "@types/react": "*"
             }
@@ -7802,24 +7802,24 @@
             "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
         },
         "@types/semver": {
-            "version": "7.5.1",
-            "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz",
-            "integrity": "sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==",
+            "version": "7.5.3",
+            "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz",
+            "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==",
             "dev": true
         },
         "@types/send": {
-            "version": "0.17.1",
-            "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz",
-            "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
+            "version": "0.17.2",
+            "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.2.tgz",
+            "integrity": "sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==",
             "requires": {
                 "@types/mime": "^1",
                 "@types/node": "*"
             }
         },
         "@types/serve-static": {
-            "version": "1.15.2",
-            "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz",
-            "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==",
+            "version": "1.15.3",
+            "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.3.tgz",
+            "integrity": "sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==",
             "requires": {
                 "@types/http-errors": "*",
                 "@types/mime": "*",
@@ -7827,21 +7827,21 @@
             }
         },
         "@types/swagger-ui-dist": {
-            "version": "3.30.1",
-            "resolved": "https://registry.npmjs.org/@types/swagger-ui-dist/-/swagger-ui-dist-3.30.1.tgz",
-            "integrity": "sha512-wWojDensMF33dSrhak4iWSPOsWBbvf+rSJ6VWQ7ohQbGdKAiT2IwUexrDZkMvf3+vVAPVnNFDRDtxADFszbh+Q=="
+            "version": "3.30.2",
+            "resolved": "https://registry.npmjs.org/@types/swagger-ui-dist/-/swagger-ui-dist-3.30.2.tgz",
+            "integrity": "sha512-Wx1swzWAUisf/zTr6eg6H0v/crVw52311aZ1qdM1/qk7pv8kxvYeqzfqtUIl1xAWhIrJu1mHF+D8BfEK4YQuqQ=="
         },
         "@typescript-eslint/eslint-plugin": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.5.0.tgz",
-            "integrity": "sha512-2pktILyjvMaScU6iK3925uvGU87E+N9rh372uGZgiMYwafaw9SXq86U04XPq3UH6tzRvNgBsub6x2DacHc33lw==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.4.tgz",
+            "integrity": "sha512-DAbgDXwtX+pDkAHwiGhqP3zWUGpW49B7eqmgpPtg+BKJXwdct79ut9+ifqOFPJGClGKSHXn2PTBatCnldJRUoA==",
             "dev": true,
             "requires": {
                 "@eslint-community/regexpp": "^4.5.1",
-                "@typescript-eslint/scope-manager": "6.5.0",
-                "@typescript-eslint/type-utils": "6.5.0",
-                "@typescript-eslint/utils": "6.5.0",
-                "@typescript-eslint/visitor-keys": "6.5.0",
+                "@typescript-eslint/scope-manager": "6.7.4",
+                "@typescript-eslint/type-utils": "6.7.4",
+                "@typescript-eslint/utils": "6.7.4",
+                "@typescript-eslint/visitor-keys": "6.7.4",
                 "debug": "^4.3.4",
                 "graphemer": "^1.4.0",
                 "ignore": "^5.2.4",
@@ -7851,54 +7851,54 @@
             }
         },
         "@typescript-eslint/parser": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.5.0.tgz",
-            "integrity": "sha512-LMAVtR5GN8nY0G0BadkG0XIe4AcNMeyEy3DyhKGAh9k4pLSMBO7rF29JvDBpZGCmp5Pgz5RLHP6eCpSYZJQDuQ==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.4.tgz",
+            "integrity": "sha512-I5zVZFY+cw4IMZUeNCU7Sh2PO5O57F7Lr0uyhgCJmhN/BuTlnc55KxPonR4+EM3GBdfiCyGZye6DgMjtubQkmA==",
             "dev": true,
             "requires": {
-                "@typescript-eslint/scope-manager": "6.5.0",
-                "@typescript-eslint/types": "6.5.0",
-                "@typescript-eslint/typescript-estree": "6.5.0",
-                "@typescript-eslint/visitor-keys": "6.5.0",
+                "@typescript-eslint/scope-manager": "6.7.4",
+                "@typescript-eslint/types": "6.7.4",
+                "@typescript-eslint/typescript-estree": "6.7.4",
+                "@typescript-eslint/visitor-keys": "6.7.4",
                 "debug": "^4.3.4"
             }
         },
         "@typescript-eslint/scope-manager": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.5.0.tgz",
-            "integrity": "sha512-A8hZ7OlxURricpycp5kdPTH3XnjG85UpJS6Fn4VzeoH4T388gQJ/PGP4ole5NfKt4WDVhmLaQ/dBLNDC4Xl/Kw==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.4.tgz",
+            "integrity": "sha512-SdGqSLUPTXAXi7c3Ob7peAGVnmMoGzZ361VswK2Mqf8UOYcODiYvs8rs5ILqEdfvX1lE7wEZbLyELCW+Yrql1A==",
             "dev": true,
             "requires": {
-                "@typescript-eslint/types": "6.5.0",
-                "@typescript-eslint/visitor-keys": "6.5.0"
+                "@typescript-eslint/types": "6.7.4",
+                "@typescript-eslint/visitor-keys": "6.7.4"
             }
         },
         "@typescript-eslint/type-utils": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.5.0.tgz",
-            "integrity": "sha512-f7OcZOkRivtujIBQ4yrJNIuwyCQO1OjocVqntl9dgSIZAdKqicj3xFDqDOzHDlGCZX990LqhLQXWRnQvsapq8A==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.4.tgz",
+            "integrity": "sha512-n+g3zi1QzpcAdHFP9KQF+rEFxMb2KxtnJGID3teA/nxKHOVi3ylKovaqEzGBbVY2pBttU6z85gp0D00ufLzViQ==",
             "dev": true,
             "requires": {
-                "@typescript-eslint/typescript-estree": "6.5.0",
-                "@typescript-eslint/utils": "6.5.0",
+                "@typescript-eslint/typescript-estree": "6.7.4",
+                "@typescript-eslint/utils": "6.7.4",
                 "debug": "^4.3.4",
                 "ts-api-utils": "^1.0.1"
             }
         },
         "@typescript-eslint/types": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.5.0.tgz",
-            "integrity": "sha512-eqLLOEF5/lU8jW3Bw+8auf4lZSbbljHR2saKnYqON12G/WsJrGeeDHWuQePoEf9ro22+JkbPfWQwKEC5WwLQ3w==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.4.tgz",
+            "integrity": "sha512-o9XWK2FLW6eSS/0r/tgjAGsYasLAnOWg7hvZ/dGYSSNjCh+49k5ocPN8OmG5aZcSJ8pclSOyVKP2x03Sj+RrCA==",
             "dev": true
         },
         "@typescript-eslint/typescript-estree": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.5.0.tgz",
-            "integrity": "sha512-q0rGwSe9e5Kk/XzliB9h2LBc9tmXX25G0833r7kffbl5437FPWb2tbpIV9wAATebC/018pGa9fwPDuvGN+LxWQ==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.4.tgz",
+            "integrity": "sha512-ty8b5qHKatlNYd9vmpHooQz3Vki3gG+3PchmtsA4TgrZBKWHNjWfkQid7K7xQogBqqc7/BhGazxMD5vr6Ha+iQ==",
             "dev": true,
             "requires": {
-                "@typescript-eslint/types": "6.5.0",
-                "@typescript-eslint/visitor-keys": "6.5.0",
+                "@typescript-eslint/types": "6.7.4",
+                "@typescript-eslint/visitor-keys": "6.7.4",
                 "debug": "^4.3.4",
                 "globby": "^11.1.0",
                 "is-glob": "^4.0.3",
@@ -7907,27 +7907,27 @@
             }
         },
         "@typescript-eslint/utils": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.5.0.tgz",
-            "integrity": "sha512-9nqtjkNykFzeVtt9Pj6lyR9WEdd8npPhhIPM992FWVkZuS6tmxHfGVnlUcjpUP2hv8r4w35nT33mlxd+Be1ACQ==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.4.tgz",
+            "integrity": "sha512-PRQAs+HUn85Qdk+khAxsVV+oULy3VkbH3hQ8hxLRJXWBEd7iI+GbQxH5SEUSH7kbEoTp6oT1bOwyga24ELALTA==",
             "dev": true,
             "requires": {
                 "@eslint-community/eslint-utils": "^4.4.0",
                 "@types/json-schema": "^7.0.12",
                 "@types/semver": "^7.5.0",
-                "@typescript-eslint/scope-manager": "6.5.0",
-                "@typescript-eslint/types": "6.5.0",
-                "@typescript-eslint/typescript-estree": "6.5.0",
+                "@typescript-eslint/scope-manager": "6.7.4",
+                "@typescript-eslint/types": "6.7.4",
+                "@typescript-eslint/typescript-estree": "6.7.4",
                 "semver": "^7.5.4"
             }
         },
         "@typescript-eslint/visitor-keys": {
-            "version": "6.5.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.5.0.tgz",
-            "integrity": "sha512-yCB/2wkbv3hPsh02ZS8dFQnij9VVQXJMN/gbQsaaY+zxALkZnxa/wagvLEFsAWMPv7d7lxQmNsIzGU1w/T/WyA==",
+            "version": "6.7.4",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.4.tgz",
+            "integrity": "sha512-pOW37DUhlTZbvph50x5zZCkFn3xzwkGtNoJHzIM3svpiSkJzwOYr/kVBaXmf+RAQiUDs1AHEZVNPg6UJCJpwRA==",
             "dev": true,
             "requires": {
-                "@typescript-eslint/types": "6.5.0",
+                "@typescript-eslint/types": "6.7.4",
                 "eslint-visitor-keys": "^3.4.1"
             }
         },
@@ -9404,16 +9404,16 @@
             "dev": true
         },
         "eslint": {
-            "version": "8.48.0",
-            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz",
-            "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==",
+            "version": "8.50.0",
+            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz",
+            "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==",
             "dev": true,
             "requires": {
                 "@eslint-community/eslint-utils": "^4.2.0",
                 "@eslint-community/regexpp": "^4.6.1",
                 "@eslint/eslintrc": "^2.1.2",
-                "@eslint/js": "8.48.0",
-                "@humanwhocodes/config-array": "^0.11.10",
+                "@eslint/js": "8.50.0",
+                "@humanwhocodes/config-array": "^0.11.11",
                 "@humanwhocodes/module-importer": "^1.0.1",
                 "@nodelib/fs.walk": "^1.2.8",
                 "ajv": "^6.12.4",
@@ -9896,9 +9896,9 @@
             }
         },
         "form-data": {
-            "version": "3.0.1",
-            "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
-            "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
+            "version": "4.0.0",
+            "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+            "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
             "requires": {
                 "asynckit": "^0.4.0",
                 "combined-stream": "^1.0.8",
@@ -11104,17 +11104,17 @@
             "optional": true
         },
         "molstar": {
-            "version": "3.39.0",
-            "resolved": "https://registry.npmjs.org/molstar/-/molstar-3.39.0.tgz",
-            "integrity": "sha512-NImqUi7ZBJpfCBFaV33lAcyRydPuaV2aiQVDDESdn8xU08mHz9ahHtYWSefs2BE0jvWRgptXVKh0NXdsIY7iBg==",
-            "requires": {
-                "@types/argparse": "^2.0.10",
-                "@types/benchmark": "^2.1.2",
-                "@types/compression": "1.7.2",
-                "@types/express": "^4.17.17",
-                "@types/node": "^16.18.47",
-                "@types/node-fetch": "^2.6.4",
-                "@types/swagger-ui-dist": "3.30.1",
+            "version": "3.40.1",
+            "resolved": "https://registry.npmjs.org/molstar/-/molstar-3.40.1.tgz",
+            "integrity": "sha512-nWpntjYzi8FxQDk8lGRj4VRSigbGHMEoayur3/is73nQh0TN1WfI1qIc8yeDnrQOD3+rSWVKFQHyuYDj+73DUw==",
+            "requires": {
+                "@types/argparse": "^2.0.11",
+                "@types/benchmark": "^2.1.3",
+                "@types/compression": "1.7.3",
+                "@types/express": "^4.17.18",
+                "@types/node": "^16.18.55",
+                "@types/node-fetch": "^2.6.6",
+                "@types/swagger-ui-dist": "3.30.2",
                 "argparse": "^2.0.1",
                 "body-parser": "^1.20.2",
                 "compression": "^1.7.4",
@@ -11128,7 +11128,7 @@
                 "node-fetch": "^2.7.0",
                 "pngjs": "^6.0.0",
                 "rxjs": "^7.8.1",
-                "swagger-ui-dist": "^5.4.2",
+                "swagger-ui-dist": "^5.9.0",
                 "tslib": "^2.6.2",
                 "util.promisify": "^1.1.2",
                 "xhr2": "^0.2.1"
@@ -11903,9 +11903,9 @@
             "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
         },
         "sass": {
-            "version": "1.66.1",
-            "resolved": "https://registry.npmjs.org/sass/-/sass-1.66.1.tgz",
-            "integrity": "sha512-50c+zTsZOJVgFfTgwwEzkjA3/QACgdNsKueWPyAR0mRINIvLAStVQBbPg14iuqEQ74NPDbXzJARJ/O4SI1zftA==",
+            "version": "1.68.0",
+            "resolved": "https://registry.npmjs.org/sass/-/sass-1.68.0.tgz",
+            "integrity": "sha512-Lmj9lM/fef0nQswm1J2HJcEsBUba4wgNx2fea6yJHODREoMFnwRpZydBnX/RjyXw2REIwdkbqE4hrTo4qfDBUA==",
             "dev": true,
             "requires": {
                 "chokidar": ">=3.0.0 <4.0.0",
@@ -12305,9 +12305,9 @@
             "dev": true
         },
         "swagger-ui-dist": {
-            "version": "5.4.2",
-            "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.4.2.tgz",
-            "integrity": "sha512-vT5QxP/NOr9m4gLZl+SpavWI3M9Fdh30+Sdw9rEtZbkqNmNNEPhjXas2xTD9rsJYYdLzAiMfwXvtooWH3xbLJA=="
+            "version": "5.9.0",
+            "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.9.0.tgz",
+            "integrity": "sha512-NUHSYoe5XRTk/Are8jPJ6phzBh3l9l33nEyXosM17QInoV95/jng8+PuSGtbD407QoPf93MH3Bkh773OgesJpA=="
         },
         "tapable": {
             "version": "2.2.1",

+ 7 - 7
package.json

@@ -37,21 +37,21 @@
     "author": "RCSB PDB and Mol* Contributors",
     "license": "MIT",
     "devDependencies": {
-        "@typescript-eslint/eslint-plugin": "^6.5.0",
-        "@typescript-eslint/parser": "^6.5.0",
+        "@typescript-eslint/eslint-plugin": "^6.7.4",
+        "@typescript-eslint/parser": "^6.7.4",
         "buffer": "^6.0.3",
         "concurrently": "^8.2.1",
         "cpx2": "^5.0.0",
         "crypto-browserify": "^3.12.0",
         "css-loader": "^6.8.1",
-        "eslint": "^8.48.0",
+        "eslint": "^8.50.0",
         "extra-watch-webpack-plugin": "^1.0.3",
         "file-loader": "^6.2.0",
         "fs-extra": "^11.1.1",
         "mini-css-extract-plugin": "^2.7.6",
         "path-browserify": "^1.0.1",
         "raw-loader": "^4.0.2",
-        "sass": "^1.66.1",
+        "sass": "^1.68.0",
         "sass-loader": "^13.3.2",
         "stream-browserify": "^3.0.0",
         "style-loader": "^3.3.3",
@@ -60,9 +60,9 @@
         "webpack-cli": "^5.1.4"
     },
     "dependencies": {
-        "@types/react": "^18.2.21",
-        "@types/react-dom": "^18.2.7",
-        "molstar": "^3.39.0",
+        "@types/react": "^18.2.24",
+        "@types/react-dom": "^18.2.8",
+        "molstar": "^3.40.1",
         "react": "^18.2.0",
         "react-dom": "^18.2.0",
         "rxjs": "^7.8.1",

+ 5 - 3
src/viewer/index.ts

@@ -152,7 +152,8 @@ const DefaultLigandViewerProps = {
 
     ignoreHydrogens: true,
     showLabels: false,
-    shownCoordinateType: 'ideal' as const
+    shownCoordinateType: 'ideal' as const,
+    aromaticBonds: false, // stylize aromatic rings
 };
 export type LigandViewerProps = typeof DefaultLigandViewerProps & { canvas3d: PartialCanvas3DProps }
 
@@ -471,7 +472,8 @@ export class LigandViewer {
             }),
             ignoreHydrogens: o.ignoreHydrogens,
             showLabels: o.showLabels,
-            shownCoordinateType: o.shownCoordinateType
+            shownCoordinateType: o.shownCoordinateType,
+            aromaticBonds: o.aromaticBonds,
         };
 
         this._plugin.init()
@@ -514,7 +516,7 @@ export class LigandViewer {
     }
 
     private async load(p: LoadParams) {
-        await this.customState.modelLoader.load<any, any>(p, undefined, undefined, ChemicalCompontentTrajectoryHierarchyPreset, { shownCoordinateType: this.customState.shownCoordinateType });
+        await this.customState.modelLoader.load<any, any>(p, undefined, undefined, ChemicalCompontentTrajectoryHierarchyPreset, { shownCoordinateType: this.customState.shownCoordinateType, aromaticBonds: this.customState.aromaticBonds });
         await this.syncHydrogenState();
 
         for (const s of this._plugin.managers.structure.hierarchy.current.structures) {

+ 1 - 0
src/viewer/types.ts

@@ -71,6 +71,7 @@ export interface LigandViewerState {
     ignoreHydrogens: boolean
     showLabels: boolean
     shownCoordinateType: 'ideal' | 'model' | 'both'
+    aromaticBonds: boolean
 
     modelLoader: ModelLoader