react-science 10.0.0 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/lib/components/accordion/accordion.d.ts +5 -0
  2. package/lib/components/accordion/accordion.d.ts.map +1 -1
  3. package/lib/components/accordion/accordion.js +6 -3
  4. package/lib/components/accordion/accordion.js.map +1 -1
  5. package/lib/components/accordion/accordion_context.d.ts +1 -0
  6. package/lib/components/accordion/accordion_context.d.ts.map +1 -1
  7. package/lib/components/accordion/accordion_context.js +2 -1
  8. package/lib/components/accordion/accordion_context.js.map +1 -1
  9. package/lib/components/accordion/accordion_context.provider.d.ts +1 -0
  10. package/lib/components/accordion/accordion_context.provider.d.ts.map +1 -1
  11. package/lib/components/accordion/accordion_context.provider.js +4 -2
  12. package/lib/components/accordion/accordion_context.provider.js.map +1 -1
  13. package/lib/components/accordion/accordion_context.state.d.ts +1 -0
  14. package/lib/components/accordion/accordion_context.state.d.ts.map +1 -1
  15. package/lib/components/accordion/accordion_context.state.js.map +1 -1
  16. package/lib/components/color-picker/preview/ColorPreview.d.ts +8 -1
  17. package/lib/components/color-picker/preview/ColorPreview.d.ts.map +1 -1
  18. package/lib/components/color-picker/preview/ColorPreview.js.map +1 -1
  19. package/package.json +39 -47
  20. package/src/components/accordion/accordion.tsx +31 -17
  21. package/src/components/accordion/accordion_context.provider.tsx +8 -3
  22. package/src/components/accordion/accordion_context.state.ts +1 -0
  23. package/src/components/accordion/accordion_context.ts +2 -1
  24. package/src/components/color-picker/preview/ColorPreview.tsx +5 -1
  25. package/lib/app/about/AboutDialogToolbarButton.d.ts +0 -10
  26. package/lib/app/about/AboutDialogToolbarButton.d.ts.map +0 -1
  27. package/lib/app/about/AboutDialogToolbarButton.js +0 -9
  28. package/lib/app/about/AboutDialogToolbarButton.js.map +0 -1
  29. package/lib/app/about/index.d.ts +0 -2
  30. package/lib/app/about/index.d.ts.map +0 -1
  31. package/lib/app/about/index.js +0 -2
  32. package/lib/app/about/index.js.map +0 -1
  33. package/lib/app/explorer/ExplorerPlotView.d.ts +0 -2
  34. package/lib/app/explorer/ExplorerPlotView.d.ts.map +0 -1
  35. package/lib/app/explorer/ExplorerPlotView.js +0 -16
  36. package/lib/app/explorer/ExplorerPlotView.js.map +0 -1
  37. package/lib/app/explorer/MeasurementExplorer.d.ts +0 -11
  38. package/lib/app/explorer/MeasurementExplorer.d.ts.map +0 -1
  39. package/lib/app/explorer/MeasurementExplorer.js +0 -114
  40. package/lib/app/explorer/MeasurementExplorer.js.map +0 -1
  41. package/lib/app/explorer/MeasurementExplorerWithState.d.ts +0 -2
  42. package/lib/app/explorer/MeasurementExplorerWithState.d.ts.map +0 -1
  43. package/lib/app/explorer/MeasurementExplorerWithState.js +0 -11
  44. package/lib/app/explorer/MeasurementExplorerWithState.js.map +0 -1
  45. package/lib/app/explorer/index.d.ts +0 -3
  46. package/lib/app/explorer/index.d.ts.map +0 -1
  47. package/lib/app/explorer/index.js +0 -3
  48. package/lib/app/explorer/index.js.map +0 -1
  49. package/lib/app/helpers/MeasurementPlot.d.ts +0 -22
  50. package/lib/app/helpers/MeasurementPlot.d.ts.map +0 -1
  51. package/lib/app/helpers/MeasurementPlot.js +0 -39
  52. package/lib/app/helpers/MeasurementPlot.js.map +0 -1
  53. package/lib/app/helpers/MeasurementVariableSelect.d.ts +0 -9
  54. package/lib/app/helpers/MeasurementVariableSelect.d.ts.map +0 -1
  55. package/lib/app/helpers/MeasurementVariableSelect.js +0 -11
  56. package/lib/app/helpers/MeasurementVariableSelect.js.map +0 -1
  57. package/lib/app/helpers/getColorFromConfig.d.ts +0 -3
  58. package/lib/app/helpers/getColorFromConfig.d.ts.map +0 -1
  59. package/lib/app/helpers/getColorFromConfig.js +0 -11
  60. package/lib/app/helpers/getColorFromConfig.js.map +0 -1
  61. package/lib/app/helpers/index.d.ts +0 -6
  62. package/lib/app/helpers/index.d.ts.map +0 -1
  63. package/lib/app/helpers/index.js +0 -6
  64. package/lib/app/helpers/index.js.map +0 -1
  65. package/lib/app/helpers/react-plot.d.ts +0 -8
  66. package/lib/app/helpers/react-plot.d.ts.map +0 -1
  67. package/lib/app/helpers/react-plot.js +0 -44
  68. package/lib/app/helpers/react-plot.js.map +0 -1
  69. package/lib/app/helpers/splitEntries.d.ts +0 -6
  70. package/lib/app/helpers/splitEntries.d.ts.map +0 -1
  71. package/lib/app/helpers/splitEntries.js +0 -16
  72. package/lib/app/helpers/splitEntries.js.map +0 -1
  73. package/lib/app/hooks/file-loading.d.ts +0 -9
  74. package/lib/app/hooks/file-loading.d.ts.map +0 -1
  75. package/lib/app/hooks/file-loading.js +0 -36
  76. package/lib/app/hooks/file-loading.js.map +0 -1
  77. package/lib/app/hooks/index.d.ts +0 -2
  78. package/lib/app/hooks/index.d.ts.map +0 -1
  79. package/lib/app/hooks/index.js +0 -2
  80. package/lib/app/hooks/index.js.map +0 -1
  81. package/lib/app/index.d.ts +0 -6
  82. package/lib/app/index.d.ts.map +0 -1
  83. package/lib/app/index.js +0 -6
  84. package/lib/app/index.js.map +0 -1
  85. package/lib/app/kinds/index.d.ts +0 -4
  86. package/lib/app/kinds/index.d.ts.map +0 -1
  87. package/lib/app/kinds/index.js +0 -4
  88. package/lib/app/kinds/index.js.map +0 -1
  89. package/lib/app/kinds/ir/IrPeaksPanel.d.ts +0 -25
  90. package/lib/app/kinds/ir/IrPeaksPanel.d.ts.map +0 -1
  91. package/lib/app/kinds/ir/IrPeaksPanel.js +0 -28
  92. package/lib/app/kinds/ir/IrPeaksPanel.js.map +0 -1
  93. package/lib/app/kinds/ir/index.d.ts +0 -2
  94. package/lib/app/kinds/ir/index.d.ts.map +0 -1
  95. package/lib/app/kinds/ir/index.js +0 -2
  96. package/lib/app/kinds/ir/index.js.map +0 -1
  97. package/lib/app/kinds/iv/index.d.ts +0 -2
  98. package/lib/app/kinds/iv/index.d.ts.map +0 -1
  99. package/lib/app/kinds/iv/index.js +0 -2
  100. package/lib/app/kinds/iv/index.js.map +0 -1
  101. package/lib/app/kinds/iv/plot-view/IvMeasurementsPlot.d.ts +0 -2
  102. package/lib/app/kinds/iv/plot-view/IvMeasurementsPlot.d.ts.map +0 -1
  103. package/lib/app/kinds/iv/plot-view/IvMeasurementsPlot.js +0 -50
  104. package/lib/app/kinds/iv/plot-view/IvMeasurementsPlot.js.map +0 -1
  105. package/lib/app/kinds/iv/plot-view/IvPlotVariablesSelector.d.ts +0 -2
  106. package/lib/app/kinds/iv/plot-view/IvPlotVariablesSelector.d.ts.map +0 -1
  107. package/lib/app/kinds/iv/plot-view/IvPlotVariablesSelector.js +0 -30
  108. package/lib/app/kinds/iv/plot-view/IvPlotVariablesSelector.js.map +0 -1
  109. package/lib/app/kinds/iv/plot-view/IvPlotView.d.ts +0 -2
  110. package/lib/app/kinds/iv/plot-view/IvPlotView.d.ts.map +0 -1
  111. package/lib/app/kinds/iv/plot-view/IvPlotView.js +0 -32
  112. package/lib/app/kinds/iv/plot-view/IvPlotView.js.map +0 -1
  113. package/lib/app/kinds/iv/plot-view/IvSeries.d.ts +0 -11
  114. package/lib/app/kinds/iv/plot-view/IvSeries.d.ts.map +0 -1
  115. package/lib/app/kinds/iv/plot-view/IvSeries.js +0 -23
  116. package/lib/app/kinds/iv/plot-view/IvSeries.js.map +0 -1
  117. package/lib/app/kinds/mass/MassPlotView.d.ts +0 -2
  118. package/lib/app/kinds/mass/MassPlotView.d.ts.map +0 -1
  119. package/lib/app/kinds/mass/MassPlotView.js +0 -11
  120. package/lib/app/kinds/mass/MassPlotView.js.map +0 -1
  121. package/lib/app/kinds/mass/MeasurementMassPlot.d.ts +0 -3
  122. package/lib/app/kinds/mass/MeasurementMassPlot.d.ts.map +0 -1
  123. package/lib/app/kinds/mass/MeasurementMassPlot.js +0 -75
  124. package/lib/app/kinds/mass/MeasurementMassPlot.js.map +0 -1
  125. package/lib/app/kinds/mass/index.d.ts +0 -3
  126. package/lib/app/kinds/mass/index.d.ts.map +0 -1
  127. package/lib/app/kinds/mass/index.js +0 -3
  128. package/lib/app/kinds/mass/index.js.map +0 -1
  129. package/lib/app/panels/SignalProcessingPanel.d.ts +0 -11
  130. package/lib/app/panels/SignalProcessingPanel.d.ts.map +0 -1
  131. package/lib/app/panels/SignalProcessingPanel.js +0 -104
  132. package/lib/app/panels/SignalProcessingPanel.js.map +0 -1
  133. package/lib/app/panels/index.d.ts +0 -5
  134. package/lib/app/panels/index.d.ts.map +0 -1
  135. package/lib/app/panels/index.js +0 -5
  136. package/lib/app/panels/index.js.map +0 -1
  137. package/lib/app/panels/measurement-config/MeasurementConfigPanel.d.ts +0 -2
  138. package/lib/app/panels/measurement-config/MeasurementConfigPanel.d.ts.map +0 -1
  139. package/lib/app/panels/measurement-config/MeasurementConfigPanel.js +0 -25
  140. package/lib/app/panels/measurement-config/MeasurementConfigPanel.js.map +0 -1
  141. package/lib/app/panels/measurement-config/MeasurementConfigPanelAccordion.d.ts +0 -2
  142. package/lib/app/panels/measurement-config/MeasurementConfigPanelAccordion.d.ts.map +0 -1
  143. package/lib/app/panels/measurement-config/MeasurementConfigPanelAccordion.js +0 -14
  144. package/lib/app/panels/measurement-config/MeasurementConfigPanelAccordion.js.map +0 -1
  145. package/lib/app/panels/measurement-config/index.d.ts +0 -3
  146. package/lib/app/panels/measurement-config/index.d.ts.map +0 -1
  147. package/lib/app/panels/measurement-config/index.js +0 -3
  148. package/lib/app/panels/measurement-config/index.js.map +0 -1
  149. package/lib/app/panels/measurement-info/MeasurementInfoPanel.d.ts +0 -2
  150. package/lib/app/panels/measurement-info/MeasurementInfoPanel.d.ts.map +0 -1
  151. package/lib/app/panels/measurement-info/MeasurementInfoPanel.js +0 -23
  152. package/lib/app/panels/measurement-info/MeasurementInfoPanel.js.map +0 -1
  153. package/lib/app/panels/measurement-info/MeasurementInfoPanelAccordion.d.ts +0 -2
  154. package/lib/app/panels/measurement-info/MeasurementInfoPanelAccordion.d.ts.map +0 -1
  155. package/lib/app/panels/measurement-info/MeasurementInfoPanelAccordion.js +0 -7
  156. package/lib/app/panels/measurement-info/MeasurementInfoPanelAccordion.js.map +0 -1
  157. package/lib/app/panels/measurement-info/index.d.ts +0 -3
  158. package/lib/app/panels/measurement-info/index.d.ts.map +0 -1
  159. package/lib/app/panels/measurement-info/index.js +0 -3
  160. package/lib/app/panels/measurement-info/index.js.map +0 -1
  161. package/lib/app/panels/measurements/MeasurementCheckbox.d.ts +0 -8
  162. package/lib/app/panels/measurements/MeasurementCheckbox.d.ts.map +0 -1
  163. package/lib/app/panels/measurements/MeasurementCheckbox.js +0 -22
  164. package/lib/app/panels/measurements/MeasurementCheckbox.js.map +0 -1
  165. package/lib/app/panels/measurements/MeasurementColorPreview.d.ts +0 -9
  166. package/lib/app/panels/measurements/MeasurementColorPreview.d.ts.map +0 -1
  167. package/lib/app/panels/measurements/MeasurementColorPreview.js +0 -45
  168. package/lib/app/panels/measurements/MeasurementColorPreview.js.map +0 -1
  169. package/lib/app/panels/measurements/MeasurementVisibilityToggle.d.ts +0 -12
  170. package/lib/app/panels/measurements/MeasurementVisibilityToggle.d.ts.map +0 -1
  171. package/lib/app/panels/measurements/MeasurementVisibilityToggle.js +0 -26
  172. package/lib/app/panels/measurements/MeasurementVisibilityToggle.js.map +0 -1
  173. package/lib/app/panels/measurements/MeasurementsPanel.d.ts +0 -4
  174. package/lib/app/panels/measurements/MeasurementsPanel.d.ts.map +0 -1
  175. package/lib/app/panels/measurements/MeasurementsPanel.js +0 -42
  176. package/lib/app/panels/measurements/MeasurementsPanel.js.map +0 -1
  177. package/lib/app/panels/measurements/MeasurementsPanelAccordion.d.ts +0 -2
  178. package/lib/app/panels/measurements/MeasurementsPanelAccordion.d.ts.map +0 -1
  179. package/lib/app/panels/measurements/MeasurementsPanelAccordion.js +0 -20
  180. package/lib/app/panels/measurements/MeasurementsPanelAccordion.js.map +0 -1
  181. package/lib/app/panels/measurements/MeasurementsTable.d.ts +0 -6
  182. package/lib/app/panels/measurements/MeasurementsTable.d.ts.map +0 -1
  183. package/lib/app/panels/measurements/MeasurementsTable.js +0 -159
  184. package/lib/app/panels/measurements/MeasurementsTable.js.map +0 -1
  185. package/lib/app/panels/measurements/index.d.ts +0 -9
  186. package/lib/app/panels/measurements/index.d.ts.map +0 -1
  187. package/lib/app/panels/measurements/index.js +0 -9
  188. package/lib/app/panels/measurements/index.js.map +0 -1
  189. package/lib/app/panels/measurements/measurement_panel_context.d.ts +0 -7
  190. package/lib/app/panels/measurements/measurement_panel_context.d.ts.map +0 -1
  191. package/lib/app/panels/measurements/measurement_panel_context.js +0 -10
  192. package/lib/app/panels/measurements/measurement_panel_context.js.map +0 -1
  193. package/lib/app/panels/measurements/measurement_panel_context.provider.d.ts +0 -7
  194. package/lib/app/panels/measurements/measurement_panel_context.provider.d.ts.map +0 -1
  195. package/lib/app/panels/measurements/measurement_panel_context.provider.js +0 -6
  196. package/lib/app/panels/measurements/measurement_panel_context.provider.js.map +0 -1
  197. package/lib/app-data/enhancers/enhance.d.ts +0 -8
  198. package/lib/app-data/enhancers/enhance.d.ts.map +0 -1
  199. package/lib/app-data/enhancers/enhance.js +0 -13
  200. package/lib/app-data/enhancers/enhance.js.map +0 -1
  201. package/lib/app-data/enhancers/index.d.ts +0 -2
  202. package/lib/app-data/enhancers/index.d.ts.map +0 -1
  203. package/lib/app-data/enhancers/index.js +0 -2
  204. package/lib/app-data/enhancers/index.js.map +0 -1
  205. package/lib/app-data/helpers/index.d.ts +0 -2
  206. package/lib/app-data/helpers/index.d.ts.map +0 -1
  207. package/lib/app-data/helpers/index.js +0 -2
  208. package/lib/app-data/helpers/index.js.map +0 -1
  209. package/lib/app-data/helpers/variables.d.ts +0 -6
  210. package/lib/app-data/helpers/variables.d.ts.map +0 -1
  211. package/lib/app-data/helpers/variables.js +0 -20
  212. package/lib/app-data/helpers/variables.js.map +0 -1
  213. package/lib/app-data/index.d.ts +0 -7
  214. package/lib/app-data/index.d.ts.map +0 -1
  215. package/lib/app-data/index.js +0 -7
  216. package/lib/app-data/index.js.map +0 -1
  217. package/lib/app-data/kinds/index.d.ts +0 -3
  218. package/lib/app-data/kinds/index.d.ts.map +0 -1
  219. package/lib/app-data/kinds/index.js +0 -3
  220. package/lib/app-data/kinds/index.js.map +0 -1
  221. package/lib/app-data/kinds/ir/IrMeasurement.d.ts +0 -13
  222. package/lib/app-data/kinds/ir/IrMeasurement.d.ts.map +0 -1
  223. package/lib/app-data/kinds/ir/IrMeasurement.js +0 -2
  224. package/lib/app-data/kinds/ir/IrMeasurement.js.map +0 -1
  225. package/lib/app-data/kinds/ir/IrPeak.d.ts +0 -8
  226. package/lib/app-data/kinds/ir/IrPeak.d.ts.map +0 -1
  227. package/lib/app-data/kinds/ir/IrPeak.js +0 -2
  228. package/lib/app-data/kinds/ir/IrPeak.js.map +0 -1
  229. package/lib/app-data/kinds/ir/index.d.ts +0 -5
  230. package/lib/app-data/kinds/ir/index.d.ts.map +0 -1
  231. package/lib/app-data/kinds/ir/index.js +0 -5
  232. package/lib/app-data/kinds/ir/index.js.map +0 -1
  233. package/lib/app-data/kinds/ir/irAutoPeakPickingEnhancer.d.ts +0 -20
  234. package/lib/app-data/kinds/ir/irAutoPeakPickingEnhancer.d.ts.map +0 -1
  235. package/lib/app-data/kinds/ir/irAutoPeakPickingEnhancer.js +0 -50
  236. package/lib/app-data/kinds/ir/irAutoPeakPickingEnhancer.js.map +0 -1
  237. package/lib/app-data/kinds/ir/irMeasurementEnhancer.d.ts +0 -8
  238. package/lib/app-data/kinds/ir/irMeasurementEnhancer.d.ts.map +0 -1
  239. package/lib/app-data/kinds/ir/irMeasurementEnhancer.js +0 -47
  240. package/lib/app-data/kinds/ir/irMeasurementEnhancer.js.map +0 -1
  241. package/lib/app-data/kinds/iv/IvMeasurement.d.ts +0 -3
  242. package/lib/app-data/kinds/iv/IvMeasurement.d.ts.map +0 -1
  243. package/lib/app-data/kinds/iv/IvMeasurement.js +0 -2
  244. package/lib/app-data/kinds/iv/IvMeasurement.js.map +0 -1
  245. package/lib/app-data/kinds/iv/index.d.ts +0 -2
  246. package/lib/app-data/kinds/iv/index.d.ts.map +0 -1
  247. package/lib/app-data/kinds/iv/index.js +0 -2
  248. package/lib/app-data/kinds/iv/index.js.map +0 -1
  249. package/lib/app-data/loaders/biologicLoader.d.ts +0 -11
  250. package/lib/app-data/loaders/biologicLoader.d.ts.map +0 -1
  251. package/lib/app-data/loaders/biologicLoader.js +0 -141
  252. package/lib/app-data/loaders/biologicLoader.js.map +0 -1
  253. package/lib/app-data/loaders/cdfLoader.d.ts +0 -5
  254. package/lib/app-data/loaders/cdfLoader.d.ts.map +0 -1
  255. package/lib/app-data/loaders/cdfLoader.js +0 -164
  256. package/lib/app-data/loaders/cdfLoader.js.map +0 -1
  257. package/lib/app-data/loaders/index.d.ts +0 -9
  258. package/lib/app-data/loaders/index.d.ts.map +0 -1
  259. package/lib/app-data/loaders/index.js +0 -9
  260. package/lib/app-data/loaders/index.js.map +0 -1
  261. package/lib/app-data/loaders/jcampLoader.d.ts +0 -11
  262. package/lib/app-data/loaders/jcampLoader.d.ts.map +0 -1
  263. package/lib/app-data/loaders/jcampLoader.js +0 -100
  264. package/lib/app-data/loaders/jcampLoader.js.map +0 -1
  265. package/lib/app-data/loaders/loadMeasurements.d.ts +0 -14
  266. package/lib/app-data/loaders/loadMeasurements.d.ts.map +0 -1
  267. package/lib/app-data/loaders/loadMeasurements.js +0 -37
  268. package/lib/app-data/loaders/loadMeasurements.js.map +0 -1
  269. package/lib/app-data/loaders/proprietary/agilent/cary500Loader.d.ts +0 -5
  270. package/lib/app-data/loaders/proprietary/agilent/cary500Loader.d.ts.map +0 -1
  271. package/lib/app-data/loaders/proprietary/agilent/cary500Loader.js +0 -71
  272. package/lib/app-data/loaders/proprietary/agilent/cary500Loader.js.map +0 -1
  273. package/lib/app-data/loaders/spcLoader.d.ts +0 -11
  274. package/lib/app-data/loaders/spcLoader.d.ts.map +0 -1
  275. package/lib/app-data/loaders/spcLoader.js +0 -41
  276. package/lib/app-data/loaders/spcLoader.js.map +0 -1
  277. package/lib/app-data/loaders/utility/getMeasurementInfoFromFile.d.ts +0 -20
  278. package/lib/app-data/loaders/utility/getMeasurementInfoFromFile.d.ts.map +0 -1
  279. package/lib/app-data/loaders/utility/getMeasurementInfoFromFile.js +0 -17
  280. package/lib/app-data/loaders/utility/getMeasurementInfoFromFile.js.map +0 -1
  281. package/lib/app-data/loaders/utility/index.d.ts +0 -4
  282. package/lib/app-data/loaders/utility/index.d.ts.map +0 -1
  283. package/lib/app-data/loaders/utility/index.js +0 -4
  284. package/lib/app-data/loaders/utility/index.js.map +0 -1
  285. package/lib/app-data/loaders/utility/measurementLoader.d.ts +0 -6
  286. package/lib/app-data/loaders/utility/measurementLoader.d.ts.map +0 -1
  287. package/lib/app-data/loaders/utility/measurementLoader.js +0 -14
  288. package/lib/app-data/loaders/utility/measurementLoader.js.map +0 -1
  289. package/lib/app-data/loaders/utility/parserLog.d.ts +0 -10
  290. package/lib/app-data/loaders/utility/parserLog.d.ts.map +0 -1
  291. package/lib/app-data/loaders/utility/parserLog.js +0 -19
  292. package/lib/app-data/loaders/utility/parserLog.js.map +0 -1
  293. package/lib/app-data/loaders/wdfLoader.d.ts +0 -11
  294. package/lib/app-data/loaders/wdfLoader.d.ts.map +0 -1
  295. package/lib/app-data/loaders/wdfLoader.js +0 -104
  296. package/lib/app-data/loaders/wdfLoader.js.map +0 -1
  297. package/lib/app-data/state/app_state.actions.d.ts +0 -38
  298. package/lib/app-data/state/app_state.actions.d.ts.map +0 -1
  299. package/lib/app-data/state/app_state.actions.js +0 -2
  300. package/lib/app-data/state/app_state.actions.js.map +0 -1
  301. package/lib/app-data/state/app_state.d.ts +0 -1323
  302. package/lib/app-data/state/app_state.d.ts.map +0 -1
  303. package/lib/app-data/state/app_state.js +0 -43
  304. package/lib/app-data/state/app_state.js.map +0 -1
  305. package/lib/app-data/state/app_state.provider.d.ts +0 -5
  306. package/lib/app-data/state/app_state.provider.d.ts.map +0 -1
  307. package/lib/app-data/state/app_state.provider.js +0 -8
  308. package/lib/app-data/state/app_state.provider.js.map +0 -1
  309. package/lib/app-data/state/data/AppData.d.ts +0 -69
  310. package/lib/app-data/state/data/AppData.d.ts.map +0 -1
  311. package/lib/app-data/state/data/AppData.js +0 -2
  312. package/lib/app-data/state/data/AppData.js.map +0 -1
  313. package/lib/app-data/state/data/data.helpers.d.ts +0 -54
  314. package/lib/app-data/state/data/data.helpers.d.ts.map +0 -1
  315. package/lib/app-data/state/data/data.helpers.js +0 -119
  316. package/lib/app-data/state/data/data.helpers.js.map +0 -1
  317. package/lib/app-data/state/data/getEmptyAppData.d.ts +0 -3
  318. package/lib/app-data/state/data/getEmptyAppData.d.ts.map +0 -1
  319. package/lib/app-data/state/data/getEmptyAppData.js +0 -17
  320. package/lib/app-data/state/data/getEmptyAppData.js.map +0 -1
  321. package/lib/app-data/state/data/index.d.ts +0 -5
  322. package/lib/app-data/state/data/index.d.ts.map +0 -1
  323. package/lib/app-data/state/data/index.js +0 -5
  324. package/lib/app-data/state/data/index.js.map +0 -1
  325. package/lib/app-data/state/data/kinds.d.ts +0 -4
  326. package/lib/app-data/state/data/kinds.d.ts.map +0 -1
  327. package/lib/app-data/state/data/kinds.js +0 -14
  328. package/lib/app-data/state/data/kinds.js.map +0 -1
  329. package/lib/app-data/state/index.d.ts +0 -6
  330. package/lib/app-data/state/index.d.ts.map +0 -1
  331. package/lib/app-data/state/index.js +0 -6
  332. package/lib/app-data/state/index.js.map +0 -1
  333. package/lib/app-data/state/producers/app_state_producer.d.ts +0 -7
  334. package/lib/app-data/state/producers/app_state_producer.d.ts.map +0 -1
  335. package/lib/app-data/state/producers/app_state_producer.js +0 -38
  336. package/lib/app-data/state/producers/app_state_producer.js.map +0 -1
  337. package/lib/app-data/state/producers/index.d.ts +0 -2
  338. package/lib/app-data/state/producers/index.d.ts.map +0 -1
  339. package/lib/app-data/state/producers/index.js +0 -2
  340. package/lib/app-data/state/producers/index.js.map +0 -1
  341. package/lib/app-data/state/producers/measurements/addMeasurements.d.ts +0 -3
  342. package/lib/app-data/state/producers/measurements/addMeasurements.d.ts.map +0 -1
  343. package/lib/app-data/state/producers/measurements/addMeasurements.js +0 -55
  344. package/lib/app-data/state/producers/measurements/addMeasurements.js.map +0 -1
  345. package/lib/app-data/state/producers/measurements/measurements.d.ts +0 -10
  346. package/lib/app-data/state/producers/measurements/measurements.d.ts.map +0 -1
  347. package/lib/app-data/state/producers/measurements/measurements.js +0 -95
  348. package/lib/app-data/state/producers/measurements/measurements.js.map +0 -1
  349. package/lib/app-data/state/producers/plot-view/helpers/zoom.d.ts +0 -5
  350. package/lib/app-data/state/producers/plot-view/helpers/zoom.d.ts.map +0 -1
  351. package/lib/app-data/state/producers/plot-view/helpers/zoom.js +0 -43
  352. package/lib/app-data/state/producers/plot-view/helpers/zoom.js.map +0 -1
  353. package/lib/app-data/state/producers/plot-view/plot-view.d.ts +0 -5
  354. package/lib/app-data/state/producers/plot-view/plot-view.d.ts.map +0 -1
  355. package/lib/app-data/state/producers/plot-view/plot-view.js +0 -20
  356. package/lib/app-data/state/producers/plot-view/plot-view.js.map +0 -1
  357. package/lib/app-data/state/producers/types.d.ts +0 -8
  358. package/lib/app-data/state/producers/types.d.ts.map +0 -1
  359. package/lib/app-data/state/producers/types.js +0 -2
  360. package/lib/app-data/state/producers/types.js.map +0 -1
  361. package/lib/app-data/state/settings/app_settings.d.ts +0 -9
  362. package/lib/app-data/state/settings/app_settings.d.ts.map +0 -1
  363. package/lib/app-data/state/settings/app_settings.js +0 -2
  364. package/lib/app-data/state/settings/app_settings.js.map +0 -1
  365. package/lib/app-data/state/settings/get_empty_app_settings.d.ts +0 -3
  366. package/lib/app-data/state/settings/get_empty_app_settings.d.ts.map +0 -1
  367. package/lib/app-data/state/settings/get_empty_app_settings.js +0 -8
  368. package/lib/app-data/state/settings/get_empty_app_settings.js.map +0 -1
  369. package/lib/app-data/state/settings/index.d.ts +0 -3
  370. package/lib/app-data/state/settings/index.d.ts.map +0 -1
  371. package/lib/app-data/state/settings/index.js +0 -3
  372. package/lib/app-data/state/settings/index.js.map +0 -1
  373. package/lib/app-data/state/view/app_view.d.ts +0 -35
  374. package/lib/app-data/state/view/app_view.d.ts.map +0 -1
  375. package/lib/app-data/state/view/app_view.js +0 -2
  376. package/lib/app-data/state/view/app_view.js.map +0 -1
  377. package/lib/app-data/state/view/get_empty_app_view.d.ts +0 -3
  378. package/lib/app-data/state/view/get_empty_app_view.d.ts.map +0 -1
  379. package/lib/app-data/state/view/get_empty_app_view.js +0 -8
  380. package/lib/app-data/state/view/get_empty_app_view.js.map +0 -1
  381. package/lib/app-data/state/view/index.d.ts +0 -3
  382. package/lib/app-data/state/view/index.d.ts.map +0 -1
  383. package/lib/app-data/state/view/index.js +0 -3
  384. package/lib/app-data/state/view/index.js.map +0 -1
  385. package/lib/app-data/utils.d.ts +0 -2
  386. package/lib/app-data/utils.d.ts.map +0 -1
  387. package/lib/app-data/utils.js +0 -12
  388. package/lib/app-data/utils.js.map +0 -1
  389. package/src/app/about/AboutDialogToolbarButton.tsx +0 -35
  390. package/src/app/about/index.ts +0 -1
  391. package/src/app/explorer/ExplorerPlotView.tsx +0 -17
  392. package/src/app/explorer/MeasurementExplorer.tsx +0 -196
  393. package/src/app/explorer/MeasurementExplorerWithState.tsx +0 -19
  394. package/src/app/explorer/index.ts +0 -2
  395. package/src/app/helpers/MeasurementPlot.tsx +0 -92
  396. package/src/app/helpers/MeasurementVariableSelect.tsx +0 -33
  397. package/src/app/helpers/getColorFromConfig.ts +0 -12
  398. package/src/app/helpers/index.ts +0 -5
  399. package/src/app/helpers/react-plot.tsx +0 -130
  400. package/src/app/helpers/splitEntries.ts +0 -26
  401. package/src/app/hooks/file-loading.ts +0 -53
  402. package/src/app/hooks/index.ts +0 -1
  403. package/src/app/index.ts +0 -5
  404. package/src/app/kinds/index.ts +0 -3
  405. package/src/app/kinds/ir/IrPeaksPanel.tsx +0 -65
  406. package/src/app/kinds/ir/index.ts +0 -1
  407. package/src/app/kinds/iv/index.ts +0 -1
  408. package/src/app/kinds/iv/plot-view/IvMeasurementsPlot.tsx +0 -112
  409. package/src/app/kinds/iv/plot-view/IvPlotVariablesSelector.tsx +0 -63
  410. package/src/app/kinds/iv/plot-view/IvPlotView.tsx +0 -55
  411. package/src/app/kinds/iv/plot-view/IvSeries.tsx +0 -37
  412. package/src/app/kinds/mass/MassPlotView.tsx +0 -19
  413. package/src/app/kinds/mass/MeasurementMassPlot.tsx +0 -142
  414. package/src/app/kinds/mass/index.ts +0 -2
  415. package/src/app/panels/SignalProcessingPanel.tsx +0 -218
  416. package/src/app/panels/index.ts +0 -4
  417. package/src/app/panels/measurement-config/MeasurementConfigPanel.tsx +0 -98
  418. package/src/app/panels/measurement-config/MeasurementConfigPanelAccordion.tsx +0 -26
  419. package/src/app/panels/measurement-config/index.ts +0 -2
  420. package/src/app/panels/measurement-info/MeasurementInfoPanel.tsx +0 -28
  421. package/src/app/panels/measurement-info/MeasurementInfoPanelAccordion.tsx +0 -11
  422. package/src/app/panels/measurement-info/index.ts +0 -2
  423. package/src/app/panels/measurements/MeasurementCheckbox.tsx +0 -37
  424. package/src/app/panels/measurements/MeasurementColorPreview.tsx +0 -99
  425. package/src/app/panels/measurements/MeasurementVisibilityToggle.tsx +0 -60
  426. package/src/app/panels/measurements/MeasurementsPanel.tsx +0 -86
  427. package/src/app/panels/measurements/MeasurementsPanelAccordion.tsx +0 -35
  428. package/src/app/panels/measurements/MeasurementsTable.tsx +0 -350
  429. package/src/app/panels/measurements/index.ts +0 -11
  430. package/src/app/panels/measurements/measurement_panel_context.provider.tsx +0 -18
  431. package/src/app/panels/measurements/measurement_panel_context.ts +0 -18
  432. package/src/app-data/enhancers/enhance.ts +0 -26
  433. package/src/app-data/enhancers/index.ts +0 -1
  434. package/src/app-data/helpers/index.ts +0 -1
  435. package/src/app-data/helpers/variables.ts +0 -29
  436. package/src/app-data/index.ts +0 -6
  437. package/src/app-data/kinds/index.ts +0 -2
  438. package/src/app-data/kinds/ir/IrMeasurement.ts +0 -15
  439. package/src/app-data/kinds/ir/IrPeak.ts +0 -8
  440. package/src/app-data/kinds/ir/index.ts +0 -4
  441. package/src/app-data/kinds/ir/irAutoPeakPickingEnhancer.ts +0 -94
  442. package/src/app-data/kinds/ir/irMeasurementEnhancer.ts +0 -51
  443. package/src/app-data/kinds/iv/IvMeasurement.ts +0 -3
  444. package/src/app-data/kinds/iv/index.ts +0 -1
  445. package/src/app-data/loaders/biologicLoader.ts +0 -166
  446. package/src/app-data/loaders/cdfLoader.ts +0 -206
  447. package/src/app-data/loaders/index.ts +0 -8
  448. package/src/app-data/loaders/jcampLoader.ts +0 -105
  449. package/src/app-data/loaders/loadMeasurements.ts +0 -53
  450. package/src/app-data/loaders/proprietary/agilent/cary500Loader.ts +0 -82
  451. package/src/app-data/loaders/spcLoader.ts +0 -55
  452. package/src/app-data/loaders/utility/getMeasurementInfoFromFile.ts +0 -21
  453. package/src/app-data/loaders/utility/index.ts +0 -3
  454. package/src/app-data/loaders/utility/measurementLoader.ts +0 -26
  455. package/src/app-data/loaders/utility/parserLog.ts +0 -39
  456. package/src/app-data/loaders/wdfLoader.ts +0 -140
  457. package/src/app-data/state/app_state.actions.ts +0 -49
  458. package/src/app-data/state/app_state.provider.tsx +0 -24
  459. package/src/app-data/state/app_state.ts +0 -70
  460. package/src/app-data/state/data/AppData.ts +0 -77
  461. package/src/app-data/state/data/data.helpers.ts +0 -192
  462. package/src/app-data/state/data/getEmptyAppData.ts +0 -18
  463. package/src/app-data/state/data/index.ts +0 -4
  464. package/src/app-data/state/data/kinds.ts +0 -16
  465. package/src/app-data/state/index.ts +0 -14
  466. package/src/app-data/state/producers/app_state_producer.ts +0 -65
  467. package/src/app-data/state/producers/index.ts +0 -1
  468. package/src/app-data/state/producers/measurements/addMeasurements.ts +0 -83
  469. package/src/app-data/state/producers/measurements/measurements.ts +0 -143
  470. package/src/app-data/state/producers/plot-view/helpers/zoom.ts +0 -63
  471. package/src/app-data/state/producers/plot-view/plot-view.ts +0 -29
  472. package/src/app-data/state/producers/types.ts +0 -11
  473. package/src/app-data/state/settings/app_settings.ts +0 -8
  474. package/src/app-data/state/settings/get_empty_app_settings.ts +0 -9
  475. package/src/app-data/state/settings/index.ts +0 -2
  476. package/src/app-data/state/view/app_view.ts +0 -29
  477. package/src/app-data/state/view/get_empty_app_view.ts +0 -9
  478. package/src/app-data/state/view/index.ts +0 -2
  479. package/src/app-data/utils.ts +0 -13
  480. package/src/test-utils.ts +0 -11
