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,76 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { PopoverNext } from '@blueprintjs/core';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { EXTRA_SPECTRUM_COLORS, SPECTRUM_COLORS, } from "../../chart/core/spectrumColor.js";
|
|
5
|
+
/**
|
|
6
|
+
* The chip that says what colour a spectrum is drawn in, and changes it.
|
|
7
|
+
*
|
|
8
|
+
* The palette is what `spectrumColor.ts` holds and nothing else: a free colour
|
|
9
|
+
* picker would let two spectra be set to the same blue, or to a hue that
|
|
10
|
+
* disappears against the chart, and telling the traces apart is the whole job
|
|
11
|
+
* the colour has.
|
|
12
|
+
*
|
|
13
|
+
* Its two tiers are drawn as two rows, in that order and unlabelled. A row is
|
|
14
|
+
* enough: the top one is what the chart uses by itself, so a reader who never
|
|
15
|
+
* looks below it is already right, and one who does is choosing deliberately —
|
|
16
|
+
* which is the only way a colour that asks more of its reader's eyes should
|
|
17
|
+
* ever be picked. A legend explaining the difference would be read once and be
|
|
18
|
+
* in the way afterwards; `spectrumColor.ts` is where the difference is written
|
|
19
|
+
* down.
|
|
20
|
+
*
|
|
21
|
+
* One component for every viewer rather than one per package: a swatch that
|
|
22
|
+
* opens a picker in the mass panel and walks the palette in the infrared one is
|
|
23
|
+
* two different controls wearing the same chip, and whichever a reader learned
|
|
24
|
+
* first is the wrong one in the other editor.
|
|
25
|
+
* @param props - Component props.
|
|
26
|
+
* @returns The chip.
|
|
27
|
+
*/
|
|
28
|
+
export function SpectrumColorSwatch(props) {
|
|
29
|
+
const { color, name, onPick } = props;
|
|
30
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
31
|
+
function offer(offered) {
|
|
32
|
+
return (_jsx("button", { type: "button", title: offered, "aria-label": `Draw ${name} in ${offered}`, style: {
|
|
33
|
+
...(offered === color ? activeSwatchStyle : swatchStyle),
|
|
34
|
+
background: offered,
|
|
35
|
+
}, onClick: () => {
|
|
36
|
+
onPick(offered);
|
|
37
|
+
setIsOpen(false);
|
|
38
|
+
} }, offered));
|
|
39
|
+
}
|
|
40
|
+
return (_jsx(PopoverNext
|
|
41
|
+
// A handful of chips need no arrow pointing back at a chip of the same
|
|
42
|
+
// size.
|
|
43
|
+
, {
|
|
44
|
+
// A handful of chips need no arrow pointing back at a chip of the same
|
|
45
|
+
// size.
|
|
46
|
+
arrow: false, isOpen: isOpen, placement: "bottom-start", onInteraction: setIsOpen, content: _jsxs("div", { style: paletteStyle, children: [_jsx("div", { style: paletteRowStyle, children: SPECTRUM_COLORS.map(offer) }), _jsx("div", { style: paletteRowStyle, children: EXTRA_SPECTRUM_COLORS.map(offer) })] }), children: _jsx("button", { type: "button", title: "Draw this spectrum in another colour", "aria-label": `Colour of ${name}`, style: { ...swatchStyle, background: color } }) }));
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* A round chip rather than a square one: it is the mark the chart's own
|
|
50
|
+
* tooltip uses for a series, so the row and the chart name the same spectrum
|
|
51
|
+
* the same way.
|
|
52
|
+
*/
|
|
53
|
+
const swatchStyle = {
|
|
54
|
+
flex: 'none',
|
|
55
|
+
width: 14,
|
|
56
|
+
height: 14,
|
|
57
|
+
padding: 0,
|
|
58
|
+
borderRadius: '50%',
|
|
59
|
+
border: '1px solid rgba(17, 20, 24, 0.2)',
|
|
60
|
+
cursor: 'pointer',
|
|
61
|
+
};
|
|
62
|
+
const activeSwatchStyle = {
|
|
63
|
+
...swatchStyle,
|
|
64
|
+
border: '2px solid rgb(17 20 24)',
|
|
65
|
+
};
|
|
66
|
+
const paletteStyle = {
|
|
67
|
+
display: 'flex',
|
|
68
|
+
flexDirection: 'column',
|
|
69
|
+
gap: 6,
|
|
70
|
+
padding: 8,
|
|
71
|
+
};
|
|
72
|
+
const paletteRowStyle = {
|
|
73
|
+
display: 'flex',
|
|
74
|
+
gap: 6,
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=SpectrumColorSwatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpectrumColorSwatch.js","sourceRoot":"","sources":["../../../src/panel/ui/SpectrumColorSwatch.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EACL,qBAAqB,EACrB,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAW3C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACtC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,SAAS,KAAK,CAAC,OAAe;QAC5B,OAAO,CACL,iBAEE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,OAAO,gBACF,QAAQ,IAAI,OAAO,OAAO,EAAE,EACxC,KAAK,EAAE;gBACL,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC;gBACxD,UAAU,EAAE,OAAO;aACpB,EACD,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChB,SAAS,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,IAXI,OAAO,CAYZ,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,WAAW;IACV,uEAAuE;IACvE,QAAQ;;QADR,uEAAuE;QACvE,QAAQ;QACR,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAC,cAAc,EACxB,aAAa,EAAE,SAAS,EACxB,OAAO,EACL,eAAK,KAAK,EAAE,YAAY,aACtB,cAAK,KAAK,EAAE,eAAe,YAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,GAAO,EAC/D,cAAK,KAAK,EAAE,eAAe,YAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAO,IACjE,YAGR,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,sCAAsC,gBAChC,aAAa,IAAI,EAAE,EAC/B,KAAK,EAAE,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,GAC5C,GACU,CACf,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,CAAC;IACV,YAAY,EAAE,KAAK;IACnB,MAAM,EAAE,iCAAiC;IACzC,MAAM,EAAE,SAAS;CACT,CAAC;AAEX,MAAM,iBAAiB,GAAG;IACxB,GAAG,WAAW;IACd,MAAM,EAAE,yBAAyB;CACzB,CAAC;AAEX,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,CAAC;CACF,CAAC;AAEX,MAAM,eAAe,GAAG;IACtB,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,CAAC;CACE,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The parts an editor is assembled from: its panels, its dialogs and the rail
|
|
3
|
+
* they are opened from.
|
|
4
|
+
*
|
|
5
|
+
* Every one of them is handed what it shows and reports what was pressed, so
|
|
6
|
+
* none of them reads a store and none of them knows which editor it is in.
|
|
7
|
+
* That is what lets the same panel stack carry a spectrum, a chromatogram and
|
|
8
|
+
* a drawing.
|
|
9
|
+
*/
|
|
10
|
+
export type { AboutDialogFrameProps } from './AboutDialogFrame.tsx';
|
|
11
|
+
export { AboutDialogFrame } from './AboutDialogFrame.tsx';
|
|
12
|
+
export type { ClearButtonProps } from './ClearButton.tsx';
|
|
13
|
+
export { ClearButton } from './ClearButton.tsx';
|
|
14
|
+
export type { DocumentationDialogFrameProps, DocumentationSection, } from './DocumentationDialogFrame.tsx';
|
|
15
|
+
export { DocumentationDialogFrame } from './DocumentationDialogFrame.tsx';
|
|
16
|
+
export type { FilterInputProps } from './FilterInput.tsx';
|
|
17
|
+
export { FilterInput } from './FilterInput.tsx';
|
|
18
|
+
export type { HelpLabelProps } from './HelpLabel.tsx';
|
|
19
|
+
export { HelpLabel } from './HelpLabel.tsx';
|
|
20
|
+
export type { PanelEmptyProps, PanelMessageIntent, PanelMessageProps, } from './PanelMessage.tsx';
|
|
21
|
+
export { PanelEmpty, PanelMessage } from './PanelMessage.tsx';
|
|
22
|
+
export type { PanelRailProps, RailPanel } from './PanelRail.tsx';
|
|
23
|
+
export { PanelRail } from './PanelRail.tsx';
|
|
24
|
+
export type { LinkProps, SectionProps } from './Section.tsx';
|
|
25
|
+
export { Link, Section } from './Section.tsx';
|
|
26
|
+
export type { PanelDescriptor, SidePanelStackProps, } from './SidePanelStack.tsx';
|
|
27
|
+
export { SidePanelStack } from './SidePanelStack.tsx';
|
|
28
|
+
export type { SpectrumColorSwatchProps } from './SpectrumColorSwatch.tsx';
|
|
29
|
+
export { SpectrumColorSwatch } from './SpectrumColorSwatch.tsx';
|
|
30
|
+
export { useConfirmOnEnter } from './useConfirmOnEnter.ts';
|
|
31
|
+
export type { FilterBox } from './useFilterBox.ts';
|
|
32
|
+
export { useFilterBox } from './useFilterBox.ts';
|
|
33
|
+
export type { VirtualRows } from './useVirtualRows.ts';
|
|
34
|
+
export { useVirtualRows } from './useVirtualRows.ts';
|
|
35
|
+
export type { VirtualWindowRows } from './useVirtualWindowRows.ts';
|
|
36
|
+
export { useVirtualWindowRows } from './useVirtualWindowRows.ts';
|
|
37
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/panel/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EACV,eAAe,EACf,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The parts an editor is assembled from: its panels, its dialogs and the rail
|
|
3
|
+
* they are opened from.
|
|
4
|
+
*
|
|
5
|
+
* Every one of them is handed what it shows and reports what was pressed, so
|
|
6
|
+
* none of them reads a store and none of them knows which editor it is in.
|
|
7
|
+
* That is what lets the same panel stack carry a spectrum, a chromatogram and
|
|
8
|
+
* a drawing.
|
|
9
|
+
*/
|
|
10
|
+
export { AboutDialogFrame } from "./AboutDialogFrame.js";
|
|
11
|
+
export { ClearButton } from "./ClearButton.js";
|
|
12
|
+
export { DocumentationDialogFrame } from "./DocumentationDialogFrame.js";
|
|
13
|
+
export { FilterInput } from "./FilterInput.js";
|
|
14
|
+
export { HelpLabel } from "./HelpLabel.js";
|
|
15
|
+
export { PanelEmpty, PanelMessage } from "./PanelMessage.js";
|
|
16
|
+
export { PanelRail } from "./PanelRail.js";
|
|
17
|
+
export { Link, Section } from "./Section.js";
|
|
18
|
+
export { SidePanelStack } from "./SidePanelStack.js";
|
|
19
|
+
export { SpectrumColorSwatch } from "./SpectrumColorSwatch.js";
|
|
20
|
+
export { useConfirmOnEnter } from "./useConfirmOnEnter.js";
|
|
21
|
+
export { useFilterBox } from "./useFilterBox.js";
|
|
22
|
+
export { useVirtualRows } from "./useVirtualRows.js";
|
|
23
|
+
export { useVirtualWindowRows } from "./useVirtualWindowRows.js";
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/panel/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAwB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAmB,CAAC;AAKhD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAAgC,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAmB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAiB,CAAC;AAM5C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAiB,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAe,CAAC;AAK9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAsB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enter as the answer to whatever a dialog is asking.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Run a dialog's primary action when Enter is pressed while it is open.
|
|
6
|
+
*
|
|
7
|
+
* On the document rather than on the dialog's own subtree, because an open
|
|
8
|
+
* overlay holds the focus on a container above the content, so a press never
|
|
9
|
+
* reaches a handler put on the body. Esc needs nothing of the sort: Blueprint
|
|
10
|
+
* closes an overlay on it already.
|
|
11
|
+
*
|
|
12
|
+
* A press that something else has a use for is left alone — a button under the
|
|
13
|
+
* focus is activated by Enter on its own, and a newline typed into a text area
|
|
14
|
+
* is a newline — so the shortcut never fires twice or eats what was typed.
|
|
15
|
+
* @param isOpen - Whether the dialog is showing.
|
|
16
|
+
* @param onConfirm - Its primary action, the one the footer button runs.
|
|
17
|
+
*/
|
|
18
|
+
export declare function useConfirmOnEnter(isOpen: boolean, onConfirm: () => void): void;
|
|
19
|
+
//# sourceMappingURL=useConfirmOnEnter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConfirmOnEnter.d.ts","sourceRoot":"","sources":["../../../src/panel/ui/useConfirmOnEnter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,IAAI,GACpB,IAAI,CAwBN"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enter as the answer to whatever a dialog is asking.
|
|
3
|
+
*/
|
|
4
|
+
import { useEffect, useLayoutEffect, useRef } from 'react';
|
|
5
|
+
/**
|
|
6
|
+
* Run a dialog's primary action when Enter is pressed while it is open.
|
|
7
|
+
*
|
|
8
|
+
* On the document rather than on the dialog's own subtree, because an open
|
|
9
|
+
* overlay holds the focus on a container above the content, so a press never
|
|
10
|
+
* reaches a handler put on the body. Esc needs nothing of the sort: Blueprint
|
|
11
|
+
* closes an overlay on it already.
|
|
12
|
+
*
|
|
13
|
+
* A press that something else has a use for is left alone — a button under the
|
|
14
|
+
* focus is activated by Enter on its own, and a newline typed into a text area
|
|
15
|
+
* is a newline — so the shortcut never fires twice or eats what was typed.
|
|
16
|
+
* @param isOpen - Whether the dialog is showing.
|
|
17
|
+
* @param onConfirm - Its primary action, the one the footer button runs.
|
|
18
|
+
*/
|
|
19
|
+
export function useConfirmOnEnter(isOpen, onConfirm) {
|
|
20
|
+
// Held in a ref so a caller passing a fresh closure on every render does not
|
|
21
|
+
// have the listener taken down and put back up.
|
|
22
|
+
const current = useRef(onConfirm);
|
|
23
|
+
useLayoutEffect(() => {
|
|
24
|
+
current.current = onConfirm;
|
|
25
|
+
});
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
if (!isOpen)
|
|
28
|
+
return;
|
|
29
|
+
function handleKeyDown(event) {
|
|
30
|
+
if (event.key !== 'Enter' || event.defaultPrevented)
|
|
31
|
+
return;
|
|
32
|
+
if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (activatesOnEnter(event.target) || takesNewlines(event.target))
|
|
36
|
+
return;
|
|
37
|
+
event.preventDefault();
|
|
38
|
+
current.current();
|
|
39
|
+
}
|
|
40
|
+
document.addEventListener('keydown', handleKeyDown);
|
|
41
|
+
return () => document.removeEventListener('keydown', handleKeyDown);
|
|
42
|
+
}, [isOpen]);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Whether Enter is already the way to work what the press was delivered to.
|
|
46
|
+
* @param target - What the event was delivered to.
|
|
47
|
+
* @returns Whether it runs itself on Enter.
|
|
48
|
+
*/
|
|
49
|
+
function activatesOnEnter(target) {
|
|
50
|
+
if (!(target instanceof Element))
|
|
51
|
+
return false;
|
|
52
|
+
return target.closest('a[href], button, summary, [role="button"]') !== null;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Whether the press is a newline being typed rather than an answer.
|
|
56
|
+
* @param target - What the event was delivered to.
|
|
57
|
+
* @returns Whether it should be left alone.
|
|
58
|
+
*/
|
|
59
|
+
function takesNewlines(target) {
|
|
60
|
+
if (!(target instanceof HTMLElement))
|
|
61
|
+
return false;
|
|
62
|
+
return target.isContentEditable || target.tagName === 'TEXTAREA';
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=useConfirmOnEnter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConfirmOnEnter.js","sourceRoot":"","sources":["../../../src/panel/ui/useConfirmOnEnter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAe,EACf,SAAqB;IAErB,6EAA6E;IAC7E,gDAAgD;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,eAAe,CAAC,GAAG,EAAE;QACnB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,SAAS,aAAa,CAAC,KAAoB;YACzC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,gBAAgB;gBAAE,OAAO;YAC5D,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACrE,OAAO;YACT,CAAC;YACD,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,OAAO;YAC1E,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;QAED,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAA0B;IAClD,IAAI,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,MAAM,CAAC,OAAO,CAAC,2CAA2C,CAAC,KAAK,IAAI,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,MAA0B;IAC/C,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** The filter box of a panel, and the toolbar item that reveals it. */
|
|
2
|
+
export interface FilterBox {
|
|
3
|
+
/** What the user typed, empty while nothing is filtered out. */
|
|
4
|
+
filter: string;
|
|
5
|
+
/** Called with what the user typed. */
|
|
6
|
+
setFilter: (filter: string) => void;
|
|
7
|
+
/** Whether the box is showing. */
|
|
8
|
+
showFilter: boolean;
|
|
9
|
+
/** Reveals the box, or hides it and drops what was typed. */
|
|
10
|
+
toggleFilter: () => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A filter box that is out of the way until it is asked for.
|
|
14
|
+
*
|
|
15
|
+
* Closing it drops what was typed, because a box that is out of sight can no
|
|
16
|
+
* longer explain why half the list is missing — which is the one rule every
|
|
17
|
+
* panel offering a filter has to keep, so it is kept here rather than in each
|
|
18
|
+
* of them.
|
|
19
|
+
* @param defaultShowFilter - Whether the box is open to begin with.
|
|
20
|
+
* @returns The state of the box, and the toggle a toolbar item calls.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useFilterBox(defaultShowFilter?: boolean): FilterBox;
|
|
23
|
+
//# sourceMappingURL=useFilterBox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFilterBox.d.ts","sourceRoot":"","sources":["../../../src/panel/ui/useFilterBox.ts"],"names":[],"mappings":"AAEA,uEAAuE;AACvE,MAAM,WAAW,SAAS;IACxB,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,kCAAkC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,6DAA6D;IAC7D,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,iBAAiB,UAAQ,GAAG,SAAS,CAUjE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* A filter box that is out of the way until it is asked for.
|
|
4
|
+
*
|
|
5
|
+
* Closing it drops what was typed, because a box that is out of sight can no
|
|
6
|
+
* longer explain why half the list is missing — which is the one rule every
|
|
7
|
+
* panel offering a filter has to keep, so it is kept here rather than in each
|
|
8
|
+
* of them.
|
|
9
|
+
* @param defaultShowFilter - Whether the box is open to begin with.
|
|
10
|
+
* @returns The state of the box, and the toggle a toolbar item calls.
|
|
11
|
+
*/
|
|
12
|
+
export function useFilterBox(defaultShowFilter = false) {
|
|
13
|
+
const [filter, setFilter] = useState('');
|
|
14
|
+
const [showFilter, setShowFilter] = useState(defaultShowFilter);
|
|
15
|
+
function toggleFilter() {
|
|
16
|
+
if (showFilter)
|
|
17
|
+
setFilter('');
|
|
18
|
+
setShowFilter(!showFilter);
|
|
19
|
+
}
|
|
20
|
+
return { filter, setFilter, showFilter, toggleFilter };
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=useFilterBox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFilterBox.js","sourceRoot":"","sources":["../../../src/panel/ui/useFilterBox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAcjC;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,iBAAiB,GAAG,KAAK;IACpD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAEhE,SAAS,YAAY;QACnB,IAAI,UAAU;YAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9B,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { RefObject } from 'react';
|
|
2
|
+
import type { RowSpacers } from '../core/rowSpacers.ts';
|
|
3
|
+
/** Which rows a scrolled table draws, and the empty room around them. */
|
|
4
|
+
export interface VirtualRows extends RowSpacers {
|
|
5
|
+
/** The indices of the rows to draw, in the order they are listed. */
|
|
6
|
+
indices: number[];
|
|
7
|
+
/**
|
|
8
|
+
* What a drawn row reports its height through, as its `ref`. A row also has
|
|
9
|
+
* to carry `data-index`, which is how the measurement finds its way back to
|
|
10
|
+
* the row it was taken from.
|
|
11
|
+
*
|
|
12
|
+
* Any element, not a `<tr>`: a peak table's rows are table rows, while a
|
|
13
|
+
* fragment list's are `<div>`s carrying a drawing, and both are measured the
|
|
14
|
+
* same way.
|
|
15
|
+
*/
|
|
16
|
+
measure: (node: HTMLElement | null) => void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Draw only the rows the scroll region is showing, however long the list is.
|
|
20
|
+
*
|
|
21
|
+
* A peak table is a few hundred rows at rest and several thousand once the
|
|
22
|
+
* window is opened onto the whole spectrum, and every one of those rows is four
|
|
23
|
+
* cells the browser lays out, styles and keeps — a cost paid on the sort, on the
|
|
24
|
+
* filter, and on every zoom, for rows nobody is looking at. Drawing the twenty
|
|
25
|
+
* or so in view and standing two empty rows in for the rest makes that cost the
|
|
26
|
+
* size of the panel rather than the size of the spectrum.
|
|
27
|
+
*
|
|
28
|
+
* The rows are measured rather than assumed: a row is a line of text, so its
|
|
29
|
+
* height follows the font the page is rendered at and a hard-coded one would
|
|
30
|
+
* put the end of a five thousand row list several screens away from the bottom
|
|
31
|
+
* of the scrollbar. `estimatedRowHeight` is only what the list is worth before
|
|
32
|
+
* a single row has been drawn.
|
|
33
|
+
*
|
|
34
|
+
* The table header scrolls inside the same region and is not part of the list,
|
|
35
|
+
* so the rows really sit one header lower than this reckons. It is left that
|
|
36
|
+
* way deliberately: the overscan already draws more rows than are in view, on
|
|
37
|
+
* both sides, and it absorbs a header's worth of offset without the extra
|
|
38
|
+
* measurement — and without the render that measuring it would cost on the way
|
|
39
|
+
* to the same picture.
|
|
40
|
+
* @param scrollRef - The region the rows scroll in.
|
|
41
|
+
* @param count - How many rows the list holds.
|
|
42
|
+
* @param estimatedRowHeight - What one row is worth until one has been drawn.
|
|
43
|
+
* @returns The rows to draw and the spacers standing in for the others.
|
|
44
|
+
*/
|
|
45
|
+
export declare function useVirtualRows(scrollRef: RefObject<HTMLDivElement | null>, count: number, estimatedRowHeight: number): VirtualRows;
|
|
46
|
+
//# sourceMappingURL=useVirtualRows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVirtualRows.d.ts","sourceRoot":"","sources":["../../../src/panel/ui/useVirtualRows.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,yEAAyE;AACzE,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,qEAAqE;IACrE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;;;OAQG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,EAC3C,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,MAAM,GACzB,WAAW,CAmBb"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
2
|
+
import { rowSpacers } from "../core/rowSpacers.js";
|
|
3
|
+
/**
|
|
4
|
+
* Draw only the rows the scroll region is showing, however long the list is.
|
|
5
|
+
*
|
|
6
|
+
* A peak table is a few hundred rows at rest and several thousand once the
|
|
7
|
+
* window is opened onto the whole spectrum, and every one of those rows is four
|
|
8
|
+
* cells the browser lays out, styles and keeps — a cost paid on the sort, on the
|
|
9
|
+
* filter, and on every zoom, for rows nobody is looking at. Drawing the twenty
|
|
10
|
+
* or so in view and standing two empty rows in for the rest makes that cost the
|
|
11
|
+
* size of the panel rather than the size of the spectrum.
|
|
12
|
+
*
|
|
13
|
+
* The rows are measured rather than assumed: a row is a line of text, so its
|
|
14
|
+
* height follows the font the page is rendered at and a hard-coded one would
|
|
15
|
+
* put the end of a five thousand row list several screens away from the bottom
|
|
16
|
+
* of the scrollbar. `estimatedRowHeight` is only what the list is worth before
|
|
17
|
+
* a single row has been drawn.
|
|
18
|
+
*
|
|
19
|
+
* The table header scrolls inside the same region and is not part of the list,
|
|
20
|
+
* so the rows really sit one header lower than this reckons. It is left that
|
|
21
|
+
* way deliberately: the overscan already draws more rows than are in view, on
|
|
22
|
+
* both sides, and it absorbs a header's worth of offset without the extra
|
|
23
|
+
* measurement — and without the render that measuring it would cost on the way
|
|
24
|
+
* to the same picture.
|
|
25
|
+
* @param scrollRef - The region the rows scroll in.
|
|
26
|
+
* @param count - How many rows the list holds.
|
|
27
|
+
* @param estimatedRowHeight - What one row is worth until one has been drawn.
|
|
28
|
+
* @returns The rows to draw and the spacers standing in for the others.
|
|
29
|
+
*/
|
|
30
|
+
export function useVirtualRows(scrollRef, count, estimatedRowHeight) {
|
|
31
|
+
const virtualizer = useVirtualizer({
|
|
32
|
+
count,
|
|
33
|
+
getScrollElement: () => scrollRef.current,
|
|
34
|
+
estimateSize: () => estimatedRowHeight,
|
|
35
|
+
overscan: OVERSCAN,
|
|
36
|
+
});
|
|
37
|
+
const drawn = virtualizer.getVirtualItems();
|
|
38
|
+
const indices = new Array(drawn.length);
|
|
39
|
+
for (let position = 0; position < drawn.length; position++) {
|
|
40
|
+
indices[position] = drawn[position].index;
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
indices,
|
|
44
|
+
...rowSpacers(drawn, virtualizer.getTotalSize()),
|
|
45
|
+
measure: virtualizer.measureElement,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* How many rows are drawn beyond each end of the region.
|
|
50
|
+
*
|
|
51
|
+
* Enough that a wheel gesture or a drag of the scrollbar never reaches the edge
|
|
52
|
+
* of what was drawn before the next render has run, and enough to cover the
|
|
53
|
+
* header the list is offset by.
|
|
54
|
+
*/
|
|
55
|
+
const OVERSCAN = 12;
|
|
56
|
+
//# sourceMappingURL=useVirtualRows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVirtualRows.js","sourceRoot":"","sources":["../../../src/panel/ui/useVirtualRows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAIzD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAkBnD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,cAAc,CAC5B,SAA2C,EAC3C,KAAa,EACb,kBAA0B;IAE1B,MAAM,WAAW,GAAG,cAAc,CAAC;QACjC,KAAK;QACL,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO;QACzC,YAAY,EAAE,GAAG,EAAE,CAAC,kBAAkB;QACtC,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,KAAK,CAAS,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC3D,OAAO,CAAC,QAAQ,CAAC,GAAI,KAAK,CAAC,QAAQ,CAAuB,CAAC,KAAK,CAAC;IACnE,CAAC;IAED,OAAO;QACL,OAAO;QACP,GAAG,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,YAAY,EAAE,CAAC;QAChD,OAAO,EAAE,WAAW,CAAC,cAAc;KACpC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Drawing only the rows the page is showing, for a list that scrolls with it.
|
|
3
|
+
*
|
|
4
|
+
* `useVirtualRows` measures a scroll region of its own, which is what a panel
|
|
5
|
+
* beside a chart has. A table filling a tab has none: it flows down the document
|
|
6
|
+
* and the browser window is what scrolls it, so giving the list its own
|
|
7
|
+
* `overflow` would grow a second scrollbar inside the first and cap the table at
|
|
8
|
+
* whatever height it was handed — a layout change made to serve the virtualiser
|
|
9
|
+
* rather than the reader.
|
|
10
|
+
*/
|
|
11
|
+
import type { VirtualRows } from './useVirtualRows.ts';
|
|
12
|
+
/** The rows to draw, and what the list reports its own position through. */
|
|
13
|
+
export interface VirtualWindowRows extends VirtualRows {
|
|
14
|
+
/**
|
|
15
|
+
* What the element holding the rows reports its position through, as its
|
|
16
|
+
* `ref`. Without it every offset is reckoned from the top of the document and
|
|
17
|
+
* the wrong rows are drawn, by however tall whatever sits above the list is.
|
|
18
|
+
*/
|
|
19
|
+
measureList: (node: HTMLElement | null) => void;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Draw only the rows the page is showing, however long the list is.
|
|
23
|
+
*
|
|
24
|
+
* The rows are measured against the window, so the list only has to say how far
|
|
25
|
+
* down the page it begins — which is what the virtualiser calls its scroll
|
|
26
|
+
* margin, and what `measureList` reports.
|
|
27
|
+
*
|
|
28
|
+
* That position is read in a ref callback rather than in an effect, which is
|
|
29
|
+
* how `useChartSize` reads a box for the same reason: the node is the only
|
|
30
|
+
* thing the measurement needs, so it is taken the moment React has one and
|
|
31
|
+
* taken again whenever it hands over another. A filter that cuts a thousand
|
|
32
|
+
* rows to fifty changes how tall the list is and not where it starts, so there
|
|
33
|
+
* is nothing to remeasure when the count moves.
|
|
34
|
+
* @param count - How many rows the list holds.
|
|
35
|
+
* @param estimatedRowHeight - What one row is worth until one has been drawn.
|
|
36
|
+
* @returns The rows to draw, the spacers standing in for the others, and the
|
|
37
|
+
* ref the list reports its position through.
|
|
38
|
+
*/
|
|
39
|
+
export declare function useVirtualWindowRows(count: number, estimatedRowHeight: number): VirtualWindowRows;
|
|
40
|
+
//# sourceMappingURL=useVirtualWindowRows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVirtualWindowRows.d.ts","sourceRoot":"","sources":["../../../src/panel/ui/useVirtualWindowRows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,4EAA4E;AAC5E,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD;;;;OAIG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;CACjD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,MAAM,GACzB,iBAAiB,CA2BnB"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Drawing only the rows the page is showing, for a list that scrolls with it.
|
|
3
|
+
*
|
|
4
|
+
* `useVirtualRows` measures a scroll region of its own, which is what a panel
|
|
5
|
+
* beside a chart has. A table filling a tab has none: it flows down the document
|
|
6
|
+
* and the browser window is what scrolls it, so giving the list its own
|
|
7
|
+
* `overflow` would grow a second scrollbar inside the first and cap the table at
|
|
8
|
+
* whatever height it was handed — a layout change made to serve the virtualiser
|
|
9
|
+
* rather than the reader.
|
|
10
|
+
*/
|
|
11
|
+
import { useWindowVirtualizer } from '@tanstack/react-virtual';
|
|
12
|
+
import { useCallback, useState } from 'react';
|
|
13
|
+
import { rowSpacers } from "../core/rowSpacers.js";
|
|
14
|
+
/**
|
|
15
|
+
* Draw only the rows the page is showing, however long the list is.
|
|
16
|
+
*
|
|
17
|
+
* The rows are measured against the window, so the list only has to say how far
|
|
18
|
+
* down the page it begins — which is what the virtualiser calls its scroll
|
|
19
|
+
* margin, and what `measureList` reports.
|
|
20
|
+
*
|
|
21
|
+
* That position is read in a ref callback rather than in an effect, which is
|
|
22
|
+
* how `useChartSize` reads a box for the same reason: the node is the only
|
|
23
|
+
* thing the measurement needs, so it is taken the moment React has one and
|
|
24
|
+
* taken again whenever it hands over another. A filter that cuts a thousand
|
|
25
|
+
* rows to fifty changes how tall the list is and not where it starts, so there
|
|
26
|
+
* is nothing to remeasure when the count moves.
|
|
27
|
+
* @param count - How many rows the list holds.
|
|
28
|
+
* @param estimatedRowHeight - What one row is worth until one has been drawn.
|
|
29
|
+
* @returns The rows to draw, the spacers standing in for the others, and the
|
|
30
|
+
* ref the list reports its position through.
|
|
31
|
+
*/
|
|
32
|
+
export function useVirtualWindowRows(count, estimatedRowHeight) {
|
|
33
|
+
const [scrollMargin, setScrollMargin] = useState(0);
|
|
34
|
+
const measureList = useCallback((node) => {
|
|
35
|
+
if (node === null)
|
|
36
|
+
return;
|
|
37
|
+
setScrollMargin(node.getBoundingClientRect().top + window.scrollY);
|
|
38
|
+
}, []);
|
|
39
|
+
const virtualizer = useWindowVirtualizer({
|
|
40
|
+
count,
|
|
41
|
+
estimateSize: () => estimatedRowHeight,
|
|
42
|
+
overscan: OVERSCAN,
|
|
43
|
+
scrollMargin,
|
|
44
|
+
});
|
|
45
|
+
const drawn = virtualizer.getVirtualItems();
|
|
46
|
+
const indices = new Array(drawn.length);
|
|
47
|
+
for (let position = 0; position < drawn.length; position++) {
|
|
48
|
+
indices[position] = drawn[position].index;
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
indices,
|
|
52
|
+
...rowSpacers(drawn, virtualizer.getTotalSize()),
|
|
53
|
+
measure: virtualizer.measureElement,
|
|
54
|
+
measureList,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* How many rows are drawn beyond each end of the window.
|
|
59
|
+
*
|
|
60
|
+
* The same reasoning as `useVirtualRows`, and the same number: enough that a
|
|
61
|
+
* wheel gesture never reaches the edge of what was drawn before the next render
|
|
62
|
+
* has run.
|
|
63
|
+
*/
|
|
64
|
+
const OVERSCAN = 12;
|
|
65
|
+
//# sourceMappingURL=useVirtualWindowRows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVirtualWindowRows.js","sourceRoot":"","sources":["../../../src/panel/ui/useVirtualWindowRows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAcnD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,kBAA0B;IAE1B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEpD,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,IAAwB,EAAE,EAAE;QAC3D,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO;QAC1B,eAAe,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,oBAAoB,CAAC;QACvC,KAAK;QACL,YAAY,EAAE,GAAG,EAAE,CAAC,kBAAkB;QACtC,QAAQ,EAAE,QAAQ;QAClB,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,KAAK,CAAS,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC3D,OAAO,CAAC,QAAQ,CAAC,GAAI,KAAK,CAAC,QAAQ,CAAuB,CAAC,KAAK,CAAC;IACnE,CAAC;IAED,OAAO;QACL,OAAO;QACP,GAAG,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,YAAY,EAAE,CAAC;QAChD,OAAO,EAAE,WAAW,CAAC,cAAc;QACnC,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,EAAE,CAAC"}
|
package/lib/ui.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export * from './hooks/ui/index.ts';
|
|
|
17
17
|
export * from './i18n/ui/index.ts';
|
|
18
18
|
export * from './language/ui/index.ts';
|
|
19
19
|
export * from './overlay/ui/index.ts';
|
|
20
|
+
export * from './panel/ui/index.ts';
|
|
20
21
|
export * from './parallel/ui/index.ts';
|
|
21
22
|
export * from './pedagogy/ui/index.ts';
|
|
22
23
|
export * from './periodic/ui/index.ts';
|
package/lib/ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
|
package/lib/ui.js
CHANGED
|
@@ -17,6 +17,7 @@ export * from "./hooks/ui/index.js";
|
|
|
17
17
|
export * from "./i18n/ui/index.js";
|
|
18
18
|
export * from "./language/ui/index.js";
|
|
19
19
|
export * from "./overlay/ui/index.js";
|
|
20
|
+
export * from "./panel/ui/index.js";
|
|
20
21
|
export * from "./parallel/ui/index.js";
|
|
21
22
|
export * from "./pedagogy/ui/index.js";
|
|
22
23
|
export * from "./periodic/ui/index.js";
|
package/lib/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-cheminfo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.29.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "React components, hooks and framework-free helpers shared by the cheminfo sites: site chrome, citations, sharing, routing, pedagogy, charts, and the structure, orbital and 3D molecule viewers",
|
|
6
6
|
"author": "Luc Patiny",
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"./build-info": "./lib/build-info.js",
|
|
19
19
|
"./conformers": "./lib/conformers.js",
|
|
20
20
|
"./core": "./lib/core.js",
|
|
21
|
+
"./ir": "./lib/ir.js",
|
|
21
22
|
"./molecule3d": "./lib/molecule3d.js",
|
|
22
23
|
"./orbital": "./lib/orbital.js",
|
|
23
24
|
"./slides": "./lib/slides.js",
|
|
@@ -61,9 +62,14 @@
|
|
|
61
62
|
},
|
|
62
63
|
"dependencies": {
|
|
63
64
|
"@formatjs/icu-messageformat-parser": "^3.5.20",
|
|
65
|
+
"@tanstack/react-virtual": "^3.14.13",
|
|
64
66
|
"cheminfo-font": "^1.28.0",
|
|
67
|
+
"cheminfo-types": "^1.16.0",
|
|
68
|
+
"convert-to-jcamp": "^7.0.1",
|
|
65
69
|
"intl-messageformat": "^11.2.15",
|
|
70
|
+
"ir-spectrum": "^4.2.0",
|
|
66
71
|
"leven": "^4.1.0",
|
|
72
|
+
"ml-spectra-processing": "^14.35.1",
|
|
67
73
|
"openchemlib": "^9.25.0",
|
|
68
74
|
"react-markdown": "^10.1.0",
|
|
69
75
|
"rehype-raw": "^7.0.0",
|
|
@@ -85,6 +91,7 @@
|
|
|
85
91
|
"eslint": "^9.39.5",
|
|
86
92
|
"eslint-config-cheminfo-react": "^20.1.0",
|
|
87
93
|
"eslint-config-cheminfo-typescript": "^22.1.0",
|
|
94
|
+
"jsdom": "^30.1.1",
|
|
88
95
|
"ml-dataset-iris": "^1.2.1",
|
|
89
96
|
"ml-pca": "^4.1.1",
|
|
90
97
|
"ml-signal-processing": "^2.2.2",
|