diff --git a/package-lock.json b/package-lock.json
index 5e59eef..48cca21 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,19 +9,19 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
- "@blueprintjs/core": "^6.8.0",
- "@blueprintjs/icons": "^6.5.2",
- "@blueprintjs/select": "^6.1.0",
+ "@blueprintjs/core": "^6.9.1",
+ "@blueprintjs/icons": "^6.6.0",
+ "@blueprintjs/select": "^6.1.3",
"@emotion/styled": "^11.14.1",
"@vitejs/plugin-react": "^5.1.4",
- "@zakodium/nmrium-core": "^0.6.5",
- "@zakodium/nmrium-core-plugins": "^0.6.39",
+ "@zakodium/nmrium-core": "^0.7.1",
+ "@zakodium/nmrium-core-plugins": "^0.7.1",
"fifo-logger": "^2.0.1",
"filelist-utils": "^1.11.3",
- "nmr-processing": "^22.5.0",
- "nmrium": "^1.12.0",
+ "nmr-processing": "^22.5.2",
+ "nmrium": "^2.0.0",
"openchemlib": "^9.20.0",
- "react-science": "^19.9.1"
+ "react-science": "^19.10.1"
},
"devDependencies": {
"@babel/plugin-transform-modules-commonjs": "^7.28.6",
@@ -30,7 +30,7 @@
"@playwright/test": "^1.58.2",
"@simbathesailor/use-what-changed": "^2.0.0",
"@types/jest": "^30.0.0",
- "@types/node": "^25.3.0",
+ "@types/node": "^25.3.5",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@types/react-router-dom": "^5.3.3",
@@ -42,8 +42,8 @@
"prettier": "3.8.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
- "react-router-dom": "^7.13.0",
- "serve": "^14.2.5",
+ "react-router-dom": "^7.13.1",
+ "serve": "^14.2.6",
"typescript": "^5.9.3",
"vite": "^7.3.1",
"vite-plugin-pwa": "^1.2.0"
@@ -60,9 +60,9 @@
}
},
"node_modules/@atlaskit/pragmatic-drag-and-drop": {
- "version": "1.7.7",
- "resolved": "https://registry.npmjs.org/@atlaskit/pragmatic-drag-and-drop/-/pragmatic-drag-and-drop-1.7.7.tgz",
- "integrity": "sha512-jX+68AoSTqO/fhCyJDTZ38Ey6/wyL2Iq+J/moanma0YyktpnoHxevjY1UNJHYp0NCburdQDZSL1ZFac1mO1osQ==",
+ "version": "1.7.9",
+ "resolved": "https://registry.npmjs.org/@atlaskit/pragmatic-drag-and-drop/-/pragmatic-drag-and-drop-1.7.9.tgz",
+ "integrity": "sha512-m/bcw5flyjfcF/rdX4JeomtIBrWuDNOwcQieiywHv7zkfIRmUC34Q9ZLeNGVoz73UiGsRqxysMuw4tC7lSJ89g==",
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.0.0",
@@ -2000,14 +2000,14 @@
}
},
"node_modules/@blueprintjs/core": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@blueprintjs/core/-/core-6.8.0.tgz",
- "integrity": "sha512-46PkgSz/txIy3gNdXm4RblMYAv7lhENAU5LXbXaqVdy0EQllQLaEDLj3LnqXmrQ9jpB4EV65xb/YBK+TO8C/Lw==",
+ "version": "6.9.1",
+ "resolved": "https://registry.npmjs.org/@blueprintjs/core/-/core-6.9.1.tgz",
+ "integrity": "sha512-RmkIpN6dGch7ZCT8dkmbK80JgcIqV4w19SmzJTot7QKm7fDRsi2hcusV/LOvn7WgZvS9Z8URzIp357jAN9Nv5A==",
"license": "Apache-2.0",
"peer": true,
"dependencies": {
"@blueprintjs/colors": "^5.1.14",
- "@blueprintjs/icons": "^6.5.2",
+ "@blueprintjs/icons": "^6.6.0",
"@floating-ui/react": "^0.27.13",
"@popperjs/core": "^2.11.8",
"classnames": "^2.3.1",
@@ -2033,9 +2033,9 @@
}
},
"node_modules/@blueprintjs/icons": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/@blueprintjs/icons/-/icons-6.5.2.tgz",
- "integrity": "sha512-nYLoDGhkEsmLicmnpnrJs0wDBTuhVhGZuKIzDNEnaNEUjO8q8X6YQUHr8yJdSg9x6Th7i8pMNvUKzBnK+KHihg==",
+ "version": "6.6.0",
+ "resolved": "https://registry.npmjs.org/@blueprintjs/icons/-/icons-6.6.0.tgz",
+ "integrity": "sha512-IaMTAAY554iqUCvfO9+okAnC/qprypQqkNOkBdAkID6lXud8PSyfJWdXneSBQnU/fHU1UA+7xILJ6Wr4wGoJGw==",
"license": "Apache-2.0",
"peer": true,
"dependencies": {
@@ -2055,15 +2055,15 @@
}
},
"node_modules/@blueprintjs/select": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/@blueprintjs/select/-/select-6.1.0.tgz",
- "integrity": "sha512-0+Xdlpt2Ci72Fk38KkGNfLzsVPku83u9tRUbXkaI0R/f+IzGmrJ4NRODRidXxxGgjh6ImcSj+RCx3BGh7Vlk9w==",
+ "version": "6.1.3",
+ "resolved": "https://registry.npmjs.org/@blueprintjs/select/-/select-6.1.3.tgz",
+ "integrity": "sha512-BsDVwHvDplhNplcPizYVPi6y0KOqAB18Nw+spaQlACKYN9A2MmRe1EOCb1xYUu2dyx3Xz1sUMr1/2l6Dy/I2Ug==",
"license": "Apache-2.0",
"peer": true,
"dependencies": {
"@blueprintjs/colors": "^5.1.14",
- "@blueprintjs/core": "^6.8.0",
- "@blueprintjs/icons": "^6.5.2",
+ "@blueprintjs/core": "^6.9.1",
+ "@blueprintjs/icons": "^6.6.0",
"classnames": "^2.3.1",
"tslib": "~2.6.2"
},
@@ -2085,9 +2085,9 @@
"license": "MIT"
},
"node_modules/@emnapi/core": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.5.0.tgz",
- "integrity": "sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz",
+ "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==",
"dev": true,
"license": "MIT",
"optional": true,
@@ -2097,9 +2097,9 @@
}
},
"node_modules/@emnapi/runtime": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz",
- "integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz",
+ "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==",
"dev": true,
"license": "MIT",
"optional": true,
@@ -4157,7 +4157,7 @@
}
}
},
- "node_modules/@tanstack/react-form/node_modules/@tanstack/react-store": {
+ "node_modules/@tanstack/react-store": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.8.1.tgz",
"integrity": "sha512-XItJt+rG8c5Wn/2L/bnxys85rBpm0BfMbhb4zmPVLXAKY9POrp1xd6IbU4PKoOI+jSEGc3vntPRfLGSgXfE2Ig==",
@@ -4378,9 +4378,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "25.3.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.0.tgz",
- "integrity": "sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==",
+ "version": "25.3.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.5.tgz",
+ "integrity": "sha512-oX8xrhvpiyRCQkG1MFchB09f+cXftgIXb3a7UUa4Y3wpmZPw5tyZGTLWhlESOLq1Rq6oDlc8npVU2/9xiCuXMA==",
"devOptional": true,
"license": "MIT",
"dependencies": {
@@ -5075,50 +5075,50 @@
}
},
"node_modules/@zakodium/nmr-types": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/@zakodium/nmr-types/-/nmr-types-0.5.2.tgz",
- "integrity": "sha512-tT7mezDYiiIFrgE1xunmobO9vbMOCMRHtJ3Ei3ArHHq49oGBPoe7a5rWWK6mX4YCUsahhgO503HKwufwge8pLg==",
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/@zakodium/nmr-types/-/nmr-types-0.5.3.tgz",
+ "integrity": "sha512-9NYQZO0yh/cmmW8TqtGk9YX9ZaZk8Fnmsgxvy1ol4wFsqQpLnWX8gpmW17fAmU+/NBn50tmh0tXraygdUer31A==",
"license": "CC-BY-NC-SA-4.0",
"dependencies": {
"ml-peak-shape-generator": "^4.2.0",
"ml-signal-processing": "^2.2.0",
- "ml-spectra-processing": "^14.19.0"
+ "ml-spectra-processing": "^14.21.0"
}
},
"node_modules/@zakodium/nmrium-core": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/@zakodium/nmrium-core/-/nmrium-core-0.6.5.tgz",
- "integrity": "sha512-xSlz1uL1xFZQkFyIqd3c8dffDfixHFrDU7MuZzDJcomC1lu8/uFqnveqq0I+XFhRrFPlf48gXTF9AuOb9GLA/g==",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/@zakodium/nmrium-core/-/nmrium-core-0.7.1.tgz",
+ "integrity": "sha512-9o+uRkfBVXMu+W01KfD81SWrLbzJoRY51fxXfsHmqgZWegKZj61Xc79xcgHuV8DPG/xYA1bUHRd0RBOWFtY3fA==",
"license": "CC-BY-NC-SA-4.0",
"dependencies": {
"cheminfo-types": "^1.10.0",
"fifo-logger": "^2.0.1",
- "file-collection": "^6.6.0",
+ "file-collection": "^6.6.1",
"is-any-array": "^2.0.1",
"lodash.merge": "^4.6.2",
- "ml-spectra-processing": "^14.19.0",
+ "ml-spectra-processing": "^14.21.0",
"nmr-correlation": "^2.3.5"
}
},
"node_modules/@zakodium/nmrium-core-plugins": {
- "version": "0.6.39",
- "resolved": "https://registry.npmjs.org/@zakodium/nmrium-core-plugins/-/nmrium-core-plugins-0.6.39.tgz",
- "integrity": "sha512-1kgPHIpP7vDXGgG17w9NkeGx0TQJNTXokzKYw/CIh5SqYNuPSZut4r28gWcqP3QBZzlnK+fXUFL2eSjZm35VFg==",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/@zakodium/nmrium-core-plugins/-/nmrium-core-plugins-0.7.1.tgz",
+ "integrity": "sha512-jKxB/Bt/Tp89ltepSFlJWgNynV6GILUcNoVTqR02YxS3WaI6jNAKhXofXWpGgFMlKFGc2TVtmfoCPEOCMAWLeQ==",
"license": "CC-BY-NC-SA-4.0",
"dependencies": {
"@date-fns/utc": "^2.1.1",
- "@zakodium/nmrium-core": "^0.6.5",
+ "@zakodium/nmrium-core": "^0.7.1",
"cheminfo-types": "^1.10.0",
"convert-to-jcamp": "^6.0.0",
"date-fns": "^4.1.0",
- "file-collection": "^6.6.0",
+ "file-collection": "^6.6.1",
"gyromagnetic-ratio": "^2.0.0",
"is-any-array": "^2.0.1",
- "jcampconverter": "^12.2.0",
+ "jcampconverter": "^12.2.1",
"linear-sum-assignment": "^1.0.9",
"lodash.merge": "^4.6.2",
- "ml-spectra-processing": "^14.19.0",
- "nmr-processing": "^22.5.0",
+ "ml-spectra-processing": "^14.21.0",
+ "nmr-processing": "^22.5.2",
"openchemlib": "^9.20.0",
"openchemlib-utils": "^8.12.1",
"sdf-parser": "^7.0.4"
@@ -5143,9 +5143,9 @@
"license": "MIT"
},
"node_modules/@zip.js/zip.js": {
- "version": "2.8.21",
- "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.8.21.tgz",
- "integrity": "sha512-fkyzXISE3IMrstDO1AgPkJCx14MYHP/suIGiAovEYEuBjq3mffsuL6aMV7ohOSjW4rXtuACuUfpA3GtITgdtYg==",
+ "version": "2.8.23",
+ "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.8.23.tgz",
+ "integrity": "sha512-RB+RLnxPJFPrGvQ9rgO+4JOcsob6lD32OcF0QE0yg24oeW9q8KnTTNlugcDaIveEcCbclobJcZP+fLQ++sH0bw==",
"license": "BSD-3-Clause",
"engines": {
"bun": ">=0.7.0",
@@ -5919,9 +5919,9 @@
}
},
"node_modules/bytes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6102,9 +6102,9 @@
}
},
"node_modules/chemical-elements": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/chemical-elements/-/chemical-elements-2.2.1.tgz",
- "integrity": "sha512-Khr3m8RhBbNwDb2MSo9Zb9O+dcUuFourUC0hK+YxNhAtEhOwJPVTMDQeDi1vUwH44tUeNRNKriUs2QQFNQvxgg==",
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/chemical-elements/-/chemical-elements-2.2.2.tgz",
+ "integrity": "sha512-EL7cKE8FSyTcsWbs3uECKfYtdZW6Z8tD2OAeRXK4+rRc3+AMsJUqu/Sl790Ej4qbcy11/35ErdfnI5Yy7zQopw==",
"license": "MIT"
},
"node_modules/chemical-groups": {
@@ -6114,9 +6114,9 @@
"license": "MIT"
},
"node_modules/cheminfo-font": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/cheminfo-font/-/cheminfo-font-1.13.1.tgz",
- "integrity": "sha512-FIT5ybXaNolIAl8V64a3YQWZ28YaJgRz93ApBloI6NDIA5kGifTma822/bSDA/ABSwqOJAWwr/cMipIZxMjE/g==",
+ "version": "1.21.0",
+ "resolved": "https://registry.npmjs.org/cheminfo-font/-/cheminfo-font-1.21.0.tgz",
+ "integrity": "sha512-Eou8OIegiaA+BV6aQJKsXPJkaWotvkAOGy5vchtBRDhrDhlsKryat8N/BuHPWBCBkUnyja5FG0YKDccPlmA7Hw==",
"license": "CC-BY-4.0"
},
"node_modules/cheminfo-types": {
@@ -6339,6 +6339,13 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "devOptional": true,
+ "license": "MIT"
+ },
"node_modules/comment-parser": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.4.tgz",
@@ -6391,16 +6398,6 @@
"node": ">= 0.8.0"
}
},
- "node_modules/compression/node_modules/bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/compression/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -7081,13 +7078,12 @@
"license": "MIT"
},
"node_modules/ensure-string": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/ensure-string/-/ensure-string-1.2.0.tgz",
- "integrity": "sha512-Hvv2Xocfn6CSvCWgIGNzf0D5bgE6fAa65cayGOWsEXz03ej3aDpsogP3zstuLKt43zVuojQFST4XHPt9+PtuGQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ensure-string/-/ensure-string-2.0.0.tgz",
+ "integrity": "sha512-qej9cbqY36/lD8TdFFGugkTybqdxIWLXcqXPlLsuMoW4GJ8ExUGvLEXr+2sXbjssHiAO0hMpkK6tk3E8xphArQ==",
"license": "MIT",
"dependencies": {
- "cheminfo-types": "^1.1.0",
- "isutf8": "^4.0.0"
+ "cheminfo-types": "^1.10.0"
}
},
"node_modules/error-ex": {
@@ -8066,13 +8062,13 @@
}
},
"node_modules/file-collection": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/file-collection/-/file-collection-6.6.0.tgz",
- "integrity": "sha512-QO1CaaSoqslwib8atFXiavl7OXQMf8JzlRmsDWg1rCWwdFjmzZDnpfkvrrS32XL4Q47Z8fKXOr21r2SMTt/EBQ==",
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/file-collection/-/file-collection-6.6.1.tgz",
+ "integrity": "sha512-YJtg82Xo3pqhfXdM3tT7+vYAYj2GgC+J4jQvhYT2GDk3UsochfrHr7BxGEiQQmjIPu05ogQx9ZJ1VclhNViPJQ==",
"license": "MIT",
"dependencies": {
- "@zip.js/zip.js": "^2.8.8",
- "cheminfo-types": "^1.8.1"
+ "@zip.js/zip.js": "^2.8.15",
+ "cheminfo-types": "^1.10.0"
}
},
"node_modules/file-entry-cache": {
@@ -8468,6 +8464,7 @@
"version": "10.4.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
"integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -9569,9 +9566,9 @@
}
},
"node_modules/jcampconverter": {
- "version": "12.2.0",
- "resolved": "https://registry.npmjs.org/jcampconverter/-/jcampconverter-12.2.0.tgz",
- "integrity": "sha512-gHEIRlIdz1n8NujQbyv4U8iCfS5go2gCRk+Z00fbtq1NMoPlwMmrUfW+VhE9rezqSlACe7roqMNIZOKV0JtBow==",
+ "version": "12.2.1",
+ "resolved": "https://registry.npmjs.org/jcampconverter/-/jcampconverter-12.2.1.tgz",
+ "integrity": "sha512-eskEMLdlOPMmaYBIEsHz0SS+OE92/8n+OEtRnv/nzmnDMydMv4zgpNH9wCRETyPYanPGOCUJck/3/6TIpsO6ww==",
"license": "CC-BY-NC-SA-4.0",
"dependencies": {
"cheminfo-types": "^1.10.0",
@@ -9582,15 +9579,6 @@
"openchemlib": "^9.20.0"
}
},
- "node_modules/jcampconverter/node_modules/ensure-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ensure-string/-/ensure-string-2.0.0.tgz",
- "integrity": "sha512-qej9cbqY36/lD8TdFFGugkTybqdxIWLXcqXPlLsuMoW4GJ8ExUGvLEXr+2sXbjssHiAO0hMpkK6tk3E8xphArQ==",
- "license": "MIT",
- "dependencies": {
- "cheminfo-types": "^1.10.0"
- }
- },
"node_modules/jest": {
"version": "30.2.0",
"resolved": "https://registry.npmjs.org/jest/-/jest-30.2.0.tgz",
@@ -10552,13 +10540,13 @@
"license": "MIT"
},
"node_modules/mf-parser": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/mf-parser/-/mf-parser-3.6.0.tgz",
- "integrity": "sha512-vBE7hE8ZB2rtMPxJZHgfuMQIF98ebqXUDTtG/EzapRJ/CDurI/bEo8ZEyQI+ZKznGXr6HGcnBdoE2+U52v/JtA==",
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/mf-parser/-/mf-parser-3.7.1.tgz",
+ "integrity": "sha512-JgVo43b7rkb/miykgXpE0eT+udACCvKWg2BYPysLnkOOQtosI3wP2dq7mUS8guGx2I75PnVs8/HLXbXM4K+IdQ==",
"license": "MIT",
"dependencies": {
"atom-sorter": "^2.2.1",
- "chemical-elements": "^2.2.1",
+ "chemical-elements": "^2.2.2",
"chemical-groups": "^2.2.3"
}
},
@@ -10586,6 +10574,29 @@
"node": ">= 0.6"
}
},
+ "node_modules/mime-types": {
+ "version": "2.1.18",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+ "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "~1.33.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types/node_modules/mime-db": {
+ "version": "1.33.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
+ "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/mimic-fn": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
@@ -10597,9 +10608,9 @@
}
},
"node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -10961,9 +10972,9 @@
}
},
"node_modules/ml-spectra-processing": {
- "version": "14.19.0",
- "resolved": "https://registry.npmjs.org/ml-spectra-processing/-/ml-spectra-processing-14.19.0.tgz",
- "integrity": "sha512-PbvRh/cFneCDY629qpURsaq58oz0pF+TM8w5lLtvAVfZmA6QOHEf5eh93n73HXS7HgkAzLJNXnKefCW8kSBmKQ==",
+ "version": "14.22.0",
+ "resolved": "https://registry.npmjs.org/ml-spectra-processing/-/ml-spectra-processing-14.22.0.tgz",
+ "integrity": "sha512-rafMp7ny4J96mMM7AUmRKKXYhNw7J4keolHaYZjiQbqSqknlAntHlng1H0O30KpsOnqHH2XBPFIlGAaQruQAxw==",
"license": "MIT",
"dependencies": {
"binary-search": "^1.3.6",
@@ -11083,9 +11094,9 @@
}
},
"node_modules/nmr-processing": {
- "version": "22.5.0",
- "resolved": "https://registry.npmjs.org/nmr-processing/-/nmr-processing-22.5.0.tgz",
- "integrity": "sha512-/FLaMtROD1gwf8qqOfpynYNdtwRwqjSWzVtgcJvQekmHKFoALFwuxTV3Wj+LGmjCNWtAUauw/xb6fQ0DHAT0Tg==",
+ "version": "22.5.2",
+ "resolved": "https://registry.npmjs.org/nmr-processing/-/nmr-processing-22.5.2.tgz",
+ "integrity": "sha512-Dv0WsGuzMP9pxVTcX2YTdr5MEixLZ9ZUzBcu53IGfA9YororXZs6ZTIG10tteZtQKvqDutVBQhf8xOZqqy7IGQ==",
"license": "CC-BY-NC-SA-4.0",
"dependencies": {
"binary-search": "^1.3.6",
@@ -11112,7 +11123,7 @@
"ml-signal-processing": "^2.2.0",
"ml-simple-clustering": "^1.0.0",
"ml-sparse-matrix": "^3.1.0",
- "ml-spectra-processing": "^14.19.0",
+ "ml-spectra-processing": "^14.21.0",
"ml-tree-set": "^1.0.1",
"multiplet-analysis": "^2.1.5",
"nmr-correlation": "^3.0.0",
@@ -11153,23 +11164,24 @@
}
},
"node_modules/nmrium": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/nmrium/-/nmrium-1.12.0.tgz",
- "integrity": "sha512-5FH4LJFPoIodoMXBMQHKjj8ejuFjrOe4RZm8ePBMLqpjM9QZhbDnIp9rmkpu2gJyogpWXv6ig+H1dcuS/1o8sA==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/nmrium/-/nmrium-2.0.0.tgz",
+ "integrity": "sha512-6hWeBoQ6vIj/nTU/xnF8KBH1YK/pmb/uTKIGnCzLJPO/eGg+tSpVCOER9VllU45i973SFeGu5owGukJLCZvMDg==",
"license": "MIT",
"dependencies": {
- "@atlaskit/pragmatic-drag-and-drop": "^1.7.7",
+ "@atlaskit/pragmatic-drag-and-drop": "^1.7.9",
"@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.1.0",
"@emotion/react": "^11.14.0",
"@emotion/styled": "^11.14.1",
"@hookform/resolvers": "^5.2.2",
"@tanstack/react-form": "^1.28.3",
- "@zakodium/nmr-types": "^0.5.1",
- "@zakodium/nmrium-core": "^0.6.5",
- "@zakodium/nmrium-core-plugins": "^0.6.39",
+ "@tanstack/react-table": "^8.21.3",
+ "@zakodium/nmr-types": "^0.5.3",
+ "@zakodium/nmrium-core": "^0.7.1",
+ "@zakodium/nmrium-core-plugins": "^0.7.1",
"@zakodium/pdnd-esm": "^1.0.2",
- "@zip.js/zip.js": "^2.8.20",
- "cheminfo-font": "^1.13.1",
+ "@zip.js/zip.js": "^2.8.22",
+ "cheminfo-font": "^1.20.0",
"cheminfo-types": "^1.10.0",
"clipboard-polyfill": "^4.1.1",
"d3-array": "^3.2.4",
@@ -11178,37 +11190,37 @@
"dlv": "^1.1.3",
"eventemitter3": "^5.0.4",
"fifo-logger": "^2.0.1",
- "file-collection": "^6.6.0",
+ "file-collection": "^6.6.1",
"file-saver": "^2.0.5",
"get-jpaths": "^1.4.0",
"immer": "^11.1.4",
"lodash": "^4.17.23",
- "mf-parser": "^3.6.0",
+ "mf-parser": "^3.7.0",
"ml-array-mean": "^1.1.6",
"ml-array-median": "^1.1.6",
"ml-conrec": "^5.0.3",
"ml-gsd": "^13.1.1",
"ml-signal-processing": "^2.2.0",
- "ml-spectra-processing": "^14.19.0",
+ "ml-spectra-processing": "^14.21.0",
"ml-tree-similarity": "^2.2.0",
"nmr-correlation": "2.3.3",
- "nmr-processing": "^22.4.0",
+ "nmr-processing": "^22.5.2",
"numeral": "^2.0.6",
"openchemlib": "^9.20.0",
- "openchemlib-utils": "^8.12.1",
+ "openchemlib-utils": "^8.13.1",
"papaparse": "^5.5.3",
"react-d3-utils": "^3.1.2",
"react-dropzone": "^15.0.0",
"react-error-boundary": "^6.1.1",
- "react-hook-form": "^7.71.1",
- "react-icons": "^5.5.0",
+ "react-hook-form": "^7.71.2",
+ "react-icons": "^5.6.0",
"react-inspector": "^9.0.0",
"react-mf": "^3.1.1",
- "react-ocl": "^8.5.0",
+ "react-ocl": "^8.6.0",
"react-ocl-nmr": "^4.1.1",
"react-plot": "^3.1.2",
"react-rnd": "^10.5.2",
- "react-science": "^19.9.0",
+ "react-science": "^19.10.1",
"react-table": "^7.8.0",
"smart-array-filter": "^5.0.0",
"yup": "^1.7.1",
@@ -11480,13 +11492,13 @@
"peer": true
},
"node_modules/openchemlib-utils": {
- "version": "8.12.1",
- "resolved": "https://registry.npmjs.org/openchemlib-utils/-/openchemlib-utils-8.12.1.tgz",
- "integrity": "sha512-aQbEzLxunuRqwEVw6I98J9NL+Mxo3uASLbFjhsFe4ZuJZWN7G+s8tgmXO43+9kaNNeD8lAjcG6+EHNhwX+TV3w==",
+ "version": "8.13.1",
+ "resolved": "https://registry.npmjs.org/openchemlib-utils/-/openchemlib-utils-8.13.1.tgz",
+ "integrity": "sha512-kt7ChPBM3lJw0cya4qp0Qk+YXrYdJgDBJjgZTMZjeY7bfMjeFFtCA66yZaVxkIdEIOmOa/Kd3t+ohS8mOpNrpw==",
"license": "MIT",
"dependencies": {
"atom-sorter": "^2.2.1",
- "ensure-string": "^1.2.0",
+ "ensure-string": "^2.0.0",
"get-value": "^4.0.1",
"ml-floyd-warshall": "^3.0.1",
"ml-matrix": "^6.12.1",
@@ -12235,9 +12247,9 @@
}
},
"node_modules/react-hook-form": {
- "version": "7.71.1",
- "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.71.1.tgz",
- "integrity": "sha512-9SUJKCGKo8HUSsCO+y0CtqkqI5nNuaDqTxyqPsZPqIwudpj4rCrAz/jZV+jn57bx5gtZKOh3neQu94DXMc+w5w==",
+ "version": "7.71.2",
+ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.71.2.tgz",
+ "integrity": "sha512-1CHvcDYzuRUNOflt4MOq3ZM46AronNJtQ1S7tnX6YN4y72qhgiUItpacZUAQ0TyWYci3yz1X+rXaSxiuEm86PA==",
"license": "MIT",
"peer": true,
"engines": {
@@ -12252,9 +12264,9 @@
}
},
"node_modules/react-icons": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.5.0.tgz",
- "integrity": "sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==",
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.6.0.tgz",
+ "integrity": "sha512-RH93p5ki6LfOiIt0UtDyNg/cee+HLVR6cHHtW3wALfo+eOHTp8RnU2kRkI6E+H19zMIs03DyxUG/GfZMOGvmiA==",
"license": "MIT",
"peerDependencies": {
"react": "*"
@@ -12289,12 +12301,13 @@
}
},
"node_modules/react-ocl": {
- "version": "8.5.0",
- "resolved": "https://registry.npmjs.org/react-ocl/-/react-ocl-8.5.0.tgz",
- "integrity": "sha512-IOgPuJCcGs36iiiWjVz1EuHzutlmFQak7H+YXEy0cjEodZeL7HWAqrjWzd1/uyKIpDL+Hkqzk8RNVyWt2j18xg==",
+ "version": "8.6.0",
+ "resolved": "https://registry.npmjs.org/react-ocl/-/react-ocl-8.6.0.tgz",
+ "integrity": "sha512-ThIaeh578kRvYJ3Ib5Vm6C5FzUSUFOmCPurxO6orN3lGHOKzTOI1BYS1QYfwQGPwO7pRUMqSshnihPaFVDbELA==",
"license": "MIT",
"dependencies": {
- "@emotion/styled": "^11.14.1"
+ "@emotion/styled": "^11.14.1",
+ "@floating-ui/react-dom": "^2.1.7"
},
"peerDependencies": {
"openchemlib": ">=8",
@@ -12375,9 +12388,9 @@
}
},
"node_modules/react-router": {
- "version": "7.13.0",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.13.0.tgz",
- "integrity": "sha512-PZgus8ETambRT17BUm/LL8lX3Of+oiLaPuVTRH3l1eLvSPpKO3AvhAEb5N7ihAFZQrYDqkvvWfFh9p0z9VsjLw==",
+ "version": "7.13.1",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.13.1.tgz",
+ "integrity": "sha512-td+xP4X2/6BJvZoX6xw++A2DdEi++YypA69bJUV5oVvqf6/9/9nNlD70YO1e9d3MyamJEBQFEzk6mbfDYbqrSA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -12398,13 +12411,13 @@
}
},
"node_modules/react-router-dom": {
- "version": "7.13.0",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.13.0.tgz",
- "integrity": "sha512-5CO/l5Yahi2SKC6rGZ+HDEjpjkGaG/ncEP7eWFTvFxbHP8yeeI0PxTDjimtpXYlR3b3i9/WIL4VJttPrESIf2g==",
+ "version": "7.13.1",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.13.1.tgz",
+ "integrity": "sha512-UJnV3Rxc5TgUPJt2KJpo1Jpy0OKQr0AjgbZzBFjaPJcFOb2Y8jA5H3LT8HUJAiRLlWrEXWHbF1Z4SCZaQjWDHw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "react-router": "7.13.0"
+ "react-router": "7.13.1"
},
"engines": {
"node": ">=20.0.0"
@@ -12415,9 +12428,9 @@
}
},
"node_modules/react-science": {
- "version": "19.9.1",
- "resolved": "https://registry.npmjs.org/react-science/-/react-science-19.9.1.tgz",
- "integrity": "sha512-5ykYCRov4+V21XDJS/pxhdlz9AFgNr8TLRtzCaQLUuOMewcyc0C1zDdcmyAYdcuIHq7qd90n8Q9RnpSUL3EWuw==",
+ "version": "19.10.1",
+ "resolved": "https://registry.npmjs.org/react-science/-/react-science-19.10.1.tgz",
+ "integrity": "sha512-QDsZPEiog8IvG9s35M7gMIYoWbxsxEYx7VBCGf2GkotKuM/lIUlVUReDGiKL9IexEoYCVlemH+kkme5xBMiWSA==",
"license": "MIT",
"dependencies": {
"@atlaskit/pragmatic-drag-and-drop": "^1.7.7",
@@ -12852,6 +12865,16 @@
"ensure-string": "^1.2.0"
}
},
+ "node_modules/sdf-parser/node_modules/ensure-string": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/ensure-string/-/ensure-string-1.2.0.tgz",
+ "integrity": "sha512-Hvv2Xocfn6CSvCWgIGNzf0D5bgE6fAa65cayGOWsEXz03ej3aDpsogP3zstuLKt43zVuojQFST4XHPt9+PtuGQ==",
+ "license": "MIT",
+ "dependencies": {
+ "cheminfo-types": "^1.1.0",
+ "isutf8": "^4.0.0"
+ }
+ },
"node_modules/semver": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
@@ -12883,14 +12906,14 @@
}
},
"node_modules/serve": {
- "version": "14.2.5",
- "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.5.tgz",
- "integrity": "sha512-Qn/qMkzCcMFVPb60E/hQy+iRLpiU8PamOfOSYoAHmmF+fFFmpPpqa6Oci2iWYpTdOUM3VF+TINud7CfbQnsZbA==",
+ "version": "14.2.6",
+ "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.6.tgz",
+ "integrity": "sha512-QEjUSA+sD4Rotm1znR8s50YqA3kYpRGPmtd5GlFxbaL9n/FdUNbqMhxClqdditSk0LlZyA/dhud6XNRTOC9x2Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@zeit/schemas": "2.36.0",
- "ajv": "8.12.0",
+ "ajv": "8.18.0",
"arg": "5.0.2",
"boxen": "7.0.0",
"chalk": "5.0.1",
@@ -12898,7 +12921,7 @@
"clipboardy": "3.0.0",
"compression": "1.8.1",
"is-port-reachable": "4.0.0",
- "serve-handler": "6.1.6",
+ "serve-handler": "6.1.7",
"update-check": "1.5.4"
},
"bin": {
@@ -12909,55 +12932,42 @@
}
},
"node_modules/serve-handler": {
- "version": "6.1.6",
- "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz",
- "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==",
+ "version": "6.1.7",
+ "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.7.tgz",
+ "integrity": "sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==",
"dev": true,
"license": "MIT",
"dependencies": {
"bytes": "3.0.0",
"content-disposition": "0.5.2",
"mime-types": "2.1.18",
- "minimatch": "3.1.2",
+ "minimatch": "3.1.5",
"path-is-inside": "1.0.2",
"path-to-regexp": "3.3.0",
"range-parser": "1.2.0"
}
},
- "node_modules/serve-handler/node_modules/mime-db": {
- "version": "1.33.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
- "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/serve-handler/node_modules/mime-types": {
- "version": "2.1.18",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
- "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
+ "node_modules/serve-handler/node_modules/bytes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "mime-db": "~1.33.0"
- },
"engines": {
- "node": ">= 0.6"
+ "node": ">= 0.8"
}
},
"node_modules/serve/node_modules/ajv": {
- "version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
+ "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "fast-deep-equal": "^3.1.1",
+ "fast-deep-equal": "^3.1.3",
+ "fast-uri": "^3.0.1",
"json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
+ "require-from-string": "^2.0.2"
},
"funding": {
"type": "github",
@@ -13754,13 +13764,6 @@
"node": ">=10"
}
},
- "node_modules/terser/node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "devOptional": true,
- "license": "MIT"
- },
"node_modules/terser/node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -13801,7 +13804,7 @@
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -14880,6 +14883,7 @@
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz",
"integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==",
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
@@ -15279,6 +15283,23 @@
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"license": "ISC"
},
+ "node_modules/yaml": {
+ "version": "2.8.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
+ "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
+ "license": "ISC",
+ "optional": true,
+ "peer": true,
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/eemeli"
+ }
+ },
"node_modules/yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
diff --git a/package.json b/package.json
index b174d89..adca3a2 100644
--- a/package.json
+++ b/package.json
@@ -13,19 +13,19 @@
"node": "24.4.0"
},
"dependencies": {
- "@blueprintjs/core": "^6.8.0",
- "@blueprintjs/icons": "^6.5.2",
- "@blueprintjs/select": "^6.1.0",
+ "@blueprintjs/core": "^6.9.1",
+ "@blueprintjs/icons": "^6.6.0",
+ "@blueprintjs/select": "^6.1.3",
"@emotion/styled": "^11.14.1",
"@vitejs/plugin-react": "^5.1.4",
- "@zakodium/nmrium-core": "^0.6.5",
- "@zakodium/nmrium-core-plugins": "^0.6.39",
+ "@zakodium/nmrium-core": "^0.7.1",
+ "@zakodium/nmrium-core-plugins": "^0.7.1",
"fifo-logger": "^2.0.1",
"filelist-utils": "^1.11.3",
- "nmr-processing": "^22.5.0",
- "nmrium": "^1.12.0",
+ "nmr-processing": "^22.5.2",
+ "nmrium": "^2.0.0",
"openchemlib": "^9.20.0",
- "react-science": "^19.9.1"
+ "react-science": "^19.10.1"
},
"scripts": {
"start": "vite --host localhost --port 3000 --open",
@@ -49,7 +49,7 @@
"@playwright/test": "^1.58.2",
"@simbathesailor/use-what-changed": "^2.0.0",
"@types/jest": "^30.0.0",
- "@types/node": "^25.3.0",
+ "@types/node": "^25.3.5",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@types/react-router-dom": "^5.3.3",
@@ -61,8 +61,8 @@
"prettier": "3.8.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
- "react-router-dom": "^7.13.0",
- "serve": "^14.2.5",
+ "react-router-dom": "^7.13.1",
+ "serve": "^14.2.6",
"typescript": "^5.9.3",
"vite": "^7.3.1",
"vite-plugin-pwa": "^1.2.0"
diff --git a/src/Loadingindicator.tsx b/src/Loadingindicator.tsx
new file mode 100644
index 0000000..0e8d57a
--- /dev/null
+++ b/src/Loadingindicator.tsx
@@ -0,0 +1,45 @@
+import { Spinner } from '@blueprintjs/core';
+import styled from '@emotion/styled';
+
+const Overlay = styled.div`
+ position: absolute;
+ inset: 0;
+ z-index: 10;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ background-color: rgba(255, 255, 255, 0.7);
+ backdrop-filter: blur(4px);
+ -webkit-backdrop-filter: blur(4px);
+ gap: 12px;
+ user-select: none;
+ -webkit-user-select: none;
+`;
+
+const Label = styled.span`
+ font-size: 0.8125rem;
+ font-weight: 500;
+ letter-spacing: 0.08em;
+ text-transform: uppercase;
+ color: #6b7280;
+`;
+
+interface LoadingIndicatorProps {
+ label?: string;
+ visible: boolean;
+}
+
+export function LoadingIndicator({
+ label = 'Loading',
+ visible,
+}: LoadingIndicatorProps) {
+ if (!visible) return null;
+
+ return (
+
+
+
+
+ );
+}
diff --git a/src/NMRiumWrapper.tsx b/src/NMRiumWrapper.tsx
index c4ad11c..6677a02 100644
--- a/src/NMRiumWrapper.tsx
+++ b/src/NMRiumWrapper.tsx
@@ -1,39 +1,20 @@
-import type { NmriumData } from '@zakodium/nmrium-core';
import type { NMRiumChangeCb, NMRiumRefAPI } from 'nmrium';
import { NMRium } from 'nmrium';
import type { CSSProperties } from 'react';
import { useCallback, useEffect, useRef } from 'react';
import { RootLayout } from 'react-science/ui';
+import { LoadingIndicator } from './Loadingindicator.js';
import events from './events/event.js';
-import type { NMRiumData } from './hooks/useLoadSpectra.js';
import { useLoadSpectra } from './hooks/useLoadSpectra.js';
import { usePreferences } from './hooks/usePreferences.js';
import { useWhiteList } from './hooks/useWhiteList.js';
import AboutUsModal from './modal/AboutUsModal.js';
-const styles: Record<'container' | 'loadingContainer', CSSProperties> = {
- container: {
- height: '100%',
- width: '100%',
- position: 'relative',
- },
-
- loadingContainer: {
- position: 'absolute',
- top: 0,
- left: 0,
- right: 0,
- bottom: 0,
- zIndex: 1,
- display: 'flex',
- alignItems: 'center',
- justifyContent: 'center',
- backgroundColor: '#ffffffc9',
- fontSize: '1.4em',
- userSelect: 'none',
- WebkitUserSelect: 'none',
- },
+const containerStyle: CSSProperties = {
+ height: '100%',
+ width: '100%',
+ position: 'relative',
};
export default function NMRiumWrapper() {
@@ -41,15 +22,13 @@ export default function NMRiumWrapper() {
const nmriumRef = useRef(null);
const { workspace, preferences, defaultEmptyMessage, customWorkspaces } =
usePreferences();
+
+ const { load: loadSpectra, data, isLoading } = useLoadSpectra();
+
const dataChangeHandler = useCallback((state, source) => {
- events.trigger('data-change', {
- state,
- source,
- });
+ events.trigger('data-change', { state, source });
}, []);
- const { load: loadSpectra, data, setData } = useLoadSpectra();
-
useEffect(() => {
const clearActionListener = events.on(
'action-request',
@@ -67,33 +46,36 @@ export default function NMRiumWrapper() {
}
default: {
throw new Error(
- `ERROR! Property 'type' accept only 'exportViewerAsBlob'.`,
+ `ERROR! Property 'type' accepts only 'exportViewerAsBlob'.`,
);
}
}
},
{ allowedOrigins },
);
+
const clearLoadListener = events.on(
'load',
(loadData) => {
switch (loadData.type) {
- case 'nmrium':
- setData(loadData.data as unknown as NMRiumData);
+ case 'nmrium': {
+ const { data, activeTab = '' } = loadData;
+ void loadSpectra({ nmrium: data, activeTab });
break;
+ }
case 'file': {
const { data: files, activeTab = '' } = loadData;
- loadSpectra({ files, activeTab });
+ void loadSpectra({ files, activeTab });
break;
}
case 'url': {
const { data: urls, activeTab = '' } = loadData;
- loadSpectra({ urls, activeTab });
+ void loadSpectra({ urls, activeTab });
break;
}
default: {
throw new Error(
- `ERROR! Property 'type' accept only nmrium, url or file.`,
+ `ERROR! Property 'type' accepts only 'nmrium', 'url', or 'file'.`,
);
}
}
@@ -106,16 +88,16 @@ export default function NMRiumWrapper() {
clearActionListener();
};
});
+
+ const isShowingOverlay = isFetchAllowedOriginsPending || isLoading;
+
return (
-
- {isFetchAllowedOriginsPending && (
-
- Loading ....
-
- )}
+
+
= {
- [K in keyof T]?: T[K] extends object ? DeepPartial : T[K];
+type LoadOptions =
+ | { nmrium: object; activeTab?: string }
+ | { urls: string[]; activeTab?: string }
+ | { files: File[]; activeTab?: string };
+
+// CoreReadReturn with `state.view` made optional to allow partial injection.
+export type NMRiumData = Omit & {
+ state: Omit & { view?: ViewState };
};
-const core = init();
+interface UseLoadSpectraResult {
+ data: NMRiumData | null;
+ load: (options: LoadOptions) => Promise;
+ isLoading: boolean;
+}
+const core = init();
const logger = new FifoLogger();
-function handleLogger({ detail: { logs } }) {
+logger.addEventListener('change', ({ detail: { logs } }) => {
const log = logs.at(-1);
- if (log && ['error', 'fatal', 'warn'].includes(log.levelLabel)) {
- const error = log?.error || new Error(log?.message);
- events.trigger('error', error);
- // eslint-disable-next-line no-console
- console.log(error);
- }
-}
+ if (!log || !['error', 'fatal', 'warn'].includes(log.levelLabel)) return;
-logger.addEventListener('change', handleLogger);
+ const error = log.error ?? new Error(log.message);
+ events.trigger('error', error);
+ // eslint-disable-next-line no-console
+ console.log(error);
+});
const PARSING_OPTIONS: Partial = {
onLoadProcessing: { autoProcessing: true },
@@ -37,73 +49,57 @@ const PARSING_OPTIONS: Partial = {
logger,
};
-async function loadSpectraFromFiles(files: File[]) {
+async function loadSpectraFromNMRium(nmrium: object): Promise {
+ return core.readNMRiumObject(nmrium, PARSING_OPTIONS);
+}
+
+async function loadSpectraFromFiles(files: File[]): Promise {
const fileCollection = await new FileCollection().appendFileList(files);
- const {
- nmriumState: { data, version },
- } = await core.read(fileCollection, PARSING_OPTIONS);
- return { data, version } as NMRiumData;
+ return core.read(fileCollection, PARSING_OPTIONS);
}
-async function loadSpectraFromURLs(urls: string[]) {
+async function loadSpectraFromURLs(urls: string[]): Promise {
const entries = urls.map((url) => {
const refURL = new URL(url);
const name = getFileNameFromURL(url);
let path = refURL.pathname;
- const hasExtension = name?.includes('.');
- if (!hasExtension) {
+
+ if (!name?.includes('.')) {
path = `${path}.zip`;
}
- return { relativePath: path, baseURL: refURL.origin };
- }, []);
-
- const [{ data, version }] = await core.readFromWebSource(
- { entries },
- PARSING_OPTIONS,
- );
- return { data, version } as NMRiumData;
-}
-
-type LoadOptions =
- | { urls: string[]; activeTab?: string }
- | { files: File[]; activeTab?: string };
-export type NMRiumData = Pick;
+ return { relativePath: path, baseURL: refURL.origin };
+ });
-interface UseLoadSpectraResult {
- data: NMRiumData;
- load: (options: LoadOptions) => void;
- setData: (data: NMRiumData) => void;
- isLoading: boolean;
+ return core.readFromWebSource({ entries }, PARSING_OPTIONS);
}
export function useLoadSpectra(): UseLoadSpectraResult {
- const [data, setData] = useState({
- data: { spectra: [], molecules: [] },
- version: CURRENT_EXPORT_VERSION,
- });
- const [activeTab, setActiveTab] = useState();
- const [isLoading, setLoading] = useState(false);
+ const [result, setResult] = useState(null);
+ const [activeTab, setActiveTab] = useState();
+ const [isLoading, setLoading] = useState(false);
const load = useCallback(async (options: LoadOptions) => {
setLoading(true);
try {
- if ('urls' in options) {
- if (isArrayOfString(options.urls)) {
- const result = await loadSpectraFromURLs(options.urls);
- setData(result);
- setActiveTab(options?.activeTab);
- } else {
+ if ('nmrium' in options) {
+ const nmriumResult = await loadSpectraFromNMRium(options.nmrium);
+ setResult(nmriumResult);
+ setActiveTab(
+ options.activeTab ?? nmriumResult.state.view?.spectra?.activeTab,
+ );
+ } else if ('urls' in options) {
+ if (!isArrayOfString(options.urls)) {
throw new Error('The input must be a valid urls array of string[]');
}
- } else if ('files' in options) {
- const result = await loadSpectraFromFiles(options.files);
- setData(result);
- setActiveTab(options?.activeTab);
+ setResult(await loadSpectraFromURLs(options.urls));
+ setActiveTab(options.activeTab);
+ } else {
+ setResult(await loadSpectraFromFiles(options.files));
+ setActiveTab(options.activeTab);
}
} catch (error: unknown) {
- const loadError = error as Error;
- events.trigger('error', loadError);
+ events.trigger('error', error as Error);
// eslint-disable-next-line no-console
console.log(error);
} finally {
@@ -112,14 +108,19 @@ export function useLoadSpectra(): UseLoadSpectraResult {
}, []);
return useMemo(() => {
- let view: DeepPartial = {};
- view = { spectra: { activeTab } };
- const { version, ...other } = data;
- return {
- data: { version: version ?? CURRENT_EXPORT_VERSION, ...other, view },
- load,
- isLoading,
- setData,
- };
- }, [activeTab, data, isLoading, load]);
+ const view = { spectra: { activeTab } } as unknown as ViewState;
+
+ const data: NMRiumData | null = result
+ ? {
+ ...result,
+ state: {
+ version: result.state.version ?? CURRENT_EXPORT_VERSION,
+ ...result.state,
+ view,
+ },
+ }
+ : null;
+
+ return { data, load, isLoading };
+ }, [activeTab, result, isLoading, load]);
}
diff --git a/src/hooks/useWhiteList.ts b/src/hooks/useWhiteList.ts
index 4a2f6ae..e4b6e52 100644
--- a/src/hooks/useWhiteList.ts
+++ b/src/hooks/useWhiteList.ts
@@ -1,25 +1,29 @@
import { useEffect, useState, useTransition } from 'react';
-async function readAllowedOrigins() {
- return fetch(
- 'https://raw.githubusercontent.com/NFDI4Chem/nmrium-react-wrapper/main/src/allowed-origins.json',
- ).then((response) => response.json());
+const ALLOWED_ORIGINS_URL =
+ 'https://raw.githubusercontent.com/NFDI4Chem/nmrium-react-wrapper/main/src/allowed-origins.json';
+
+async function readAllowedOrigins(): Promise {
+ const response = await fetch(ALLOWED_ORIGINS_URL);
+
+ if (!response.ok) {
+ throw new Error(
+ `Failed to fetch allowed origins: ${response.status} ${response.statusText}`,
+ );
+ }
+
+ return response.json();
}
export function useWhiteList() {
- const [allowedOrigins, setAllowedOrigins] = useState([]);
+ const [allowedOrigins, setAllowedOrigins] = useState([]);
const [isFetchAllowedOriginsPending, startTransition] = useTransition();
useEffect(() => {
startTransition(() => {
- void readAllowedOrigins().then((whitelist) =>
- setAllowedOrigins(whitelist),
- );
+ void readAllowedOrigins().then(setAllowedOrigins);
});
}, []);
- return {
- allowedOrigins,
- isFetchAllowedOriginsPending,
- };
+ return { allowedOrigins, isFetchAllowedOriginsPending };
}
diff --git a/yarn.lock b/yarn.lock
index 6da9fd7..90e7959 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -32,10 +32,10 @@
"@atlaskit/pragmatic-drag-and-drop" "^1.6.0"
"@babel/runtime" "^7.0.0"
-"@atlaskit/pragmatic-drag-and-drop@^1.6.0", "@atlaskit/pragmatic-drag-and-drop@^1.7.0", "@atlaskit/pragmatic-drag-and-drop@^1.7.7":
- version "1.7.7"
- resolved "https://registry.npmjs.org/@atlaskit/pragmatic-drag-and-drop/-/pragmatic-drag-and-drop-1.7.7.tgz"
- integrity sha512-jX+68AoSTqO/fhCyJDTZ38Ey6/wyL2Iq+J/moanma0YyktpnoHxevjY1UNJHYp0NCburdQDZSL1ZFac1mO1osQ==
+"@atlaskit/pragmatic-drag-and-drop@^1.6.0", "@atlaskit/pragmatic-drag-and-drop@^1.7.0", "@atlaskit/pragmatic-drag-and-drop@^1.7.7", "@atlaskit/pragmatic-drag-and-drop@^1.7.9":
+ version "1.7.9"
+ resolved "https://registry.npmjs.org/@atlaskit/pragmatic-drag-and-drop/-/pragmatic-drag-and-drop-1.7.9.tgz"
+ integrity sha512-m/bcw5flyjfcF/rdX4JeomtIBrWuDNOwcQieiywHv7zkfIRmUC34Q9ZLeNGVoz73UiGsRqxysMuw4tC7lSJ89g==
dependencies:
"@babel/runtime" "^7.0.0"
bind-event-listener "^3.0.0"
@@ -1035,13 +1035,13 @@
dependencies:
tslib "~2.6.2"
-"@blueprintjs/core@^6.0.0", "@blueprintjs/core@^6.8.0":
- version "6.8.0"
- resolved "https://registry.npmjs.org/@blueprintjs/core/-/core-6.8.0.tgz"
- integrity sha512-46PkgSz/txIy3gNdXm4RblMYAv7lhENAU5LXbXaqVdy0EQllQLaEDLj3LnqXmrQ9jpB4EV65xb/YBK+TO8C/Lw==
+"@blueprintjs/core@^6.0.0", "@blueprintjs/core@^6.9.1":
+ version "6.9.1"
+ resolved "https://registry.npmjs.org/@blueprintjs/core/-/core-6.9.1.tgz"
+ integrity sha512-RmkIpN6dGch7ZCT8dkmbK80JgcIqV4w19SmzJTot7QKm7fDRsi2hcusV/LOvn7WgZvS9Z8URzIp357jAN9Nv5A==
dependencies:
"@blueprintjs/colors" "^5.1.14"
- "@blueprintjs/icons" "^6.5.2"
+ "@blueprintjs/icons" "^6.6.0"
"@floating-ui/react" "^0.27.13"
"@popperjs/core" "^2.11.8"
classnames "^2.3.1"
@@ -1051,23 +1051,23 @@
tslib "~2.6.2"
use-sync-external-store "^1.2.0"
-"@blueprintjs/icons@^6.0.0", "@blueprintjs/icons@^6.5.2":
- version "6.5.2"
- resolved "https://registry.npmjs.org/@blueprintjs/icons/-/icons-6.5.2.tgz"
- integrity sha512-nYLoDGhkEsmLicmnpnrJs0wDBTuhVhGZuKIzDNEnaNEUjO8q8X6YQUHr8yJdSg9x6Th7i8pMNvUKzBnK+KHihg==
+"@blueprintjs/icons@^6.0.0", "@blueprintjs/icons@^6.6.0":
+ version "6.6.0"
+ resolved "https://registry.npmjs.org/@blueprintjs/icons/-/icons-6.6.0.tgz"
+ integrity sha512-IaMTAAY554iqUCvfO9+okAnC/qprypQqkNOkBdAkID6lXud8PSyfJWdXneSBQnU/fHU1UA+7xILJ6Wr4wGoJGw==
dependencies:
change-case "^4.1.2"
classnames "^2.3.1"
tslib "~2.6.2"
-"@blueprintjs/select@^6.0.0", "@blueprintjs/select@^6.1.0":
- version "6.1.0"
- resolved "https://registry.npmjs.org/@blueprintjs/select/-/select-6.1.0.tgz"
- integrity sha512-0+Xdlpt2Ci72Fk38KkGNfLzsVPku83u9tRUbXkaI0R/f+IzGmrJ4NRODRidXxxGgjh6ImcSj+RCx3BGh7Vlk9w==
+"@blueprintjs/select@^6.0.0", "@blueprintjs/select@^6.1.3":
+ version "6.1.3"
+ resolved "https://registry.npmjs.org/@blueprintjs/select/-/select-6.1.3.tgz"
+ integrity sha512-BsDVwHvDplhNplcPizYVPi6y0KOqAB18Nw+spaQlACKYN9A2MmRe1EOCb1xYUu2dyx3Xz1sUMr1/2l6Dy/I2Ug==
dependencies:
"@blueprintjs/colors" "^5.1.14"
- "@blueprintjs/core" "^6.8.0"
- "@blueprintjs/icons" "^6.5.2"
+ "@blueprintjs/core" "^6.9.1"
+ "@blueprintjs/icons" "^6.6.0"
classnames "^2.3.1"
tslib "~2.6.2"
@@ -1966,10 +1966,10 @@
resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz"
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
-"@types/node@*", "@types/node@^20.19.0 || >=22.12.0", "@types/node@^25.3.0":
- version "25.3.0"
- resolved "https://registry.npmjs.org/@types/node/-/node-25.3.0.tgz"
- integrity sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==
+"@types/node@*", "@types/node@^20.19.0 || >=22.12.0", "@types/node@^25.3.5":
+ version "25.3.5"
+ resolved "https://registry.npmjs.org/@types/node/-/node-25.3.5.tgz"
+ integrity sha512-oX8xrhvpiyRCQkG1MFchB09f+cXftgIXb3a7UUa4Y3wpmZPw5tyZGTLWhlESOLq1Rq6oDlc8npVU2/9xiCuXMA==
dependencies:
undici-types "~7.18.0"
@@ -2168,48 +2168,48 @@
"@typescript-eslint/scope-manager" "^8.51.0"
"@typescript-eslint/utils" "^8.51.0"
-"@zakodium/nmr-types@^0.5.1":
- version "0.5.2"
- resolved "https://registry.npmjs.org/@zakodium/nmr-types/-/nmr-types-0.5.2.tgz"
- integrity sha512-tT7mezDYiiIFrgE1xunmobO9vbMOCMRHtJ3Ei3ArHHq49oGBPoe7a5rWWK6mX4YCUsahhgO503HKwufwge8pLg==
+"@zakodium/nmr-types@^0.5.3":
+ version "0.5.3"
+ resolved "https://registry.npmjs.org/@zakodium/nmr-types/-/nmr-types-0.5.3.tgz"
+ integrity sha512-9NYQZO0yh/cmmW8TqtGk9YX9ZaZk8Fnmsgxvy1ol4wFsqQpLnWX8gpmW17fAmU+/NBn50tmh0tXraygdUer31A==
dependencies:
ml-peak-shape-generator "^4.2.0"
ml-signal-processing "^2.2.0"
- ml-spectra-processing "^14.19.0"
+ ml-spectra-processing "^14.21.0"
-"@zakodium/nmrium-core-plugins@^0.6.39":
- version "0.6.39"
- resolved "https://registry.npmjs.org/@zakodium/nmrium-core-plugins/-/nmrium-core-plugins-0.6.39.tgz"
- integrity sha512-1kgPHIpP7vDXGgG17w9NkeGx0TQJNTXokzKYw/CIh5SqYNuPSZut4r28gWcqP3QBZzlnK+fXUFL2eSjZm35VFg==
+"@zakodium/nmrium-core-plugins@^0.7.1":
+ version "0.7.1"
+ resolved "https://registry.npmjs.org/@zakodium/nmrium-core-plugins/-/nmrium-core-plugins-0.7.1.tgz"
+ integrity sha512-jKxB/Bt/Tp89ltepSFlJWgNynV6GILUcNoVTqR02YxS3WaI6jNAKhXofXWpGgFMlKFGc2TVtmfoCPEOCMAWLeQ==
dependencies:
"@date-fns/utc" "^2.1.1"
- "@zakodium/nmrium-core" "^0.6.5"
+ "@zakodium/nmrium-core" "^0.7.1"
cheminfo-types "^1.10.0"
convert-to-jcamp "^6.0.0"
date-fns "^4.1.0"
- file-collection "^6.6.0"
+ file-collection "^6.6.1"
gyromagnetic-ratio "^2.0.0"
is-any-array "^2.0.1"
- jcampconverter "^12.2.0"
+ jcampconverter "^12.2.1"
linear-sum-assignment "^1.0.9"
lodash.merge "^4.6.2"
- ml-spectra-processing "^14.19.0"
- nmr-processing "^22.5.0"
+ ml-spectra-processing "^14.21.0"
+ nmr-processing "^22.5.2"
openchemlib "^9.20.0"
openchemlib-utils "^8.12.1"
sdf-parser "^7.0.4"
-"@zakodium/nmrium-core@^0.6.5":
- version "0.6.5"
- resolved "https://registry.npmjs.org/@zakodium/nmrium-core/-/nmrium-core-0.6.5.tgz"
- integrity sha512-xSlz1uL1xFZQkFyIqd3c8dffDfixHFrDU7MuZzDJcomC1lu8/uFqnveqq0I+XFhRrFPlf48gXTF9AuOb9GLA/g==
+"@zakodium/nmrium-core@^0.7.1":
+ version "0.7.1"
+ resolved "https://registry.npmjs.org/@zakodium/nmrium-core/-/nmrium-core-0.7.1.tgz"
+ integrity sha512-9o+uRkfBVXMu+W01KfD81SWrLbzJoRY51fxXfsHmqgZWegKZj61Xc79xcgHuV8DPG/xYA1bUHRd0RBOWFtY3fA==
dependencies:
cheminfo-types "^1.10.0"
fifo-logger "^2.0.1"
- file-collection "^6.6.0"
+ file-collection "^6.6.1"
is-any-array "^2.0.1"
lodash.merge "^4.6.2"
- ml-spectra-processing "^14.19.0"
+ ml-spectra-processing "^14.21.0"
nmr-correlation "^2.3.5"
"@zakodium/pdnd-esm@^1.0.2":
@@ -2226,10 +2226,10 @@
resolved "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.36.0.tgz"
integrity sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==
-"@zip.js/zip.js@^2.8.20", "@zip.js/zip.js@^2.8.8":
- version "2.8.21"
- resolved "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.8.21.tgz"
- integrity sha512-fkyzXISE3IMrstDO1AgPkJCx14MYHP/suIGiAovEYEuBjq3mffsuL6aMV7ohOSjW4rXtuACuUfpA3GtITgdtYg==
+"@zip.js/zip.js@^2.8.15", "@zip.js/zip.js@^2.8.22":
+ version "2.8.23"
+ resolved "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.8.23.tgz"
+ integrity sha512-RB+RLnxPJFPrGvQ9rgO+4JOcsob6lD32OcF0QE0yg24oeW9q8KnTTNlugcDaIveEcCbclobJcZP+fLQ++sH0bw==
acorn-jsx@^5.3.2:
version "5.3.2"
@@ -2261,15 +2261,15 @@ ajv@^8.6.0, ajv@>=8:
json-schema-traverse "^1.0.0"
require-from-string "^2.0.2"
-ajv@8.12.0:
- version "8.12.0"
- resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz"
- integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
+ajv@8.18.0:
+ version "8.18.0"
+ resolved "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz"
+ integrity sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==
dependencies:
- fast-deep-equal "^3.1.1"
+ fast-deep-equal "^3.1.3"
+ fast-uri "^3.0.1"
json-schema-traverse "^1.0.0"
require-from-string "^2.0.2"
- uri-js "^4.2.2"
ansi-align@^3.0.1:
version "3.0.1"
@@ -2789,20 +2789,20 @@ char-regex@^1.0.2:
resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz"
integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
-chemical-elements@^2.2.1:
- version "2.2.1"
- resolved "https://registry.npmjs.org/chemical-elements/-/chemical-elements-2.2.1.tgz"
- integrity sha512-Khr3m8RhBbNwDb2MSo9Zb9O+dcUuFourUC0hK+YxNhAtEhOwJPVTMDQeDi1vUwH44tUeNRNKriUs2QQFNQvxgg==
+chemical-elements@^2.2.2:
+ version "2.2.2"
+ resolved "https://registry.npmjs.org/chemical-elements/-/chemical-elements-2.2.2.tgz"
+ integrity sha512-EL7cKE8FSyTcsWbs3uECKfYtdZW6Z8tD2OAeRXK4+rRc3+AMsJUqu/Sl790Ej4qbcy11/35ErdfnI5Yy7zQopw==
chemical-groups@^2.2.3:
version "2.2.3"
resolved "https://registry.npmjs.org/chemical-groups/-/chemical-groups-2.2.3.tgz"
integrity sha512-rIhA7dC2OJNbQeEFM6+3u81hItYWkaYbWh7awn3hy9RI1qCvhQgdTkrvt7zlLCmcp2nuMzJZUXSju6etBsf6lA==
-cheminfo-font@^1.13.1:
- version "1.13.1"
- resolved "https://registry.npmjs.org/cheminfo-font/-/cheminfo-font-1.13.1.tgz"
- integrity sha512-FIT5ybXaNolIAl8V64a3YQWZ28YaJgRz93ApBloI6NDIA5kGifTma822/bSDA/ABSwqOJAWwr/cMipIZxMjE/g==
+cheminfo-font@^1.20.0:
+ version "1.21.0"
+ resolved "https://registry.npmjs.org/cheminfo-font/-/cheminfo-font-1.21.0.tgz"
+ integrity sha512-Eou8OIegiaA+BV6aQJKsXPJkaWotvkAOGy5vchtBRDhrDhlsKryat8N/BuHPWBCBkUnyja5FG0YKDccPlmA7Hw==
cheminfo-types@^1.1.0, cheminfo-types@^1.10.0, cheminfo-types@^1.4.0, cheminfo-types@^1.7.2, cheminfo-types@^1.7.3, cheminfo-types@^1.8.0, cheminfo-types@^1.8.1:
version "1.10.0"
@@ -3874,13 +3874,13 @@ fft.js@^4.0.3, fft.js@^4.0.4:
dependencies:
typescript-event-target "^1.1.1"
-file-collection@^6.6.0:
- version "6.6.0"
- resolved "https://registry.npmjs.org/file-collection/-/file-collection-6.6.0.tgz"
- integrity sha512-QO1CaaSoqslwib8atFXiavl7OXQMf8JzlRmsDWg1rCWwdFjmzZDnpfkvrrS32XL4Q47Z8fKXOr21r2SMTt/EBQ==
+file-collection@^6.6.1:
+ version "6.6.1"
+ resolved "https://registry.npmjs.org/file-collection/-/file-collection-6.6.1.tgz"
+ integrity sha512-YJtg82Xo3pqhfXdM3tT7+vYAYj2GgC+J4jQvhYT2GDk3UsochfrHr7BxGEiQQmjIPu05ogQx9ZJ1VclhNViPJQ==
dependencies:
- "@zip.js/zip.js" "^2.8.8"
- cheminfo-types "^1.8.1"
+ "@zip.js/zip.js" "^2.8.15"
+ cheminfo-types "^1.10.0"
file-entry-cache@^8.0.0:
version "8.0.0"
@@ -4006,16 +4006,6 @@ fscreen@^1.0.2:
resolved "https://registry.npmjs.org/fscreen/-/fscreen-1.2.0.tgz"
integrity sha512-hlq4+BU0hlPmwsFjwGGzZ+OZ9N/wq9Ljg/sq3pX+2CD7hrJsX9tJgWWK/wiNTFM212CLHWhicOoqwXyZGGetJg==
-fsevents@^2.3.3, fsevents@~2.3.2, fsevents@~2.3.3:
- version "2.3.3"
- resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
- integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
-
-fsevents@2.3.2:
- version "2.3.2"
- resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz"
- integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
-
function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
@@ -4712,10 +4702,10 @@ jake@^10.8.5:
filelist "^1.0.4"
picocolors "^1.1.1"
-jcampconverter@^12.2.0:
- version "12.2.0"
- resolved "https://registry.npmjs.org/jcampconverter/-/jcampconverter-12.2.0.tgz"
- integrity sha512-gHEIRlIdz1n8NujQbyv4U8iCfS5go2gCRk+Z00fbtq1NMoPlwMmrUfW+VhE9rezqSlACe7roqMNIZOKV0JtBow==
+jcampconverter@^12.2.1:
+ version "12.2.1"
+ resolved "https://registry.npmjs.org/jcampconverter/-/jcampconverter-12.2.1.tgz"
+ integrity sha512-eskEMLdlOPMmaYBIEsHz0SS+OE92/8n+OEtRnv/nzmnDMydMv4zgpNH9wCRETyPYanPGOCUJck/3/6TIpsO6ww==
dependencies:
cheminfo-types "^1.10.0"
dynamic-typing "^1.0.1"
@@ -5333,13 +5323,13 @@ merge-stream@^2.0.0:
resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz"
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-mf-parser@^3.6.0:
- version "3.6.0"
- resolved "https://registry.npmjs.org/mf-parser/-/mf-parser-3.6.0.tgz"
- integrity sha512-vBE7hE8ZB2rtMPxJZHgfuMQIF98ebqXUDTtG/EzapRJ/CDurI/bEo8ZEyQI+ZKznGXr6HGcnBdoE2+U52v/JtA==
+mf-parser@^3.6.0, mf-parser@^3.7.0:
+ version "3.7.1"
+ resolved "https://registry.npmjs.org/mf-parser/-/mf-parser-3.7.1.tgz"
+ integrity sha512-JgVo43b7rkb/miykgXpE0eT+udACCvKWg2BYPysLnkOOQtosI3wP2dq7mUS8guGx2I75PnVs8/HLXbXM4K+IdQ==
dependencies:
atom-sorter "^2.2.1"
- chemical-elements "^2.2.1"
+ chemical-elements "^2.2.2"
chemical-groups "^2.2.3"
micromatch@^4.0.8:
@@ -5379,10 +5369,10 @@ minimatch@^10.1.1:
dependencies:
"@isaacs/brace-expansion" "^5.0.0"
-minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2, minimatch@3.1.2:
- version "3.1.2"
- resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
- integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2, minimatch@3.1.5:
+ version "3.1.5"
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz"
+ integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==
dependencies:
brace-expansion "^1.1.7"
@@ -5698,10 +5688,10 @@ ml-spectra-fitting@^5.0.1:
ml-peak-shape-generator "^4.1.4"
ml-spectra-processing "^14.2.0"
-ml-spectra-processing@^14.10.0, ml-spectra-processing@^14.12.0, ml-spectra-processing@^14.18.0, ml-spectra-processing@^14.19.0, ml-spectra-processing@^14.2.0, ml-spectra-processing@^14.2.2, ml-spectra-processing@^14.5.0, ml-spectra-processing@^14.7.0:
- version "14.19.0"
- resolved "https://registry.npmjs.org/ml-spectra-processing/-/ml-spectra-processing-14.19.0.tgz"
- integrity sha512-PbvRh/cFneCDY629qpURsaq58oz0pF+TM8w5lLtvAVfZmA6QOHEf5eh93n73HXS7HgkAzLJNXnKefCW8kSBmKQ==
+ml-spectra-processing@^14.10.0, ml-spectra-processing@^14.12.0, ml-spectra-processing@^14.18.0, ml-spectra-processing@^14.19.0, ml-spectra-processing@^14.2.0, ml-spectra-processing@^14.2.2, ml-spectra-processing@^14.21.0, ml-spectra-processing@^14.5.0, ml-spectra-processing@^14.7.0:
+ version "14.22.0"
+ resolved "https://registry.npmjs.org/ml-spectra-processing/-/ml-spectra-processing-14.22.0.tgz"
+ integrity sha512-rafMp7ny4J96mMM7AUmRKKXYhNw7J4keolHaYZjiQbqSqknlAntHlng1H0O30KpsOnqHH2XBPFIlGAaQruQAxw==
dependencies:
binary-search "^1.3.6"
cheminfo-types "^1.10.0"
@@ -5801,10 +5791,10 @@ nmr-correlation@2.3.3:
ml-matrix-peaks-finder "^1.0.0"
ml-peak-shape-generator "^4.1.1"
-nmr-processing@^22.4.0, nmr-processing@^22.5.0:
- version "22.5.0"
- resolved "https://registry.npmjs.org/nmr-processing/-/nmr-processing-22.5.0.tgz"
- integrity sha512-/FLaMtROD1gwf8qqOfpynYNdtwRwqjSWzVtgcJvQekmHKFoALFwuxTV3Wj+LGmjCNWtAUauw/xb6fQ0DHAT0Tg==
+nmr-processing@^22.5.2:
+ version "22.5.2"
+ resolved "https://registry.npmjs.org/nmr-processing/-/nmr-processing-22.5.2.tgz"
+ integrity sha512-Dv0WsGuzMP9pxVTcX2YTdr5MEixLZ9ZUzBcu53IGfA9YororXZs6ZTIG10tteZtQKvqDutVBQhf8xOZqqy7IGQ==
dependencies:
binary-search "^1.3.6"
d3-color "3.1.0"
@@ -5830,7 +5820,7 @@ nmr-processing@^22.4.0, nmr-processing@^22.5.0:
ml-signal-processing "^2.2.0"
ml-simple-clustering "^1.0.0"
ml-sparse-matrix "^3.1.0"
- ml-spectra-processing "^14.19.0"
+ ml-spectra-processing "^14.21.0"
ml-tree-set "^1.0.1"
multiplet-analysis "^2.1.5"
nmr-correlation "^3.0.0"
@@ -5839,23 +5829,24 @@ nmr-processing@^22.4.0, nmr-processing@^22.5.0:
openchemlib-utils "^8.12.1"
spectrum-generator "^8.1.1"
-nmrium@^1.12.0:
- version "1.12.0"
- resolved "https://registry.npmjs.org/nmrium/-/nmrium-1.12.0.tgz"
- integrity sha512-5FH4LJFPoIodoMXBMQHKjj8ejuFjrOe4RZm8ePBMLqpjM9QZhbDnIp9rmkpu2gJyogpWXv6ig+H1dcuS/1o8sA==
+nmrium@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/nmrium/-/nmrium-2.0.0.tgz"
+ integrity sha512-6hWeBoQ6vIj/nTU/xnF8KBH1YK/pmb/uTKIGnCzLJPO/eGg+tSpVCOER9VllU45i973SFeGu5owGukJLCZvMDg==
dependencies:
- "@atlaskit/pragmatic-drag-and-drop" "^1.7.7"
+ "@atlaskit/pragmatic-drag-and-drop" "^1.7.9"
"@atlaskit/pragmatic-drag-and-drop-hitbox" "^1.1.0"
"@emotion/react" "^11.14.0"
"@emotion/styled" "^11.14.1"
"@hookform/resolvers" "^5.2.2"
"@tanstack/react-form" "^1.28.3"
- "@zakodium/nmr-types" "^0.5.1"
- "@zakodium/nmrium-core" "^0.6.5"
- "@zakodium/nmrium-core-plugins" "^0.6.39"
+ "@tanstack/react-table" "^8.21.3"
+ "@zakodium/nmr-types" "^0.5.3"
+ "@zakodium/nmrium-core" "^0.7.1"
+ "@zakodium/nmrium-core-plugins" "^0.7.1"
"@zakodium/pdnd-esm" "^1.0.2"
- "@zip.js/zip.js" "^2.8.20"
- cheminfo-font "^1.13.1"
+ "@zip.js/zip.js" "^2.8.22"
+ cheminfo-font "^1.20.0"
cheminfo-types "^1.10.0"
clipboard-polyfill "^4.1.1"
d3-array "^3.2.4"
@@ -5864,37 +5855,37 @@ nmrium@^1.12.0:
dlv "^1.1.3"
eventemitter3 "^5.0.4"
fifo-logger "^2.0.1"
- file-collection "^6.6.0"
+ file-collection "^6.6.1"
file-saver "^2.0.5"
get-jpaths "^1.4.0"
immer "^11.1.4"
lodash "^4.17.23"
- mf-parser "^3.6.0"
+ mf-parser "^3.7.0"
ml-array-mean "^1.1.6"
ml-array-median "^1.1.6"
ml-conrec "^5.0.3"
ml-gsd "^13.1.1"
ml-signal-processing "^2.2.0"
- ml-spectra-processing "^14.19.0"
+ ml-spectra-processing "^14.21.0"
ml-tree-similarity "^2.2.0"
nmr-correlation "2.3.3"
- nmr-processing "^22.4.0"
+ nmr-processing "^22.5.2"
numeral "^2.0.6"
openchemlib "^9.20.0"
- openchemlib-utils "^8.12.1"
+ openchemlib-utils "^8.13.1"
papaparse "^5.5.3"
react-d3-utils "^3.1.2"
react-dropzone "^15.0.0"
react-error-boundary "^6.1.1"
- react-hook-form "^7.71.1"
- react-icons "^5.5.0"
+ react-hook-form "^7.71.2"
+ react-icons "^5.6.0"
react-inspector "^9.0.0"
react-mf "^3.1.1"
- react-ocl "^8.5.0"
+ react-ocl "^8.6.0"
react-ocl-nmr "^4.1.1"
react-plot "^3.1.2"
react-rnd "^10.5.2"
- react-science "^19.9.0"
+ react-science "^19.10.1"
react-table "^7.8.0"
smart-array-filter "^5.0.0"
yup "^1.7.1"
@@ -6035,13 +6026,13 @@ onetime@^5.1.2:
dependencies:
mimic-fn "^2.1.0"
-openchemlib-utils@^8.1.1, openchemlib-utils@^8.12.1:
- version "8.12.1"
- resolved "https://registry.npmjs.org/openchemlib-utils/-/openchemlib-utils-8.12.1.tgz"
- integrity sha512-aQbEzLxunuRqwEVw6I98J9NL+Mxo3uASLbFjhsFe4ZuJZWN7G+s8tgmXO43+9kaNNeD8lAjcG6+EHNhwX+TV3w==
+openchemlib-utils@^8.1.1, openchemlib-utils@^8.12.1, openchemlib-utils@^8.13.1:
+ version "8.13.1"
+ resolved "https://registry.npmjs.org/openchemlib-utils/-/openchemlib-utils-8.13.1.tgz"
+ integrity sha512-kt7ChPBM3lJw0cya4qp0Qk+YXrYdJgDBJjgZTMZjeY7bfMjeFFtCA66yZaVxkIdEIOmOa/Kd3t+ohS8mOpNrpw==
dependencies:
atom-sorter "^2.2.1"
- ensure-string "^1.2.0"
+ ensure-string "^2.0.0"
get-value "^4.0.1"
ml-floyd-warshall "^3.0.1"
ml-matrix "^6.12.1"
@@ -6436,15 +6427,15 @@ react-full-screen@^1.1.1:
dependencies:
fscreen "^1.0.2"
-react-hook-form@^7.55.0, react-hook-form@^7.71.1:
- version "7.71.1"
- resolved "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.71.1.tgz"
- integrity sha512-9SUJKCGKo8HUSsCO+y0CtqkqI5nNuaDqTxyqPsZPqIwudpj4rCrAz/jZV+jn57bx5gtZKOh3neQu94DXMc+w5w==
+react-hook-form@^7.55.0, react-hook-form@^7.71.2:
+ version "7.71.2"
+ resolved "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.71.2.tgz"
+ integrity sha512-1CHvcDYzuRUNOflt4MOq3ZM46AronNJtQ1S7tnX6YN4y72qhgiUItpacZUAQ0TyWYci3yz1X+rXaSxiuEm86PA==
-react-icons@^5.5.0:
- version "5.5.0"
- resolved "https://registry.npmjs.org/react-icons/-/react-icons-5.5.0.tgz"
- integrity sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==
+react-icons@^5.5.0, react-icons@^5.6.0:
+ version "5.6.0"
+ resolved "https://registry.npmjs.org/react-icons/-/react-icons-5.6.0.tgz"
+ integrity sha512-RH93p5ki6LfOiIt0UtDyNg/cee+HLVR6cHHtW3wALfo+eOHTp8RnU2kRkI6E+H19zMIs03DyxUG/GfZMOGvmiA==
react-inspector@^9.0.0:
version "9.0.0"
@@ -6477,12 +6468,13 @@ react-ocl-nmr@^4.1.1:
openchemlib-utils "^8.1.1"
react-ocl "^8.2.0"
-react-ocl@^8.2.0, react-ocl@^8.5.0:
- version "8.5.0"
- resolved "https://registry.npmjs.org/react-ocl/-/react-ocl-8.5.0.tgz"
- integrity sha512-IOgPuJCcGs36iiiWjVz1EuHzutlmFQak7H+YXEy0cjEodZeL7HWAqrjWzd1/uyKIpDL+Hkqzk8RNVyWt2j18xg==
+react-ocl@^8.2.0, react-ocl@^8.6.0:
+ version "8.6.0"
+ resolved "https://registry.npmjs.org/react-ocl/-/react-ocl-8.6.0.tgz"
+ integrity sha512-ThIaeh578kRvYJ3Ib5Vm6C5FzUSUFOmCPurxO6orN3lGHOKzTOI1BYS1QYfwQGPwO7pRUMqSshnihPaFVDbELA==
dependencies:
"@emotion/styled" "^11.14.1"
+ "@floating-ui/react-dom" "^2.1.7"
react-plot@^3.1.2:
version "3.1.2"
@@ -6519,25 +6511,25 @@ react-rnd@^10.5.2:
react-draggable "4.4.6"
tslib "2.6.2"
-react-router-dom@^7.13.0:
- version "7.13.0"
- resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.13.0.tgz"
- integrity sha512-5CO/l5Yahi2SKC6rGZ+HDEjpjkGaG/ncEP7eWFTvFxbHP8yeeI0PxTDjimtpXYlR3b3i9/WIL4VJttPrESIf2g==
+react-router-dom@^7.13.1:
+ version "7.13.1"
+ resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.13.1.tgz"
+ integrity sha512-UJnV3Rxc5TgUPJt2KJpo1Jpy0OKQr0AjgbZzBFjaPJcFOb2Y8jA5H3LT8HUJAiRLlWrEXWHbF1Z4SCZaQjWDHw==
dependencies:
- react-router "7.13.0"
+ react-router "7.13.1"
-react-router@7.13.0:
- version "7.13.0"
- resolved "https://registry.npmjs.org/react-router/-/react-router-7.13.0.tgz"
- integrity sha512-PZgus8ETambRT17BUm/LL8lX3Of+oiLaPuVTRH3l1eLvSPpKO3AvhAEb5N7ihAFZQrYDqkvvWfFh9p0z9VsjLw==
+react-router@7.13.1:
+ version "7.13.1"
+ resolved "https://registry.npmjs.org/react-router/-/react-router-7.13.1.tgz"
+ integrity sha512-td+xP4X2/6BJvZoX6xw++A2DdEi++YypA69bJUV5oVvqf6/9/9nNlD70YO1e9d3MyamJEBQFEzk6mbfDYbqrSA==
dependencies:
cookie "^1.0.1"
set-cookie-parser "^2.6.0"
-react-science@^19.9.0, react-science@^19.9.1:
- version "19.9.1"
- resolved "https://registry.npmjs.org/react-science/-/react-science-19.9.1.tgz"
- integrity sha512-5ykYCRov4+V21XDJS/pxhdlz9AFgNr8TLRtzCaQLUuOMewcyc0C1zDdcmyAYdcuIHq7qd90n8Q9RnpSUL3EWuw==
+react-science@^19.10.1:
+ version "19.10.1"
+ resolved "https://registry.npmjs.org/react-science/-/react-science-19.10.1.tgz"
+ integrity sha512-QDsZPEiog8IvG9s35M7gMIYoWbxsxEYx7VBCGf2GkotKuM/lIUlVUReDGiKL9IexEoYCVlemH+kkme5xBMiWSA==
dependencies:
"@atlaskit/pragmatic-drag-and-drop" "^1.7.7"
"@atlaskit/pragmatic-drag-and-drop-auto-scroll" "^2.1.5"
@@ -6860,26 +6852,26 @@ serialize-javascript@^6.0.1:
dependencies:
randombytes "^2.1.0"
-serve-handler@6.1.6:
- version "6.1.6"
- resolved "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz"
- integrity sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==
+serve-handler@6.1.7:
+ version "6.1.7"
+ resolved "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.7.tgz"
+ integrity sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg==
dependencies:
bytes "3.0.0"
content-disposition "0.5.2"
mime-types "2.1.18"
- minimatch "3.1.2"
+ minimatch "3.1.5"
path-is-inside "1.0.2"
path-to-regexp "3.3.0"
range-parser "1.2.0"
-serve@^14.2.5:
- version "14.2.5"
- resolved "https://registry.npmjs.org/serve/-/serve-14.2.5.tgz"
- integrity sha512-Qn/qMkzCcMFVPb60E/hQy+iRLpiU8PamOfOSYoAHmmF+fFFmpPpqa6Oci2iWYpTdOUM3VF+TINud7CfbQnsZbA==
+serve@^14.2.6:
+ version "14.2.6"
+ resolved "https://registry.npmjs.org/serve/-/serve-14.2.6.tgz"
+ integrity sha512-QEjUSA+sD4Rotm1znR8s50YqA3kYpRGPmtd5GlFxbaL9n/FdUNbqMhxClqdditSk0LlZyA/dhud6XNRTOC9x2Q==
dependencies:
"@zeit/schemas" "2.36.0"
- ajv "8.12.0"
+ ajv "8.18.0"
arg "5.0.2"
boxen "7.0.0"
chalk "5.0.1"
@@ -6887,7 +6879,7 @@ serve@^14.2.5:
clipboardy "3.0.0"
compression "1.8.1"
is-port-reachable "4.0.0"
- serve-handler "6.1.6"
+ serve-handler "6.1.7"
update-check "1.5.4"
set-cookie-parser@^2.6.0:
@@ -8005,6 +7997,11 @@ yaml@^1.10.0:
resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz"
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+yaml@^2.4.2:
+ version "2.8.2"
+ resolved "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz"
+ integrity sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==
+
yargs-parser@^21.1.1:
version "21.1.1"
resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz"