diff --git a/package-lock.json b/package-lock.json index fdaaff185..92c890cef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,8 +17,8 @@ "@tanstack/react-form": "^1.28.5", "@tanstack/react-table": "^8.21.3", "@zakodium/nmr-types": "^0.5.4", - "@zakodium/nmrium-core": "^0.7.4", - "@zakodium/nmrium-core-plugins": "^0.7.6", + "@zakodium/nmrium-core": "^0.7.6", + "@zakodium/nmrium-core-plugins": "^0.7.8", "@zakodium/pdnd-esm": "^1.0.2", "@zip.js/zip.js": "^2.8.23", "cheminfo-font": "^1.23.0", @@ -56,7 +56,7 @@ "react-icons": "^5.6.0", "react-inspector": "^9.0.0", "react-mf": "^3.1.1", - "react-ocl": "^8.6.0", + "react-ocl": "^8.7.0", "react-ocl-nmr": "^4.1.1", "react-plot": "^3.1.2", "react-rnd": "^10.5.3", @@ -180,7 +180,6 @@ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -463,7 +462,6 @@ "resolved": "https://registry.npmjs.org/@blueprintjs/core/-/core-6.10.0.tgz", "integrity": "sha512-k6B8aeIwuH0ns2NAz4iWWcfv5/0v5Av9ePQXmNbs2VOdPSRn3X0l1mhyNBAjuuXHJV3OEENGE1HSbFi6f1NNJw==", "license": "Apache-2.0", - "peer": true, "dependencies": { "@blueprintjs/colors": "^5.1.15", "@blueprintjs/icons": "^6.7.0", @@ -496,7 +494,6 @@ "resolved": "https://registry.npmjs.org/@blueprintjs/icons/-/icons-6.7.0.tgz", "integrity": "sha512-wT8LjdXz5ogWYtWGsMpmLHbgg5Ml7rGcTg4QzHRL4NROaS2LEuNCNRQxmRNBdRdfpKcnGGwXNYqUNZYurB1r4Q==", "license": "Apache-2.0", - "peer": true, "dependencies": { "change-case": "^4.1.2", "classnames": "^2.3.1", @@ -518,7 +515,6 @@ "resolved": "https://registry.npmjs.org/@blueprintjs/select/-/select-6.1.4.tgz", "integrity": "sha512-j0eAwfApM3cUjuLQALgkN7QKNKGbNlPlL4LhngENYvs9bZMuHdtARFBT9FZV3UCqiIpAQmIccdvYJ0VtwV8Irg==", "license": "Apache-2.0", - "peer": true, "dependencies": { "@blueprintjs/colors": "^5.1.15", "@blueprintjs/core": "^6.10.0", @@ -573,7 +569,6 @@ "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@keyv/serialize": "^1.1.1" } @@ -732,7 +727,6 @@ "integrity": "sha512-Tdfx4eH2uS+gv9V9NCr3Rz+c7RSS6ntXp3Blliud18ibRUlRxO9dTaOjG4iv4x0nAmMeedP1ORkEpeXSkh2QiQ==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=20" } @@ -814,8 +808,7 @@ "resolved": "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-4.1.0.tgz", "integrity": "sha512-bfuvlTeGoK5QgXzzjn+PvqXU5J6mwraIdESNDSvPyplr/EbGFSuvgW3TOuoVNqW4WdDI7eM4tmoP5Dn1ZVgLag==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@cspell/dict-dart": { "version": "2.3.2", @@ -955,16 +948,14 @@ "resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.14.tgz", "integrity": "sha512-2bf7n+kS92g+cMKV0wr9o/Oq9n8JzU7CcrB96gIh2GHgnF+0xDOqO2W/1KeFAqOfqosoOVE48t+4dnEMkkoJ2Q==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@cspell/dict-html-symbol-entities": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-4.0.5.tgz", "integrity": "sha512-429alTD4cE0FIwpMucvSN35Ld87HCyuM8mF731KU5Rm4Je2SG6hmVx7nkBsLyrmH3sQukTcr1GaiZsiEg8svPA==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@cspell/dict-java": { "version": "5.0.12", @@ -1162,8 +1153,7 @@ "resolved": "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-3.2.3.tgz", "integrity": "sha512-zXh1wYsNljQZfWWdSPYwQhpwiuW0KPW1dSd8idjMRvSD0aSvWWHoWlrMsmZeRl4qM4QCEAjua8+cjflm41cQBg==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@cspell/dict-vue": { "version": "3.0.5", @@ -1273,7 +1263,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=20.19.0" }, @@ -1314,7 +1303,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=20.19.0" } @@ -1487,7 +1475,6 @@ "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.13.5", @@ -3075,7 +3062,6 @@ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", "license": "MIT", - "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" @@ -3958,7 +3944,6 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", "license": "MIT", - "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.2.2" @@ -4029,7 +4014,6 @@ "integrity": "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.56.1", "@typescript-eslint/types": "8.56.1", @@ -4491,9 +4475,9 @@ } }, "node_modules/@zakodium/nmrium-core": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@zakodium/nmrium-core/-/nmrium-core-0.7.4.tgz", - "integrity": "sha512-dUWUU+I4Os6he7CdN5lKmw35Lk8KMqkioEn2HPxuUivnnlLLpoC/DNQufPE3AxJ1sXZfnwVQASCXpCgotTKXfA==", + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@zakodium/nmrium-core/-/nmrium-core-0.7.6.tgz", + "integrity": "sha512-mtuU6S+Pa3bZQXWO+0QuhwM1kcI0cslIuAV9xBV2ZAzXOO/HDO8zCsgYhS2Q6dx0iEqOhz2H8KsEi8OL9TsgKA==", "license": "CC-BY-NC-SA-4.0", "dependencies": { "cheminfo-types": "^1.10.0", @@ -4506,26 +4490,26 @@ } }, "node_modules/@zakodium/nmrium-core-plugins": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/@zakodium/nmrium-core-plugins/-/nmrium-core-plugins-0.7.6.tgz", - "integrity": "sha512-BDp17Fbc+EHdhreFUKOms9y7pQawUkYLte/m9PH4Ib6KoQptfBurdYL6IuwroZeLkLMxrD/ik3wT+3h2/9+OvA==", + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/@zakodium/nmrium-core-plugins/-/nmrium-core-plugins-0.7.8.tgz", + "integrity": "sha512-sMNTQIWbSOpmnwr4DzYT5mZhKWkbjOGTYhOkYtlBX3rN49QDGkNlpZfT39kSSbrO64vOQsIbzC+sMMCpCCItng==", "license": "CC-BY-NC-SA-4.0", "dependencies": { "@date-fns/utc": "^2.1.1", - "@zakodium/nmrium-core": "^0.7.4", + "@zakodium/nmrium-core": "^0.7.6", "cheminfo-types": "^1.10.0", "convert-to-jcamp": "^6.0.0", "date-fns": "^4.1.0", "file-collection": "^6.6.1", "gyromagnetic-ratio": "^2.0.0", "is-any-array": "^2.0.1", - "jcampconverter": "^12.2.2", + "jcampconverter": "^12.2.3", "linear-sum-assignment": "^1.0.9", "lodash.merge": "^4.6.2", "ml-spectra-processing": "^14.22.0", - "nmr-processing": "^22.7.1", - "openchemlib": "^9.20.0", - "openchemlib-utils": "^8.12.1", + "nmr-processing": "^22.7.2", + "openchemlib": "^9.22.0", + "openchemlib-utils": "^8.15.0", "sdf-parser": "^7.0.4" } }, @@ -4570,7 +4554,6 @@ "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5108,7 +5091,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -6082,7 +6064,6 @@ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "license": "ISC", - "peer": true, "engines": { "node": ">=12" } @@ -6670,7 +6651,6 @@ "integrity": "sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -7465,7 +7445,6 @@ "resolved": "https://registry.npmjs.org/fifo-logger/-/fifo-logger-2.0.1.tgz", "integrity": "sha512-AwCaBK389hl67z4AJ5+8uOsxU07olw0DzowzA6Znr/eaItMCsXXxzA1DjY/KCABWu/4Bq+wrBhn1p7hsjNDv4g==", "license": "MIT", - "peer": true, "dependencies": { "typescript-event-target": "^1.1.1" } @@ -8961,9 +8940,9 @@ } }, "node_modules/jcampconverter": { - "version": "12.2.2", - "resolved": "https://registry.npmjs.org/jcampconverter/-/jcampconverter-12.2.2.tgz", - "integrity": "sha512-Sbpeaf4ms6vghQrcnxqVS3C8y+HLu19uOOKKuO2E1EioX9/zrBltnnfscP2oF9gJiX7FRgCzgGu2W7WaG4BBTw==", + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/jcampconverter/-/jcampconverter-12.2.3.tgz", + "integrity": "sha512-leLqnszCXhxfylN8op1Rt0PizaNJsYfwVzGx0Qep3txdi3gd5SYXYrtCjDsv8PB7oiRNu+Q6obtR9u/fBXSk7Q==", "license": "CC-BY-NC-SA-4.0", "dependencies": { "cheminfo-types": "^1.10.0", @@ -8971,7 +8950,7 @@ "ensure-string": "^2.0.0", "gyromagnetic-ratio": "^2.0.0", "ml-array-median": "^1.1.6", - "openchemlib": "^9.20.0" + "openchemlib": "^9.22.0" } }, "node_modules/jiti": { @@ -8980,7 +8959,6 @@ "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", "dev": true, "license": "MIT", - "peer": true, "bin": { "jiti": "lib/jiti-cli.mjs" } @@ -9941,9 +9919,9 @@ } }, "node_modules/nmr-processing": { - "version": "22.7.1", - "resolved": "https://registry.npmjs.org/nmr-processing/-/nmr-processing-22.7.1.tgz", - "integrity": "sha512-Kuny1kxHaFLQj9vMakjh/3EgLSQHOSkHSCSSQRbXKTGdolAcS2HiYVFfF0/yOWi2GU4+cc25iV1u+h1hFmiJfg==", + "version": "22.7.2", + "resolved": "https://registry.npmjs.org/nmr-processing/-/nmr-processing-22.7.2.tgz", + "integrity": "sha512-i/8QKEFqN5C1vw4i+vhK+Si0d9bqOdT+l7k47G3nP2XeSSJXxaemokyMxDJsdF8AZwGGsQsRwItrfPs711VGOg==", "license": "CC-BY-NC-SA-4.0", "dependencies": { "binary-search": "^1.3.6", @@ -9975,8 +9953,8 @@ "multiplet-analysis": "^2.1.5", "nmr-correlation": "^3.0.0", "numeral": "^2.0.6", - "openchemlib": "^9.20.0", - "openchemlib-utils": "^8.12.1", + "openchemlib": "^9.22.0", + "openchemlib-utils": "^8.15.0", "spectrum-generator": "^8.1.1" } }, @@ -10252,11 +10230,10 @@ } }, "node_modules/openchemlib": { - "version": "9.21.0", - "resolved": "https://registry.npmjs.org/openchemlib/-/openchemlib-9.21.0.tgz", - "integrity": "sha512-BJ93BYI7lQK4XMc8+ZocOsc2aCEdY0WyLhaJBHs/fH/XckETbheX/7nLaLnPALjXzxcLs2DbcnuDuGk7zXrlZQ==", - "license": "BSD-3-Clause", - "peer": true + "version": "9.22.0", + "resolved": "https://registry.npmjs.org/openchemlib/-/openchemlib-9.22.0.tgz", + "integrity": "sha512-1KZyKO+LkNkGtk6j92biMOUO0B26zgJXhwTrF+6tIeYxpzMXhMmiEhZe/a6RakyPHECzJnh9mqIJ5rId75Ov9A==", + "license": "BSD-3-Clause" }, "node_modules/openchemlib-utils": { "version": "8.15.0", @@ -10695,7 +10672,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -10738,7 +10714,6 @@ "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -11012,7 +10987,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -11038,7 +11012,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -11113,7 +11086,6 @@ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.72.0.tgz", "integrity": "sha512-V4v6jubaf6JAurEaVnT9aUPKFbNtDgohj5CIgVGyPHvT9wRx5OZHVjz31GsxnPNI278XMu+ruFz+wGOscHaLKw==", "license": "MIT", - "peer": true, "engines": { "node": ">=18.0.0" }, @@ -11163,9 +11135,9 @@ } }, "node_modules/react-ocl": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/react-ocl/-/react-ocl-8.6.0.tgz", - "integrity": "sha512-ThIaeh578kRvYJ3Ib5Vm6C5FzUSUFOmCPurxO6orN3lGHOKzTOI1BYS1QYfwQGPwO7pRUMqSshnihPaFVDbELA==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/react-ocl/-/react-ocl-8.7.0.tgz", + "integrity": "sha512-ZVnyKch1akEngUKf4HqnQJs/DR2WNbsnYV/VOmfsz7mGuAWIbrsXpa4vERMMQZpLnjbZALJkrOrkCdwXWdma+Q==", "license": "MIT", "dependencies": { "@emotion/styled": "^11.14.1", @@ -12981,7 +12953,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -13171,7 +13142,6 @@ "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", @@ -13262,7 +13232,6 @@ "integrity": "sha512-YbDrMF9jM2Lqc++2530UourxZHmkKLxrs4+mYhEwqWS97WJ7wOYEkcr+QfRgJ3PW9wz3odRijLZjHEaRLTNbqw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@vitest/expect": "4.1.0", "@vitest/mocker": "4.1.0", @@ -13643,7 +13612,6 @@ "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/package.json b/package.json index 1160efc23..587afd5a4 100644 --- a/package.json +++ b/package.json @@ -71,8 +71,8 @@ "@tanstack/react-form": "^1.28.5", "@tanstack/react-table": "^8.21.3", "@zakodium/nmr-types": "^0.5.4", - "@zakodium/nmrium-core": "^0.7.4", - "@zakodium/nmrium-core-plugins": "^0.7.6", + "@zakodium/nmrium-core": "^0.7.6", + "@zakodium/nmrium-core-plugins": "^0.7.8", "@zakodium/pdnd-esm": "^1.0.2", "@zip.js/zip.js": "^2.8.23", "cheminfo-font": "^1.23.0", @@ -110,7 +110,7 @@ "react-icons": "^5.6.0", "react-inspector": "^9.0.0", "react-mf": "^3.1.1", - "react-ocl": "^8.6.0", + "react-ocl": "^8.7.0", "react-ocl-nmr": "^4.1.1", "react-plot": "^3.1.2", "react-rnd": "^10.5.3", diff --git a/src/component/modal/setting/tanstack_general_settings/tabs/general_tab.tsx b/src/component/modal/setting/tanstack_general_settings/tabs/general_tab.tsx index 21dbb4ae1..74ae18ac3 100644 --- a/src/component/modal/setting/tanstack_general_settings/tabs/general_tab.tsx +++ b/src/component/modal/setting/tanstack_general_settings/tabs/general_tab.tsx @@ -1,5 +1,5 @@ import { Tag } from '@blueprintjs/core'; -import { withForm } from 'react-science/ui'; +import { FieldGroupSVGTextStyleFields, withForm } from 'react-science/ui'; import { LOGGER_LEVELS } from '../../../../context/LoggerContext.js'; import type { SelectDefaultItem } from '../../../../elements/Select2.js'; @@ -87,6 +87,13 @@ export const GeneralTab = withForm({ )} + + + ); }, diff --git a/src/component/modal/setting/tanstack_general_settings/validation/general_tab_validation.ts b/src/component/modal/setting/tanstack_general_settings/validation/general_tab_validation.ts index 16111fa00..cceff1682 100644 --- a/src/component/modal/setting/tanstack_general_settings/validation/general_tab_validation.ts +++ b/src/component/modal/setting/tanstack_general_settings/validation/general_tab_validation.ts @@ -1,3 +1,4 @@ +import { svgTextStyleFieldsSchema } from 'react-science/ui'; import { z } from 'zod'; import type { LoggerType } from '../../../../context/LoggerContext.js'; @@ -30,6 +31,9 @@ export const generalValidation = z.object({ ]), popupLoggingLevel: z.enum(loggingLevel).optional(), loggingLevel: z.enum(loggingLevel).optional(), + molecules: z.object({ + labelStyle: svgTextStyleFieldsSchema, + }), }); export const displayGeneralValidation = z diff --git a/src/component/panels/MoleculesPanel/MoleculeStructure.tsx b/src/component/panels/MoleculesPanel/MoleculeStructure.tsx index 695f6a727..4a2dbe111 100644 --- a/src/component/panels/MoleculesPanel/MoleculeStructure.tsx +++ b/src/component/panels/MoleculesPanel/MoleculeStructure.tsx @@ -9,6 +9,7 @@ import OCLnmr from 'react-ocl-nmr'; import type { StateMoleculeExtended } from '../../../data/molecules/Molecule.js'; import { useDispatch } from '../../context/DispatchContext.js'; +import { usePreferences } from '../../context/PreferencesContext.tsx'; import { useTopicMolecule } from '../../context/TopicMoleculeContext.tsx'; import { useHighlightColor } from '../../hooks/useHighlightColor.js'; @@ -65,6 +66,7 @@ export function MoleculeStructure(props: MoleculeStructureProps) { } = useAtomAssignment(); const highlightColor = useHighlightColor(); const dispatch = useDispatch(); + const { current } = usePreferences(); const { onAtomHover, getAssignmentLabelByHover, getLastHoverAtom } = useExtractAtomAssignmentLabel(); //TODO Temporary workaround to prevent other focused elements from being triggered by the space key @@ -73,12 +75,15 @@ export function MoleculeStructure(props: MoleculeStructureProps) { const atomHighlightColor = currentDiaIDsToHighlight?.length > 0 ? '#ff000080' : highlightColor; + const labelStyle = current.general.molecules.labelStyle; const baseProps: MolfileSvgRendererProps = { height, width, label: (showLabel ?? moleculeView.showLabel) ? molecule.label : '', - labelFontSize: 15, - labelColor: 'rgba(138, 59, 59, 1)', + labelFontSize: labelStyle.fontSize ?? 15, + labelColor: labelStyle.fill ?? 'rgba(138, 59, 59, 1)', + labelFontStyle: labelStyle.fontStyle ?? 'normal', + labelFontWeight: labelStyle.fontWeight ?? 'normal', molfile: molecule.molfile, atomHighlightColor, atomHighlightOpacity: 1, diff --git a/src/component/workspaces/exercise.ts b/src/component/workspaces/exercise.ts index 87183ec0b..fe79274b5 100644 --- a/src/component/workspaces/exercise.ts +++ b/src/component/workspaces/exercise.ts @@ -43,6 +43,14 @@ export const exercise: InnerWorkspace = { popupLoggingLevel: 'error', invert: true, invertScroll: false, + molecules: { + labelStyle: { + fontSize: 15, + fontWeight: 'normal', + fontStyle: 'normal', + fill: '#8A3B3B', + }, + }, }, nuclei: [], panels: { diff --git a/src/component/workspaces/prediction.ts b/src/component/workspaces/prediction.ts index d2931c939..e8e95285c 100644 --- a/src/component/workspaces/prediction.ts +++ b/src/component/workspaces/prediction.ts @@ -11,6 +11,14 @@ export const prediction: InnerWorkspace = { popupLoggingLevel: 'error', invertScroll: false, invert: true, + molecules: { + labelStyle: { + fontSize: 15, + fontWeight: 'normal', + fontStyle: 'normal', + fill: '#8A3B3B', + }, + }, }, display: { general: { diff --git a/src/component/workspaces/simulation.ts b/src/component/workspaces/simulation.ts index fb4002634..fb005d8dc 100644 --- a/src/component/workspaces/simulation.ts +++ b/src/component/workspaces/simulation.ts @@ -11,6 +11,14 @@ export const simulation: InnerWorkspace = { popupLoggingLevel: 'error', invert: true, invertScroll: false, + molecules: { + labelStyle: { + fontSize: 15, + fontWeight: 'normal', + fontStyle: 'normal', + fill: '#8A3B3B', + }, + }, }, display: { general: { diff --git a/src/component/workspaces/workspaceDefaultProperties.ts b/src/component/workspaces/workspaceDefaultProperties.ts index 49ae644f4..365b9bd6d 100644 --- a/src/component/workspaces/workspaceDefaultProperties.ts +++ b/src/component/workspaces/workspaceDefaultProperties.ts @@ -130,6 +130,14 @@ export const workspaceDefaultProperties: RequiredWorkspacePreferences = { popupLoggingLevel: 'error', invert: true, invertScroll: false, + molecules: { + labelStyle: { + fontSize: 15, + fontWeight: 'normal', + fontStyle: 'normal', + fill: '#8A3B3B', + }, + }, } satisfies Required, nuclei: [ diff --git a/src/demo/views/BenchtopNMRWorkspace.tsx b/src/demo/views/BenchtopNMRWorkspace.tsx index 5a18c55c3..c23f81280 100644 --- a/src/demo/views/BenchtopNMRWorkspace.tsx +++ b/src/demo/views/BenchtopNMRWorkspace.tsx @@ -123,6 +123,14 @@ const customWorkspaces: CustomWorkspaces = { popupLoggingLevel: 'error', invert: false, invertScroll: false, + molecules: { + labelStyle: { + fontSize: 15, + fontWeight: 'normal', + fontStyle: 'normal', + fill: '#8A3B3B', + }, + }, }, nuclei: [ { diff --git a/src/demo/views/CustomWorkspace.tsx b/src/demo/views/CustomWorkspace.tsx index c148b91c8..b393ef022 100644 --- a/src/demo/views/CustomWorkspace.tsx +++ b/src/demo/views/CustomWorkspace.tsx @@ -66,6 +66,14 @@ const customWorkspaces: CustomWorkspaces = { invert: false, popupLoggingLevel: 'info', invertScroll: false, + molecules: { + labelStyle: { + fontSize: 15, + fontWeight: 'normal', + fontStyle: 'normal', + fill: '#8A3B3B', + }, + }, }, nuclei: [ { nucleus: '1H', ppmFormat: '0.00', hzFormat: '0.00' }, diff --git a/src/demo/views/SnapshotView.tsx b/src/demo/views/SnapshotView.tsx index 19c766f6a..378e339cf 100644 --- a/src/demo/views/SnapshotView.tsx +++ b/src/demo/views/SnapshotView.tsx @@ -112,6 +112,14 @@ const customWorkspaces: CustomWorkspaces = { invert: false, popupLoggingLevel: 'info', invertScroll: false, + molecules: { + labelStyle: { + fontSize: 15, + fontWeight: 'normal', + fontStyle: 'normal', + fill: '#8A3B3B', + }, + }, }, nuclei: [ {