react-cheminfo 0.28.0 → 0.29.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 +38 -25
- package/lib/chart/core/axisLabels.d.ts +82 -0
- package/lib/chart/core/axisLabels.d.ts.map +1 -0
- package/lib/chart/core/axisLabels.js +111 -0
- package/lib/chart/core/axisLabels.js.map +1 -0
- package/lib/chart/core/boxLayout.d.ts +53 -0
- package/lib/chart/core/boxLayout.d.ts.map +1 -0
- package/lib/chart/core/boxLayout.js +112 -0
- package/lib/chart/core/boxLayout.js.map +1 -0
- package/lib/chart/core/chartAxisScale.d.ts +23 -2
- package/lib/chart/core/chartAxisScale.d.ts.map +1 -1
- package/lib/chart/core/chartAxisScale.js +64 -13
- package/lib/chart/core/chartAxisScale.js.map +1 -1
- package/lib/chart/core/chartDomain.d.ts +160 -0
- package/lib/chart/core/chartDomain.d.ts.map +1 -0
- package/lib/chart/core/chartDomain.js +46 -0
- package/lib/chart/core/chartDomain.js.map +1 -0
- package/lib/chart/core/chartGeometry.d.ts +131 -0
- package/lib/chart/core/chartGeometry.d.ts.map +1 -0
- package/lib/chart/core/chartGeometry.js +101 -0
- package/lib/chart/core/chartGeometry.js.map +1 -0
- package/lib/chart/core/chartPane.d.ts +11 -0
- package/lib/chart/core/chartPane.d.ts.map +1 -0
- package/lib/chart/core/chartPane.js +11 -0
- package/lib/chart/core/chartPane.js.map +1 -0
- package/lib/chart/core/chartScale.d.ts +4 -1
- package/lib/chart/core/chartScale.d.ts.map +1 -1
- package/lib/chart/core/chartScale.js +8 -4
- package/lib/chart/core/chartScale.js.map +1 -1
- package/lib/chart/core/chartTheme.d.ts +156 -0
- package/lib/chart/core/chartTheme.d.ts.map +1 -0
- package/lib/chart/core/chartTheme.js +156 -0
- package/lib/chart/core/chartTheme.js.map +1 -0
- package/lib/chart/core/chartViewport.d.ts +32 -5
- package/lib/chart/core/chartViewport.d.ts.map +1 -1
- package/lib/chart/core/chartViewport.js +40 -11
- package/lib/chart/core/chartViewport.js.map +1 -1
- package/lib/chart/core/guidePlacement.d.ts +52 -0
- package/lib/chart/core/guidePlacement.d.ts.map +1 -0
- package/lib/chart/core/guidePlacement.js +52 -0
- package/lib/chart/core/guidePlacement.js.map +1 -0
- package/lib/chart/core/index.d.ts +29 -2
- package/lib/chart/core/index.d.ts.map +1 -1
- package/lib/chart/core/index.js +19 -2
- package/lib/chart/core/index.js.map +1 -1
- package/lib/chart/core/labelStack.d.ts +27 -0
- package/lib/chart/core/labelStack.d.ts.map +1 -0
- package/lib/chart/core/labelStack.js +62 -0
- package/lib/chart/core/labelStack.js.map +1 -0
- package/lib/chart/core/legendBox.d.ts +152 -0
- package/lib/chart/core/legendBox.d.ts.map +1 -0
- package/lib/chart/core/legendBox.js +169 -0
- package/lib/chart/core/legendBox.js.map +1 -0
- package/lib/chart/core/selectionGeometry.d.ts +45 -0
- package/lib/chart/core/selectionGeometry.d.ts.map +1 -0
- package/lib/chart/core/selectionGeometry.js +49 -0
- package/lib/chart/core/selectionGeometry.js.map +1 -0
- package/lib/chart/core/spectrumColor.d.ts +80 -0
- package/lib/chart/core/spectrumColor.d.ts.map +1 -0
- package/lib/chart/core/spectrumColor.js +120 -0
- package/lib/chart/core/spectrumColor.js.map +1 -0
- package/lib/chart/core/stackCapacity.d.ts +136 -0
- package/lib/chart/core/stackCapacity.d.ts.map +1 -0
- package/lib/chart/core/stackCapacity.js +153 -0
- package/lib/chart/core/stackCapacity.js.map +1 -0
- package/lib/chart/core/svgPoint.d.ts +62 -0
- package/lib/chart/core/svgPoint.d.ts.map +1 -0
- package/lib/chart/core/svgPoint.js +43 -0
- package/lib/chart/core/svgPoint.js.map +1 -0
- package/lib/chart/core/tracePath.d.ts +94 -0
- package/lib/chart/core/tracePath.d.ts.map +1 -0
- package/lib/chart/core/tracePath.js +191 -0
- package/lib/chart/core/tracePath.js.map +1 -0
- package/lib/chart/core/trackerReadout.d.ts +55 -0
- package/lib/chart/core/trackerReadout.d.ts.map +1 -0
- package/lib/chart/core/trackerReadout.js +53 -0
- package/lib/chart/core/trackerReadout.js.map +1 -0
- package/lib/chart/core/viewTransform.d.ts +167 -0
- package/lib/chart/core/viewTransform.d.ts.map +1 -0
- package/lib/chart/core/viewTransform.js +188 -0
- package/lib/chart/core/viewTransform.js.map +1 -0
- package/lib/chart/core/zoomDomain.d.ts +127 -0
- package/lib/chart/core/zoomDomain.d.ts.map +1 -0
- package/lib/chart/core/zoomDomain.js +175 -0
- package/lib/chart/core/zoomDomain.js.map +1 -0
- package/lib/chart/ui/Axes.d.ts +104 -0
- package/lib/chart/ui/Axes.d.ts.map +1 -0
- package/lib/chart/ui/Axes.js +155 -0
- package/lib/chart/ui/Axes.js.map +1 -0
- package/lib/chart/ui/AxisGuide.d.ts +60 -0
- package/lib/chart/ui/AxisGuide.d.ts.map +1 -0
- package/lib/chart/ui/AxisGuide.js +111 -0
- package/lib/chart/ui/AxisGuide.js.map +1 -0
- package/lib/chart/ui/ChartStack.d.ts +81 -0
- package/lib/chart/ui/ChartStack.d.ts.map +1 -0
- package/lib/chart/ui/ChartStack.js +42 -0
- package/lib/chart/ui/ChartStack.js.map +1 -0
- package/lib/chart/ui/ChartTracker.d.ts +36 -0
- package/lib/chart/ui/ChartTracker.d.ts.map +1 -0
- package/lib/chart/ui/ChartTracker.js +27 -0
- package/lib/chart/ui/ChartTracker.js.map +1 -0
- package/lib/chart/ui/PlotCaption.d.ts +44 -0
- package/lib/chart/ui/PlotCaption.d.ts.map +1 -0
- package/lib/chart/ui/PlotCaption.js +68 -0
- package/lib/chart/ui/PlotCaption.js.map +1 -0
- package/lib/chart/ui/SelectionRect.d.ts +27 -0
- package/lib/chart/ui/SelectionRect.d.ts.map +1 -0
- package/lib/chart/ui/SelectionRect.js +31 -0
- package/lib/chart/ui/SelectionRect.js.map +1 -0
- package/lib/chart/ui/TraceLegend.d.ts +99 -0
- package/lib/chart/ui/TraceLegend.d.ts.map +1 -0
- package/lib/chart/ui/TraceLegend.js +45 -0
- package/lib/chart/ui/TraceLegend.js.map +1 -0
- package/lib/chart/ui/chartGestures.d.ts +158 -0
- package/lib/chart/ui/chartGestures.d.ts.map +1 -0
- package/lib/chart/ui/chartGestures.js +145 -0
- package/lib/chart/ui/chartGestures.js.map +1 -0
- package/lib/chart/ui/chartStackLevel.d.ts +115 -0
- package/lib/chart/ui/chartStackLevel.d.ts.map +1 -0
- package/lib/chart/ui/chartStackLevel.js +96 -0
- package/lib/chart/ui/chartStackLevel.js.map +1 -0
- package/lib/chart/ui/chartSurface.d.ts +35 -0
- package/lib/chart/ui/chartSurface.d.ts.map +1 -0
- package/lib/chart/ui/chartSurface.js +58 -0
- package/lib/chart/ui/chartSurface.js.map +1 -0
- package/lib/chart/ui/index.d.ts +24 -0
- package/lib/chart/ui/index.d.ts.map +1 -1
- package/lib/chart/ui/index.js +13 -0
- package/lib/chart/ui/index.js.map +1 -1
- package/lib/chart/ui/useChartPointer.d.ts +124 -0
- package/lib/chart/ui/useChartPointer.d.ts.map +1 -0
- package/lib/chart/ui/useChartPointer.js +152 -0
- package/lib/chart/ui/useChartPointer.js.map +1 -0
- package/lib/chart/ui/useChartSize.d.ts +49 -0
- package/lib/chart/ui/useChartSize.d.ts.map +1 -0
- package/lib/chart/ui/useChartSize.js +91 -0
- package/lib/chart/ui/useChartSize.js.map +1 -0
- package/lib/chart/ui/useChartWindow.d.ts +147 -0
- package/lib/chart/ui/useChartWindow.d.ts.map +1 -0
- package/lib/chart/ui/useChartWindow.js +135 -0
- package/lib/chart/ui/useChartWindow.js.map +1 -0
- package/lib/chart/ui/useChartZoom.d.ts +88 -0
- package/lib/chart/ui/useChartZoom.d.ts.map +1 -0
- package/lib/chart/ui/useChartZoom.js +142 -0
- package/lib/chart/ui/useChartZoom.js.map +1 -0
- package/lib/chart/ui/useWheelListener.d.ts +30 -0
- package/lib/chart/ui/useWheelListener.d.ts.map +1 -0
- package/lib/chart/ui/useWheelListener.js +57 -0
- package/lib/chart/ui/useWheelListener.js.map +1 -0
- package/lib/clipboard/core/copyPng.d.ts +13 -0
- package/lib/clipboard/core/copyPng.d.ts.map +1 -0
- package/lib/clipboard/core/copyPng.js +19 -0
- package/lib/clipboard/core/copyPng.js.map +1 -0
- package/lib/clipboard/core/index.d.ts +1 -0
- package/lib/clipboard/core/index.d.ts.map +1 -1
- package/lib/clipboard/core/index.js +1 -0
- package/lib/clipboard/core/index.js.map +1 -1
- package/lib/core.d.ts +1 -0
- package/lib/core.d.ts.map +1 -1
- package/lib/core.js +1 -0
- package/lib/core.js.map +1 -1
- package/lib/download/core/exportStyles.d.ts +22 -0
- package/lib/download/core/exportStyles.d.ts.map +1 -0
- package/lib/download/core/exportStyles.js +19 -0
- package/lib/download/core/exportStyles.js.map +1 -0
- package/lib/download/core/imageResolution.d.ts +88 -0
- package/lib/download/core/imageResolution.d.ts.map +1 -0
- package/lib/download/core/imageResolution.js +77 -0
- package/lib/download/core/imageResolution.js.map +1 -0
- package/lib/download/core/index.d.ts +13 -0
- package/lib/download/core/index.d.ts.map +1 -1
- package/lib/download/core/index.js +8 -0
- package/lib/download/core/index.js.map +1 -1
- package/lib/download/core/pictureExport.d.ts +93 -0
- package/lib/download/core/pictureExport.d.ts.map +1 -0
- package/lib/download/core/pictureExport.js +116 -0
- package/lib/download/core/pictureExport.js.map +1 -0
- package/lib/download/core/stackedDrawing.d.ts +36 -0
- package/lib/download/core/stackedDrawing.d.ts.map +1 -0
- package/lib/download/core/stackedDrawing.js +98 -0
- package/lib/download/core/stackedDrawing.js.map +1 -0
- package/lib/download/core/svgBounds.d.ts +44 -0
- package/lib/download/core/svgBounds.d.ts.map +1 -0
- package/lib/download/core/svgBounds.js +69 -0
- package/lib/download/core/svgBounds.js.map +1 -0
- package/lib/download/core/svgNamespace.d.ts +9 -0
- package/lib/download/core/svgNamespace.d.ts.map +1 -0
- package/lib/download/core/svgNamespace.js +10 -0
- package/lib/download/core/svgNamespace.js.map +1 -0
- package/lib/download/core/svgToPng.d.ts +43 -0
- package/lib/download/core/svgToPng.d.ts.map +1 -0
- package/lib/download/core/svgToPng.js +79 -0
- package/lib/download/core/svgToPng.js.map +1 -0
- package/lib/download/core/svgToString.d.ts +45 -0
- package/lib/download/core/svgToString.d.ts.map +1 -0
- package/lib/download/core/svgToString.js +58 -0
- package/lib/download/core/svgToString.js.map +1 -0
- package/lib/download/ui/ExportDialogFrame.d.ts +46 -0
- package/lib/download/ui/ExportDialogFrame.d.ts.map +1 -0
- package/lib/download/ui/ExportDialogFrame.js +24 -0
- package/lib/download/ui/ExportDialogFrame.js.map +1 -0
- package/lib/download/ui/ExportImageDialog.d.ts +47 -0
- package/lib/download/ui/ExportImageDialog.d.ts.map +1 -0
- package/lib/download/ui/ExportImageDialog.js +25 -0
- package/lib/download/ui/ExportImageDialog.js.map +1 -0
- package/lib/download/ui/ExportNameField.d.ts +29 -0
- package/lib/download/ui/ExportNameField.d.ts.map +1 -0
- package/lib/download/ui/ExportNameField.js +99 -0
- package/lib/download/ui/ExportNameField.js.map +1 -0
- package/lib/download/ui/ExportPictureSection.d.ts +38 -0
- package/lib/download/ui/ExportPictureSection.d.ts.map +1 -0
- package/lib/download/ui/ExportPictureSection.js +48 -0
- package/lib/download/ui/ExportPictureSection.js.map +1 -0
- package/lib/download/ui/index.d.ts +10 -0
- package/lib/download/ui/index.d.ts.map +1 -1
- package/lib/download/ui/index.js +5 -0
- package/lib/download/ui/index.js.map +1 -1
- package/lib/download/ui/useDrawingBox.d.ts +23 -0
- package/lib/download/ui/useDrawingBox.d.ts.map +1 -0
- package/lib/download/ui/useDrawingBox.js +21 -0
- package/lib/download/ui/useDrawingBox.js.map +1 -0
- package/lib/error/core/describeSource.d.ts +17 -0
- package/lib/error/core/describeSource.d.ts.map +1 -0
- package/lib/error/core/describeSource.js +19 -0
- package/lib/error/core/describeSource.js.map +1 -0
- package/lib/error/core/index.d.ts +1 -0
- package/lib/error/core/index.d.ts.map +1 -1
- package/lib/error/core/index.js +1 -0
- package/lib/error/core/index.js.map +1 -1
- package/lib/help/ui/HelpBody.d.ts +10 -1
- package/lib/help/ui/HelpBody.d.ts.map +1 -1
- package/lib/help/ui/HelpBody.js +24 -1
- package/lib/help/ui/HelpBody.js.map +1 -1
- package/lib/help/ui/index.d.ts +1 -1
- package/lib/help/ui/index.d.ts.map +1 -1
- package/lib/help/ui/index.js.map +1 -1
- package/lib/ir/core/analysisSpectra.d.ts +46 -0
- package/lib/ir/core/analysisSpectra.d.ts.map +1 -0
- package/lib/ir/core/analysisSpectra.js +187 -0
- package/lib/ir/core/analysisSpectra.js.map +1 -0
- package/lib/ir/core/assignBands.d.ts +83 -0
- package/lib/ir/core/assignBands.d.ts.map +1 -0
- package/lib/ir/core/assignBands.js +83 -0
- package/lib/ir/core/assignBands.js.map +1 -0
- package/lib/ir/core/bandAssignments.d.ts +47 -0
- package/lib/ir/core/bandAssignments.d.ts.map +1 -0
- package/lib/ir/core/bandAssignments.js +305 -0
- package/lib/ir/core/bandAssignments.js.map +1 -0
- package/lib/ir/core/bandLabelPlan.d.ts +93 -0
- package/lib/ir/core/bandLabelPlan.d.ts.map +1 -0
- package/lib/ir/core/bandLabelPlan.js +104 -0
- package/lib/ir/core/bandLabelPlan.js.map +1 -0
- package/lib/ir/core/detectIrFormat.d.ts +23 -0
- package/lib/ir/core/detectIrFormat.d.ts.map +1 -0
- package/lib/ir/core/detectIrFormat.js +133 -0
- package/lib/ir/core/detectIrFormat.js.map +1 -0
- package/lib/ir/core/downloadSpectra.d.ts +26 -0
- package/lib/ir/core/downloadSpectra.d.ts.map +1 -0
- package/lib/ir/core/downloadSpectra.js +37 -0
- package/lib/ir/core/downloadSpectra.js.map +1 -0
- package/lib/ir/core/fromJcamp.d.ts +35 -0
- package/lib/ir/core/fromJcamp.d.ts.map +1 -0
- package/lib/ir/core/fromJcamp.js +48 -0
- package/lib/ir/core/fromJcamp.js.map +1 -0
- package/lib/ir/core/fromSpc.d.ts +30 -0
- package/lib/ir/core/fromSpc.d.ts.map +1 -0
- package/lib/ir/core/fromSpc.js +40 -0
- package/lib/ir/core/fromSpc.js.map +1 -0
- package/lib/ir/core/index.d.ts +51 -0
- package/lib/ir/core/index.d.ts.map +1 -0
- package/lib/ir/core/index.js +35 -0
- package/lib/ir/core/index.js.map +1 -0
- package/lib/ir/core/irBand.d.ts +45 -0
- package/lib/ir/core/irBand.d.ts.map +1 -0
- package/lib/ir/core/irBand.js +30 -0
- package/lib/ir/core/irBand.js.map +1 -0
- package/lib/ir/core/irCommands.d.ts +168 -0
- package/lib/ir/core/irCommands.d.ts.map +1 -0
- package/lib/ir/core/irCommands.js +94 -0
- package/lib/ir/core/irCommands.js.map +1 -0
- package/lib/ir/core/irDomain.d.ts +63 -0
- package/lib/ir/core/irDomain.d.ts.map +1 -0
- package/lib/ir/core/irDomain.js +136 -0
- package/lib/ir/core/irDomain.js.map +1 -0
- package/lib/ir/core/irEditorApi.d.ts +42 -0
- package/lib/ir/core/irEditorApi.d.ts.map +1 -0
- package/lib/ir/core/irEditorApi.js +10 -0
- package/lib/ir/core/irEditorApi.js.map +1 -0
- package/lib/ir/core/irFormat.d.ts +42 -0
- package/lib/ir/core/irFormat.d.ts.map +1 -0
- package/lib/ir/core/irFormat.js +51 -0
- package/lib/ir/core/irFormat.js.map +1 -0
- package/lib/ir/core/irMode.d.ts +160 -0
- package/lib/ir/core/irMode.d.ts.map +1 -0
- package/lib/ir/core/irMode.js +175 -0
- package/lib/ir/core/irMode.js.map +1 -0
- package/lib/ir/core/irReducer.d.ts +101 -0
- package/lib/ir/core/irReducer.d.ts.map +1 -0
- package/lib/ir/core/irReducer.js +207 -0
- package/lib/ir/core/irReducer.js.map +1 -0
- package/lib/ir/core/irSidePanels.d.ts +22 -0
- package/lib/ir/core/irSidePanels.d.ts.map +1 -0
- package/lib/ir/core/irSidePanels.js +12 -0
- package/lib/ir/core/irSidePanels.js.map +1 -0
- package/lib/ir/core/irSpectrum.d.ts +140 -0
- package/lib/ir/core/irSpectrum.d.ts.map +1 -0
- package/lib/ir/core/irSpectrum.js +34 -0
- package/lib/ir/core/irSpectrum.js.map +1 -0
- package/lib/ir/core/irState.d.ts +119 -0
- package/lib/ir/core/irState.d.ts.map +1 -0
- package/lib/ir/core/irState.js +92 -0
- package/lib/ir/core/irState.js.map +1 -0
- package/lib/ir/core/loadIrSpectra.d.ts +36 -0
- package/lib/ir/core/loadIrSpectra.d.ts.map +1 -0
- package/lib/ir/core/loadIrSpectra.js +44 -0
- package/lib/ir/core/loadIrSpectra.js.map +1 -0
- package/lib/ir/core/nearestBand.d.ts +35 -0
- package/lib/ir/core/nearestBand.d.ts.map +1 -0
- package/lib/ir/core/nearestBand.js +47 -0
- package/lib/ir/core/nearestBand.js.map +1 -0
- package/lib/ir/core/pickBands.d.ts +70 -0
- package/lib/ir/core/pickBands.d.ts.map +1 -0
- package/lib/ir/core/pickBands.js +125 -0
- package/lib/ir/core/pickBands.js.map +1 -0
- package/lib/ir/core/spectrumJcamp.d.ts +58 -0
- package/lib/ir/core/spectrumJcamp.d.ts.map +1 -0
- package/lib/ir/core/spectrumJcamp.js +156 -0
- package/lib/ir/core/spectrumJcamp.js.map +1 -0
- package/lib/ir/core/toIrSpectrum.d.ts +59 -0
- package/lib/ir/core/toIrSpectrum.d.ts.map +1 -0
- package/lib/ir/core/toIrSpectrum.js +56 -0
- package/lib/ir/core/toIrSpectrum.js.map +1 -0
- package/lib/ir/ui/BandMarks.d.ts +52 -0
- package/lib/ir/ui/BandMarks.d.ts.map +1 -0
- package/lib/ir/ui/BandMarks.js +71 -0
- package/lib/ir/ui/BandMarks.js.map +1 -0
- package/lib/ir/ui/BandsPanel.d.ts +31 -0
- package/lib/ir/ui/BandsPanel.d.ts.map +1 -0
- package/lib/ir/ui/BandsPanel.js +94 -0
- package/lib/ir/ui/BandsPanel.js.map +1 -0
- package/lib/ir/ui/IrAboutDialog.d.ts +18 -0
- package/lib/ir/ui/IrAboutDialog.d.ts.map +1 -0
- package/lib/ir/ui/IrAboutDialog.js +32 -0
- package/lib/ir/ui/IrAboutDialog.js.map +1 -0
- package/lib/ir/ui/IrCanvas.d.ts +38 -0
- package/lib/ir/ui/IrCanvas.d.ts.map +1 -0
- package/lib/ir/ui/IrCanvas.js +41 -0
- package/lib/ir/ui/IrCanvas.js.map +1 -0
- package/lib/ir/ui/IrChart.d.ts +28 -0
- package/lib/ir/ui/IrChart.d.ts.map +1 -0
- package/lib/ir/ui/IrChart.js +114 -0
- package/lib/ir/ui/IrChart.js.map +1 -0
- package/lib/ir/ui/IrCommandProvider.d.ts +15 -0
- package/lib/ir/ui/IrCommandProvider.d.ts.map +1 -0
- package/lib/ir/ui/IrCommandProvider.js +14 -0
- package/lib/ir/ui/IrCommandProvider.js.map +1 -0
- package/lib/ir/ui/IrCommandTooltip.d.ts +16 -0
- package/lib/ir/ui/IrCommandTooltip.d.ts.map +1 -0
- package/lib/ir/ui/IrCommandTooltip.js +22 -0
- package/lib/ir/ui/IrCommandTooltip.js.map +1 -0
- package/lib/ir/ui/IrDocumentationDialog.d.ts +18 -0
- package/lib/ir/ui/IrDocumentationDialog.d.ts.map +1 -0
- package/lib/ir/ui/IrDocumentationDialog.js +68 -0
- package/lib/ir/ui/IrDocumentationDialog.js.map +1 -0
- package/lib/ir/ui/IrEditor.d.ts +60 -0
- package/lib/ir/ui/IrEditor.d.ts.map +1 -0
- package/lib/ir/ui/IrEditor.js +42 -0
- package/lib/ir/ui/IrEditor.js.map +1 -0
- package/lib/ir/ui/IrHeader.d.ts +13 -0
- package/lib/ir/ui/IrHeader.d.ts.map +1 -0
- package/lib/ir/ui/IrHeader.js +21 -0
- package/lib/ir/ui/IrHeader.js.map +1 -0
- package/lib/ir/ui/IrLogo.d.ts +20 -0
- package/lib/ir/ui/IrLogo.d.ts.map +1 -0
- package/lib/ir/ui/IrLogo.js +17 -0
- package/lib/ir/ui/IrLogo.js.map +1 -0
- package/lib/ir/ui/IrPointerTracker.d.ts +29 -0
- package/lib/ir/ui/IrPointerTracker.d.ts.map +1 -0
- package/lib/ir/ui/IrPointerTracker.js +47 -0
- package/lib/ir/ui/IrPointerTracker.js.map +1 -0
- package/lib/ir/ui/IrShell.d.ts +25 -0
- package/lib/ir/ui/IrShell.d.ts.map +1 -0
- package/lib/ir/ui/IrShell.js +178 -0
- package/lib/ir/ui/IrShell.js.map +1 -0
- package/lib/ir/ui/IrSidePanel.d.ts +26 -0
- package/lib/ir/ui/IrSidePanel.d.ts.map +1 -0
- package/lib/ir/ui/IrSidePanel.js +39 -0
- package/lib/ir/ui/IrSidePanel.js.map +1 -0
- package/lib/ir/ui/IrStateProvider.d.ts +19 -0
- package/lib/ir/ui/IrStateProvider.d.ts.map +1 -0
- package/lib/ir/ui/IrStateProvider.js +16 -0
- package/lib/ir/ui/IrStateProvider.js.map +1 -0
- package/lib/ir/ui/IrStatusBar.d.ts +14 -0
- package/lib/ir/ui/IrStatusBar.d.ts.map +1 -0
- package/lib/ir/ui/IrStatusBar.js +48 -0
- package/lib/ir/ui/IrStatusBar.js.map +1 -0
- package/lib/ir/ui/IrToolbar.d.ts +18 -0
- package/lib/ir/ui/IrToolbar.d.ts.map +1 -0
- package/lib/ir/ui/IrToolbar.js +32 -0
- package/lib/ir/ui/IrToolbar.js.map +1 -0
- package/lib/ir/ui/IrTraces.d.ts +63 -0
- package/lib/ir/ui/IrTraces.d.ts.map +1 -0
- package/lib/ir/ui/IrTraces.js +72 -0
- package/lib/ir/ui/IrTraces.js.map +1 -0
- package/lib/ir/ui/MetadataPanel.d.ts +15 -0
- package/lib/ir/ui/MetadataPanel.d.ts.map +1 -0
- package/lib/ir/ui/MetadataPanel.js +49 -0
- package/lib/ir/ui/MetadataPanel.js.map +1 -0
- package/lib/ir/ui/SpectraPanel.d.ts +20 -0
- package/lib/ir/ui/SpectraPanel.d.ts.map +1 -0
- package/lib/ir/ui/SpectraPanel.js +42 -0
- package/lib/ir/ui/SpectraPanel.js.map +1 -0
- package/lib/ir/ui/SpectrumRow.d.ts +26 -0
- package/lib/ir/ui/SpectrumRow.d.ts.map +1 -0
- package/lib/ir/ui/SpectrumRow.js +41 -0
- package/lib/ir/ui/SpectrumRow.js.map +1 -0
- package/lib/ir/ui/index.d.ts +56 -0
- package/lib/ir/ui/index.d.ts.map +1 -0
- package/lib/ir/ui/index.js +36 -0
- package/lib/ir/ui/index.js.map +1 -0
- package/lib/ir/ui/irActions.d.ts +52 -0
- package/lib/ir/ui/irActions.d.ts.map +1 -0
- package/lib/ir/ui/irActions.js +62 -0
- package/lib/ir/ui/irActions.js.map +1 -0
- package/lib/ir/ui/irChartProps.d.ts +116 -0
- package/lib/ir/ui/irChartProps.d.ts.map +1 -0
- package/lib/ir/ui/irChartProps.js +14 -0
- package/lib/ir/ui/irChartProps.js.map +1 -0
- package/lib/ir/ui/irCommandContext.d.ts +35 -0
- package/lib/ir/ui/irCommandContext.d.ts.map +1 -0
- package/lib/ir/ui/irCommandContext.js +44 -0
- package/lib/ir/ui/irCommandContext.js.map +1 -0
- package/lib/ir/ui/irStateContext.d.ts +26 -0
- package/lib/ir/ui/irStateContext.d.ts.map +1 -0
- package/lib/ir/ui/irStateContext.js +37 -0
- package/lib/ir/ui/irStateContext.js.map +1 -0
- package/lib/ir/ui/useIrEditor.d.ts +51 -0
- package/lib/ir/ui/useIrEditor.d.ts.map +1 -0
- package/lib/ir/ui/useIrEditor.js +88 -0
- package/lib/ir/ui/useIrEditor.js.map +1 -0
- package/lib/ir/ui/useIrPointer.d.ts +66 -0
- package/lib/ir/ui/useIrPointer.d.ts.map +1 -0
- package/lib/ir/ui/useIrPointer.js +53 -0
- package/lib/ir/ui/useIrPointer.js.map +1 -0
- package/lib/ir/ui/useIrShortcuts.d.ts +24 -0
- package/lib/ir/ui/useIrShortcuts.d.ts.map +1 -0
- package/lib/ir/ui/useIrShortcuts.js +73 -0
- package/lib/ir/ui/useIrShortcuts.js.map +1 -0
- package/lib/ir/ui/useIrZoom.d.ts +51 -0
- package/lib/ir/ui/useIrZoom.d.ts.map +1 -0
- package/lib/ir/ui/useIrZoom.js +46 -0
- package/lib/ir/ui/useIrZoom.js.map +1 -0
- package/lib/ir.d.ts +13 -0
- package/lib/ir.d.ts.map +1 -0
- package/lib/ir.js +13 -0
- package/lib/ir.js.map +1 -0
- package/lib/panel/core/dialogStyles.d.ts +13 -0
- package/lib/panel/core/dialogStyles.d.ts.map +1 -0
- package/lib/panel/core/dialogStyles.js +11 -0
- package/lib/panel/core/dialogStyles.js.map +1 -0
- package/lib/panel/core/index.d.ts +19 -0
- package/lib/panel/core/index.d.ts.map +1 -0
- package/lib/panel/core/index.js +18 -0
- package/lib/panel/core/index.js.map +1 -0
- package/lib/panel/core/isEditingField.d.ts +17 -0
- package/lib/panel/core/isEditingField.d.ts.map +1 -0
- package/lib/panel/core/isEditingField.js +25 -0
- package/lib/panel/core/isEditingField.js.map +1 -0
- package/lib/panel/core/panelStyles.d.ts +242 -0
- package/lib/panel/core/panelStyles.d.ts.map +1 -0
- package/lib/panel/core/panelStyles.js +228 -0
- package/lib/panel/core/panelStyles.js.map +1 -0
- package/lib/panel/core/rowSpacers.d.ts +38 -0
- package/lib/panel/core/rowSpacers.d.ts.map +1 -0
- package/lib/panel/core/rowSpacers.js +31 -0
- package/lib/panel/core/rowSpacers.js.map +1 -0
- package/lib/panel/core/statusBar.d.ts +44 -0
- package/lib/panel/core/statusBar.d.ts.map +1 -0
- package/lib/panel/core/statusBar.js +40 -0
- package/lib/panel/core/statusBar.js.map +1 -0
- package/lib/panel/core/textFilter.d.ts +22 -0
- package/lib/panel/core/textFilter.d.ts.map +1 -0
- package/lib/panel/core/textFilter.js +32 -0
- package/lib/panel/core/textFilter.js.map +1 -0
- package/lib/panel/core/yieldToPainting.d.ts +17 -0
- package/lib/panel/core/yieldToPainting.d.ts.map +1 -0
- package/lib/panel/core/yieldToPainting.js +21 -0
- package/lib/panel/core/yieldToPainting.js.map +1 -0
- package/lib/panel/ui/AboutDialogFrame.d.ts +36 -0
- package/lib/panel/ui/AboutDialogFrame.d.ts.map +1 -0
- package/lib/panel/ui/AboutDialogFrame.js +43 -0
- package/lib/panel/ui/AboutDialogFrame.js.map +1 -0
- package/lib/panel/ui/ClearButton.d.ts +28 -0
- package/lib/panel/ui/ClearButton.d.ts.map +1 -0
- package/lib/panel/ui/ClearButton.js +23 -0
- package/lib/panel/ui/ClearButton.js.map +1 -0
- package/lib/panel/ui/DocumentationDialogFrame.d.ts +39 -0
- package/lib/panel/ui/DocumentationDialogFrame.d.ts.map +1 -0
- package/lib/panel/ui/DocumentationDialogFrame.js +29 -0
- package/lib/panel/ui/DocumentationDialogFrame.js.map +1 -0
- package/lib/panel/ui/FilterInput.d.ts +31 -0
- package/lib/panel/ui/FilterInput.d.ts.map +1 -0
- package/lib/panel/ui/FilterInput.js +23 -0
- package/lib/panel/ui/FilterInput.js.map +1 -0
- package/lib/panel/ui/HelpLabel.d.ts +24 -0
- package/lib/panel/ui/HelpLabel.d.ts.map +1 -0
- package/lib/panel/ui/HelpLabel.js +23 -0
- package/lib/panel/ui/HelpLabel.js.map +1 -0
- package/lib/panel/ui/PanelMessage.d.ts +41 -0
- package/lib/panel/ui/PanelMessage.d.ts.map +1 -0
- package/lib/panel/ui/PanelMessage.js +30 -0
- package/lib/panel/ui/PanelMessage.js.map +1 -0
- package/lib/panel/ui/PanelRail.d.ts +41 -0
- package/lib/panel/ui/PanelRail.d.ts.map +1 -0
- package/lib/panel/ui/PanelRail.js +12 -0
- package/lib/panel/ui/PanelRail.js.map +1 -0
- package/lib/panel/ui/Section.d.ts +25 -0
- package/lib/panel/ui/Section.d.ts.map +1 -0
- package/lib/panel/ui/Section.js +41 -0
- package/lib/panel/ui/Section.js.map +1 -0
- package/lib/panel/ui/SidePanelStack.d.ts +62 -0
- package/lib/panel/ui/SidePanelStack.d.ts.map +1 -0
- package/lib/panel/ui/SidePanelStack.js +40 -0
- package/lib/panel/ui/SidePanelStack.js.map +1 -0
- package/lib/panel/ui/SpectrumColorSwatch.d.ts +33 -0
- package/lib/panel/ui/SpectrumColorSwatch.d.ts.map +1 -0
- package/lib/panel/ui/SpectrumColorSwatch.js +76 -0
- package/lib/panel/ui/SpectrumColorSwatch.js.map +1 -0
- package/lib/panel/ui/index.d.ts +37 -0
- package/lib/panel/ui/index.d.ts.map +1 -0
- package/lib/panel/ui/index.js +24 -0
- package/lib/panel/ui/index.js.map +1 -0
- package/lib/panel/ui/useConfirmOnEnter.d.ts +19 -0
- package/lib/panel/ui/useConfirmOnEnter.d.ts.map +1 -0
- package/lib/panel/ui/useConfirmOnEnter.js +64 -0
- package/lib/panel/ui/useConfirmOnEnter.js.map +1 -0
- package/lib/panel/ui/useFilterBox.d.ts +23 -0
- package/lib/panel/ui/useFilterBox.d.ts.map +1 -0
- package/lib/panel/ui/useFilterBox.js +22 -0
- package/lib/panel/ui/useFilterBox.js.map +1 -0
- package/lib/panel/ui/useVirtualRows.d.ts +46 -0
- package/lib/panel/ui/useVirtualRows.d.ts.map +1 -0
- package/lib/panel/ui/useVirtualRows.js +56 -0
- package/lib/panel/ui/useVirtualRows.js.map +1 -0
- package/lib/panel/ui/useVirtualWindowRows.d.ts +40 -0
- package/lib/panel/ui/useVirtualWindowRows.d.ts.map +1 -0
- package/lib/panel/ui/useVirtualWindowRows.js +65 -0
- package/lib/panel/ui/useVirtualWindowRows.js.map +1 -0
- package/lib/ui.d.ts +1 -0
- package/lib/ui.d.ts.map +1 -1
- package/lib/ui.js +1 -0
- package/lib/ui.js.map +1 -1
- package/package.json +8 -1
- package/src/chart/core/axisLabels.ts +117 -0
- package/src/chart/core/boxLayout.ts +126 -0
- package/src/chart/core/chartAxisScale.ts +92 -10
- package/src/chart/core/chartDomain.ts +185 -0
- package/src/chart/core/chartGeometry.ts +159 -0
- package/src/chart/core/chartPane.ts +10 -0
- package/src/chart/core/chartScale.ts +7 -4
- package/src/chart/core/chartTheme.ts +161 -0
- package/src/chart/core/chartViewport.ts +40 -13
- package/src/chart/core/guidePlacement.ts +66 -0
- package/src/chart/core/index.ts +121 -2
- package/src/chart/core/labelStack.ts +72 -0
- package/src/chart/core/legendBox.ts +263 -0
- package/src/chart/core/selectionGeometry.ts +68 -0
- package/src/chart/core/spectrumColor.ts +129 -0
- package/src/chart/core/stackCapacity.ts +162 -0
- package/src/chart/core/svgPoint.ts +77 -0
- package/src/chart/core/tracePath.ts +228 -0
- package/src/chart/core/trackerReadout.ts +78 -0
- package/src/chart/core/viewTransform.ts +287 -0
- package/src/chart/core/zoomDomain.ts +235 -0
- package/src/chart/ui/Axes.tsx +361 -0
- package/src/chart/ui/AxisGuide.tsx +187 -0
- package/src/chart/ui/ChartStack.tsx +130 -0
- package/src/chart/ui/ChartTracker.tsx +101 -0
- package/src/chart/ui/PlotCaption.tsx +108 -0
- package/src/chart/ui/SelectionRect.tsx +52 -0
- package/src/chart/ui/TraceLegend.tsx +193 -0
- package/src/chart/ui/chartGestures.ts +270 -0
- package/src/chart/ui/chartStackLevel.tsx +210 -0
- package/src/chart/ui/chartSurface.ts +66 -0
- package/src/chart/ui/index.ts +35 -0
- package/src/chart/ui/useChartPointer.ts +223 -0
- package/src/chart/ui/useChartSize.ts +115 -0
- package/src/chart/ui/useChartWindow.ts +240 -0
- package/src/chart/ui/useChartZoom.ts +255 -0
- package/src/chart/ui/useWheelListener.ts +62 -0
- package/src/clipboard/core/copyPng.ts +20 -0
- package/src/clipboard/core/index.ts +1 -0
- package/src/core.ts +1 -0
- package/src/download/core/exportStyles.ts +20 -0
- package/src/download/core/imageResolution.ts +118 -0
- package/src/download/core/index.ts +34 -0
- package/src/download/core/pictureExport.ts +207 -0
- package/src/download/core/stackedDrawing.ts +108 -0
- package/src/download/core/svgBounds.ts +80 -0
- package/src/download/core/svgNamespace.ts +9 -0
- package/src/download/core/svgToPng.ts +121 -0
- package/src/download/core/svgToString.ts +95 -0
- package/src/download/ui/ExportDialogFrame.tsx +86 -0
- package/src/download/ui/ExportImageDialog.tsx +91 -0
- package/src/download/ui/ExportNameField.tsx +148 -0
- package/src/download/ui/ExportPictureSection.tsx +142 -0
- package/src/download/ui/index.ts +11 -0
- package/src/download/ui/useDrawingBox.ts +37 -0
- package/src/error/core/describeSource.ts +18 -0
- package/src/error/core/index.ts +1 -0
- package/src/help/ui/HelpBody.tsx +41 -2
- package/src/help/ui/index.ts +6 -1
- package/src/ir/core/analysisSpectra.ts +231 -0
- package/src/ir/core/assignBands.ts +144 -0
- package/src/ir/core/bandAssignments.ts +329 -0
- package/src/ir/core/bandLabelPlan.ts +194 -0
- package/src/ir/core/detectIrFormat.ts +139 -0
- package/src/ir/core/downloadSpectra.ts +57 -0
- package/src/ir/core/fromJcamp.ts +70 -0
- package/src/ir/core/fromSpc.ts +61 -0
- package/src/ir/core/index.ts +113 -0
- package/src/ir/core/irBand.ts +57 -0
- package/src/ir/core/irCommands.ts +154 -0
- package/src/ir/core/irDomain.ts +163 -0
- package/src/ir/core/irEditorApi.ts +44 -0
- package/src/ir/core/irFormat.ts +57 -0
- package/src/ir/core/irMode.ts +203 -0
- package/src/ir/core/irReducer.ts +273 -0
- package/src/ir/core/irSidePanels.ts +20 -0
- package/src/ir/core/irSpectrum.ts +155 -0
- package/src/ir/core/irState.ts +173 -0
- package/src/ir/core/loadIrSpectra.ts +79 -0
- package/src/ir/core/nearestBand.ts +57 -0
- package/src/ir/core/pickBands.ts +181 -0
- package/src/ir/core/spectrumJcamp.ts +178 -0
- package/src/ir/core/toIrSpectrum.ts +102 -0
- package/src/ir/ui/BandMarks.tsx +166 -0
- package/src/ir/ui/BandsPanel.tsx +271 -0
- package/src/ir/ui/IrAboutDialog.tsx +121 -0
- package/src/ir/ui/IrCanvas.tsx +91 -0
- package/src/ir/ui/IrChart.tsx +215 -0
- package/src/ir/ui/IrCommandProvider.tsx +32 -0
- package/src/ir/ui/IrCommandTooltip.tsx +36 -0
- package/src/ir/ui/IrDocumentationDialog.tsx +174 -0
- package/src/ir/ui/IrEditor.tsx +99 -0
- package/src/ir/ui/IrHeader.tsx +39 -0
- package/src/ir/ui/IrLogo.tsx +49 -0
- package/src/ir/ui/IrPointerTracker.tsx +102 -0
- package/src/ir/ui/IrShell.tsx +285 -0
- package/src/ir/ui/IrSidePanel.tsx +78 -0
- package/src/ir/ui/IrStateProvider.tsx +32 -0
- package/src/ir/ui/IrStatusBar.tsx +97 -0
- package/src/ir/ui/IrToolbar.tsx +102 -0
- package/src/ir/ui/IrTraces.tsx +134 -0
- package/src/ir/ui/MetadataPanel.tsx +88 -0
- package/src/ir/ui/SpectraPanel.tsx +114 -0
- package/src/ir/ui/SpectrumRow.tsx +127 -0
- package/src/ir/ui/index.ts +56 -0
- package/src/ir/ui/irActions.ts +103 -0
- package/src/ir/ui/irChartProps.ts +118 -0
- package/src/ir/ui/irCommandContext.tsx +62 -0
- package/src/ir/ui/irStateContext.ts +48 -0
- package/src/ir/ui/useIrEditor.ts +139 -0
- package/src/ir/ui/useIrPointer.ts +109 -0
- package/src/ir/ui/useIrShortcuts.ts +95 -0
- package/src/ir/ui/useIrZoom.ts +86 -0
- package/src/ir.ts +13 -0
- package/src/panel/core/dialogStyles.ts +11 -0
- package/src/panel/core/index.ts +47 -0
- package/src/panel/core/isEditingField.ts +23 -0
- package/src/panel/core/panelStyles.ts +248 -0
- package/src/panel/core/rowSpacers.ts +50 -0
- package/src/panel/core/statusBar.ts +48 -0
- package/src/panel/core/textFilter.ts +33 -0
- package/src/panel/core/yieldToPainting.ts +20 -0
- package/src/panel/ui/AboutDialogFrame.tsx +100 -0
- package/src/panel/ui/ClearButton.tsx +42 -0
- package/src/panel/ui/DocumentationDialogFrame.tsx +86 -0
- package/src/panel/ui/FilterInput.tsx +60 -0
- package/src/panel/ui/HelpLabel.tsx +43 -0
- package/src/panel/ui/PanelMessage.tsx +64 -0
- package/src/panel/ui/PanelRail.tsx +64 -0
- package/src/panel/ui/Section.tsx +66 -0
- package/src/panel/ui/SidePanelStack.tsx +109 -0
- package/src/panel/ui/SpectrumColorSwatch.tsx +119 -0
- package/src/panel/ui/index.ts +47 -0
- package/src/panel/ui/useConfirmOnEnter.ts +68 -0
- package/src/panel/ui/useFilterBox.ts +35 -0
- package/src/panel/ui/useVirtualRows.ts +82 -0
- package/src/panel/ui/useVirtualWindowRows.ts +86 -0
- package/src/ui.ts +1 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One band picked out of a spectrum.
|
|
3
|
+
*
|
|
4
|
+
* A band is the infrared analogue of a mass spectrum's peak: the thing a chemist
|
|
5
|
+
* points at, names, and reads a functional group off. It carries both value axes
|
|
6
|
+
* for the same reason the spectrum does — the band a reader sees at 30 percent
|
|
7
|
+
* transmittance and the one a table calls strongly absorbing are one band, and
|
|
8
|
+
* making the caller convert to find out would be the conversion this package
|
|
9
|
+
* does not do.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* How strong a band is, in the letters a correlation table uses.
|
|
13
|
+
*
|
|
14
|
+
* `w` weak, `m` medium, `S` strong — `ir-spectrum` decides which from where the
|
|
15
|
+
* band sits between the spectrum's own extremes, so the letters are relative to
|
|
16
|
+
* the spectrum in hand rather than to an absolute absorbance. That is what a
|
|
17
|
+
* printed table means by them too.
|
|
18
|
+
*/
|
|
19
|
+
export type IrBandStrength = 'w' | 'm' | 'S';
|
|
20
|
+
/** One band picked out of one spectrum. */
|
|
21
|
+
export interface IrBand {
|
|
22
|
+
/** Identity of the spectrum it was picked from. */
|
|
23
|
+
spectrumId: string;
|
|
24
|
+
/** Where it sits, in cm⁻¹. */
|
|
25
|
+
wavenumber: number;
|
|
26
|
+
/** Its absorbance, which is what it was picked as a maximum of. */
|
|
27
|
+
absorbance: number;
|
|
28
|
+
/** Its percent transmittance, the same band read the other way up. */
|
|
29
|
+
transmittance: number;
|
|
30
|
+
/** How strong it is, relative to the spectrum it came from. */
|
|
31
|
+
strength: IrBandStrength;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Whether two bands are the same band.
|
|
35
|
+
*
|
|
36
|
+
* The wavenumber is compared exactly, and that is not an oversight: both numbers
|
|
37
|
+
* were read out of the same picked band, so either they are the very same
|
|
38
|
+
* measurement or they are two different bands. A tolerance here would declare a
|
|
39
|
+
* carbonyl pair thirty wavenumbers apart to be one band.
|
|
40
|
+
* @param current - What was last reported.
|
|
41
|
+
* @param next - What would be reported now.
|
|
42
|
+
* @returns Whether the report can be skipped.
|
|
43
|
+
*/
|
|
44
|
+
export declare function sameIrBand(current: IrBand | null, next: IrBand | null): boolean;
|
|
45
|
+
//# sourceMappingURL=irBand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"irBand.d.ts","sourceRoot":"","sources":["../../../src/ir/core/irBand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE7C,2CAA2C;AAC3C,MAAM,WAAW,MAAM;IACrB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,IAAI,EAAE,MAAM,GAAG,IAAI,GAClB,OAAO,CAOT"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One band picked out of a spectrum.
|
|
3
|
+
*
|
|
4
|
+
* A band is the infrared analogue of a mass spectrum's peak: the thing a chemist
|
|
5
|
+
* points at, names, and reads a functional group off. It carries both value axes
|
|
6
|
+
* for the same reason the spectrum does — the band a reader sees at 30 percent
|
|
7
|
+
* transmittance and the one a table calls strongly absorbing are one band, and
|
|
8
|
+
* making the caller convert to find out would be the conversion this package
|
|
9
|
+
* does not do.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Whether two bands are the same band.
|
|
13
|
+
*
|
|
14
|
+
* The wavenumber is compared exactly, and that is not an oversight: both numbers
|
|
15
|
+
* were read out of the same picked band, so either they are the very same
|
|
16
|
+
* measurement or they are two different bands. A tolerance here would declare a
|
|
17
|
+
* carbonyl pair thirty wavenumbers apart to be one band.
|
|
18
|
+
* @param current - What was last reported.
|
|
19
|
+
* @param next - What would be reported now.
|
|
20
|
+
* @returns Whether the report can be skipped.
|
|
21
|
+
*/
|
|
22
|
+
export function sameIrBand(current, next) {
|
|
23
|
+
if (current === next)
|
|
24
|
+
return true;
|
|
25
|
+
if (current === null || next === null)
|
|
26
|
+
return false;
|
|
27
|
+
return (current.spectrumId === next.spectrumId &&
|
|
28
|
+
current.wavenumber === next.wavenumber);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=irBand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"irBand.js","sourceRoot":"","sources":["../../../src/ir/core/irBand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA0BH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CACxB,OAAsB,EACtB,IAAmB;IAEnB,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,CACL,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU;QACtC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CACvC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Everything the viewer offers, what each is called, and the key it answers to.
|
|
3
|
+
*
|
|
4
|
+
* One table, read by three things that must agree: the toolbar draws it, the
|
|
5
|
+
* tooltip explains it, and the key handler fires it. Written apart from all
|
|
6
|
+
* three so a command cannot be added to the toolbar without a name, or bound to
|
|
7
|
+
* a key nothing tells the reader about.
|
|
8
|
+
*
|
|
9
|
+
* The provider, the hooks and the tooltip are three files of their own beside
|
|
10
|
+
* this one, because a module that exports a component and a constant together
|
|
11
|
+
* cannot be hot reloaded — `react-refresh/only-export-components` is the rule
|
|
12
|
+
* that says so, and the split is the fix rather than the exception.
|
|
13
|
+
*/
|
|
14
|
+
/** The key a command answers to. */
|
|
15
|
+
export interface IrShortcut {
|
|
16
|
+
/** The `event.key` values it fires on, the first being the one shown. */
|
|
17
|
+
keys: readonly string[];
|
|
18
|
+
/**
|
|
19
|
+
* How to write the key in a tooltip, where the raw value would read badly.
|
|
20
|
+
* @default the first of `keys`
|
|
21
|
+
*/
|
|
22
|
+
label?: readonly string[];
|
|
23
|
+
}
|
|
24
|
+
/** A gesture that does the same thing, listed under the tooltip's title. */
|
|
25
|
+
export interface IrGesture {
|
|
26
|
+
/** Where the gesture is made, or what it is made with. */
|
|
27
|
+
title: string;
|
|
28
|
+
/** The buttons, keys or wheel that make it. */
|
|
29
|
+
shortcuts: readonly string[];
|
|
30
|
+
}
|
|
31
|
+
/** One thing the viewer can be asked to do. */
|
|
32
|
+
export interface IrCommand {
|
|
33
|
+
/** What it is called, which is what the tooltip is titled. */
|
|
34
|
+
title: string;
|
|
35
|
+
/**
|
|
36
|
+
* The key it answers to, absent for a command with none.
|
|
37
|
+
* @default undefined
|
|
38
|
+
*/
|
|
39
|
+
shortcut?: IrShortcut;
|
|
40
|
+
/**
|
|
41
|
+
* What it does, in a sentence, under the title in the tooltip.
|
|
42
|
+
* @default undefined
|
|
43
|
+
*/
|
|
44
|
+
description?: string;
|
|
45
|
+
/**
|
|
46
|
+
* The gestures that do the same thing, for the ones a key cannot describe.
|
|
47
|
+
* @default undefined
|
|
48
|
+
*/
|
|
49
|
+
gestures?: readonly IrGesture[];
|
|
50
|
+
}
|
|
51
|
+
/** Everything the viewer offers, in the order it is reached for. */
|
|
52
|
+
export declare const irCommands: {
|
|
53
|
+
readonly about: {
|
|
54
|
+
readonly title: "About the infrared viewer";
|
|
55
|
+
readonly description: "What it reads, what it is built on, and what it credits.";
|
|
56
|
+
};
|
|
57
|
+
readonly documentation: {
|
|
58
|
+
readonly title: "Documentation";
|
|
59
|
+
readonly shortcut: {
|
|
60
|
+
readonly keys: readonly ["h"];
|
|
61
|
+
};
|
|
62
|
+
readonly description: "How to open a spectrum, what the panels hold, and every gesture.";
|
|
63
|
+
};
|
|
64
|
+
readonly fullScreen: {
|
|
65
|
+
readonly title: "Full screen";
|
|
66
|
+
readonly description: "The viewer takes the whole screen rather than its corner of the page. Esc gives it back.";
|
|
67
|
+
};
|
|
68
|
+
readonly readTool: {
|
|
69
|
+
readonly title: "Read";
|
|
70
|
+
readonly shortcut: {
|
|
71
|
+
readonly keys: readonly ["r"];
|
|
72
|
+
};
|
|
73
|
+
readonly description: "A drag narrows the wavenumber axis, which is the question a spectrum is nearly always asked. Released past the baseline it takes the value axis with it. Reading absorbance only: percent transmittance is zoomed by rectangle alone.";
|
|
74
|
+
readonly gestures: readonly [{
|
|
75
|
+
readonly title: "Reading absorbance";
|
|
76
|
+
readonly shortcuts: readonly ["Drag"];
|
|
77
|
+
}];
|
|
78
|
+
};
|
|
79
|
+
readonly boxTool: {
|
|
80
|
+
readonly title: "Square zoom";
|
|
81
|
+
readonly shortcut: {
|
|
82
|
+
readonly keys: readonly ["b"];
|
|
83
|
+
};
|
|
84
|
+
readonly description: "A drag zooms to exactly the rectangle it sweeps out, both axes at once — for looking into a baseline or a shoulder rather than across the spectrum. It is the only drag on percent transmittance.";
|
|
85
|
+
readonly gestures: readonly [{
|
|
86
|
+
readonly title: "Over the chart";
|
|
87
|
+
readonly shortcuts: readonly ["Drag a rectangle"];
|
|
88
|
+
}];
|
|
89
|
+
};
|
|
90
|
+
readonly zoomIn: {
|
|
91
|
+
readonly title: "Zoom in";
|
|
92
|
+
readonly shortcut: {
|
|
93
|
+
readonly keys: readonly ["+", "="];
|
|
94
|
+
};
|
|
95
|
+
readonly description: "Brings the weak bands up, about the baseline they hang from.";
|
|
96
|
+
readonly gestures: readonly [{
|
|
97
|
+
readonly title: "Reading absorbance";
|
|
98
|
+
readonly shortcuts: readonly ["Scroll wheel"];
|
|
99
|
+
}];
|
|
100
|
+
};
|
|
101
|
+
readonly zoomOut: {
|
|
102
|
+
readonly title: "Zoom out";
|
|
103
|
+
readonly shortcut: {
|
|
104
|
+
readonly keys: readonly ["-"];
|
|
105
|
+
};
|
|
106
|
+
readonly description: "Puts the value axis back out again.";
|
|
107
|
+
readonly gestures: readonly [{
|
|
108
|
+
readonly title: "Reading absorbance";
|
|
109
|
+
readonly shortcuts: readonly ["Scroll wheel"];
|
|
110
|
+
}];
|
|
111
|
+
};
|
|
112
|
+
readonly resetZoom: {
|
|
113
|
+
readonly title: "Zoom to fit";
|
|
114
|
+
readonly shortcut: {
|
|
115
|
+
readonly keys: readonly ["f"];
|
|
116
|
+
};
|
|
117
|
+
readonly description: "Shows every spectrum that is drawn, whole.";
|
|
118
|
+
readonly gestures: readonly [{
|
|
119
|
+
readonly title: "Over the chart";
|
|
120
|
+
readonly shortcuts: readonly ["Double click"];
|
|
121
|
+
}];
|
|
122
|
+
};
|
|
123
|
+
readonly toggleMode: {
|
|
124
|
+
readonly title: "Absorbance or transmittance";
|
|
125
|
+
readonly shortcut: {
|
|
126
|
+
readonly keys: readonly ["t"];
|
|
127
|
+
};
|
|
128
|
+
readonly description: "The same measurement read the other way up. Bands hang down from 100 % transmittance and stand up out of zero absorbance.";
|
|
129
|
+
};
|
|
130
|
+
readonly togglePicking: {
|
|
131
|
+
readonly title: "Pick the bands";
|
|
132
|
+
readonly shortcut: {
|
|
133
|
+
readonly keys: readonly ["p"];
|
|
134
|
+
};
|
|
135
|
+
readonly description: "Finds the bands of the selected spectrum, marks them on the chart and lists them with everything each might be.";
|
|
136
|
+
};
|
|
137
|
+
readonly toggleAssignments: {
|
|
138
|
+
readonly title: "Name the assignments";
|
|
139
|
+
readonly shortcut: {
|
|
140
|
+
readonly keys: readonly ["a"];
|
|
141
|
+
};
|
|
142
|
+
readonly description: "Writes what each labelled band might be under its wavenumber. Worth turning off once the chart is crowded.";
|
|
143
|
+
};
|
|
144
|
+
readonly exportImage: {
|
|
145
|
+
readonly title: "Export as an image…";
|
|
146
|
+
readonly shortcut: {
|
|
147
|
+
readonly keys: readonly ["x"];
|
|
148
|
+
};
|
|
149
|
+
readonly description: "The chart as it stands, at a chosen resolution — PNG, or SVG, which is drawn again at whatever size it is printed rather than enlarged.";
|
|
150
|
+
};
|
|
151
|
+
readonly clear: {
|
|
152
|
+
readonly title: "Close every spectrum";
|
|
153
|
+
readonly description: "Empties the chart and starts again.";
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
/** Identity of one of the commands the viewer offers. */
|
|
157
|
+
export type IrCommandId = keyof typeof irCommands;
|
|
158
|
+
/** What to do when each command is run, as the shell wires them. */
|
|
159
|
+
export type IrCommandHandlers = Partial<Record<IrCommandId, (() => void) | undefined>>;
|
|
160
|
+
/** How a component runs a command. */
|
|
161
|
+
export type RunIrCommand = (id: IrCommandId) => void;
|
|
162
|
+
/**
|
|
163
|
+
* What a command is called, with its key, for a label and an `aria-label`.
|
|
164
|
+
* @param id - Which command.
|
|
165
|
+
* @returns The title, and the key in parentheses when it has one.
|
|
166
|
+
*/
|
|
167
|
+
export declare function irCommandLabel(id: IrCommandId): string;
|
|
168
|
+
//# sourceMappingURL=irCommands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"irCommands.d.ts","sourceRoot":"","sources":["../../../src/ir/core/irCommands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,oCAAoC;AACpC,MAAM,WAAW,UAAU;IACzB,yEAAyE;IACzE,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3B;AAED,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACxB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B;AAED,+CAA+C;AAC/C,MAAM,WAAW,SAAS;IACxB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;CACjC;AAED,oEAAoE;AACpE,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4EuB,CAAC;AAE/C,yDAAyD;AACzD,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,UAAU,CAAC;AAElD,oEAAoE;AACpE,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC,MAAM,CAAC,WAAW,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,CAC9C,CAAC;AAEF,sCAAsC;AACtC,MAAM,MAAM,YAAY,GAAG,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;AAErD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM,CAItD"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Everything the viewer offers, what each is called, and the key it answers to.
|
|
3
|
+
*
|
|
4
|
+
* One table, read by three things that must agree: the toolbar draws it, the
|
|
5
|
+
* tooltip explains it, and the key handler fires it. Written apart from all
|
|
6
|
+
* three so a command cannot be added to the toolbar without a name, or bound to
|
|
7
|
+
* a key nothing tells the reader about.
|
|
8
|
+
*
|
|
9
|
+
* The provider, the hooks and the tooltip are three files of their own beside
|
|
10
|
+
* this one, because a module that exports a component and a constant together
|
|
11
|
+
* cannot be hot reloaded — `react-refresh/only-export-components` is the rule
|
|
12
|
+
* that says so, and the split is the fix rather than the exception.
|
|
13
|
+
*/
|
|
14
|
+
/** Everything the viewer offers, in the order it is reached for. */
|
|
15
|
+
export const irCommands = {
|
|
16
|
+
about: {
|
|
17
|
+
title: 'About the infrared viewer',
|
|
18
|
+
description: 'What it reads, what it is built on, and what it credits.',
|
|
19
|
+
},
|
|
20
|
+
documentation: {
|
|
21
|
+
title: 'Documentation',
|
|
22
|
+
shortcut: { keys: ['h'] },
|
|
23
|
+
description: 'How to open a spectrum, what the panels hold, and every gesture.',
|
|
24
|
+
},
|
|
25
|
+
fullScreen: {
|
|
26
|
+
title: 'Full screen',
|
|
27
|
+
description: 'The viewer takes the whole screen rather than its corner of the page. Esc gives it back.',
|
|
28
|
+
},
|
|
29
|
+
readTool: {
|
|
30
|
+
title: 'Read',
|
|
31
|
+
shortcut: { keys: ['r'] },
|
|
32
|
+
description: 'A drag narrows the wavenumber axis, which is the question a spectrum is nearly always asked. Released past the baseline it takes the value axis with it. Reading absorbance only: percent transmittance is zoomed by rectangle alone.',
|
|
33
|
+
gestures: [{ title: 'Reading absorbance', shortcuts: ['Drag'] }],
|
|
34
|
+
},
|
|
35
|
+
boxTool: {
|
|
36
|
+
title: 'Square zoom',
|
|
37
|
+
shortcut: { keys: ['b'] },
|
|
38
|
+
description: 'A drag zooms to exactly the rectangle it sweeps out, both axes at once — for looking into a baseline or a shoulder rather than across the spectrum. It is the only drag on percent transmittance.',
|
|
39
|
+
gestures: [{ title: 'Over the chart', shortcuts: ['Drag a rectangle'] }],
|
|
40
|
+
},
|
|
41
|
+
zoomIn: {
|
|
42
|
+
title: 'Zoom in',
|
|
43
|
+
shortcut: { keys: ['+', '='] },
|
|
44
|
+
description: 'Brings the weak bands up, about the baseline they hang from.',
|
|
45
|
+
gestures: [{ title: 'Reading absorbance', shortcuts: ['Scroll wheel'] }],
|
|
46
|
+
},
|
|
47
|
+
zoomOut: {
|
|
48
|
+
title: 'Zoom out',
|
|
49
|
+
shortcut: { keys: ['-'] },
|
|
50
|
+
description: 'Puts the value axis back out again.',
|
|
51
|
+
gestures: [{ title: 'Reading absorbance', shortcuts: ['Scroll wheel'] }],
|
|
52
|
+
},
|
|
53
|
+
resetZoom: {
|
|
54
|
+
title: 'Zoom to fit',
|
|
55
|
+
shortcut: { keys: ['f'] },
|
|
56
|
+
description: 'Shows every spectrum that is drawn, whole.',
|
|
57
|
+
gestures: [{ title: 'Over the chart', shortcuts: ['Double click'] }],
|
|
58
|
+
},
|
|
59
|
+
toggleMode: {
|
|
60
|
+
title: 'Absorbance or transmittance',
|
|
61
|
+
shortcut: { keys: ['t'] },
|
|
62
|
+
description: 'The same measurement read the other way up. Bands hang down from 100 % transmittance and stand up out of zero absorbance.',
|
|
63
|
+
},
|
|
64
|
+
togglePicking: {
|
|
65
|
+
title: 'Pick the bands',
|
|
66
|
+
shortcut: { keys: ['p'] },
|
|
67
|
+
description: 'Finds the bands of the selected spectrum, marks them on the chart and lists them with everything each might be.',
|
|
68
|
+
},
|
|
69
|
+
toggleAssignments: {
|
|
70
|
+
title: 'Name the assignments',
|
|
71
|
+
shortcut: { keys: ['a'] },
|
|
72
|
+
description: 'Writes what each labelled band might be under its wavenumber. Worth turning off once the chart is crowded.',
|
|
73
|
+
},
|
|
74
|
+
exportImage: {
|
|
75
|
+
title: 'Export as an image…',
|
|
76
|
+
shortcut: { keys: ['x'] },
|
|
77
|
+
description: 'The chart as it stands, at a chosen resolution — PNG, or SVG, which is drawn again at whatever size it is printed rather than enlarged.',
|
|
78
|
+
},
|
|
79
|
+
clear: {
|
|
80
|
+
title: 'Close every spectrum',
|
|
81
|
+
description: 'Empties the chart and starts again.',
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* What a command is called, with its key, for a label and an `aria-label`.
|
|
86
|
+
* @param id - Which command.
|
|
87
|
+
* @returns The title, and the key in parentheses when it has one.
|
|
88
|
+
*/
|
|
89
|
+
export function irCommandLabel(id) {
|
|
90
|
+
const entry = irCommands[id];
|
|
91
|
+
const key = entry.shortcut?.label?.[0] ?? entry.shortcut?.keys[0];
|
|
92
|
+
return key === undefined ? entry.title : `${entry.title} (${key})`;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=irCommands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"irCommands.js","sourceRoot":"","sources":["../../../src/ir/core/irCommands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The window a chart opens on, worked out from the spectra it was handed.
|
|
3
|
+
*
|
|
4
|
+
* This is what "zoom to fit" and the first render both call, so it has to answer
|
|
5
|
+
* something usable when it is handed nothing at all — a chart with no data is
|
|
6
|
+
* still mounted, still measured, and still builds its scales.
|
|
7
|
+
*
|
|
8
|
+
* The x window is in ascending wavenumbers even though the axis is drawn from
|
|
9
|
+
* 4000 down to 400: which way round it is read is the chart's business, and
|
|
10
|
+
* every piece of arithmetic that moves a window expects its ends in order.
|
|
11
|
+
*/
|
|
12
|
+
import type { IrDomain, IrMode, IrSpectrum } from './irSpectrum.ts';
|
|
13
|
+
/**
|
|
14
|
+
* How much air is left either side of the outermost point, as a fraction.
|
|
15
|
+
*
|
|
16
|
+
* A trace drawn hard against the axis reads as a spectrum that was cut off
|
|
17
|
+
* there; two percent is enough to show that it was not.
|
|
18
|
+
*/
|
|
19
|
+
export declare const X_DOMAIN_PADDING = 0.02;
|
|
20
|
+
/** The same, on the value axis, where a trace touching an edge reads the same. */
|
|
21
|
+
export declare const Y_DOMAIN_PADDING = 0.05;
|
|
22
|
+
/**
|
|
23
|
+
* The extra room kept on the side the band labels occupy, as a fraction.
|
|
24
|
+
*
|
|
25
|
+
* A named band carries its wavenumber and its assignment on two lines, stacked
|
|
26
|
+
* away from the baseline — upwards from an absorbance maximum, downwards from a
|
|
27
|
+
* transmittance minimum — so the room has to be on a different side in each
|
|
28
|
+
* mode. Twenty percent is what those two lines take on a chart of any usual
|
|
29
|
+
* height.
|
|
30
|
+
*/
|
|
31
|
+
export declare const LABEL_HEADROOM = 0.2;
|
|
32
|
+
/**
|
|
33
|
+
* The window that shows everything currently drawn.
|
|
34
|
+
*
|
|
35
|
+
* A spectrum marked `excludeFromDomain` is left out of the extents, because it
|
|
36
|
+
* is a reference held up for comparison rather than data: letting it move the
|
|
37
|
+
* axes would throw away the zoom the user set every time they held one up. The
|
|
38
|
+
* exclusion is dropped when it would leave nothing at all.
|
|
39
|
+
* @param spectra - Everything the chart holds, drawn or not.
|
|
40
|
+
* @param mode - Which value axis is being drawn, which decides both the extents
|
|
41
|
+
* and the side the label room is kept on.
|
|
42
|
+
* @returns The window, in wavenumbers and in the value axis.
|
|
43
|
+
*/
|
|
44
|
+
export declare function fullDomain(spectra: readonly IrSpectrum[], mode: IrMode): IrDomain;
|
|
45
|
+
/**
|
|
46
|
+
* What a fitted window was fitted *to*, as one string two renders can compare.
|
|
47
|
+
*
|
|
48
|
+
* The chart puts its window back to `fullDomain` when it is handed different
|
|
49
|
+
* data, and must not when the same data is merely redrawn — so something has to
|
|
50
|
+
* tell the two apart.
|
|
51
|
+
*
|
|
52
|
+
* **The mode is part of it**, and that is the one place this differs from a mass
|
|
53
|
+
* spectrum's fit key. Switching from transmittance to absorbance does not nudge
|
|
54
|
+
* the extents, it replaces the value axis outright — a window of 25 to 100
|
|
55
|
+
* percent means nothing at all in absorbance — so it has to refit, where a
|
|
56
|
+
* change of colour or of name must not.
|
|
57
|
+
* @param spectra - Everything the chart holds, drawn or not.
|
|
58
|
+
* @param mode - Which value axis is being drawn.
|
|
59
|
+
* @returns A string equal to itself exactly when a fit would be made to the
|
|
60
|
+
* same thing.
|
|
61
|
+
*/
|
|
62
|
+
export declare function fittedTo(spectra: readonly IrSpectrum[], mode: IrMode): string;
|
|
63
|
+
//# sourceMappingURL=irDomain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"irDomain.d.ts","sourceRoot":"","sources":["../../../src/ir/core/irDomain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGpE;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,SAAS,UAAU,EAAE,EAC9B,IAAI,EAAE,MAAM,GACX,QAAQ,CA0BV;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAO7E"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The window a chart opens on, worked out from the spectra it was handed.
|
|
3
|
+
*
|
|
4
|
+
* This is what "zoom to fit" and the first render both call, so it has to answer
|
|
5
|
+
* something usable when it is handed nothing at all — a chart with no data is
|
|
6
|
+
* still mounted, still measured, and still builds its scales.
|
|
7
|
+
*
|
|
8
|
+
* The x window is in ascending wavenumbers even though the axis is drawn from
|
|
9
|
+
* 4000 down to 400: which way round it is read is the chart's business, and
|
|
10
|
+
* every piece of arithmetic that moves a window expects its ends in order.
|
|
11
|
+
*/
|
|
12
|
+
import { xMaxValue, xMinValue } from 'ml-spectra-processing';
|
|
13
|
+
import { bandsPointDown } from "./irMode.js";
|
|
14
|
+
import { traceOf } from "./irSpectrum.js";
|
|
15
|
+
/**
|
|
16
|
+
* How much air is left either side of the outermost point, as a fraction.
|
|
17
|
+
*
|
|
18
|
+
* A trace drawn hard against the axis reads as a spectrum that was cut off
|
|
19
|
+
* there; two percent is enough to show that it was not.
|
|
20
|
+
*/
|
|
21
|
+
export const X_DOMAIN_PADDING = 0.02;
|
|
22
|
+
/** The same, on the value axis, where a trace touching an edge reads the same. */
|
|
23
|
+
export const Y_DOMAIN_PADDING = 0.05;
|
|
24
|
+
/**
|
|
25
|
+
* The extra room kept on the side the band labels occupy, as a fraction.
|
|
26
|
+
*
|
|
27
|
+
* A named band carries its wavenumber and its assignment on two lines, stacked
|
|
28
|
+
* away from the baseline — upwards from an absorbance maximum, downwards from a
|
|
29
|
+
* transmittance minimum — so the room has to be on a different side in each
|
|
30
|
+
* mode. Twenty percent is what those two lines take on a chart of any usual
|
|
31
|
+
* height.
|
|
32
|
+
*/
|
|
33
|
+
export const LABEL_HEADROOM = 0.2;
|
|
34
|
+
/**
|
|
35
|
+
* The window that shows everything currently drawn.
|
|
36
|
+
*
|
|
37
|
+
* A spectrum marked `excludeFromDomain` is left out of the extents, because it
|
|
38
|
+
* is a reference held up for comparison rather than data: letting it move the
|
|
39
|
+
* axes would throw away the zoom the user set every time they held one up. The
|
|
40
|
+
* exclusion is dropped when it would leave nothing at all.
|
|
41
|
+
* @param spectra - Everything the chart holds, drawn or not.
|
|
42
|
+
* @param mode - Which value axis is being drawn, which decides both the extents
|
|
43
|
+
* and the side the label room is kept on.
|
|
44
|
+
* @returns The window, in wavenumbers and in the value axis.
|
|
45
|
+
*/
|
|
46
|
+
export function fullDomain(spectra, mode) {
|
|
47
|
+
const extent = traceExtent(spectra, mode, false) ?? traceExtent(spectra, mode, true);
|
|
48
|
+
if (extent === null) {
|
|
49
|
+
return mode === 'absorbance'
|
|
50
|
+
? { x: [400, 4000], y: [0, 1] }
|
|
51
|
+
: { x: [400, 4000], y: [0, 100] };
|
|
52
|
+
}
|
|
53
|
+
const { xMinimum, xMaximum, yMinimum, yMaximum } = extent;
|
|
54
|
+
const xPadding = (xMaximum - xMinimum) * X_DOMAIN_PADDING;
|
|
55
|
+
// A spectrum of a single point has no width to take a fraction of.
|
|
56
|
+
const x = xPadding > 0
|
|
57
|
+
? [xMinimum - xPadding, xMaximum + xPadding]
|
|
58
|
+
: [xMinimum - 1, xMaximum + 1];
|
|
59
|
+
const ySpan = yMaximum - yMinimum;
|
|
60
|
+
const yPadding = ySpan > 0 ? ySpan * Y_DOMAIN_PADDING : 1;
|
|
61
|
+
const headroom = ySpan > 0 ? ySpan * LABEL_HEADROOM : 1;
|
|
62
|
+
const down = bandsPointDown(mode);
|
|
63
|
+
const y = [
|
|
64
|
+
yMinimum - (down ? headroom : yPadding),
|
|
65
|
+
yMaximum + (down ? yPadding : headroom),
|
|
66
|
+
];
|
|
67
|
+
return { x, y };
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* What a fitted window was fitted *to*, as one string two renders can compare.
|
|
71
|
+
*
|
|
72
|
+
* The chart puts its window back to `fullDomain` when it is handed different
|
|
73
|
+
* data, and must not when the same data is merely redrawn — so something has to
|
|
74
|
+
* tell the two apart.
|
|
75
|
+
*
|
|
76
|
+
* **The mode is part of it**, and that is the one place this differs from a mass
|
|
77
|
+
* spectrum's fit key. Switching from transmittance to absorbance does not nudge
|
|
78
|
+
* the extents, it replaces the value axis outright — a window of 25 to 100
|
|
79
|
+
* percent means nothing at all in absorbance — so it has to refit, where a
|
|
80
|
+
* change of colour or of name must not.
|
|
81
|
+
* @param spectra - Everything the chart holds, drawn or not.
|
|
82
|
+
* @param mode - Which value axis is being drawn.
|
|
83
|
+
* @returns A string equal to itself exactly when a fit would be made to the
|
|
84
|
+
* same thing.
|
|
85
|
+
*/
|
|
86
|
+
export function fittedTo(spectra, mode) {
|
|
87
|
+
let key = mode;
|
|
88
|
+
for (const spectrum of spectra) {
|
|
89
|
+
if (spectrum.excludeFromDomain || !spectrum.visible)
|
|
90
|
+
continue;
|
|
91
|
+
key += ` ${spectrum.id}`;
|
|
92
|
+
}
|
|
93
|
+
return key;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* The extremes over every trace that is currently drawn.
|
|
97
|
+
* @param spectra - Everything the chart holds.
|
|
98
|
+
* @param mode - Which value axis is being drawn.
|
|
99
|
+
* @param includeExcluded - Whether to count the spectra kept out of the domain.
|
|
100
|
+
* @returns The extremes, or `null` when nothing is drawn.
|
|
101
|
+
*/
|
|
102
|
+
function traceExtent(spectra, mode, includeExcluded) {
|
|
103
|
+
let extent = null;
|
|
104
|
+
for (const spectrum of spectra) {
|
|
105
|
+
if (!spectrum.visible)
|
|
106
|
+
continue;
|
|
107
|
+
if (!includeExcluded && spectrum.excludeFromDomain)
|
|
108
|
+
continue;
|
|
109
|
+
const { x, y } = traceOf(spectrum, mode);
|
|
110
|
+
if (x.length === 0 || y.length === 0)
|
|
111
|
+
continue;
|
|
112
|
+
// The wavenumber ends are read off the first and last sample rather than
|
|
113
|
+
// searched for: the array is ascending by construction, so a scan would walk
|
|
114
|
+
// every point of the spectrum to learn what index zero already says.
|
|
115
|
+
const first = x[0];
|
|
116
|
+
const last = x.at(-1);
|
|
117
|
+
const lowest = xMinValue(y);
|
|
118
|
+
const highest = xMaxValue(y);
|
|
119
|
+
extent =
|
|
120
|
+
extent === null
|
|
121
|
+
? {
|
|
122
|
+
xMinimum: first,
|
|
123
|
+
xMaximum: last,
|
|
124
|
+
yMinimum: lowest,
|
|
125
|
+
yMaximum: highest,
|
|
126
|
+
}
|
|
127
|
+
: {
|
|
128
|
+
xMinimum: Math.min(extent.xMinimum, first),
|
|
129
|
+
xMaximum: Math.max(extent.xMaximum, last),
|
|
130
|
+
yMinimum: Math.min(extent.yMinimum, lowest),
|
|
131
|
+
yMaximum: Math.max(extent.yMaximum, highest),
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
return extent;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=irDomain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"irDomain.js","sourceRoot":"","sources":["../../../src/ir/core/irDomain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The handle a host drives the viewer through.
|
|
3
|
+
*
|
|
4
|
+
* A handle rather than props, for the reason NMRium uses one: "frame this band"
|
|
5
|
+
* and "take these spectra" are *gestures*, and a gesture expressed as a prop has
|
|
6
|
+
* to change to be obeyed — so asking for the same window twice does nothing the
|
|
7
|
+
* second time, and a host ends up inventing a nonce to make it work.
|
|
8
|
+
*/
|
|
9
|
+
import type { IrDomain, IrSpectrum } from './irSpectrum.ts';
|
|
10
|
+
/** How much room to leave either side of a band a host asks to be framed. */
|
|
11
|
+
export interface ZoomToBandOptions {
|
|
12
|
+
/**
|
|
13
|
+
* How wide the window is, in cm⁻¹.
|
|
14
|
+
* @default 200
|
|
15
|
+
*/
|
|
16
|
+
width?: number;
|
|
17
|
+
}
|
|
18
|
+
/** What a host can ask of the viewer. */
|
|
19
|
+
export interface IrEditorHandle {
|
|
20
|
+
/** The spectra that are open, in the order they were loaded. */
|
|
21
|
+
getSpectra: () => IrSpectrum[];
|
|
22
|
+
/** Draw these instead of what is open, and refit to them. */
|
|
23
|
+
setSpectra: (spectra: IrSpectrum[]) => void;
|
|
24
|
+
/** Draw these as well as what is open. */
|
|
25
|
+
addSpectra: (spectra: IrSpectrum[]) => void;
|
|
26
|
+
/** Close every spectrum. */
|
|
27
|
+
clear: () => void;
|
|
28
|
+
/** Show this window. */
|
|
29
|
+
setDomain: (domain: IrDomain) => void;
|
|
30
|
+
/** Show what fits. */
|
|
31
|
+
resetDomain: () => void;
|
|
32
|
+
/**
|
|
33
|
+
* Frame a wavenumber, keeping the value axis as it is.
|
|
34
|
+
*
|
|
35
|
+
* The commonest thing a host wants: a band named in a table beside the viewer
|
|
36
|
+
* is clicked, and the chart should go there.
|
|
37
|
+
*/
|
|
38
|
+
zoomToWavenumber: (wavenumber: number, options?: ZoomToBandOptions) => void;
|
|
39
|
+
/** Point the panels at one spectrum, or at none. */
|
|
40
|
+
selectSpectrum: (id: string | null) => void;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=irEditorApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"irEditorApi.d.ts","sourceRoot":"","sources":["../../../src/ir/core/irEditorApi.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE5D,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,yCAAyC;AACzC,MAAM,WAAW,cAAc;IAC7B,gEAAgE;IAChE,UAAU,EAAE,MAAM,UAAU,EAAE,CAAC;IAC/B,6DAA6D;IAC7D,UAAU,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IAC5C,0CAA0C;IAC1C,UAAU,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IAC5C,4BAA4B;IAC5B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,wBAAwB;IACxB,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtC,sBAAsB;IACtB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;;;OAKG;IACH,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5E,oDAAoD;IACpD,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC7C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The handle a host drives the viewer through.
|
|
3
|
+
*
|
|
4
|
+
* A handle rather than props, for the reason NMRium uses one: "frame this band"
|
|
5
|
+
* and "take these spectra" are *gestures*, and a gesture expressed as a prop has
|
|
6
|
+
* to change to be obeyed — so asking for the same window twice does nothing the
|
|
7
|
+
* second time, and a host ends up inventing a nonce to make it work.
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=irEditorApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"irEditorApi.js","sourceRoot":"","sources":["../../../src/ir/core/irEditorApi.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|