react-cheminfo 0.65.0 → 0.67.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.
- package/README.md +33 -17
- package/lib/download/ui/FigureDownloadPanel.d.ts +7 -1
- package/lib/download/ui/FigureDownloadPanel.d.ts.map +1 -1
- package/lib/download/ui/FigureDownloadPanel.js +2 -2
- package/lib/download/ui/FigureDownloadPanel.js.map +1 -1
- package/lib/ecosystem/core/sites.js +3 -3
- package/lib/ecosystem/core/sites.js.map +1 -1
- package/lib/ecosystem/core/types.d.ts +1 -1
- package/lib/ecosystem/core/types.d.ts.map +1 -1
- package/lib/ecosystem/ui/glyphs.js +1 -1
- package/lib/ecosystem/ui/glyphs.js.map +1 -1
- package/lib/i18n/core/chromeCatalog.d.ts +1 -1
- package/lib/i18n/core/chromeCatalog.d.ts.map +1 -1
- package/lib/i18n/core/messageCatalog.d.ts +2 -2
- package/lib/i18n/vite/localeCatalog.d.ts +1 -1
- package/lib/ir/core/analysisSpectra.d.ts +23 -6
- package/lib/ir/core/analysisSpectra.d.ts.map +1 -1
- package/lib/ir/core/analysisSpectra.js.map +1 -1
- package/lib/ir/core/bandLabelPlan.d.ts.map +1 -1
- package/lib/ir/core/bandLabelPlan.js +11 -6
- package/lib/ir/core/bandLabelPlan.js.map +1 -1
- package/lib/ir/core/index.d.ts +15 -11
- package/lib/ir/core/index.d.ts.map +1 -1
- package/lib/ir/core/index.js +9 -6
- package/lib/ir/core/index.js.map +1 -1
- package/lib/ir/core/irBand.d.ts +45 -14
- package/lib/ir/core/irBand.d.ts.map +1 -1
- package/lib/ir/core/irBand.js +28 -6
- package/lib/ir/core/irBand.js.map +1 -1
- package/lib/ir/core/irCommands.d.ts +11 -0
- package/lib/ir/core/irCommands.d.ts.map +1 -1
- package/lib/ir/core/irCommands.js +11 -1
- package/lib/ir/core/irCommands.js.map +1 -1
- package/lib/ir/core/irDomain.d.ts +4 -3
- package/lib/ir/core/irDomain.d.ts.map +1 -1
- package/lib/ir/core/irDomain.js +10 -7
- package/lib/ir/core/irDomain.js.map +1 -1
- package/lib/ir/core/irEditorApi.d.ts +12 -0
- package/lib/ir/core/irEditorApi.d.ts.map +1 -1
- package/lib/ir/core/irFormat.d.ts +14 -2
- package/lib/ir/core/irFormat.d.ts.map +1 -1
- package/lib/ir/core/irFormat.js +33 -4
- package/lib/ir/core/irFormat.js.map +1 -1
- package/lib/ir/core/irMode.d.ts +35 -8
- package/lib/ir/core/irMode.d.ts.map +1 -1
- package/lib/ir/core/irMode.js +38 -10
- package/lib/ir/core/irMode.js.map +1 -1
- package/lib/ir/core/irReducer.d.ts +2 -30
- package/lib/ir/core/irReducer.d.ts.map +1 -1
- package/lib/ir/core/irReducer.js +1 -24
- package/lib/ir/core/irReducer.js.map +1 -1
- package/lib/ir/core/irSidePanels.d.ts +7 -1
- package/lib/ir/core/irSidePanels.d.ts.map +1 -1
- package/lib/ir/core/irSpectrum.d.ts +52 -26
- package/lib/ir/core/irSpectrum.d.ts.map +1 -1
- package/lib/ir/core/irSpectrum.js +21 -15
- package/lib/ir/core/irSpectrum.js.map +1 -1
- package/lib/ir/core/irState.d.ts +46 -5
- package/lib/ir/core/irState.d.ts.map +1 -1
- package/lib/ir/core/irState.js +38 -1
- package/lib/ir/core/irState.js.map +1 -1
- package/lib/ir/core/irTechnique.d.ts +94 -0
- package/lib/ir/core/irTechnique.d.ts.map +1 -0
- package/lib/ir/core/irTechnique.js +87 -0
- package/lib/ir/core/irTechnique.js.map +1 -0
- package/lib/ir/core/irTechniqueCommands.d.ts +26 -0
- package/lib/ir/core/irTechniqueCommands.d.ts.map +1 -0
- package/lib/ir/core/irTechniqueCommands.js +68 -0
- package/lib/ir/core/irTechniqueCommands.js.map +1 -0
- package/lib/ir/core/pickBands.d.ts +6 -5
- package/lib/ir/core/pickBands.d.ts.map +1 -1
- package/lib/ir/core/pickBands.js +49 -26
- package/lib/ir/core/pickBands.js.map +1 -1
- package/lib/ir/core/ramanBands.d.ts +30 -0
- package/lib/ir/core/ramanBands.d.ts.map +1 -0
- package/lib/ir/core/ramanBands.js +83 -0
- package/lib/ir/core/ramanBands.js.map +1 -0
- package/lib/ir/core/spectrumJcamp.d.ts +10 -5
- package/lib/ir/core/spectrumJcamp.d.ts.map +1 -1
- package/lib/ir/core/spectrumJcamp.js +63 -15
- package/lib/ir/core/spectrumJcamp.js.map +1 -1
- package/lib/ir/core/toIrSpectrum.d.ts.map +1 -1
- package/lib/ir/core/toIrSpectrum.js +17 -2
- package/lib/ir/core/toIrSpectrum.js.map +1 -1
- package/lib/ir/ui/BandRow.d.ts +30 -0
- package/lib/ir/ui/BandRow.d.ts.map +1 -0
- package/lib/ir/ui/BandRow.js +42 -0
- package/lib/ir/ui/BandRow.js.map +1 -0
- package/lib/ir/ui/BandsPanel.d.ts +4 -0
- package/lib/ir/ui/BandsPanel.d.ts.map +1 -1
- package/lib/ir/ui/BandsPanel.js +14 -59
- package/lib/ir/ui/BandsPanel.js.map +1 -1
- package/lib/ir/ui/IrAboutDialog.d.ts +7 -0
- package/lib/ir/ui/IrAboutDialog.d.ts.map +1 -1
- package/lib/ir/ui/IrAboutDialog.js +16 -3
- package/lib/ir/ui/IrAboutDialog.js.map +1 -1
- package/lib/ir/ui/IrCanvas.d.ts +7 -0
- package/lib/ir/ui/IrCanvas.d.ts.map +1 -1
- package/lib/ir/ui/IrCanvas.js +9 -4
- package/lib/ir/ui/IrCanvas.js.map +1 -1
- package/lib/ir/ui/IrChart.d.ts +2 -1
- package/lib/ir/ui/IrChart.d.ts.map +1 -1
- package/lib/ir/ui/IrChart.js +22 -21
- package/lib/ir/ui/IrChart.js.map +1 -1
- package/lib/ir/ui/IrCommandProvider.d.ts +7 -0
- package/lib/ir/ui/IrCommandProvider.d.ts.map +1 -1
- package/lib/ir/ui/IrCommandProvider.js +2 -2
- package/lib/ir/ui/IrCommandProvider.js.map +1 -1
- package/lib/ir/ui/IrCommandTooltip.d.ts +7 -0
- package/lib/ir/ui/IrCommandTooltip.d.ts.map +1 -1
- package/lib/ir/ui/IrCommandTooltip.js +3 -2
- package/lib/ir/ui/IrCommandTooltip.js.map +1 -1
- package/lib/ir/ui/IrDocumentationDialog.d.ts +8 -1
- package/lib/ir/ui/IrDocumentationDialog.d.ts.map +1 -1
- package/lib/ir/ui/IrDocumentationDialog.js +30 -7
- package/lib/ir/ui/IrDocumentationDialog.js.map +1 -1
- package/lib/ir/ui/IrEditor.d.ts +25 -5
- package/lib/ir/ui/IrEditor.d.ts.map +1 -1
- package/lib/ir/ui/IrEditor.js +3 -20
- package/lib/ir/ui/IrEditor.js.map +1 -1
- package/lib/ir/ui/IrHeader.d.ts.map +1 -1
- package/lib/ir/ui/IrHeader.js +5 -1
- package/lib/ir/ui/IrHeader.js.map +1 -1
- package/lib/ir/ui/IrLogo.d.ts +11 -3
- package/lib/ir/ui/IrLogo.d.ts.map +1 -1
- package/lib/ir/ui/IrLogo.js +14 -5
- package/lib/ir/ui/IrLogo.js.map +1 -1
- package/lib/ir/ui/IrShell.d.ts +9 -1
- package/lib/ir/ui/IrShell.d.ts.map +1 -1
- package/lib/ir/ui/IrShell.js +26 -74
- package/lib/ir/ui/IrShell.js.map +1 -1
- package/lib/ir/ui/IrSidePanel.d.ts +11 -0
- package/lib/ir/ui/IrSidePanel.d.ts.map +1 -1
- package/lib/ir/ui/IrSidePanel.js +12 -3
- package/lib/ir/ui/IrSidePanel.js.map +1 -1
- package/lib/ir/ui/IrStatusBar.d.ts +3 -2
- package/lib/ir/ui/IrStatusBar.d.ts.map +1 -1
- package/lib/ir/ui/IrStatusBar.js +14 -9
- package/lib/ir/ui/IrStatusBar.js.map +1 -1
- package/lib/ir/ui/IrToolbar.d.ts +3 -0
- package/lib/ir/ui/IrToolbar.d.ts.map +1 -1
- package/lib/ir/ui/IrToolbar.js +10 -3
- package/lib/ir/ui/IrToolbar.js.map +1 -1
- package/lib/ir/ui/IrTraces.d.ts +4 -1
- package/lib/ir/ui/IrTraces.d.ts.map +1 -1
- package/lib/ir/ui/IrTraces.js +2 -0
- package/lib/ir/ui/IrTraces.js.map +1 -1
- package/lib/ir/ui/RamanEditor.d.ts +64 -0
- package/lib/ir/ui/RamanEditor.d.ts.map +1 -0
- package/lib/ir/ui/RamanEditor.js +17 -0
- package/lib/ir/ui/RamanEditor.js.map +1 -0
- package/lib/ir/ui/SpectraPanel.d.ts.map +1 -1
- package/lib/ir/ui/SpectraPanel.js +2 -2
- package/lib/ir/ui/SpectraPanel.js.map +1 -1
- package/lib/ir/ui/SpectrumRow.d.ts +7 -0
- package/lib/ir/ui/SpectrumRow.d.ts.map +1 -1
- package/lib/ir/ui/SpectrumRow.js +4 -5
- package/lib/ir/ui/SpectrumRow.js.map +1 -1
- package/lib/ir/ui/VibrationalEditor.d.ts +62 -0
- package/lib/ir/ui/VibrationalEditor.d.ts.map +1 -0
- package/lib/ir/ui/VibrationalEditor.js +33 -0
- package/lib/ir/ui/VibrationalEditor.js.map +1 -0
- package/lib/ir/ui/bandsTsv.d.ts +19 -0
- package/lib/ir/ui/bandsTsv.d.ts.map +1 -0
- package/lib/ir/ui/bandsTsv.js +38 -0
- package/lib/ir/ui/bandsTsv.js.map +1 -0
- package/lib/ir/ui/index.d.ts +1 -0
- package/lib/ir/ui/index.d.ts.map +1 -1
- package/lib/ir/ui/index.js.map +1 -1
- package/lib/ir/ui/irActions.d.ts +3 -3
- package/lib/ir/ui/irActions.d.ts.map +1 -1
- package/lib/ir/ui/irChartProps.d.ts +21 -4
- package/lib/ir/ui/irChartProps.d.ts.map +1 -1
- package/lib/ir/ui/irChartProps.js +3 -2
- package/lib/ir/ui/irChartProps.js.map +1 -1
- package/lib/ir/ui/irCommandContext.d.ts +8 -0
- package/lib/ir/ui/irCommandContext.d.ts.map +1 -1
- package/lib/ir/ui/irCommandContext.js +14 -3
- package/lib/ir/ui/irCommandContext.js.map +1 -1
- package/lib/ir/ui/irHostPanels.d.ts +53 -0
- package/lib/ir/ui/irHostPanels.d.ts.map +1 -0
- package/lib/ir/ui/irHostPanels.js +41 -0
- package/lib/ir/ui/irHostPanels.js.map +1 -0
- package/lib/ir/ui/useIrEditor.d.ts +3 -3
- package/lib/ir/ui/useIrEditor.d.ts.map +1 -1
- package/lib/ir/ui/useIrEditor.js +13 -4
- package/lib/ir/ui/useIrEditor.js.map +1 -1
- package/lib/ir/ui/useIrHandle.d.ts +14 -0
- package/lib/ir/ui/useIrHandle.d.ts.map +1 -0
- package/lib/ir/ui/useIrHandle.js +39 -0
- package/lib/ir/ui/useIrHandle.js.map +1 -0
- package/lib/ir/ui/useIrSide.d.ts +27 -0
- package/lib/ir/ui/useIrSide.d.ts.map +1 -0
- package/lib/ir/ui/useIrSide.js +42 -0
- package/lib/ir/ui/useIrSide.js.map +1 -0
- package/lib/ir/ui/useIrText.d.ts +40 -0
- package/lib/ir/ui/useIrText.d.ts.map +1 -0
- package/lib/ir/ui/useIrText.js +118 -0
- package/lib/ir/ui/useIrText.js.map +1 -0
- package/lib/ir/ui/useIrZoom.d.ts +15 -0
- package/lib/ir/ui/useIrZoom.d.ts.map +1 -1
- package/lib/ir/ui/useIrZoom.js +6 -4
- package/lib/ir/ui/useIrZoom.js.map +1 -1
- package/lib/ir/ui/useValueAxisZoom.d.ts +20 -0
- package/lib/ir/ui/useValueAxisZoom.d.ts.map +1 -0
- package/lib/ir/ui/useValueAxisZoom.js +54 -0
- package/lib/ir/ui/useValueAxisZoom.js.map +1 -0
- package/lib/ir.d.ts +3 -0
- package/lib/ir.d.ts.map +1 -1
- package/lib/ir.js +3 -0
- package/lib/ir.js.map +1 -1
- package/lib/locales/de.json +29 -2
- package/lib/locales/en.json +29 -2
- package/lib/locales/es.json +29 -2
- package/lib/locales/fr.json +29 -2
- package/lib/locales/it.json +29 -2
- package/lib/molecule3d/core/animatedPng.d.ts +25 -0
- package/lib/molecule3d/core/animatedPng.d.ts.map +1 -0
- package/lib/molecule3d/core/animatedPng.js +59 -0
- package/lib/molecule3d/core/animatedPng.js.map +1 -0
- package/lib/molecule3d/core/file.d.ts +24 -0
- package/lib/molecule3d/core/file.d.ts.map +1 -0
- package/lib/molecule3d/core/file.js +2 -0
- package/lib/molecule3d/core/file.js.map +1 -0
- package/lib/molecule3d/core/index.d.ts +4 -1
- package/lib/molecule3d/core/index.d.ts.map +1 -1
- package/lib/molecule3d/core/index.js +1 -0
- package/lib/molecule3d/core/index.js.map +1 -1
- package/lib/molecule3d/core/settings.d.ts +0 -7
- package/lib/molecule3d/core/settings.d.ts.map +1 -1
- package/lib/molecule3d/core/settings.js.map +1 -1
- package/lib/molecule3d/ui/Molecule3DExport.d.ts +10 -2
- package/lib/molecule3d/ui/Molecule3DExport.d.ts.map +1 -1
- package/lib/molecule3d/ui/Molecule3DExport.js +15 -2
- package/lib/molecule3d/ui/Molecule3DExport.js.map +1 -1
- package/lib/molecule3d/ui/Molecule3DToolbar.js +9 -2
- package/lib/molecule3d/ui/Molecule3DToolbar.js.map +1 -1
- package/lib/molecule3d/ui/MoleculeCanvas3D.d.ts.map +1 -1
- package/lib/molecule3d/ui/MoleculeCanvas3D.js +23 -41
- package/lib/molecule3d/ui/MoleculeCanvas3D.js.map +1 -1
- package/lib/molecule3d/ui/drawScene.d.ts +2 -1
- package/lib/molecule3d/ui/drawScene.d.ts.map +1 -1
- package/lib/molecule3d/ui/drawScene.js.map +1 -1
- package/lib/molecule3d/ui/exportMoleculeImage.d.ts +15 -1
- package/lib/molecule3d/ui/exportMoleculeImage.d.ts.map +1 -1
- package/lib/molecule3d/ui/exportMoleculeImage.js +14 -2
- package/lib/molecule3d/ui/exportMoleculeImage.js.map +1 -1
- package/lib/molecule3d/ui/moleculeFrames.d.ts +47 -0
- package/lib/molecule3d/ui/moleculeFrames.d.ts.map +1 -0
- package/lib/molecule3d/ui/moleculeFrames.js +65 -0
- package/lib/molecule3d/ui/moleculeFrames.js.map +1 -0
- package/lib/molecule3d/ui/moleculeViewer3DProps.d.ts +14 -1
- package/lib/molecule3d/ui/moleculeViewer3DProps.d.ts.map +1 -1
- package/lib/molecule3d/ui/renderMolecule.d.ts +3 -3
- package/lib/molecule3d/ui/renderMolecule.d.ts.map +1 -1
- package/lib/molecule3d/ui/renderMolecule.js +2 -1
- package/lib/molecule3d/ui/renderMolecule.js.map +1 -1
- package/lib/molecule3d/ui/sceneDrawer.d.ts +2 -1
- package/lib/molecule3d/ui/sceneDrawer.d.ts.map +1 -1
- package/lib/molecule3d/ui/sceneDrawer.js +9 -1
- package/lib/molecule3d/ui/sceneDrawer.js.map +1 -1
- package/lib/molecule3d/ui/useImageExport.d.ts +8 -3
- package/lib/molecule3d/ui/useImageExport.d.ts.map +1 -1
- package/lib/molecule3d/ui/useImageExport.js +13 -4
- package/lib/molecule3d/ui/useImageExport.js.map +1 -1
- package/lib/molecule3d/ui/useMoleculeScene.d.ts +2 -1
- package/lib/molecule3d/ui/useMoleculeScene.d.ts.map +1 -1
- package/lib/molecule3d/ui/useMoleculeScene.js.map +1 -1
- package/lib/molecule3d/ui/useMoleculeViewer.d.ts +16 -0
- package/lib/molecule3d/ui/useMoleculeViewer.d.ts.map +1 -0
- package/lib/molecule3d/ui/useMoleculeViewer.js +37 -0
- package/lib/molecule3d/ui/useMoleculeViewer.js.map +1 -0
- package/lib/molecule3d/ui/usePolarSurfaceArea.d.ts +3 -3
- package/lib/molecule3d/ui/usePolarSurfaceArea.d.ts.map +1 -1
- package/lib/molecule3d/ui/usePolarSurfaceArea.js +4 -3
- package/lib/molecule3d/ui/usePolarSurfaceArea.js.map +1 -1
- package/lib/molecule3d/ui/viewer.d.ts +4 -1
- package/lib/molecule3d/ui/viewer.d.ts.map +1 -1
- package/lib/molecule3d/ui/viewer.js +21 -19
- package/lib/molecule3d/ui/viewer.js.map +1 -1
- package/lib/molecule3d/ui/viewerTypes.d.ts +6 -0
- package/lib/molecule3d/ui/viewerTypes.d.ts.map +1 -1
- package/lib/molstar/core/captureScene.d.ts +19 -1
- package/lib/molstar/core/captureScene.d.ts.map +1 -1
- package/lib/molstar/core/captureScene.js +57 -2
- package/lib/molstar/core/captureScene.js.map +1 -1
- package/lib/molstar/core/index.d.ts +5 -2
- package/lib/molstar/core/index.d.ts.map +1 -1
- package/lib/molstar/core/index.js +4 -2
- package/lib/molstar/core/index.js.map +1 -1
- package/lib/molstar/core/trajectory.d.ts +56 -0
- package/lib/molstar/core/trajectory.d.ts.map +1 -0
- package/lib/molstar/core/trajectory.js +96 -0
- package/lib/molstar/core/trajectory.js.map +1 -0
- package/lib/panel/ui/PanelRail.d.ts.map +1 -1
- package/lib/panel/ui/PanelRail.js +1 -1
- package/lib/panel/ui/PanelRail.js.map +1 -1
- package/lib/raman.d.ts +17 -0
- package/lib/raman.d.ts.map +1 -0
- package/lib/raman.js +12 -0
- package/lib/raman.js.map +1 -0
- package/lib/router/core/basePath.d.ts +2 -2
- package/lib/router/core/basePath.js +2 -2
- package/lib/router/core/siteAddresses.d.ts +1 -1
- package/lib/router/core/siteAddresses.js +1 -1
- package/lib/seo/core/siteFiles.js +1 -1
- package/lib/seo/core/siteFiles.js.map +1 -1
- package/lib/server/answerAddresses.d.ts +3 -3
- package/lib/server/answerAddresses.js +3 -3
- package/lib/structure/core/index.d.ts +2 -0
- package/lib/structure/core/index.d.ts.map +1 -1
- package/lib/structure/core/index.js +1 -0
- package/lib/structure/core/index.js.map +1 -1
- package/lib/structure/core/structureTransfer.d.ts +29 -0
- package/lib/structure/core/structureTransfer.d.ts.map +1 -0
- package/lib/structure/core/structureTransfer.js +26 -0
- package/lib/structure/core/structureTransfer.js.map +1 -0
- package/lib/structure/ui/EditorImportButton.d.ts +20 -0
- package/lib/structure/ui/EditorImportButton.d.ts.map +1 -0
- package/lib/structure/ui/EditorImportButton.js +24 -0
- package/lib/structure/ui/EditorImportButton.js.map +1 -0
- package/lib/structure/ui/EditorImportProblem.d.ts +17 -0
- package/lib/structure/ui/EditorImportProblem.d.ts.map +1 -0
- package/lib/structure/ui/EditorImportProblem.js +32 -0
- package/lib/structure/ui/EditorImportProblem.js.map +1 -0
- package/lib/structure/ui/StructureDrop.d.ts +39 -0
- package/lib/structure/ui/StructureDrop.d.ts.map +1 -0
- package/lib/structure/ui/StructureDrop.js +19 -0
- package/lib/structure/ui/StructureDrop.js.map +1 -0
- package/lib/structure/ui/StructureDropOverlay.d.ts +16 -0
- package/lib/structure/ui/StructureDropOverlay.d.ts.map +1 -0
- package/lib/structure/ui/StructureDropOverlay.js +29 -0
- package/lib/structure/ui/StructureDropOverlay.js.map +1 -0
- package/lib/structure/ui/StructureEditor.d.ts +3 -80
- package/lib/structure/ui/StructureEditor.d.ts.map +1 -1
- package/lib/structure/ui/StructureEditor.js +21 -33
- package/lib/structure/ui/StructureEditor.js.map +1 -1
- package/lib/structure/ui/importedStructure.d.ts +25 -0
- package/lib/structure/ui/importedStructure.d.ts.map +1 -0
- package/lib/structure/ui/importedStructure.js +74 -0
- package/lib/structure/ui/importedStructure.js.map +1 -0
- package/lib/structure/ui/index.d.ts +2 -0
- package/lib/structure/ui/index.d.ts.map +1 -1
- package/lib/structure/ui/index.js +1 -0
- package/lib/structure/ui/index.js.map +1 -1
- package/lib/structure/ui/structureEditorProps.d.ts +98 -0
- package/lib/structure/ui/structureEditorProps.d.ts.map +1 -0
- package/lib/structure/ui/structureEditorProps.js +2 -0
- package/lib/structure/ui/structureEditorProps.js.map +1 -0
- package/lib/structure/ui/useDebouncedChange.d.ts +16 -0
- package/lib/structure/ui/useDebouncedChange.d.ts.map +1 -0
- package/lib/structure/ui/useDebouncedChange.js +30 -0
- package/lib/structure/ui/useDebouncedChange.js.map +1 -0
- package/lib/structure/ui/useStructureDrop.d.ts +30 -0
- package/lib/structure/ui/useStructureDrop.d.ts.map +1 -0
- package/lib/structure/ui/useStructureDrop.js +49 -0
- package/lib/structure/ui/useStructureDrop.js.map +1 -0
- package/lib/structure/ui/useStructureImport.d.ts +45 -0
- package/lib/structure/ui/useStructureImport.d.ts.map +1 -0
- package/lib/structure/ui/useStructureImport.js +62 -0
- package/lib/structure/ui/useStructureImport.js.map +1 -0
- package/package.json +5 -1
- package/src/download/ui/FigureDownloadPanel.tsx +9 -2
- package/src/ecosystem/core/sites.ts +3 -3
- package/src/ecosystem/core/types.ts +1 -1
- package/src/ecosystem/ui/glyphs.tsx +1 -1
- package/src/i18n/core/messageCatalog.ts +2 -2
- package/src/i18n/vite/localeCatalog.ts +1 -1
- package/src/ir/core/analysisSpectra.ts +26 -10
- package/src/ir/core/bandLabelPlan.ts +21 -10
- package/src/ir/core/index.ts +31 -7
- package/src/ir/core/irBand.ts +52 -14
- package/src/ir/core/irCommands.ts +15 -1
- package/src/ir/core/irDomain.ts +9 -7
- package/src/ir/core/irEditorApi.ts +13 -0
- package/src/ir/core/irFormat.ts +39 -6
- package/src/ir/core/irMode.ts +42 -10
- package/src/ir/core/irReducer.ts +3 -51
- package/src/ir/core/irSidePanels.ts +8 -1
- package/src/ir/core/irSpectrum.ts +59 -30
- package/src/ir/core/irState.ts +73 -5
- package/src/ir/core/irTechnique.ts +115 -0
- package/src/ir/core/irTechniqueCommands.ts +82 -0
- package/src/ir/core/pickBands.ts +63 -28
- package/src/ir/core/ramanBands.ts +105 -0
- package/src/ir/core/spectrumJcamp.ts +65 -16
- package/src/ir/core/toIrSpectrum.ts +20 -2
- package/src/ir/ui/BandRow.tsx +107 -0
- package/src/ir/ui/BandsPanel.tsx +32 -125
- package/src/ir/ui/IrAboutDialog.tsx +69 -28
- package/src/ir/ui/IrCanvas.tsx +29 -3
- package/src/ir/ui/IrChart.tsx +31 -24
- package/src/ir/ui/IrCommandProvider.tsx +10 -3
- package/src/ir/ui/IrCommandTooltip.tsx +11 -2
- package/src/ir/ui/IrDocumentationDialog.tsx +99 -55
- package/src/ir/ui/IrEditor.tsx +27 -40
- package/src/ir/ui/IrHeader.tsx +10 -3
- package/src/ir/ui/IrLogo.tsx +28 -9
- package/src/ir/ui/IrShell.tsx +47 -96
- package/src/ir/ui/IrSidePanel.tsx +36 -10
- package/src/ir/ui/IrStatusBar.tsx +17 -12
- package/src/ir/ui/IrToolbar.tsx +26 -15
- package/src/ir/ui/IrTraces.tsx +5 -1
- package/src/ir/ui/RamanEditor.tsx +71 -0
- package/src/ir/ui/SpectraPanel.tsx +2 -1
- package/src/ir/ui/SpectrumRow.tsx +14 -5
- package/src/ir/ui/VibrationalEditor.tsx +113 -0
- package/src/ir/ui/bandsTsv.ts +46 -0
- package/src/ir/ui/index.ts +1 -0
- package/src/ir/ui/irActions.ts +3 -3
- package/src/ir/ui/irChartProps.ts +21 -4
- package/src/ir/ui/irCommandContext.tsx +18 -3
- package/src/ir/ui/irHostPanels.ts +76 -0
- package/src/ir/ui/useIrEditor.ts +20 -8
- package/src/ir/ui/useIrHandle.ts +51 -0
- package/src/ir/ui/useIrSide.ts +60 -0
- package/src/ir/ui/useIrText.ts +170 -0
- package/src/ir/ui/useIrZoom.ts +22 -3
- package/src/ir/ui/useValueAxisZoom.ts +67 -0
- package/src/ir.ts +3 -0
- package/src/locales/de.json +29 -2
- package/src/locales/en.json +29 -2
- package/src/locales/es.json +29 -2
- package/src/locales/fr.json +29 -2
- package/src/locales/it.json +29 -2
- package/src/molecule3d/core/animatedPng.ts +79 -0
- package/src/molecule3d/core/file.ts +23 -0
- package/src/molecule3d/core/index.ts +3 -1
- package/src/molecule3d/core/settings.ts +0 -8
- package/src/molecule3d/ui/Molecule3DExport.tsx +43 -5
- package/src/molecule3d/ui/Molecule3DToolbar.tsx +9 -2
- package/src/molecule3d/ui/MoleculeCanvas3D.tsx +24 -38
- package/src/molecule3d/ui/drawScene.ts +2 -1
- package/src/molecule3d/ui/exportMoleculeImage.ts +28 -3
- package/src/molecule3d/ui/moleculeFrames.ts +88 -0
- package/src/molecule3d/ui/moleculeViewer3DProps.ts +14 -5
- package/src/molecule3d/ui/renderMolecule.ts +5 -3
- package/src/molecule3d/ui/sceneDrawer.ts +14 -2
- package/src/molecule3d/ui/useImageExport.ts +22 -5
- package/src/molecule3d/ui/useMoleculeScene.ts +2 -1
- package/src/molecule3d/ui/useMoleculeViewer.ts +46 -0
- package/src/molecule3d/ui/usePolarSurfaceArea.ts +6 -4
- package/src/molecule3d/ui/viewer.ts +34 -27
- package/src/molecule3d/ui/viewerTypes.ts +6 -0
- package/src/molstar/core/captureScene.ts +85 -2
- package/src/molstar/core/index.ts +13 -2
- package/src/molstar/core/trajectory.ts +117 -0
- package/src/panel/ui/PanelRail.tsx +3 -0
- package/src/raman.ts +20 -0
- package/src/router/core/basePath.ts +2 -2
- package/src/router/core/siteAddresses.ts +1 -1
- package/src/seo/core/siteFiles.ts +1 -1
- package/src/server/answerAddresses.ts +3 -3
- package/src/structure/core/index.ts +8 -0
- package/src/structure/core/structureTransfer.ts +37 -0
- package/src/structure/ui/EditorImportButton.tsx +59 -0
- package/src/structure/ui/EditorImportProblem.tsx +63 -0
- package/src/structure/ui/StructureDrop.tsx +66 -0
- package/src/structure/ui/StructureDropOverlay.tsx +50 -0
- package/src/structure/ui/StructureEditor.tsx +49 -134
- package/src/structure/ui/importedStructure.ts +83 -0
- package/src/structure/ui/index.ts +2 -0
- package/src/structure/ui/structureEditorProps.ts +103 -0
- package/src/structure/ui/useDebouncedChange.ts +41 -0
- package/src/structure/ui/useStructureDrop.ts +76 -0
- package/src/structure/ui/useStructureImport.ts +122 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"irFormat.js","sourceRoot":"","sources":["../../../src/ir/core/irFormat.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"irFormat.js","sourceRoot":"","sources":["../../../src/ir/core/irFormat.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAI7D,qDAAqD;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,sDAAsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,IAAY;IACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,QAAQ,KAAK,SAAS;QAC3B,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;QACzD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAyB,EACzB,QAAiB;IAEjB,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC7D,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvE,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;AACrE,CAAC;AAED,6EAA6E;AAC7E,MAAM,aAAa,GAA0D;IAC3E,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,sBAAsB,EAAE;IACjE,UAAU,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,mBAAmB,EAAE;IAC1D,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE;CAC3B,CAAC"}
|
package/lib/ir/core/irMode.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Everything that differs between reading a spectrum as absorbance
|
|
3
|
-
*
|
|
2
|
+
* Everything that differs between reading a spectrum as absorbance, as percent
|
|
3
|
+
* transmittance, or — for a Raman spectrum — as intensity.
|
|
4
4
|
*
|
|
5
|
-
* The two are the same measurement drawn upside down, and nearly every
|
|
5
|
+
* The first two are the same measurement drawn upside down, and nearly every
|
|
6
6
|
* difference between them is one of a handful of facts: what the axis is called,
|
|
7
7
|
* where its baseline is, whether that baseline is held in the window, which way
|
|
8
8
|
* a band points, and which zoom gestures are worth answering. Gathering them
|
|
9
9
|
* here is what keeps the switch from being an `if (mode === …)` in the chart,
|
|
10
10
|
* the tracker, the band marks, the zoom and the fitting separately, where they
|
|
11
|
-
* would eventually disagree.
|
|
11
|
+
* would eventually disagree. Intensity is one more entry of the same facts.
|
|
12
12
|
*
|
|
13
13
|
* **No conversion happens here, or anywhere in this package.** `ir-spectrum`
|
|
14
14
|
* adds both an absorbance and a transmittance variable to every spectrum it
|
|
@@ -18,7 +18,11 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import type { YAxisRules, ZoomDragMode, ZoomGestures } from '../../chart/core/chartDomain.ts';
|
|
20
20
|
import type { IrMode } from './irSpectrum.ts';
|
|
21
|
-
|
|
21
|
+
import type { IrTechnique } from './irTechnique.ts';
|
|
22
|
+
/**
|
|
23
|
+
* The two ways an infrared spectrum is read, in the order a control offers
|
|
24
|
+
* them.
|
|
25
|
+
*/
|
|
22
26
|
export declare const IR_MODES: readonly IrMode[];
|
|
23
27
|
/**
|
|
24
28
|
* How each mode behaves, every fact in one place.
|
|
@@ -107,6 +111,22 @@ export declare const IR_MODE_RULES: {
|
|
|
107
111
|
*/
|
|
108
112
|
readonly wheelZoom: true;
|
|
109
113
|
};
|
|
114
|
+
readonly intensity: {
|
|
115
|
+
readonly title: "intensity";
|
|
116
|
+
/** No light scattered is a real floor, as no light absorbed is. */
|
|
117
|
+
readonly baseline: 0;
|
|
118
|
+
/** Not held in a dragged window, for the reason absorbance gives. */
|
|
119
|
+
readonly keepBaseline: false;
|
|
120
|
+
/** A Raman band stands up out of the baseline under it. */
|
|
121
|
+
readonly bandsPointDown: false;
|
|
122
|
+
/**
|
|
123
|
+
* Both drags are worth having: intensity is open at the top and its weak
|
|
124
|
+
* bands lie against zero, as absorbance's do.
|
|
125
|
+
*/
|
|
126
|
+
readonly boxZoomOnly: false;
|
|
127
|
+
/** The wheel scales the axis about zero, bringing a weak band up. */
|
|
128
|
+
readonly wheelZoom: true;
|
|
129
|
+
};
|
|
110
130
|
};
|
|
111
131
|
/**
|
|
112
132
|
* What the vertical axis is called in a mode.
|
|
@@ -152,9 +172,16 @@ export declare function boxZoomOnly(mode: IrMode): boolean;
|
|
|
152
172
|
*/
|
|
153
173
|
export declare function bandsPointDown(mode: IrMode): boolean;
|
|
154
174
|
/**
|
|
155
|
-
* The
|
|
175
|
+
* The next mode, for a control that toggles between them.
|
|
176
|
+
*
|
|
177
|
+
* It never leaves the technique: an infrared viewer goes back and forth
|
|
178
|
+
* between its two axes, and a Raman one, reading intensity alone, stays where
|
|
179
|
+
* it is.
|
|
156
180
|
* @param mode - The mode in force.
|
|
157
|
-
* @
|
|
181
|
+
* @param technique - The technique whose modes are toggled through. Defaults to
|
|
182
|
+
* the one that reads `mode`.
|
|
183
|
+
* @returns The one to switch to: the technique's first when `mode` is not one
|
|
184
|
+
* of its own.
|
|
158
185
|
*/
|
|
159
|
-
export declare function otherIrMode(mode: IrMode): IrMode;
|
|
186
|
+
export declare function otherIrMode(mode: IrMode, technique?: IrTechnique): IrMode;
|
|
160
187
|
//# sourceMappingURL=irMode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"irMode.d.ts","sourceRoot":"","sources":["../../../src/ir/core/irMode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACb,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"irMode.d.ts","sourceRoot":"","sources":["../../../src/ir/core/irMode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACb,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,MAAM,EAAsC,CAAC;AAE7E;;;;;;GAMG;AACH,eAAO,MAAM,aAAa;;QAEtB,wCAAwC;;QAExC;;;;;;;WAOG;;QAEH;;;;;;;;WAQG;;QAEH,2DAA2D;;QAE3D;;;;;;;;WAQG;;QAEH;;;;;;;;;;;;;WAaG;;;;;QAKH,0DAA0D;;QAE1D;;;;;;;WAOG;;QAEH,sDAAsD;;QAEtD;;;;;;WAMG;;QAEH;;;WAGG;;;;;QAKH,mEAAmE;;QAEnE,qEAAqE;;QAErE,2DAA2D;;QAE3D;;;WAGG;;QAEH,qEAAqE;;;CAaxE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAMnD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,YAAsB,GAC3B,QAAQ,CAAC,YAAY,CAAC,CAQxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,WAAmC,GAC7C,MAAM,CAGR"}
|
package/lib/ir/core/irMode.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Everything that differs between reading a spectrum as absorbance
|
|
3
|
-
*
|
|
2
|
+
* Everything that differs between reading a spectrum as absorbance, as percent
|
|
3
|
+
* transmittance, or — for a Raman spectrum — as intensity.
|
|
4
4
|
*
|
|
5
|
-
* The two are the same measurement drawn upside down, and nearly every
|
|
5
|
+
* The first two are the same measurement drawn upside down, and nearly every
|
|
6
6
|
* difference between them is one of a handful of facts: what the axis is called,
|
|
7
7
|
* where its baseline is, whether that baseline is held in the window, which way
|
|
8
8
|
* a band points, and which zoom gestures are worth answering. Gathering them
|
|
9
9
|
* here is what keeps the switch from being an `if (mode === …)` in the chart,
|
|
10
10
|
* the tracker, the band marks, the zoom and the fitting separately, where they
|
|
11
|
-
* would eventually disagree.
|
|
11
|
+
* would eventually disagree. Intensity is one more entry of the same facts.
|
|
12
12
|
*
|
|
13
13
|
* **No conversion happens here, or anywhere in this package.** `ir-spectrum`
|
|
14
14
|
* adds both an absorbance and a transmittance variable to every spectrum it
|
|
@@ -16,8 +16,12 @@
|
|
|
16
16
|
* its business and is done once at the point the file is understood. A second
|
|
17
17
|
* implementation here would be a second answer.
|
|
18
18
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
import { IR_TECHNIQUE_RULES, irModeTechnique } from "./irTechnique.js";
|
|
20
|
+
/**
|
|
21
|
+
* The two ways an infrared spectrum is read, in the order a control offers
|
|
22
|
+
* them.
|
|
23
|
+
*/
|
|
24
|
+
export const IR_MODES = IR_TECHNIQUE_RULES.infrared.modes;
|
|
21
25
|
/**
|
|
22
26
|
* How each mode behaves, every fact in one place.
|
|
23
27
|
*
|
|
@@ -105,6 +109,22 @@ export const IR_MODE_RULES = {
|
|
|
105
109
|
*/
|
|
106
110
|
wheelZoom: true,
|
|
107
111
|
},
|
|
112
|
+
intensity: {
|
|
113
|
+
title: 'intensity',
|
|
114
|
+
/** No light scattered is a real floor, as no light absorbed is. */
|
|
115
|
+
baseline: 0,
|
|
116
|
+
/** Not held in a dragged window, for the reason absorbance gives. */
|
|
117
|
+
keepBaseline: false,
|
|
118
|
+
/** A Raman band stands up out of the baseline under it. */
|
|
119
|
+
bandsPointDown: false,
|
|
120
|
+
/**
|
|
121
|
+
* Both drags are worth having: intensity is open at the top and its weak
|
|
122
|
+
* bands lie against zero, as absorbance's do.
|
|
123
|
+
*/
|
|
124
|
+
boxZoomOnly: false,
|
|
125
|
+
/** The wheel scales the axis about zero, bringing a weak band up. */
|
|
126
|
+
wheelZoom: true,
|
|
127
|
+
},
|
|
108
128
|
};
|
|
109
129
|
/**
|
|
110
130
|
* What the vertical axis is called in a mode.
|
|
@@ -170,11 +190,19 @@ export function bandsPointDown(mode) {
|
|
|
170
190
|
return IR_MODE_RULES[mode].bandsPointDown;
|
|
171
191
|
}
|
|
172
192
|
/**
|
|
173
|
-
* The
|
|
193
|
+
* The next mode, for a control that toggles between them.
|
|
194
|
+
*
|
|
195
|
+
* It never leaves the technique: an infrared viewer goes back and forth
|
|
196
|
+
* between its two axes, and a Raman one, reading intensity alone, stays where
|
|
197
|
+
* it is.
|
|
174
198
|
* @param mode - The mode in force.
|
|
175
|
-
* @
|
|
199
|
+
* @param technique - The technique whose modes are toggled through. Defaults to
|
|
200
|
+
* the one that reads `mode`.
|
|
201
|
+
* @returns The one to switch to: the technique's first when `mode` is not one
|
|
202
|
+
* of its own.
|
|
176
203
|
*/
|
|
177
|
-
export function otherIrMode(mode) {
|
|
178
|
-
|
|
204
|
+
export function otherIrMode(mode, technique = irModeTechnique(mode)) {
|
|
205
|
+
const modes = IR_TECHNIQUE_RULES[technique].modes;
|
|
206
|
+
return modes[(modes.indexOf(mode) + 1) % modes.length] ?? mode;
|
|
179
207
|
}
|
|
180
208
|
//# sourceMappingURL=irMode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"irMode.js","sourceRoot":"","sources":["../../../src/ir/core/irMode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAUH,
|
|
1
|
+
{"version":3,"file":"irMode.js","sourceRoot":"","sources":["../../../src/ir/core/irMode.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* selecting the spectrum already selected, closing an error that is already
|
|
13
13
|
* closed.
|
|
14
14
|
*/
|
|
15
|
-
import type {
|
|
15
|
+
import type { IrPanelId } from './irSidePanels.ts';
|
|
16
16
|
import type { IrDomain, IrSpectrum } from './irSpectrum.ts';
|
|
17
17
|
import type { IrSettings, IrState, IrTool, PartialIrState } from './irState.ts';
|
|
18
18
|
/** Everything that can be asked of the viewer. */
|
|
@@ -50,7 +50,7 @@ export type IrAction = {
|
|
|
50
50
|
tool: IrTool;
|
|
51
51
|
} | {
|
|
52
52
|
type: 'togglePanel';
|
|
53
|
-
panelId:
|
|
53
|
+
panelId: IrPanelId;
|
|
54
54
|
} | {
|
|
55
55
|
type: 'setError';
|
|
56
56
|
error: string | null;
|
|
@@ -63,34 +63,6 @@ export type IrAction = {
|
|
|
63
63
|
} | {
|
|
64
64
|
type: 'clear';
|
|
65
65
|
};
|
|
66
|
-
/** What a viewer opens on. */
|
|
67
|
-
export interface CreateIrStateOptions {
|
|
68
|
-
/**
|
|
69
|
-
* The spectra to open on.
|
|
70
|
-
* @default []
|
|
71
|
-
*/
|
|
72
|
-
spectra?: IrSpectrum[];
|
|
73
|
-
/**
|
|
74
|
-
* The workspace to open in.
|
|
75
|
-
* @default DEFAULT_SETTINGS
|
|
76
|
-
*/
|
|
77
|
-
settings?: Partial<IrSettings>;
|
|
78
|
-
/**
|
|
79
|
-
* The panels open to begin with.
|
|
80
|
-
* @default DEFAULT_SIDE_PANELS
|
|
81
|
-
*/
|
|
82
|
-
panelIds?: IrSidePanelId[];
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* The state a viewer opens with.
|
|
86
|
-
*
|
|
87
|
-
* The panel list is spread rather than stored by reference: a caller's array is
|
|
88
|
-
* the caller's to mutate, and a viewer holding it would find its open panels
|
|
89
|
-
* changing under it.
|
|
90
|
-
* @param options - What it opens on.
|
|
91
|
-
* @returns The state.
|
|
92
|
-
*/
|
|
93
|
-
export declare function createIrState(options?: CreateIrStateOptions): IrState;
|
|
94
66
|
/**
|
|
95
67
|
* Fold one action into the state.
|
|
96
68
|
* @param state - The state in force.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"irReducer.d.ts","sourceRoot":"","sources":["../../../src/ir/core/irReducer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"irReducer.d.ts","sourceRoot":"","sources":["../../../src/ir/core/irReducer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGhF,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,UAAU,EAAE,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,UAAU,EAAE,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,SAAS,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAmJnE"}
|
package/lib/ir/core/irReducer.js
CHANGED
|
@@ -12,30 +12,7 @@
|
|
|
12
12
|
* selecting the spectrum already selected, closing an error that is already
|
|
13
13
|
* closed.
|
|
14
14
|
*/
|
|
15
|
-
import {
|
|
16
|
-
/**
|
|
17
|
-
* The state a viewer opens with.
|
|
18
|
-
*
|
|
19
|
-
* The panel list is spread rather than stored by reference: a caller's array is
|
|
20
|
-
* the caller's to mutate, and a viewer holding it would find its open panels
|
|
21
|
-
* changing under it.
|
|
22
|
-
* @param options - What it opens on.
|
|
23
|
-
* @returns The state.
|
|
24
|
-
*/
|
|
25
|
-
export function createIrState(options = {}) {
|
|
26
|
-
const { spectra = [], settings, panelIds } = options;
|
|
27
|
-
return {
|
|
28
|
-
data: { spectra: [...spectra] },
|
|
29
|
-
view: {
|
|
30
|
-
selectedId: spectra[0]?.id ?? null,
|
|
31
|
-
domain: null,
|
|
32
|
-
tool: 'read',
|
|
33
|
-
openPanelIds: [...(panelIds ?? DEFAULT_SIDE_PANELS)],
|
|
34
|
-
error: null,
|
|
35
|
-
},
|
|
36
|
-
settings: mergeIrSettings(DEFAULT_SETTINGS, settings),
|
|
37
|
-
};
|
|
38
|
-
}
|
|
15
|
+
import { isIrWindow, mergeIrSettings } from "./irState.js";
|
|
39
16
|
/**
|
|
40
17
|
* Fold one action into the state.
|
|
41
18
|
* @param state - The state in force.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"irReducer.js","sourceRoot":"","sources":["../../../src/ir/core/irReducer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,
|
|
1
|
+
{"version":3,"file":"irReducer.js","sourceRoot":"","sources":["../../../src/ir/core/irReducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,12 @@ export declare const irSidePanels: readonly [{
|
|
|
17
17
|
readonly title: "Acquisition";
|
|
18
18
|
readonly icon: "properties";
|
|
19
19
|
}];
|
|
20
|
-
/** Identity of one of the panels the
|
|
20
|
+
/** Identity of one of the panels the viewer offers of its own. */
|
|
21
21
|
export type IrSidePanelId = (typeof irSidePanels)[number]['id'];
|
|
22
|
+
/**
|
|
23
|
+
* Identity of any panel the side can hold: one of the viewer's own, or one a
|
|
24
|
+
* host added to them. Still a union with the viewer's own ids, so those keep
|
|
25
|
+
* autocompleting where a plain `string` would swallow them.
|
|
26
|
+
*/
|
|
27
|
+
export type IrPanelId = IrSidePanelId | (string & Record<never, never>);
|
|
22
28
|
//# sourceMappingURL=irSidePanels.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"irSidePanels.d.ts","sourceRoot":"","sources":["../../../src/ir/core/irSidePanels.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;EAQvB,CAAC;AAEH,
|
|
1
|
+
{"version":3,"file":"irSidePanels.d.ts","sourceRoot":"","sources":["../../../src/ir/core/irSidePanels.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;EAQvB,CAAC;AAEH,kEAAkE;AAClE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* What
|
|
2
|
+
* What a vibrational spectrum is once it has been read, whatever it was read
|
|
3
|
+
* from.
|
|
3
4
|
*
|
|
4
|
-
* One acquisition becomes one `IrSpectrum` carrying **both** value
|
|
5
|
-
* absorbance and percent transmittance — over one shared array of
|
|
6
|
-
* Both are held rather than one being derived on demand because
|
|
7
|
-
* already produces both when it reads a file: it adds an `a` and
|
|
8
|
-
* to every spectrum whichever of the two the instrument wrote, so
|
|
9
|
-
* happens once, in the one place that knows what the file's y
|
|
10
|
-
* the answer means switching what is drawn costs nothing,
|
|
11
|
-
* axes can never drift apart through a round trip.
|
|
5
|
+
* One infrared acquisition becomes one `IrSpectrum` carrying **both** value
|
|
6
|
+
* axes — absorbance and percent transmittance — over one shared array of
|
|
7
|
+
* wavenumbers. Both are held rather than one being derived on demand because
|
|
8
|
+
* `ir-spectrum` already produces both when it reads a file: it adds an `a` and
|
|
9
|
+
* a `t` variable to every spectrum whichever of the two the instrument wrote, so
|
|
10
|
+
* the conversion happens once, in the one place that knows what the file's y
|
|
11
|
+
* axis meant. Holding the answer means switching what is drawn costs nothing,
|
|
12
|
+
* and means the two axes can never drift apart through a round trip.
|
|
13
|
+
*
|
|
14
|
+
* A Raman acquisition carries its intensity instead, over its Raman shifts —
|
|
15
|
+
* also wavenumbers in cm⁻¹ — and neither infrared axis: there is no
|
|
16
|
+
* transmittance of scattered light to convert it to.
|
|
12
17
|
*
|
|
13
18
|
* The arrays are `Float64Array` and are replaced on a change, never written
|
|
14
|
-
* into, since every consumer holds the same object by reference.
|
|
19
|
+
* into, since every consumer holds the same object by reference. A vibrational
|
|
15
20
|
* spectrum is a few thousand points rather than a mass spectrum's few hundred
|
|
16
21
|
* thousand, so holding two value axes costs nothing worth counting.
|
|
17
22
|
*/
|
|
@@ -26,8 +31,11 @@ import type { ChartDomain } from '../../chart/core/chartDomain.ts';
|
|
|
26
31
|
* adapter at each boundary.
|
|
27
32
|
*/
|
|
28
33
|
export type IrTrace = DataXY<Float64Array>;
|
|
29
|
-
/**
|
|
30
|
-
|
|
34
|
+
/**
|
|
35
|
+
* The formats a spectrum can have been read from. `wdf` is Renishaw's Raman
|
|
36
|
+
* format, which a host reads with its own parser and hands over.
|
|
37
|
+
*/
|
|
38
|
+
export type IrFormat = 'jcamp' | 'spc' | 'text' | 'wdf' | 'calculated';
|
|
31
39
|
/**
|
|
32
40
|
* Where a spectrum came from, and what the file said about the acquisition.
|
|
33
41
|
*
|
|
@@ -79,8 +87,11 @@ export interface IrMeta {
|
|
|
79
87
|
/** The fields that are populated, in display order. */
|
|
80
88
|
fields: IrMetaField[];
|
|
81
89
|
}
|
|
82
|
-
/**
|
|
83
|
-
|
|
90
|
+
/**
|
|
91
|
+
* Which value axis is being drawn and read: absorbance or percent
|
|
92
|
+
* transmittance for an infrared spectrum, intensity for a Raman one.
|
|
93
|
+
*/
|
|
94
|
+
export type IrMode = 'absorbance' | 'transmittance' | 'intensity';
|
|
84
95
|
/** One spectrum as the viewer holds it. */
|
|
85
96
|
export interface IrSpectrum {
|
|
86
97
|
/** Identity, stable across edits so a selection survives a rename. */
|
|
@@ -90,19 +101,33 @@ export interface IrSpectrum {
|
|
|
90
101
|
/** The colour it is drawn in. */
|
|
91
102
|
color: string;
|
|
92
103
|
/**
|
|
93
|
-
* The wavenumbers in cm⁻¹, **ascending
|
|
104
|
+
* The wavenumbers in cm⁻¹, **ascending** — of the light absorbed for an
|
|
105
|
+
* infrared spectrum, the Raman shift for a Raman one.
|
|
94
106
|
*
|
|
95
|
-
* Ascending even though the axis is read from 4000 down to 400:
|
|
96
|
-
* numbers run on screen is the chart's business, and every
|
|
97
|
-
* every extent taken off index zero downstream wants them in
|
|
98
|
-
* the data instead would make the drawing simpler once and
|
|
99
|
-
* wrong.
|
|
107
|
+
* Ascending even though the infrared axis is read from 4000 down to 400:
|
|
108
|
+
* which way the numbers run on screen is the chart's business, and every
|
|
109
|
+
* binary search and every extent taken off index zero downstream wants them in
|
|
110
|
+
* order. Reversing the data instead would make the drawing simpler once and
|
|
111
|
+
* everything else wrong.
|
|
100
112
|
*/
|
|
101
113
|
wavenumber: Float64Array;
|
|
102
|
-
/**
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
114
|
+
/**
|
|
115
|
+
* Absorbance at each wavenumber, as `ir-spectrum` supplied it. An infrared
|
|
116
|
+
* spectrum carries it beside `transmittance`.
|
|
117
|
+
* @default undefined
|
|
118
|
+
*/
|
|
119
|
+
absorbance?: Float64Array;
|
|
120
|
+
/**
|
|
121
|
+
* Percent transmittance at each wavenumber, likewise.
|
|
122
|
+
* @default undefined
|
|
123
|
+
*/
|
|
124
|
+
transmittance?: Float64Array;
|
|
125
|
+
/**
|
|
126
|
+
* Intensity at each Raman shift, which a Raman spectrum carries instead of
|
|
127
|
+
* the two infrared axes.
|
|
128
|
+
* @default undefined
|
|
129
|
+
*/
|
|
130
|
+
intensity?: Float64Array;
|
|
106
131
|
/** What the file said about the acquisition, `null` when it said nothing. */
|
|
107
132
|
meta: IrMeta | null;
|
|
108
133
|
/** Where it came from. */
|
|
@@ -134,7 +159,8 @@ export type IrDomain = ChartDomain;
|
|
|
134
159
|
* render of every spectrum is a copy per frame for no gain.
|
|
135
160
|
* @param spectrum - The spectrum.
|
|
136
161
|
* @param mode - Which value axis is being drawn.
|
|
137
|
-
* @returns The trace, sharing the spectrum's own arrays
|
|
162
|
+
* @returns The trace, sharing the spectrum's own arrays, or `undefined` when the
|
|
163
|
+
* spectrum carries no such axis — a Raman spectrum has no absorbance.
|
|
138
164
|
*/
|
|
139
|
-
export declare function traceOf(spectrum: IrSpectrum, mode: IrMode): IrTrace;
|
|
165
|
+
export declare function traceOf(spectrum: IrSpectrum, mode: IrMode): IrTrace | undefined;
|
|
140
166
|
//# sourceMappingURL=irSpectrum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"irSpectrum.d.ts","sourceRoot":"","sources":["../../../src/ir/core/irSpectrum.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"irSpectrum.d.ts","sourceRoot":"","sources":["../../../src/ir/core/irSpectrum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAE3C;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,mCAAmC;IACnC,MAAM,EAAE,QAAQ,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wCAAwC;AACxC,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,MAAM;IACrB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,uDAAuD;IACvD,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG,eAAe,GAAG,WAAW,CAAC;AAElE,2CAA2C;AAC3C,MAAM,WAAW,UAAU;IACzB,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;OASG;IACH,UAAU,EAAE,YAAY,CAAC;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,6EAA6E;IAC7E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,0BAA0B;IAC1B,MAAM,EAAE,QAAQ,CAAC;IACjB,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC;AAEnC;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,GAAG,SAAS,CAKrB"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* What
|
|
2
|
+
* What a vibrational spectrum is once it has been read, whatever it was read
|
|
3
|
+
* from.
|
|
3
4
|
*
|
|
4
|
-
* One acquisition becomes one `IrSpectrum` carrying **both** value
|
|
5
|
-
* absorbance and percent transmittance — over one shared array of
|
|
6
|
-
* Both are held rather than one being derived on demand because
|
|
7
|
-
* already produces both when it reads a file: it adds an `a` and
|
|
8
|
-
* to every spectrum whichever of the two the instrument wrote, so
|
|
9
|
-
* happens once, in the one place that knows what the file's y
|
|
10
|
-
* the answer means switching what is drawn costs nothing,
|
|
11
|
-
* axes can never drift apart through a round trip.
|
|
5
|
+
* One infrared acquisition becomes one `IrSpectrum` carrying **both** value
|
|
6
|
+
* axes — absorbance and percent transmittance — over one shared array of
|
|
7
|
+
* wavenumbers. Both are held rather than one being derived on demand because
|
|
8
|
+
* `ir-spectrum` already produces both when it reads a file: it adds an `a` and
|
|
9
|
+
* a `t` variable to every spectrum whichever of the two the instrument wrote, so
|
|
10
|
+
* the conversion happens once, in the one place that knows what the file's y
|
|
11
|
+
* axis meant. Holding the answer means switching what is drawn costs nothing,
|
|
12
|
+
* and means the two axes can never drift apart through a round trip.
|
|
13
|
+
*
|
|
14
|
+
* A Raman acquisition carries its intensity instead, over its Raman shifts —
|
|
15
|
+
* also wavenumbers in cm⁻¹ — and neither infrared axis: there is no
|
|
16
|
+
* transmittance of scattered light to convert it to.
|
|
12
17
|
*
|
|
13
18
|
* The arrays are `Float64Array` and are replaced on a change, never written
|
|
14
|
-
* into, since every consumer holds the same object by reference.
|
|
19
|
+
* into, since every consumer holds the same object by reference. A vibrational
|
|
15
20
|
* spectrum is a few thousand points rather than a mass spectrum's few hundred
|
|
16
21
|
* thousand, so holding two value axes costs nothing worth counting.
|
|
17
22
|
*/
|
|
@@ -23,12 +28,13 @@
|
|
|
23
28
|
* render of every spectrum is a copy per frame for no gain.
|
|
24
29
|
* @param spectrum - The spectrum.
|
|
25
30
|
* @param mode - Which value axis is being drawn.
|
|
26
|
-
* @returns The trace, sharing the spectrum's own arrays
|
|
31
|
+
* @returns The trace, sharing the spectrum's own arrays, or `undefined` when the
|
|
32
|
+
* spectrum carries no such axis — a Raman spectrum has no absorbance.
|
|
27
33
|
*/
|
|
28
34
|
export function traceOf(spectrum, mode) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
35
|
+
const values = spectrum[mode];
|
|
36
|
+
return values === undefined
|
|
37
|
+
? undefined
|
|
38
|
+
: { x: spectrum.wavenumber, y: values };
|
|
33
39
|
}
|
|
34
40
|
//# sourceMappingURL=irSpectrum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"irSpectrum.js","sourceRoot":"","sources":["../../../src/ir/core/irSpectrum.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"irSpectrum.js","sourceRoot":"","sources":["../../../src/ir/core/irSpectrum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA+IH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,OAAO,CACrB,QAAoB,EACpB,IAAY;IAEZ,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,MAAM,KAAK,SAAS;QACzB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;AAC5C,CAAC"}
|
package/lib/ir/core/irState.d.ts
CHANGED
|
@@ -12,8 +12,9 @@
|
|
|
12
12
|
* kept in step with its own inputs — `useIrEditor` recomputes them instead, and
|
|
13
13
|
* a stale band is then impossible rather than merely unlikely.
|
|
14
14
|
*/
|
|
15
|
-
import type { IrSidePanelId } from './irSidePanels.ts';
|
|
15
|
+
import type { IrPanelId, IrSidePanelId } from './irSidePanels.ts';
|
|
16
16
|
import type { IrDomain, IrMode, IrSpectrum } from './irSpectrum.ts';
|
|
17
|
+
import type { IrTechnique } from './irTechnique.ts';
|
|
17
18
|
import type { PickBandsOptions } from './pickBands.ts';
|
|
18
19
|
/** The document: what a file holds. */
|
|
19
20
|
export interface IrData {
|
|
@@ -36,14 +37,22 @@ export interface IrView {
|
|
|
36
37
|
domain: IrDomain | null;
|
|
37
38
|
/** Which tool a drag across the chart is running. */
|
|
38
39
|
tool: IrTool;
|
|
39
|
-
/**
|
|
40
|
-
|
|
40
|
+
/**
|
|
41
|
+
* The side panels that are open: the viewer's own and any a host added. An id
|
|
42
|
+
* no panel on offer answers to opens nothing.
|
|
43
|
+
*/
|
|
44
|
+
openPanelIds: IrPanelId[];
|
|
41
45
|
/** Why the last action was refused, `null` as soon as one succeeds. */
|
|
42
46
|
error: string | null;
|
|
43
47
|
}
|
|
44
48
|
/** The workspace: how every spectrum is drawn, whichever ones are open. */
|
|
45
49
|
export interface IrSettings {
|
|
46
|
-
/**
|
|
50
|
+
/**
|
|
51
|
+
* What the spectra were measured with. Chosen when the viewer opens and fixed
|
|
52
|
+
* from then on: a change asking for another is ignored.
|
|
53
|
+
*/
|
|
54
|
+
technique: IrTechnique;
|
|
55
|
+
/** Which value axis the spectra are read in, always one the technique offers. */
|
|
47
56
|
mode: IrMode;
|
|
48
57
|
/** Whether the bands are picked at all. */
|
|
49
58
|
pickBands: boolean;
|
|
@@ -92,6 +101,36 @@ export declare const DEFAULT_LABEL_LIMIT = 12;
|
|
|
92
101
|
export declare const DEFAULT_PICKING: PickBandsOptions;
|
|
93
102
|
/** The workspace a fresh viewer starts from. */
|
|
94
103
|
export declare const DEFAULT_SETTINGS: IrSettings;
|
|
104
|
+
/** What a viewer opens on. */
|
|
105
|
+
export interface CreateIrStateOptions {
|
|
106
|
+
/**
|
|
107
|
+
* The spectra to open on.
|
|
108
|
+
* @default []
|
|
109
|
+
*/
|
|
110
|
+
spectra?: IrSpectrum[];
|
|
111
|
+
/**
|
|
112
|
+
* The workspace to open in. Its `technique` is fixed for the life of the
|
|
113
|
+
* viewer, and its `mode` falls back to the technique's first when the
|
|
114
|
+
* technique does not offer it.
|
|
115
|
+
* @default DEFAULT_SETTINGS
|
|
116
|
+
*/
|
|
117
|
+
settings?: Partial<IrSettings>;
|
|
118
|
+
/**
|
|
119
|
+
* The panels open to begin with, the viewer's own or a host's.
|
|
120
|
+
* @default DEFAULT_SIDE_PANELS
|
|
121
|
+
*/
|
|
122
|
+
panelIds?: readonly IrPanelId[];
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* The state a viewer opens with.
|
|
126
|
+
*
|
|
127
|
+
* The panel list is spread rather than stored by reference: a caller's array is
|
|
128
|
+
* the caller's to mutate, and a viewer holding it would find its open panels
|
|
129
|
+
* changing under it.
|
|
130
|
+
* @param options - What it opens on.
|
|
131
|
+
* @returns The state.
|
|
132
|
+
*/
|
|
133
|
+
export declare function createIrState(options?: CreateIrStateOptions): IrState;
|
|
95
134
|
/**
|
|
96
135
|
* Fold a change into the workspace, refusing what no chart survives.
|
|
97
136
|
*
|
|
@@ -99,7 +138,9 @@ export declare const DEFAULT_SETTINGS: IrSettings;
|
|
|
99
138
|
* not yet a number — a lone minus sign, an empty box — and a limit of `NaN`
|
|
100
139
|
* silently stops every label being drawn. So each is checked, and the current
|
|
101
140
|
* value is kept where the new one is unusable rather than the field being
|
|
102
|
-
* fought with while it is being typed in.
|
|
141
|
+
* fought with while it is being typed in. The technique is never changed, and a
|
|
142
|
+
* mode it does not offer is refused the same way: a Raman spectrum has no
|
|
143
|
+
* absorbance to draw.
|
|
103
144
|
* @param current - The workspace in force.
|
|
104
145
|
* @param change - What to change about it.
|
|
105
146
|
* @returns The new workspace.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"irState.d.ts","sourceRoot":"","sources":["../../../src/ir/core/irState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"irState.d.ts","sourceRoot":"","sources":["../../../src/ir/core/irState.ts"],"names":[],"mappings":"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"}
|