@@ -1,112 +0,0 @@
1
- import type { ReactElement } from 'react';
2
- import { ResponsiveChart } from 'react-d3-utils';
3
- import {
4
- Annotations,
5
- Axis,
6
- Plot,
7
- Series,
8
- useCrossHair,
9
- useDrawRectangle,
10
- usePlotEvents,
11
- } from 'react-plot';
12
-
13
- import { useAppDispatch, useAppState } from '../../../../app-data/index.js';
14
- import { assert } from '../../../../components/index.js';
15
- import { splitEntries } from '../../../helpers/index.js';
16
-
17
- import IvSeries from './IvSeries.js';
18
-
19
- export default function IvMeasurementsPlot() {
20
- const appState = useAppState();
21
- const dispatch = useAppDispatch();
22
- const crossHair = useCrossHair();
23
- const drawRectangle = useDrawRectangle({
24
- onEnd(rectangle) {
25
- dispatch({
26
- type: 'PLOT_ZOOM',
27
- payload: {
28
- kind: 'iv',
29
- zoom: {
30
- x: {
31
- min: Math.min(rectangle.x1, rectangle.x2),
32
- max: Math.max(rectangle.x2, rectangle.x1),
33
- },
34
- y: {
35
- min: Math.min(rectangle.y1, rectangle.y2),
36
- max: Math.max(rectangle.y2, rectangle.y1),
37
- },
38
- },
39
- },
40
- });
41
- },
42
- });
43
- usePlotEvents({
44
- onDoubleClick() {
45
- dispatch({ type: 'PLOT_ZOOM_OUT', payload: { kind: 'iv' } });
46
- },
47
- });
48
- const { unselectedOpacity } = appState.settings.plot;
49
- const ivView = appState.view.plot.iv;
50
- assert(ivView && !!ivView.xVariable && !!ivView.yVariable);
51
- const { selectedEntries, unselectedEntries } = splitEntries(appState, 'iv');
52
-
53
- const series: ReactElement[] = [];
54
- for (const { measurement, view } of unselectedEntries) {
55
- series.push(
56
- <IvSeries
57
- key={measurement.id}
58
- measurement={measurement}
59
- xVariableLabel={ivView.xVariable}
60
- yVariableLabel={ivView.yVariable}
61
- colorConfig={view.color}
62
- opacity={view.visible ? unselectedOpacity : 0}
63
- />,
64
- );
65
- }
66
- for (const { measurement, view } of selectedEntries) {
67
- series.push(
68
- <IvSeries
69
- key={measurement.id}
70
- measurement={measurement}
71
- xVariableLabel={ivView.xVariable}
72
- yVariableLabel={ivView.yVariable}
73
- colorConfig={view.color}
74
- opacity={view.visible ? undefined : 0}
75
- />,
76
- );
77
- }
78
-
79
- return (
80
- <ResponsiveChart>
81
- {({ width, height }) => (
82
- <Plot
83
- width={width}
84
- height={height}
85
- margin={{ top: 5, right: 5, bottom: 5, left: 5 }}
86
- >
87
- <Series>{series}</Series>
88
- <Annotations>
89
- {crossHair.annotations}
90
- {drawRectangle.annotations}
91
- </Annotations>
92
- <Axis
93
- displayPrimaryGridLines
94
- position="bottom"
95
- label={ivView.xVariable}
96
- min={ivView.zoom.x.min}
97
- max={ivView.zoom.x.max}
98
- />
99
- <Axis
100
- displayPrimaryGridLines
101
- position="left"
102
- paddingStart="10"
103
- paddingEnd="10"
104
- label={ivView.yVariable}
105
- min={ivView.zoom.y.min}
106
- max={ivView.zoom.y.max}
107
- />
108
- </Plot>
109
- )}
110
- </ResponsiveChart>
111
- );
112
- }
@@ -1,63 +0,0 @@
1
- import {
2
- getAllVariableSymbols,
3
- useAppDispatch,
4
- useAppState,
5
- } from '../../../../app-data/index.js';
6
- import { assertNotNull } from '../../../../components/index.js';
7
- import { MeasurementVariableSelect } from '../../../helpers/index.js';
8
-
9
- export default function IvPlotVariablesSelector() {
10
- const {
11
- data: {
12
- measurements: { iv: ivMeasurements },
13
- },
14
- view: {
15
- plot: { iv: ivPlot },
16
- },
17
- } = useAppState();
18
- const dispatch = useAppDispatch();
19
- assertNotNull(ivPlot);
20
- const allOptions = new Set<string>();
21
- for (const measurement of ivMeasurements.entries) {
22
- const variables = getAllVariableSymbols(measurement);
23
- for (const variable of variables) {
24
- allOptions.add(variable);
25
- }
26
- }
27
- const options = Array.from(allOptions);
28
-
29
- return (
30
- <div
31
- style={{
32
- display: 'flex',
33
- flexDirection: 'row',
34
-
35
- gap: 30,
36
- fontSize: '1.125em',
37
- }}
38
- >
39
- <MeasurementVariableSelect
40
- label="Y variable"
41
- value={ivPlot.yVariable || ''}
42
- options={options}
43
- onSelect={(variable) =>
44
- dispatch({
45
- type: 'IV_PLOT_SELECT_VARIABLE',
46
- payload: { axis: 'y', variable },
47
- })
48
- }
49
- />
50
- <MeasurementVariableSelect
51
- label="X variable"
52
- value={ivPlot.xVariable || ''}
53
- options={options}
54
- onSelect={(variable) =>
55
- dispatch({
56
- type: 'IV_PLOT_SELECT_VARIABLE',
57
- payload: { axis: 'x', variable },
58
- })
59
- }
60
- />
61
- </div>
62
- );
63
- }
@@ -1,55 +0,0 @@
1
- import styled from '@emotion/styled';
2
- import { PlotController } from 'react-plot';
3
-
4
- import { useAppDispatch, useAppState } from '../../../../app-data/index.js';
5
- import { Toolbar } from '../../../../components/index.js';
6
-
7
- import IvMeasurementsPlot from './IvMeasurementsPlot.js';
8
- import IvPlotVariablesSelector from './IvPlotVariablesSelector.js';
9
-
10
- const IvPlotRoot = styled.div`
11
- display: flex;
12
- flex-direction: row;
13
- height: 100%;
14
- `;
15
-
16
- const PlotRoot = styled.div`
17
- padding: 5px;
18
- flex: 1;
19
- display: flex;
20
- flex-direction: column;
21
- `;
22
-
23
- export function IvPlotView() {
24
- return (
25
- <IvPlotRoot>
26
- <VerticalToolbar />
27
- <PlotRoot>
28
- <PlotController>
29
- <IvMeasurementsPlot />
30
- </PlotController>
31
-
32
- <IvPlotVariablesSelector />
33
- </PlotRoot>
34
- </IvPlotRoot>
35
- );
36
- }
37
-
38
- function VerticalToolbar() {
39
- const dispatch = useAppDispatch();
40
- const {
41
- view: { selectedKind },
42
- } = useAppState();
43
-
44
- function onZoomOut() {
45
- if (selectedKind) {
46
- dispatch({ type: 'PLOT_ZOOM_OUT', payload: { kind: selectedKind } });
47
- }
48
- }
49
-
50
- return (
51
- <Toolbar vertical>
52
- <Toolbar.Item onClick={onZoomOut} tooltip="Zoom out" icon="zoom-out" />
53
- </Toolbar>
54
- );
55
- }
@@ -1,37 +0,0 @@
1
- import { xyToXYObject } from 'ml-spectra-processing';
2
- import { useMemo } from 'react';
3
- import { LineSeries } from 'react-plot';
4
-
5
- import type { ColorConfig, IvMeasurement } from '../../../../app-data/index.js';
6
- import { getVariableByLabel } from '../../../../app-data/index.js';
7
- import { getColorFromConfig } from '../../../helpers/index.js';
8
-
9
- interface IvSeriesProps {
10
- measurement: IvMeasurement;
11
- colorConfig: ColorConfig;
12
- opacity?: number;
13
- xVariableLabel: string;
14
- yVariableLabel: string;
15
- }
16
-
17
- export default function IvSeries(props: IvSeriesProps) {
18
- const { measurement, colorConfig, opacity, xVariableLabel, yVariableLabel } =
19
- props;
20
- const xVariable = getVariableByLabel(measurement, xVariableLabel);
21
- const yVariable = getVariableByLabel(measurement, yVariableLabel);
22
- const data = useMemo(() => {
23
- if (!xVariable?.data || !yVariable?.data) return null;
24
- return xyToXYObject({ x: xVariable.data, y: yVariable.data });
25
- }, [xVariable?.data, yVariable?.data]);
26
- if (!data) return null;
27
- return (
28
- <LineSeries
29
- key={measurement.id}
30
- data={data}
31
- lineStyle={{
32
- opacity,
33
- stroke: getColorFromConfig(colorConfig),
34
- }}
35
- />
36
- );
37
- }
@@ -1,19 +0,0 @@
1
- import {
2
- getCurrentMeasurementData,
3
- useAppState,
4
- } from '../../../app-data/index.js';
5
-
6
- import { MeasurementMassPlot } from './MeasurementMassPlot.js';
7
-
8
- export function MassPlotView() {
9
- const appState = useAppState();
10
- const data = getCurrentMeasurementData(appState);
11
-
12
- if (!data) return <div>No selected measurement</div>;
13
- return (
14
- <MeasurementMassPlot
15
- measurement={data.data}
16
- measurementDisplay={data.display}
17
- />
18
- );
19
- }
@@ -1,142 +0,0 @@
1
- import { xyToXYObject } from 'ml-spectra-processing';
2
- import { getBestPeaks, Spectrum } from 'ms-spectrum';
3
- import { useMemo } from 'react';
4
- import {
5
- Annotation,
6
- Annotations,
7
- BarSeries,
8
- LineSeries,
9
- PlotController,
10
- usePlotControllerAxes,
11
- } from 'react-plot';
12
-
13
- import type { MeasurementPlotProps } from '../../helpers/index.js';
14
- import { BasicComponent } from '../../helpers/index.js';
15
-
16
- interface Peak {
17
- label: string;
18
- x: number;
19
- y: number;
20
- shortLabel: string;
21
- }
22
-
23
- export function MeasurementMassPlot(props: MeasurementPlotProps) {
24
- const { measurement: measurements } = props;
25
- const measurementsArray = Array.isArray(measurements)
26
- ? measurements
27
- : [measurements];
28
- for (const measurement of measurementsArray) {
29
- if (!measurement.data) {
30
- throw new Error(
31
- 'This is weird, the data property is not available on measurement',
32
- );
33
- }
34
- if (measurement.data.length === 0) {
35
- throw new Error('Data property is empty');
36
- }
37
- if (measurement.data.length > 1) {
38
- throw new Error('Length of data property is larger than 1');
39
- }
40
- if (!measurement.data[0].variables.x) {
41
- throw new Error('x variable in undefined');
42
- }
43
- if (!measurement.data[0].variables.y) {
44
- throw new Error('y variable in undefined');
45
- }
46
- }
47
-
48
- return (
49
- <PlotController>
50
- <MassComponent {...props} />
51
- </PlotController>
52
- );
53
- }
54
-
55
- function MassComponent(props: MeasurementPlotProps) {
56
- const { measurement: measurements } = props;
57
-
58
- const dataXY = useMemo(() => {
59
- const measurementsArray = Array.isArray(measurements)
60
- ? measurements
61
- : [measurements];
62
- return measurementsArray.map(({ data, id }) => {
63
- const { variables } = data[0];
64
- const { x, y } = variables;
65
- return { x, y, id };
66
- });
67
- }, [measurements]);
68
-
69
- const { x: xDomain } = usePlotControllerAxes();
70
- const { profiles, peaks } = useMemo(() => {
71
- const profiles = [];
72
- const peaks = [];
73
- for (const { x, y, id } of dataXY) {
74
- const spectrum = new Spectrum({
75
- x: x.data,
76
- y: y.data,
77
- });
78
- const isContinuous = spectrum.isContinuous();
79
- const data =
80
- isContinuous &&
81
- xyToXYObject({
82
- x: x.data,
83
- y: y.data,
84
- });
85
- profiles.push({ data, id });
86
- peaks.push(...spectrum.getPeaks(data));
87
- }
88
- return {
89
- profiles,
90
- peaks,
91
- };
92
- }, [dataXY]);
93
- const bestPeaks = useMemo(
94
- () =>
95
- getBestPeaks(peaks, {
96
- from: xDomain?.min ?? undefined,
97
- to: xDomain?.max ?? undefined,
98
- limit: 10,
99
- numberSlots: 10,
100
- threshold: 0.01,
101
- }),
102
- [peaks, xDomain?.max, xDomain?.min],
103
- );
104
- return (
105
- <BasicComponent {...props}>
106
- {profiles.map(
107
- ({ data, id }) =>
108
- data && (
109
- <LineSeries key={id} data={data} lineStyle={{ stroke: 'green' }} />
110
- ),
111
- )}
112
- <BarSeries data={peaks} lineStyle={{ stroke: 'red' }} />
113
- <Annotations>
114
- {bestPeaks.map(({ x, y, shortLabel }: Peak) => (
115
- <Annotation.Group key={x} x={x} y={y}>
116
- <Annotation.Line
117
- x1="0"
118
- x2="0"
119
- y1="0"
120
- y2="-5"
121
- style={{ strokeWidth: 2, stroke: 'blue' }}
122
- />
123
- <Annotation.Text
124
- style={{ fontSize: '0.875rem', fontWeight: '600' }}
125
- x="2"
126
- y="0"
127
- >
128
- {shortLabel}
129
- </Annotation.Text>
130
- <Annotation.Text
131
- style={{ fontSize: '0.875rem', fontWeight: '600' }}
132
- x="2"
133
- y="-14"
134
- >
135
- {x.toFixed(4)}
136
- </Annotation.Text>
137
- </Annotation.Group>
138
- ))}
139
- </Annotations>
140
- </BasicComponent>
141
- );
142
- }
@@ -1,2 +0,0 @@
1
- export * from './MassPlotView.js';
2
- export * from './MeasurementMassPlot.js';
@@ -1,218 +0,0 @@
1
- import type { FilterXYType } from 'ml-signal-processing';
2
- import filterXY from 'ml-signal-processing/FilterXYSchema.js';
3
-
4
- import {
5
- Button,
6
- createTableColumnHelper,
7
- Table,
8
- } from '../../components/index.js';
9
-
10
- export interface Filter<OptionsType = string | number> {
11
- name: FilterXYType['name'];
12
- options?: Record<string, OptionsType>;
13
- }
14
- export interface SignalProcessingPanelProps {
15
- filters: Filter[];
16
- onChange: (filters: Filter[]) => void;
17
- }
18
- interface FilterOptionsInfo {
19
- defaultValue: string | number;
20
- choices?: string[];
21
- description: string;
22
- }
23
-
24
- // get filters information & default options values
25
- const defaultFilters = filterXY.anyOf.map(({ properties }) => {
26
- const options: Record<string, FilterOptionsInfo> = {};
27
- for (const [key, value] of Object.entries(
28
- properties?.options?.properties || {},
29
- )) {
30
- options[key] = {
31
- defaultValue: value.default,
32
- choices: value.enum,
33
- description: value.description,
34
- };
35
- }
36
-
37
- return {
38
- name: properties.name.const as FilterXYType['name'],
39
- options,
40
- };
41
- });
42
-
43
- const columnHelper = createTableColumnHelper<Filter>();
44
-
45
- export function SignalProcessingPanel(props: SignalProcessingPanelProps) {
46
- const { filters = [], onChange } = props;
47
-
48
- const columns = [
49
- columnHelper.display({
50
- header: ' ',
51
- cell: ({ row }) => {
52
- return (
53
- <div style={{ display: 'flex', gap: '3px' }}>
54
- <Button
55
- style={{ width: '15px' }}
56
- intent="success"
57
- onClick={() => {
58
- const newFilters = [...filters];
59
- newFilters.splice(
60
- row.index + 1,
61
- 0,
62
- getDefaultFilter(defaultFilters[0]),
63
- );
64
- onChange?.(newFilters);
65
- }}
66
- >
67
- +
68
- </Button>
69
- <Button
70
- style={{ width: '15px' }}
71
- intent="danger"
72
- onClick={() => {
73
- onChange?.(filters.filter((_, j) => j !== row.index));
74
- }}
75
- >
76
- -
77
- </Button>
78
- </div>
79
- );
80
- },
81
- }),
82
- columnHelper.accessor('name', {
83
- header: 'Name',
84
- cell: ({ row, getValue }) => {
85
- return (
86
- <select
87
- onChange={({ target }) => {
88
- const value = Number(target.value);
89
- if (!Number.isNaN(value)) {
90
- const filter = getDefaultFilter(defaultFilters[value]);
91
- const newFilters = [...filters];
92
- newFilters[row.index] = filter;
93
- onChange?.(newFilters);
94
- }
95
- }}
96
- style={{ border: '1px solid black' }}
97
- value={defaultFilters.findIndex((f) => f.name === getValue())}
98
- >
99
- {defaultFilters.map(({ name }, i: number) => (
100
- <option key={name} value={i}>
101
- {normalCase(name)}
102
- </option>
103
- ))}
104
- </select>
105
- );
106
- },
107
- }),
108
- columnHelper.accessor('options', {
109
- header: 'Options',
110
- cell: ({ row, getValue }) => {
111
- const options = getValue();
112
- if (!options) return null;
113
- return (
114
- <>
115
- {Object.entries(
116
- defaultFilters.find((f) => f.name === row.original.name)
117
- ?.options || {},
118
- ).map((option) =>
119
- optionInput(option, options, (value) => {
120
- const FilterOptions = {
121
- ...filters[row.index].options,
122
- [option[0]]: value,
123
- };
124
- const filter = {
125
- name: filters[row.index].name,
126
- options: FilterOptions,
127
- };
128
- const newFilters = [...filters];
129
- newFilters[row.index] = filter;
130
- onChange?.(newFilters);
131
- }),
132
- )}
133
- </>
134
- );
135
- },
136
- }),
137
- ];
138
-
139
- return (
140
- <div>
141
- <Table data={filters} columns={columns} bordered />
142
- {filters.length === 0 && (
143
- <Button
144
- style={{ width: '15px', margin: '5px 20px' }}
145
- intent="success"
146
- onClick={() => {
147
- const newFilters = [getDefaultFilter(defaultFilters[0])];
148
- onChange?.(newFilters);
149
- }}
150
- >
151
- +
152
- </Button>
153
- )}
154
- </div>
155
- );
156
- }
157
-
158
- function getDefaultFilter({ options, name }: Filter<FilterOptionsInfo>) {
159
- if (options) {
160
- const result: Record<string, string | number> = {};
161
-
162
- for (const [key, { defaultValue }] of Object.entries(options)) {
163
- result[key] = defaultValue;
164
- }
165
- return { name, options: result };
166
- }
167
- return { name };
168
- }
169
-
170
- function normalCase(str: string) {
171
- const result = str.replaceAll(/(?<upper>[A-Z])/g, ' $<upper>').trim();
172
- return result.charAt(0).toUpperCase() + result.slice(1);
173
- }
174
-
175
- function optionInput(
176
- [key, { description, choices }]: [string, FilterOptionsInfo],
177
- options: Record<string, string | number>,
178
- onChange: (value: string | number) => void,
179
- ) {
180
- return (
181
- <div style={{ marginTop: '5px' }} key={key}>
182
- {choices && choices.length > 0 ? (
183
- <select
184
- onChange={({ target }) => {
185
- const value = target.value;
186
- if (value) {
187
- onChange(value);
188
- }
189
- }}
190
- style={{ border: '1px solid black' }}
191
- value={options?.[key]}
192
- >
193
- <option value="" disabled selected>
194
- {normalCase(key)}
195
- </option>
196
- {choices.map((choice) => (
197
- <option key={choice} value={choice}>
198
- {normalCase(choice)}
199
- </option>
200
- ))}
201
- </select>
202
- ) : (
203
- <input
204
- style={{ border: '1px solid black', padding: '2px 5px' }}
205
- placeholder={normalCase(key)}
206
- onChange={({ target }) => {
207
- const value = target.value;
208
- if (value) {
209
- onChange(value);
210
- }
211
- }}
212
- value={options?.[key]}
213
- />
214
- )}
215
- <label style={{ marginLeft: '5px' }}>{description}</label>
216
- </div>
217
- );
218
- }
@@ -1,4 +0,0 @@
1
- export * from './measurement-info/index.js';
2
- export * from './measurement-config/index.js';
3
- export * from './measurements/index.js';
4
- export * from './SignalProcessingPanel.js';