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,3 +0,0 @@
1
- export * from './getMeasurementInfoFromFile.js';
2
- export * from './measurementLoader.js';
3
- export * from './parserLog.js';
@@ -1,26 +0,0 @@
1
- import type { FifoLogger } from 'fifo-logger';
2
- import type { FileCollection } from 'filelist-utils';
3
-
4
- import { assert } from '../../../components/index.js';
5
- import type { MeasurementBase, Measurements } from '../../index.js';
6
-
7
- export type MeasurementsLoader = (
8
- fileCollection: FileCollection,
9
- logger?: FifoLogger,
10
- ) => Promise<Partial<Measurements>>;
11
-
12
- export function mergeMeasurements(
13
- measurements: Partial<Measurements>,
14
- newMeasurements: Partial<Measurements>,
15
- ) {
16
- //fixes for putting type "string" to key
17
- let kind: keyof typeof newMeasurements;
18
- for (kind in newMeasurements) {
19
- if (!measurements[kind]) {
20
- measurements[kind] = { entries: [] };
21
- }
22
- assert(measurements[kind], 'Error while loading, kind is not defined');
23
- const entries: MeasurementBase[] = newMeasurements[kind]?.entries || [];
24
- measurements[kind]?.entries.push(...entries);
25
- }
26
- }
@@ -1,39 +0,0 @@
1
- export interface ParserLog {
2
- kind: 'error' | 'warn' | 'info' | 'debug' | 'summary';
3
- /* name of the parser or converter*/
4
- parser: string;
5
- message: string;
6
- /* if the parser has branches for text, binary, etc. */
7
- branch?: string;
8
- /* from FileCollectionItem or other*/
9
- relativePath?: string;
10
- error?: Error;
11
- }
12
-
13
- export function createLogEntry(info: Partial<ParserLog>): ParserLog {
14
- const {
15
- parser = 'biologic-converter',
16
- branch,
17
- kind = 'error',
18
- message = 'Error parsing biologic experiment.',
19
- error,
20
- relativePath,
21
- } = info;
22
-
23
- const log: ParserLog = {
24
- parser,
25
- kind,
26
- message,
27
- };
28
-
29
- if (error) {
30
- log.error = error;
31
- }
32
- if (relativePath) {
33
- log.relativePath = relativePath;
34
- }
35
- if (branch) {
36
- log.branch = branch;
37
- }
38
- return log;
39
- }
@@ -1,140 +0,0 @@
1
- import type { MeasurementVariable } from 'cheminfo-types';
2
- import type { FifoLogger } from 'fifo-logger';
3
- import type { FileCollection } from 'filelist-utils';
4
- import type { Wdf } from 'wdf-parser';
5
- import { parse } from 'wdf-parser';
6
-
7
- import type { MeasurementBase, Measurements } from '../index.js';
8
-
9
- import { getMeasurementInfoFromFile } from './utility/index.js';
10
-
11
- /**
12
- *
13
- * @param fileCollection - the dragged file/files
14
- * @param logger - whether to log to console or not
15
- * @returns - new measurements object to be merged
16
- */
17
- export async function wdfLoader(
18
- fileCollection: FileCollection,
19
- logger?: FifoLogger,
20
- ): Promise<Partial<Measurements>> {
21
- const measurements: Partial<Measurements> = {};
22
- const entries: MeasurementBase[] = [];
23
-
24
- for (const file of fileCollection) {
25
- if (/\.wdf$/i.test(file.name)) {
26
- try {
27
- // TODO: load in parallel
28
- // eslint-disable-next-line no-await-in-loop
29
- const parsed = parse(await file.arrayBuffer());
30
- entries.push({
31
- meta: parsed.fileHeader,
32
- ...getMeasurementInfoFromFile(file, parsed.fileHeader.title),
33
- data: normalizeSpectra(parsed.blocks),
34
- });
35
- } catch (error) {
36
- if (error instanceof Error) {
37
- if (logger) {
38
- logger.error(error);
39
- } else {
40
- throw error;
41
- }
42
- }
43
- }
44
- }
45
- }
46
-
47
- measurements.raman = { entries };
48
- return measurements;
49
- }
50
-
51
- function normalizeSpectra(blocks: Wdf['blocks']) {
52
- const yVariables = getYVariables(blocks);
53
- const origins = getOrigins(blocks);
54
-
55
- const results: MeasurementBase['data'] = [];
56
-
57
- for (let i = 0; i < yVariables.length; i++) {
58
- const yVariable = yVariables[i];
59
- const origin = origins[i] || {};
60
-
61
- results.push({
62
- variables: { x: getXVariable(blocks), y: yVariable },
63
- meta: { ...origin },
64
- });
65
- }
66
- return results;
67
- }
68
-
69
- function getXVariable(blocks: Wdf['blocks']) {
70
- const xBlock = blocks.find(
71
- (block) => block.blockType === 'WDF_BLOCKID_XLIST',
72
- );
73
-
74
- const xList = xBlock?.xList;
75
- const groups = xList?.units.match(/(?<label>.*) \((?<units>.*)\)/)?.groups;
76
-
77
- if (!xList) {
78
- throw new Error('no xList data found in wdf file');
79
- }
80
-
81
- const xVariable: MeasurementVariable = {
82
- label: groups?.label || 'Arbitrary Units',
83
- units: groups?.units || '',
84
- data: Array.from(xList.values),
85
- };
86
- return xVariable;
87
- }
88
-
89
- function getYVariables(blocks: Wdf['blocks']) {
90
- const dataBlock = blocks.find(
91
- (block) => block.blockType === 'WDF_BLOCKID_DATA',
92
- );
93
-
94
- if (!dataBlock?.spectra) {
95
- throw new Error('no spectrum found in data block of wdf file');
96
- }
97
-
98
- const yVariables: MeasurementVariable[] = [];
99
- for (const spectrum of dataBlock.spectra) {
100
- yVariables.push({
101
- data: Array.from(spectrum),
102
- units: '',
103
- label: 'Arbitrary Intensity',
104
- });
105
- }
106
-
107
- return yVariables;
108
- }
109
-
110
- interface Origin {
111
- xPositionUnits: string;
112
- yPositionUnits: string;
113
- xPosition: number | bigint;
114
- yPosition: number | bigint;
115
- }
116
- function getOrigins(blocks: Wdf['blocks']) {
117
- const originBlock = blocks.find(
118
- (block) => block.blockType === 'WDF_BLOCKID_ORIGIN',
119
- );
120
- if (!originBlock) return [];
121
-
122
- const xPositions = originBlock.origins?.find((entry) => entry.label === 'X');
123
- const yPositions = originBlock.origins?.find((entry) => entry.label === 'Y');
124
- const xOrigins = xPositions?.axisOrigins;
125
- const yOrigins = yPositions?.axisOrigins;
126
-
127
- const origins: Origin[] = [];
128
- if (xOrigins && yOrigins) {
129
- for (let i = 0; i < xOrigins.length; i++) {
130
- // we should add some xIndex and yIndex based on https://github.com/cheminfo/raman-spectrum/blob/1d3bc62ebe2930f8c35fcf65689b090f5b22ba9e/src/utils/surfaceAnalysis.js#L15-L70
131
- origins.push({
132
- xPositionUnits: xPositions.unit,
133
- yPositionUnits: yPositions.unit,
134
- xPosition: xOrigins[i],
135
- yPosition: yOrigins[i],
136
- });
137
- }
138
- }
139
- return origins;
140
- }
@@ -1,49 +0,0 @@
1
- import type { AppState } from './app_state.js';
2
- import type {
3
- MeasurementKind,
4
- MeasurementKindAndId,
5
- Measurements,
6
- } from './data/index.js';
7
- import type { MeasurementAppView, Plot2DZoom } from './view/index.js';
8
-
9
- type ActionType<Action, Payload = void> = Payload extends void
10
- ? { type: Action }
11
- : { type: Action; payload: Payload };
12
-
13
- export type AppStateAction =
14
- | ActionType<'LOAD_START'>
15
- | ActionType<'LOAD_STOP'>
16
- | ActionType<'ADD_MEASUREMENTS', Partial<Measurements>>
17
- | ActionType<'LOAD_FULL_STATE', AppState>
18
- | ActionType<'PLOT_ZOOM', { kind: MeasurementKind; zoom: Plot2DZoom }>
19
- | ActionType<'PLOT_ZOOM_OUT', { kind: MeasurementKind }>
20
- | ActionType<
21
- 'SELECT_MEASUREMENT',
22
- MeasurementKindAndId & { acc: 'add' | 'remove' | 'replace' }
23
- >
24
- | ActionType<
25
- 'SELECT_ALL_MEASUREMENTS',
26
- { select: boolean; kind: MeasurementKind }
27
- >
28
- | ActionType<'SELECT_MEASUREMENT_KIND', MeasurementKind>
29
- | ActionType<'SET_MEASUREMENT_VISIBILITY', { id: string; isVisible: boolean }>
30
- | ActionType<
31
- 'SET_SELECTED_MEASUREMENTS_VISIBILITY',
32
- { kind: MeasurementKind; isVisible: boolean }
33
- >
34
- | ActionType<
35
- 'CHANGE_MEASUREMENTS_DISPLAY',
36
- { display: Partial<MeasurementAppView> }
37
- >
38
- | ActionType<
39
- 'CHANGE_MEASUREMENT_DISPLAY',
40
- {
41
- measurement: MeasurementKindAndId;
42
- display: Partial<MeasurementAppView>;
43
- }
44
- >
45
- | ActionType<'REMOVE_SELECTED_MEASUREMENTS', { kind: MeasurementKind }>
46
- | ActionType<
47
- 'IV_PLOT_SELECT_VARIABLE',
48
- { axis: 'x' | 'y'; variable: string }
49
- >;
@@ -1,24 +0,0 @@
1
- import type { ReactNode } from 'react';
2
- import { useReducer } from 'react';
3
-
4
- import {
5
- appDispatchContext,
6
- appReducer,
7
- appStateContext,
8
- getEmptyAppState,
9
- } from './app_state.js';
10
-
11
- export function AppStateProvider(props: { children: ReactNode }) {
12
- const [appState, appDispatch] = useReducer(
13
- appReducer,
14
- null,
15
- getEmptyAppState,
16
- );
17
- return (
18
- <appDispatchContext.Provider value={appDispatch}>
19
- <appStateContext.Provider value={appState}>
20
- {props.children}
21
- </appStateContext.Provider>
22
- </appDispatchContext.Provider>
23
- );
24
- }
@@ -1,70 +0,0 @@
1
- import { produce } from 'immer';
2
- import type { Dispatch } from 'react';
3
- import { createContext, useContext } from 'react';
4
-
5
- import type { AppStateAction } from './app_state.actions.js';
6
- import type { AppData } from './data/index.js';
7
- import { getEmptyAppData } from './data/index.js';
8
- import { appStateProducer } from './producers/index.js';
9
- import type { AppSettings } from './settings/index.js';
10
- import { getEmptyAppSettings } from './settings/index.js';
11
- import type { AppView } from './view/index.js';
12
- import { getEmptyAppView } from './view/index.js';
13
-
14
- export interface AppState {
15
- load: AppLoad;
16
- data: AppData;
17
- view: AppView;
18
- settings: AppSettings;
19
- }
20
-
21
- export interface AppLoad {
22
- isLoading: boolean;
23
- }
24
-
25
- export function getEmptyAppState(): AppState {
26
- return {
27
- load: {
28
- isLoading: false,
29
- },
30
- data: getEmptyAppData(),
31
- view: getEmptyAppView(),
32
- settings: getEmptyAppSettings(),
33
- };
34
- }
35
-
36
- export const appStateContext = createContext<AppState | null>(null);
37
-
38
- export function useAppState(): AppState {
39
- const appState = useContext(appStateContext);
40
- if (!appState) {
41
- throw new Error('useAppState must be used within an AppStateProvider');
42
- }
43
- return appState;
44
- }
45
-
46
- export type AppDispatch = Dispatch<AppStateAction>;
47
-
48
- export const appDispatchContext = createContext<AppDispatch | null>(null);
49
-
50
- export function useAppDispatch(): AppDispatch {
51
- const appDispatch = useContext(appDispatchContext);
52
- if (!appDispatch) {
53
- throw new Error('useAppDispatch must be used within an AppStateProvider');
54
- }
55
- return appDispatch;
56
- }
57
-
58
- export function useAppData(): AppData {
59
- return useAppState().data;
60
- }
61
-
62
- export function useAppView(): AppView {
63
- return useAppState().view;
64
- }
65
-
66
- export function useAppSettings(): AppSettings {
67
- return useAppState().settings;
68
- }
69
-
70
- export const appReducer = produce(appStateProducer);
@@ -1,77 +0,0 @@
1
- import type { Instrument, MeasurementVariable } from 'cheminfo-types';
2
-
3
- import type { IrMeasurement, IvMeasurement } from '../../index.js';
4
-
5
- export interface AppData {
6
- measurements: Measurements;
7
- }
8
-
9
- /**
10
- * When we have a simple measurement like uv, ir, etc, data should only contain one element
11
- * Sometimes measurements are more complex like in GC / MS, GC / MS / MS, raman images, etc. In this case we will add the meta and info properties
12
- * to differentiate each measurement
13
- * If we have isotherm with gaz absorption / desorption this format should also be used.
14
- * The 'info'for each 'Measurement' should be normalized.
15
- */
16
-
17
- type UUID = string;
18
-
19
- export interface MeasurementBase {
20
- id: UUID;
21
- info: MeasurementBaseInfo;
22
- // Unstructured object
23
- meta: Record<string, any>;
24
- data: Array<{
25
- info?: Record<string, any>;
26
- meta?: Record<string, any>;
27
- variables: Record<string, MeasurementVariable>;
28
- }>;
29
- }
30
-
31
- export interface MeasurementBaseInfo {
32
- title: string;
33
- file?: MeasurementFile;
34
- instrument?: Instrument;
35
- }
36
-
37
- export interface MeasurementFile {
38
- name: string;
39
- path?: string;
40
- size?: number;
41
- lastModified?: number;
42
- }
43
-
44
- export interface Measurements {
45
- ir: {
46
- entries: IrMeasurement[];
47
- };
48
- iv: {
49
- entries: IvMeasurement[];
50
- };
51
- raman: {
52
- entries: MeasurementBase[];
53
- };
54
- uv: {
55
- entries: MeasurementBase[];
56
- };
57
- uvvis: {
58
- entries: MeasurementBase[];
59
- };
60
- gclc: {
61
- entries: MeasurementBase[];
62
- };
63
- gclcms: {
64
- entries: MeasurementBase[];
65
- };
66
- nmr: {
67
- entries: MeasurementBase[];
68
- };
69
- mass: {
70
- entries: MeasurementBase[];
71
- };
72
- other: {
73
- entries: MeasurementBase[];
74
- };
75
- }
76
-
77
- export type MeasurementKind = keyof Measurements;
@@ -1,192 +0,0 @@
1
- import { assertNotNull } from '../../../components/index.js';
2
- import type { AppState, AppView } from '../index.js';
3
-
4
- import type {
5
- AppData,
6
- MeasurementBase,
7
- MeasurementKind,
8
- Measurements,
9
- } from './AppData.js';
10
- import { measurementKinds } from './kinds.js';
11
-
12
- export function getMeasurement(
13
- measurements: Measurements,
14
- kind: MeasurementKind,
15
- selected: string,
16
- ) {
17
- const measurement = measurements[kind].entries.find(
18
- (entry) => entry.id === selected,
19
- );
20
- return measurement || null;
21
- }
22
-
23
- export function getMeasurementOrFail(
24
- measurements: Measurements,
25
- kind: MeasurementKind,
26
- selected: string,
27
- ) {
28
- const result = getMeasurement(measurements, kind, selected);
29
- assertNotNull(result);
30
- return result;
31
- }
32
-
33
- export function getFirstMeasurement<Kind extends MeasurementKind>(
34
- measurements: Measurements,
35
- kind: Kind,
36
- ): { kind: Kind; measurement: Measurements[Kind]['entries'][0] } | null {
37
- const measurement = measurements[kind].entries[0];
38
- if (measurement) return { kind, measurement };
39
-
40
- return null;
41
- }
42
- export function getFirstMeasurementOrFail<Kind extends MeasurementKind>(
43
- measurements: Measurements,
44
- kind: Kind,
45
- ) {
46
- const result = getFirstMeasurement(measurements, kind);
47
- assertNotNull(result);
48
- return result;
49
- }
50
-
51
- export function getCurrentMeasurement(state: AppState) {
52
- const selectedMeasurement = getSelectedMeasurement(state.view);
53
- if (!selectedMeasurement) return null;
54
- const measurements: MeasurementBase[] = [];
55
- for (const id of selectedMeasurement.ids) {
56
- const measurement = getMeasurement(
57
- state.data.measurements,
58
- selectedMeasurement.kind,
59
- id,
60
- );
61
- if (!measurement) return null;
62
- measurements.push(measurement);
63
- }
64
- return measurements;
65
- }
66
-
67
- export function getCurrentMeasurementData(state: AppState) {
68
- const selectedMeasurement = getCurrentMeasurement(state);
69
- if (!selectedMeasurement) return null;
70
- const kindAndIds = getMeasurementKindAndIds(state.data, selectedMeasurement);
71
- const display = selectedMeasurement.map(
72
- ({ id }) => state.view.measurements[id],
73
- );
74
- return { data: selectedMeasurement, display, kindAndIds };
75
- }
76
-
77
- export function getFirstSelectedMeasurementData(state: AppState) {
78
- const {
79
- data,
80
- view: {
81
- selectedMeasurements,
82
- selectedKind,
83
- measurements: measurementsView,
84
- },
85
- } = state;
86
- if (!selectedKind) return null;
87
-
88
- const measurements = selectedMeasurements[selectedKind];
89
- if (!measurements?.length) return null;
90
- assertNotNull(measurements);
91
-
92
- const measurementId = measurements[0];
93
- const measurement = getMeasurement(
94
- data.measurements,
95
- selectedKind,
96
- measurementId,
97
- );
98
-
99
- return { data: measurement, display: measurementsView[measurementId] };
100
- }
101
-
102
- export interface MeasurementKindAndId {
103
- kind: MeasurementKind;
104
- id: string;
105
- }
106
- export interface MeasurementKindAndIds {
107
- kind: MeasurementKind;
108
- ids: string[];
109
- }
110
- export function getMeasurementKindAndId(data: AppData, measurementId: string) {
111
- for (const kind of measurementKinds) {
112
- const measurement = getMeasurement(data.measurements, kind, measurementId);
113
- if (measurement) return { kind, id: measurementId };
114
- }
115
- throw new Error(`Measurement kind for ${measurementId} not found`);
116
- }
117
- export function getMeasurementKindAndIds(
118
- data: AppData,
119
- measurementId: MeasurementBase[],
120
- ) {
121
- let found = false;
122
- for (const kind of measurementKinds) {
123
- for (const { id } of measurementId) {
124
- const measurement = getMeasurement(data.measurements, kind, id);
125
- if (measurement) found = true;
126
- if (found && !measurement) {
127
- throw new Error(
128
- `Measurement kind for ${measurementId.join(', ')} not found`,
129
- );
130
- }
131
- }
132
- if (found) return { kind, ids: measurementId };
133
- }
134
- throw new Error(`Measurement kind for ${measurementId.join(', ')} not found`);
135
- }
136
- export function getSelectedMeasurement(
137
- view: AppView,
138
- ): MeasurementKindAndIds | null {
139
- const { selectedKind, selectedMeasurements } = view;
140
- if (!selectedKind) return null;
141
- const kind = selectedKind;
142
- const currentMeasurements = selectedMeasurements[kind];
143
- if (!currentMeasurements || currentMeasurements.length === 0) return null;
144
- const ids = currentMeasurements;
145
- return { kind, ids };
146
- }
147
-
148
- export function getSelectedMeasurementOrFail(view: AppView) {
149
- const selected = getSelectedMeasurement(view);
150
- assertNotNull(selected);
151
- return selected;
152
- }
153
-
154
- export function* iterateMeasurementEntries(
155
- measurements: Partial<Measurements>,
156
- ) {
157
- for (const [measurementKind, measurementData] of Object.entries(
158
- measurements,
159
- )) {
160
- for (const measurement of measurementData.entries) {
161
- yield { kind: measurementKind as MeasurementKind, measurement };
162
- }
163
- }
164
- }
165
-
166
- export interface MeasurementAndView<Kind extends MeasurementKind> {
167
- measurement: Measurements[Kind]['entries'][number];
168
- view: AppView['measurements'][string];
169
- }
170
-
171
- export function* iterateKindMeasurementsAndView<Kind extends MeasurementKind>(
172
- state: AppState,
173
- kind: Kind,
174
- ): IterableIterator<MeasurementAndView<Kind>> {
175
- const measurements = state.data.measurements[kind];
176
- const view = state.view.measurements;
177
- for (const measurement of measurements.entries) {
178
- yield { measurement, view: view[measurement.id] };
179
- }
180
- }
181
-
182
- export function getExistingMeasurementKinds(
183
- measurements: Partial<Measurements>,
184
- ): MeasurementKind[] {
185
- const result: MeasurementKind[] = [];
186
- for (const [kind, { entries }] of Object.entries(measurements)) {
187
- if (entries.length > 0) {
188
- result.push(kind as MeasurementKind);
189
- }
190
- }
191
- return result;
192
- }
@@ -1,18 +0,0 @@
1
- import type { AppData } from './AppData.js';
2
-
3
- export function getEmptyAppData(): AppData {
4
- return {
5
- measurements: {
6
- ir: { entries: [] },
7
- iv: { entries: [] },
8
- raman: { entries: [] },
9
- uv: { entries: [] },
10
- uvvis: { entries: [] },
11
- gclc: { entries: [] },
12
- gclcms: { entries: [] },
13
- nmr: { entries: [] },
14
- mass: { entries: [] },
15
- other: { entries: [] },
16
- },
17
- };
18
- }
@@ -1,4 +0,0 @@
1
- export * from './data.helpers.js';
2
- export * from './AppData.js';
3
- export * from './getEmptyAppData.js';
4
- export * from './kinds.js';
@@ -1,16 +0,0 @@
1
- import type { MeasurementKind } from './AppData.js';
2
-
3
- export const kindLabels: Record<MeasurementKind, string> = {
4
- ir: 'IR',
5
- iv: 'IV',
6
- raman: 'Raman',
7
- uv: 'UV',
8
- uvvis: 'UV-VIS',
9
- mass: 'Mass',
10
- gclc: 'GC/LC',
11
- gclcms: 'GC/LC MS',
12
- nmr: 'NMR',
13
- other: 'Other',
14
- };
15
-
16
- export const measurementKinds = Object.keys(kindLabels) as MeasurementKind[];
@@ -1,14 +0,0 @@
1
- export {
2
- type AppState,
3
- type AppLoad,
4
- useAppState,
5
- type AppDispatch,
6
- useAppDispatch,
7
- useAppData,
8
- useAppView,
9
- useAppSettings,
10
- } from './app_state.js';
11
- export { AppStateProvider } from './app_state.provider.js';
12
- export * from './data/index.js';
13
- export * from './settings/index.js';
14
- export * from './view/index.js';