react-cheminfo 0.9.0 → 0.10.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 +251 -20
- package/lib/chart/core/chartAxisScale.d.ts +88 -0
- package/lib/chart/core/chartAxisScale.d.ts.map +1 -0
- package/lib/chart/core/chartAxisScale.js +205 -0
- package/lib/chart/core/chartAxisScale.js.map +1 -0
- package/lib/chart/core/chartBand.d.ts +47 -0
- package/lib/chart/core/chartBand.d.ts.map +1 -0
- package/lib/chart/core/chartBand.js +55 -0
- package/lib/chart/core/chartBand.js.map +1 -0
- package/lib/chart/core/chartBins.d.ts +32 -0
- package/lib/chart/core/chartBins.d.ts.map +1 -0
- package/lib/chart/core/chartBins.js +64 -0
- package/lib/chart/core/chartBins.js.map +1 -0
- package/lib/chart/core/chartExtent.d.ts +105 -0
- package/lib/chart/core/chartExtent.d.ts.map +1 -0
- package/lib/chart/core/chartExtent.js +134 -0
- package/lib/chart/core/chartExtent.js.map +1 -0
- package/lib/chart/core/chartLabels.d.ts +49 -0
- package/lib/chart/core/chartLabels.d.ts.map +1 -0
- package/lib/chart/core/chartLabels.js +44 -0
- package/lib/chart/core/chartLabels.js.map +1 -0
- package/lib/chart/core/chartPalette.d.ts +33 -0
- package/lib/chart/core/chartPalette.d.ts.map +1 -0
- package/lib/chart/core/chartPalette.js +51 -0
- package/lib/chart/core/chartPalette.js.map +1 -0
- package/lib/chart/core/chartScale.d.ts +49 -0
- package/lib/chart/core/chartScale.d.ts.map +1 -0
- package/lib/chart/core/chartScale.js +53 -0
- package/lib/chart/core/chartScale.js.map +1 -0
- package/lib/chart/core/chartViewport.d.ts +88 -0
- package/lib/chart/core/chartViewport.d.ts.map +1 -0
- package/lib/chart/core/chartViewport.js +164 -0
- package/lib/chart/core/chartViewport.js.map +1 -0
- package/lib/chart/core/index.d.ts +29 -0
- package/lib/chart/core/index.d.ts.map +1 -0
- package/lib/chart/core/index.js +20 -0
- package/lib/chart/core/index.js.map +1 -0
- package/lib/chart/core/matrix.d.ts +56 -0
- package/lib/chart/core/matrix.d.ts.map +1 -0
- package/lib/chart/core/matrix.js +75 -0
- package/lib/chart/core/matrix.js.map +1 -0
- package/lib/chart/ui/ChartAxis.d.ts +50 -0
- package/lib/chart/ui/ChartAxis.d.ts.map +1 -0
- package/lib/chart/ui/ChartAxis.js +89 -0
- package/lib/chart/ui/ChartAxis.js.map +1 -0
- package/lib/chart/ui/ChartFrame.d.ts +136 -0
- package/lib/chart/ui/ChartFrame.d.ts.map +1 -0
- package/lib/chart/ui/ChartFrame.js +61 -0
- package/lib/chart/ui/ChartFrame.js.map +1 -0
- package/lib/chart/ui/ChartSeriesMarks.d.ts +44 -0
- package/lib/chart/ui/ChartSeriesMarks.d.ts.map +1 -0
- package/lib/chart/ui/ChartSeriesMarks.js +48 -0
- package/lib/chart/ui/ChartSeriesMarks.js.map +1 -0
- package/lib/chart/ui/ChartTrackingLayer.d.ts +54 -0
- package/lib/chart/ui/ChartTrackingLayer.d.ts.map +1 -0
- package/lib/chart/ui/ChartTrackingLayer.js +98 -0
- package/lib/chart/ui/ChartTrackingLayer.js.map +1 -0
- package/lib/chart/ui/TrackedLineChart.d.ts +136 -0
- package/lib/chart/ui/TrackedLineChart.d.ts.map +1 -0
- package/lib/chart/ui/TrackedLineChart.js +90 -0
- package/lib/chart/ui/TrackedLineChart.js.map +1 -0
- package/lib/chart/ui/TrackedStickChart.d.ts +88 -0
- package/lib/chart/ui/TrackedStickChart.d.ts.map +1 -0
- package/lib/chart/ui/TrackedStickChart.js +58 -0
- package/lib/chart/ui/TrackedStickChart.js.map +1 -0
- package/lib/chart/ui/chartStyles.d.ts +141 -0
- package/lib/chart/ui/chartStyles.d.ts.map +1 -0
- package/lib/chart/ui/chartStyles.js +154 -0
- package/lib/chart/ui/chartStyles.js.map +1 -0
- package/lib/chart/ui/index.d.ts +20 -0
- package/lib/chart/ui/index.d.ts.map +1 -0
- package/lib/chart/ui/index.js +13 -0
- package/lib/chart/ui/index.js.map +1 -0
- package/lib/chart/ui/stickChartModel.d.ts +99 -0
- package/lib/chart/ui/stickChartModel.d.ts.map +1 -0
- package/lib/chart/ui/stickChartModel.js +140 -0
- package/lib/chart/ui/stickChartModel.js.map +1 -0
- package/lib/chart/ui/useWheelZoom.d.ts +69 -0
- package/lib/chart/ui/useWheelZoom.d.ts.map +1 -0
- package/lib/chart/ui/useWheelZoom.js +122 -0
- package/lib/chart/ui/useWheelZoom.js.map +1 -0
- package/lib/color/core/gradient.d.ts +15 -0
- package/lib/color/core/gradient.d.ts.map +1 -0
- package/lib/color/core/gradient.js +28 -0
- package/lib/color/core/gradient.js.map +1 -0
- package/lib/color/core/hsv.d.ts +38 -0
- package/lib/color/core/hsv.d.ts.map +1 -0
- package/lib/color/core/hsv.js +92 -0
- package/lib/color/core/hsv.js.map +1 -0
- package/lib/color/core/index.d.ts +12 -1
- package/lib/color/core/index.d.ts.map +1 -1
- package/lib/color/core/index.js +6 -0
- package/lib/color/core/index.js.map +1 -1
- package/lib/color/core/interpolate.d.ts +67 -0
- package/lib/color/core/interpolate.d.ts.map +1 -0
- package/lib/color/core/interpolate.js +121 -0
- package/lib/color/core/interpolate.js.map +1 -0
- package/lib/color/core/scale.d.ts +11 -15
- package/lib/color/core/scale.d.ts.map +1 -1
- package/lib/color/core/scale.js +14 -41
- package/lib/color/core/scale.js.map +1 -1
- package/lib/color/core/scaleData.d.ts +19 -0
- package/lib/color/core/scaleData.d.ts.map +1 -0
- package/lib/color/core/scaleData.js +120 -0
- package/lib/color/core/scaleData.js.map +1 -0
- package/lib/color/core/scaleText.d.ts +43 -0
- package/lib/color/core/scaleText.d.ts.map +1 -0
- package/lib/color/core/scaleText.js +109 -0
- package/lib/color/core/scaleText.js.map +1 -0
- package/lib/color/core/scales.d.ts +42 -0
- package/lib/color/core/scales.d.ts.map +1 -0
- package/lib/color/core/scales.js +110 -0
- package/lib/color/core/scales.js.map +1 -0
- package/lib/color/ui/ColorScaleBar.d.ts +39 -0
- package/lib/color/ui/ColorScaleBar.d.ts.map +1 -0
- package/lib/color/ui/ColorScaleBar.js +27 -0
- package/lib/color/ui/ColorScaleBar.js.map +1 -0
- package/lib/color/ui/ColorScaleEditor.d.ts +21 -0
- package/lib/color/ui/ColorScaleEditor.d.ts.map +1 -0
- package/lib/color/ui/ColorScaleEditor.js +141 -0
- package/lib/color/ui/ColorScaleEditor.js.map +1 -0
- package/lib/color/ui/ColorScaleSelect.d.ts +38 -0
- package/lib/color/ui/ColorScaleSelect.d.ts.map +1 -0
- package/lib/color/ui/ColorScaleSelect.js +109 -0
- package/lib/color/ui/ColorScaleSelect.js.map +1 -0
- package/lib/color/ui/index.d.ts +6 -0
- package/lib/color/ui/index.d.ts.map +1 -1
- package/lib/color/ui/index.js +3 -0
- package/lib/color/ui/index.js.map +1 -1
- package/lib/core.d.ts +5 -0
- package/lib/core.d.ts.map +1 -1
- package/lib/core.js +5 -0
- package/lib/core.js.map +1 -1
- package/lib/credits/core/credits.d.ts +17 -0
- package/lib/credits/core/credits.d.ts.map +1 -1
- package/lib/credits/core/credits.js +20 -0
- package/lib/credits/core/credits.js.map +1 -1
- package/lib/download/core/cssTokens.d.ts +33 -0
- package/lib/download/core/cssTokens.d.ts.map +1 -0
- package/lib/download/core/cssTokens.js +82 -0
- package/lib/download/core/cssTokens.js.map +1 -0
- package/lib/download/core/downloadFigure.d.ts +39 -0
- package/lib/download/core/downloadFigure.d.ts.map +1 -0
- package/lib/download/core/downloadFigure.js +35 -0
- package/lib/download/core/downloadFigure.js.map +1 -0
- package/lib/download/core/figurePng.d.ts +21 -0
- package/lib/download/core/figurePng.d.ts.map +1 -0
- package/lib/download/core/figurePng.js +76 -0
- package/lib/download/core/figurePng.js.map +1 -0
- package/lib/download/core/figureScale.d.ts +61 -0
- package/lib/download/core/figureScale.d.ts.map +1 -0
- package/lib/download/core/figureScale.js +67 -0
- package/lib/download/core/figureScale.js.map +1 -0
- package/lib/download/core/figureSvg.d.ts +37 -0
- package/lib/download/core/figureSvg.d.ts.map +1 -0
- package/lib/download/core/figureSvg.js +94 -0
- package/lib/download/core/figureSvg.js.map +1 -0
- package/lib/download/core/figureSvgDocument.d.ts +55 -0
- package/lib/download/core/figureSvgDocument.d.ts.map +1 -0
- package/lib/download/core/figureSvgDocument.js +79 -0
- package/lib/download/core/figureSvgDocument.js.map +1 -0
- package/lib/download/core/figureTarget.d.ts +56 -0
- package/lib/download/core/figureTarget.d.ts.map +1 -0
- package/lib/download/core/figureTarget.js +119 -0
- package/lib/download/core/figureTarget.js.map +1 -0
- package/lib/download/core/index.d.ts +12 -0
- package/lib/download/core/index.d.ts.map +1 -1
- package/lib/download/core/index.js +7 -0
- package/lib/download/core/index.js.map +1 -1
- package/lib/download/ui/FigureDownload.d.ts +81 -0
- package/lib/download/ui/FigureDownload.d.ts.map +1 -0
- package/lib/download/ui/FigureDownload.js +65 -0
- package/lib/download/ui/FigureDownload.js.map +1 -0
- package/lib/download/ui/FigureDownloadPanel.d.ts +45 -0
- package/lib/download/ui/FigureDownloadPanel.d.ts.map +1 -0
- package/lib/download/ui/FigureDownloadPanel.js +86 -0
- package/lib/download/ui/FigureDownloadPanel.js.map +1 -0
- package/lib/download/ui/index.d.ts +13 -0
- package/lib/download/ui/index.d.ts.map +1 -0
- package/lib/download/ui/index.js +11 -0
- package/lib/download/ui/index.js.map +1 -0
- package/lib/ecosystem/core/sites.d.ts +1 -1
- package/lib/ecosystem/core/sites.d.ts.map +1 -1
- package/lib/ecosystem/core/sites.js +10 -0
- package/lib/ecosystem/core/sites.js.map +1 -1
- package/lib/ecosystem/ui/glyphs.d.ts.map +1 -1
- package/lib/ecosystem/ui/glyphs.js +4 -0
- package/lib/ecosystem/ui/glyphs.js.map +1 -1
- package/lib/overlay/core/emptiestCorner.d.ts +47 -0
- package/lib/overlay/core/emptiestCorner.d.ts.map +1 -0
- package/lib/overlay/core/emptiestCorner.js +84 -0
- package/lib/overlay/core/emptiestCorner.js.map +1 -0
- package/lib/overlay/core/index.d.ts +23 -0
- package/lib/overlay/core/index.d.ts.map +1 -0
- package/lib/overlay/core/index.js +16 -0
- package/lib/overlay/core/index.js.map +1 -0
- package/lib/overlay/core/overlayCollapse.d.ts +14 -0
- package/lib/overlay/core/overlayCollapse.d.ts.map +1 -0
- package/lib/overlay/core/overlayCollapse.js +20 -0
- package/lib/overlay/core/overlayCollapse.js.map +1 -0
- package/lib/overlay/core/overlayMarks.d.ts +31 -0
- package/lib/overlay/core/overlayMarks.d.ts.map +1 -0
- package/lib/overlay/core/overlayMarks.js +38 -0
- package/lib/overlay/core/overlayMarks.js.map +1 -0
- package/lib/overlay/core/overlayMetrics.d.ts +41 -0
- package/lib/overlay/core/overlayMetrics.d.ts.map +1 -0
- package/lib/overlay/core/overlayMetrics.js +73 -0
- package/lib/overlay/core/overlayMetrics.js.map +1 -0
- package/lib/overlay/core/overlayPlacement.d.ts +60 -0
- package/lib/overlay/core/overlayPlacement.d.ts.map +1 -0
- package/lib/overlay/core/overlayPlacement.js +24 -0
- package/lib/overlay/core/overlayPlacement.js.map +1 -0
- package/lib/overlay/core/overlayTierRoom.d.ts +89 -0
- package/lib/overlay/core/overlayTierRoom.d.ts.map +1 -0
- package/lib/overlay/core/overlayTierRoom.js +135 -0
- package/lib/overlay/core/overlayTierRoom.js.map +1 -0
- package/lib/overlay/core/overlayTiers.d.ts +71 -0
- package/lib/overlay/core/overlayTiers.d.ts.map +1 -0
- package/lib/overlay/core/overlayTiers.js +89 -0
- package/lib/overlay/core/overlayTiers.js.map +1 -0
- package/lib/overlay/core/placeOverlayCard.d.ts +47 -0
- package/lib/overlay/core/placeOverlayCard.d.ts.map +1 -0
- package/lib/overlay/core/placeOverlayCard.js +42 -0
- package/lib/overlay/core/placeOverlayCard.js.map +1 -0
- package/lib/overlay/ui/OverlayAction.d.ts +32 -0
- package/lib/overlay/ui/OverlayAction.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayAction.js +19 -0
- package/lib/overlay/ui/OverlayAction.js.map +1 -0
- package/lib/overlay/ui/OverlayBar.d.ts +122 -0
- package/lib/overlay/ui/OverlayBar.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayBar.js +42 -0
- package/lib/overlay/ui/OverlayBar.js.map +1 -0
- package/lib/overlay/ui/OverlayBarButton.d.ts +38 -0
- package/lib/overlay/ui/OverlayBarButton.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayBarButton.js +40 -0
- package/lib/overlay/ui/OverlayBarButton.js.map +1 -0
- package/lib/overlay/ui/OverlayBarCard.d.ts +25 -0
- package/lib/overlay/ui/OverlayBarCard.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayBarCard.js +28 -0
- package/lib/overlay/ui/OverlayBarCard.js.map +1 -0
- package/lib/overlay/ui/OverlayBarStrip.d.ts +18 -0
- package/lib/overlay/ui/OverlayBarStrip.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayBarStrip.js +26 -0
- package/lib/overlay/ui/OverlayBarStrip.js.map +1 -0
- package/lib/overlay/ui/OverlayCaption.d.ts +52 -0
- package/lib/overlay/ui/OverlayCaption.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayCaption.js +62 -0
- package/lib/overlay/ui/OverlayCaption.js.map +1 -0
- package/lib/overlay/ui/OverlayChip.d.ts +60 -0
- package/lib/overlay/ui/OverlayChip.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayChip.js +73 -0
- package/lib/overlay/ui/OverlayChip.js.map +1 -0
- package/lib/overlay/ui/OverlayDivider.d.ts +11 -0
- package/lib/overlay/ui/OverlayDivider.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayDivider.js +16 -0
- package/lib/overlay/ui/OverlayDivider.js.map +1 -0
- package/lib/overlay/ui/OverlayGroup.d.ts +53 -0
- package/lib/overlay/ui/OverlayGroup.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayGroup.js +63 -0
- package/lib/overlay/ui/OverlayGroup.js.map +1 -0
- package/lib/overlay/ui/OverlayIconButton.d.ts +75 -0
- package/lib/overlay/ui/OverlayIconButton.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayIconButton.js +43 -0
- package/lib/overlay/ui/OverlayIconButton.js.map +1 -0
- package/lib/overlay/ui/OverlayInfo.d.ts +43 -0
- package/lib/overlay/ui/OverlayInfo.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayInfo.js +47 -0
- package/lib/overlay/ui/OverlayInfo.js.map +1 -0
- package/lib/overlay/ui/OverlayLayer.d.ts +54 -0
- package/lib/overlay/ui/OverlayLayer.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayLayer.js +50 -0
- package/lib/overlay/ui/OverlayLayer.js.map +1 -0
- package/lib/overlay/ui/OverlayLegend.d.ts +75 -0
- package/lib/overlay/ui/OverlayLegend.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayLegend.js +81 -0
- package/lib/overlay/ui/OverlayLegend.js.map +1 -0
- package/lib/overlay/ui/OverlayLegendMark.d.ts +36 -0
- package/lib/overlay/ui/OverlayLegendMark.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayLegendMark.js +43 -0
- package/lib/overlay/ui/OverlayLegendMark.js.map +1 -0
- package/lib/overlay/ui/OverlayNumber.d.ts +43 -0
- package/lib/overlay/ui/OverlayNumber.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayNumber.js +74 -0
- package/lib/overlay/ui/OverlayNumber.js.map +1 -0
- package/lib/overlay/ui/OverlayPanel.d.ts +81 -0
- package/lib/overlay/ui/OverlayPanel.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayPanel.js +42 -0
- package/lib/overlay/ui/OverlayPanel.js.map +1 -0
- package/lib/overlay/ui/OverlayPills.d.ts +73 -0
- package/lib/overlay/ui/OverlayPills.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayPills.js +55 -0
- package/lib/overlay/ui/OverlayPills.js.map +1 -0
- package/lib/overlay/ui/OverlayReadout.d.ts +63 -0
- package/lib/overlay/ui/OverlayReadout.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayReadout.js +129 -0
- package/lib/overlay/ui/OverlayReadout.js.map +1 -0
- package/lib/overlay/ui/OverlayRow.d.ts +111 -0
- package/lib/overlay/ui/OverlayRow.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayRow.js +50 -0
- package/lib/overlay/ui/OverlayRow.js.map +1 -0
- package/lib/overlay/ui/OverlaySegmented.d.ts +28 -0
- package/lib/overlay/ui/OverlaySegmented.d.ts.map +1 -0
- package/lib/overlay/ui/OverlaySegmented.js +23 -0
- package/lib/overlay/ui/OverlaySegmented.js.map +1 -0
- package/lib/overlay/ui/OverlaySelect.d.ts +35 -0
- package/lib/overlay/ui/OverlaySelect.d.ts.map +1 -0
- package/lib/overlay/ui/OverlaySelect.js +30 -0
- package/lib/overlay/ui/OverlaySelect.js.map +1 -0
- package/lib/overlay/ui/OverlaySwatchIcon.d.ts +26 -0
- package/lib/overlay/ui/OverlaySwatchIcon.d.ts.map +1 -0
- package/lib/overlay/ui/OverlaySwatchIcon.js +94 -0
- package/lib/overlay/ui/OverlaySwatchIcon.js.map +1 -0
- package/lib/overlay/ui/OverlayToggle.d.ts +56 -0
- package/lib/overlay/ui/OverlayToggle.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayToggle.js +42 -0
- package/lib/overlay/ui/OverlayToggle.js.map +1 -0
- package/lib/overlay/ui/OverlayValueButton.d.ts +80 -0
- package/lib/overlay/ui/OverlayValueButton.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayValueButton.js +46 -0
- package/lib/overlay/ui/OverlayValueButton.js.map +1 -0
- package/lib/overlay/ui/OverlayValueMenu.d.ts +68 -0
- package/lib/overlay/ui/OverlayValueMenu.d.ts.map +1 -0
- package/lib/overlay/ui/OverlayValueMenu.js +40 -0
- package/lib/overlay/ui/OverlayValueMenu.js.map +1 -0
- package/lib/overlay/ui/index.d.ts +55 -0
- package/lib/overlay/ui/index.d.ts.map +1 -0
- package/lib/overlay/ui/index.js +33 -0
- package/lib/overlay/ui/index.js.map +1 -0
- package/lib/overlay/ui/overlayBarShape.d.ts +85 -0
- package/lib/overlay/ui/overlayBarShape.d.ts.map +1 -0
- package/lib/overlay/ui/overlayBarShape.js +48 -0
- package/lib/overlay/ui/overlayBarShape.js.map +1 -0
- package/lib/overlay/ui/overlayControlStyles.d.ts +82 -0
- package/lib/overlay/ui/overlayControlStyles.d.ts.map +1 -0
- package/lib/overlay/ui/overlayControlStyles.js +142 -0
- package/lib/overlay/ui/overlayControlStyles.js.map +1 -0
- package/lib/overlay/ui/overlayFigureStyles.d.ts +52 -0
- package/lib/overlay/ui/overlayFigureStyles.d.ts.map +1 -0
- package/lib/overlay/ui/overlayFigureStyles.js +98 -0
- package/lib/overlay/ui/overlayFigureStyles.js.map +1 -0
- package/lib/overlay/ui/overlayPanelContext.d.ts +34 -0
- package/lib/overlay/ui/overlayPanelContext.d.ts.map +1 -0
- package/lib/overlay/ui/overlayPanelContext.js +29 -0
- package/lib/overlay/ui/overlayPanelContext.js.map +1 -0
- package/lib/overlay/ui/overlayPanelStyles.d.ts +112 -0
- package/lib/overlay/ui/overlayPanelStyles.d.ts.map +1 -0
- package/lib/overlay/ui/overlayPanelStyles.js +193 -0
- package/lib/overlay/ui/overlayPanelStyles.js.map +1 -0
- package/lib/overlay/ui/overlayPillKeys.d.ts +19 -0
- package/lib/overlay/ui/overlayPillKeys.d.ts.map +1 -0
- package/lib/overlay/ui/overlayPillKeys.js +33 -0
- package/lib/overlay/ui/overlayPillKeys.js.map +1 -0
- package/lib/overlay/ui/overlayPillStyles.d.ts +78 -0
- package/lib/overlay/ui/overlayPillStyles.d.ts.map +1 -0
- package/lib/overlay/ui/overlayPillStyles.js +140 -0
- package/lib/overlay/ui/overlayPillStyles.js.map +1 -0
- package/lib/overlay/ui/overlayRowStyles.d.ts +113 -0
- package/lib/overlay/ui/overlayRowStyles.d.ts.map +1 -0
- package/lib/overlay/ui/overlayRowStyles.js +135 -0
- package/lib/overlay/ui/overlayRowStyles.js.map +1 -0
- package/lib/overlay/ui/overlayStepperStyles.d.ts +51 -0
- package/lib/overlay/ui/overlayStepperStyles.d.ts.map +1 -0
- package/lib/overlay/ui/overlayStepperStyles.js +96 -0
- package/lib/overlay/ui/overlayStepperStyles.js.map +1 -0
- package/lib/overlay/ui/overlayStyles.d.ts +123 -0
- package/lib/overlay/ui/overlayStyles.d.ts.map +1 -0
- package/lib/overlay/ui/overlayStyles.js +203 -0
- package/lib/overlay/ui/overlayStyles.js.map +1 -0
- package/lib/overlay/ui/overlaySurface.d.ts +54 -0
- package/lib/overlay/ui/overlaySurface.d.ts.map +1 -0
- package/lib/overlay/ui/overlaySurface.js +85 -0
- package/lib/overlay/ui/overlaySurface.js.map +1 -0
- package/lib/overlay/ui/overlaySwitchStyles.d.ts +70 -0
- package/lib/overlay/ui/overlaySwitchStyles.d.ts.map +1 -0
- package/lib/overlay/ui/overlaySwitchStyles.js +102 -0
- package/lib/overlay/ui/overlaySwitchStyles.js.map +1 -0
- package/lib/overlay/ui/overlayValueStyles.d.ts +101 -0
- package/lib/overlay/ui/overlayValueStyles.d.ts.map +1 -0
- package/lib/overlay/ui/overlayValueStyles.js +166 -0
- package/lib/overlay/ui/overlayValueStyles.js.map +1 -0
- package/lib/projection/core/embeddingResult.d.ts +60 -0
- package/lib/projection/core/embeddingResult.d.ts.map +1 -0
- package/lib/projection/core/embeddingResult.js +52 -0
- package/lib/projection/core/embeddingResult.js.map +1 -0
- package/lib/projection/core/explainedShares.d.ts +51 -0
- package/lib/projection/core/explainedShares.d.ts.map +1 -0
- package/lib/projection/core/explainedShares.js +55 -0
- package/lib/projection/core/explainedShares.js.map +1 -0
- package/lib/projection/core/index.d.ts +38 -0
- package/lib/projection/core/index.d.ts.map +1 -0
- package/lib/projection/core/index.js +25 -0
- package/lib/projection/core/index.js.map +1 -0
- package/lib/projection/core/loadingProfiles.d.ts +87 -0
- package/lib/projection/core/loadingProfiles.d.ts.map +1 -0
- package/lib/projection/core/loadingProfiles.js +125 -0
- package/lib/projection/core/loadingProfiles.js.map +1 -0
- package/lib/projection/core/pcaLike.d.ts +32 -0
- package/lib/projection/core/pcaLike.d.ts.map +1 -0
- package/lib/projection/core/pcaLike.js +2 -0
- package/lib/projection/core/pcaLike.js.map +1 -0
- package/lib/projection/core/pcaResult.d.ts +86 -0
- package/lib/projection/core/pcaResult.d.ts.map +1 -0
- package/lib/projection/core/pcaResult.js +122 -0
- package/lib/projection/core/pcaResult.js.map +1 -0
- package/lib/projection/core/projectionCopy.d.ts +130 -0
- package/lib/projection/core/projectionCopy.d.ts.map +1 -0
- package/lib/projection/core/projectionCopy.js +111 -0
- package/lib/projection/core/projectionCopy.js.map +1 -0
- package/lib/projection/core/projectionCopyPatch.d.ts +13 -0
- package/lib/projection/core/projectionCopyPatch.d.ts.map +1 -0
- package/lib/projection/core/projectionCopyPatch.js +2 -0
- package/lib/projection/core/projectionCopyPatch.js.map +1 -0
- package/lib/projection/core/projectionOptions.d.ts +131 -0
- package/lib/projection/core/projectionOptions.d.ts.map +1 -0
- package/lib/projection/core/projectionOptions.js +85 -0
- package/lib/projection/core/projectionOptions.js.map +1 -0
- package/lib/projection/core/projectionResult.d.ts +119 -0
- package/lib/projection/core/projectionResult.d.ts.map +1 -0
- package/lib/projection/core/projectionResult.js +2 -0
- package/lib/projection/core/projectionResult.js.map +1 -0
- package/lib/projection/core/projectionSamples.d.ts +77 -0
- package/lib/projection/core/projectionSamples.d.ts.map +1 -0
- package/lib/projection/core/projectionSamples.js +81 -0
- package/lib/projection/core/projectionSamples.js.map +1 -0
- package/lib/projection/core/projectionStrings.d.ts +134 -0
- package/lib/projection/core/projectionStrings.d.ts.map +1 -0
- package/lib/projection/core/projectionStrings.js +168 -0
- package/lib/projection/core/projectionStrings.js.map +1 -0
- package/lib/projection/core/projectionTabDefaults.d.ts +18 -0
- package/lib/projection/core/projectionTabDefaults.d.ts.map +1 -0
- package/lib/projection/core/projectionTabDefaults.js +46 -0
- package/lib/projection/core/projectionTabDefaults.js.map +1 -0
- package/lib/projection/core/projectionTabs.d.ts +25 -0
- package/lib/projection/core/projectionTabs.d.ts.map +1 -0
- package/lib/projection/core/projectionTabs.js +51 -0
- package/lib/projection/core/projectionTabs.js.map +1 -0
- package/lib/projection/core/variableAxis.d.ts +106 -0
- package/lib/projection/core/variableAxis.d.ts.map +1 -0
- package/lib/projection/core/variableAxis.js +84 -0
- package/lib/projection/core/variableAxis.js.map +1 -0
- package/lib/projection/core/variablesView.d.ts +33 -0
- package/lib/projection/core/variablesView.d.ts.map +1 -0
- package/lib/projection/core/variablesView.js +49 -0
- package/lib/projection/core/variablesView.js.map +1 -0
- package/lib/projection/ui/PcaViewer.d.ts +31 -0
- package/lib/projection/ui/PcaViewer.d.ts.map +1 -0
- package/lib/projection/ui/PcaViewer.js +46 -0
- package/lib/projection/ui/PcaViewer.js.map +1 -0
- package/lib/projection/ui/ProjectionBar.d.ts +55 -0
- package/lib/projection/ui/ProjectionBar.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionBar.js +112 -0
- package/lib/projection/ui/ProjectionBar.js.map +1 -0
- package/lib/projection/ui/ProjectionMapCaption.d.ts +46 -0
- package/lib/projection/ui/ProjectionMapCaption.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionMapCaption.js +54 -0
- package/lib/projection/ui/ProjectionMapCaption.js.map +1 -0
- package/lib/projection/ui/ProjectionMapControls.d.ts +67 -0
- package/lib/projection/ui/ProjectionMapControls.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionMapControls.js +108 -0
- package/lib/projection/ui/ProjectionMapControls.js.map +1 -0
- package/lib/projection/ui/ProjectionMapLegend.d.ts +39 -0
- package/lib/projection/ui/ProjectionMapLegend.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionMapLegend.js +29 -0
- package/lib/projection/ui/ProjectionMapLegend.js.map +1 -0
- package/lib/projection/ui/ProjectionMapMore.d.ts +42 -0
- package/lib/projection/ui/ProjectionMapMore.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionMapMore.js +74 -0
- package/lib/projection/ui/ProjectionMapMore.js.map +1 -0
- package/lib/projection/ui/ProjectionMapTab.d.ts +101 -0
- package/lib/projection/ui/ProjectionMapTab.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionMapTab.js +42 -0
- package/lib/projection/ui/ProjectionMapTab.js.map +1 -0
- package/lib/projection/ui/ProjectionPairsControls.d.ts +37 -0
- package/lib/projection/ui/ProjectionPairsControls.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionPairsControls.js +20 -0
- package/lib/projection/ui/ProjectionPairsControls.js.map +1 -0
- package/lib/projection/ui/ProjectionPairsMore.d.ts +40 -0
- package/lib/projection/ui/ProjectionPairsMore.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionPairsMore.js +31 -0
- package/lib/projection/ui/ProjectionPairsMore.js.map +1 -0
- package/lib/projection/ui/ProjectionPairsTab.d.ts +66 -0
- package/lib/projection/ui/ProjectionPairsTab.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionPairsTab.js +64 -0
- package/lib/projection/ui/ProjectionPairsTab.js.map +1 -0
- package/lib/projection/ui/ProjectionPanel.d.ts +73 -0
- package/lib/projection/ui/ProjectionPanel.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionPanel.js +58 -0
- package/lib/projection/ui/ProjectionPanel.js.map +1 -0
- package/lib/projection/ui/ProjectionReadout.d.ts +65 -0
- package/lib/projection/ui/ProjectionReadout.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionReadout.js +46 -0
- package/lib/projection/ui/ProjectionReadout.js.map +1 -0
- package/lib/projection/ui/ProjectionSharesControls.d.ts +34 -0
- package/lib/projection/ui/ProjectionSharesControls.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionSharesControls.js +20 -0
- package/lib/projection/ui/ProjectionSharesControls.js.map +1 -0
- package/lib/projection/ui/ProjectionSharesMarks.d.ts +49 -0
- package/lib/projection/ui/ProjectionSharesMarks.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionSharesMarks.js +110 -0
- package/lib/projection/ui/ProjectionSharesMarks.js.map +1 -0
- package/lib/projection/ui/ProjectionSharesMore.d.ts +19 -0
- package/lib/projection/ui/ProjectionSharesMore.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionSharesMore.js +25 -0
- package/lib/projection/ui/ProjectionSharesMore.js.map +1 -0
- package/lib/projection/ui/ProjectionSharesTab.d.ts +50 -0
- package/lib/projection/ui/ProjectionSharesTab.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionSharesTab.js +48 -0
- package/lib/projection/ui/ProjectionSharesTab.js.map +1 -0
- package/lib/projection/ui/ProjectionSurface.d.ts +33 -0
- package/lib/projection/ui/ProjectionSurface.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionSurface.js +35 -0
- package/lib/projection/ui/ProjectionSurface.js.map +1 -0
- package/lib/projection/ui/ProjectionTabStrip.d.ts +74 -0
- package/lib/projection/ui/ProjectionTabStrip.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionTabStrip.js +64 -0
- package/lib/projection/ui/ProjectionTabStrip.js.map +1 -0
- package/lib/projection/ui/ProjectionVariablesControls.d.ts +33 -0
- package/lib/projection/ui/ProjectionVariablesControls.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionVariablesControls.js +26 -0
- package/lib/projection/ui/ProjectionVariablesControls.js.map +1 -0
- package/lib/projection/ui/ProjectionVariablesMore.d.ts +33 -0
- package/lib/projection/ui/ProjectionVariablesMore.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionVariablesMore.js +55 -0
- package/lib/projection/ui/ProjectionVariablesMore.js.map +1 -0
- package/lib/projection/ui/ProjectionVariablesTab.d.ts +78 -0
- package/lib/projection/ui/ProjectionVariablesTab.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionVariablesTab.js +93 -0
- package/lib/projection/ui/ProjectionVariablesTab.js.map +1 -0
- package/lib/projection/ui/ProjectionViewer.d.ts +32 -0
- package/lib/projection/ui/ProjectionViewer.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionViewer.js +90 -0
- package/lib/projection/ui/ProjectionViewer.js.map +1 -0
- package/lib/projection/ui/index.d.ts +19 -0
- package/lib/projection/ui/index.d.ts.map +1 -0
- package/lib/projection/ui/index.js +15 -0
- package/lib/projection/ui/index.js.map +1 -0
- package/lib/projection/ui/projectionBarModel.d.ts +92 -0
- package/lib/projection/ui/projectionBarModel.d.ts.map +1 -0
- package/lib/projection/ui/projectionBarModel.js +140 -0
- package/lib/projection/ui/projectionBarModel.js.map +1 -0
- package/lib/projection/ui/projectionBarReadings.d.ts +65 -0
- package/lib/projection/ui/projectionBarReadings.d.ts.map +1 -0
- package/lib/projection/ui/projectionBarReadings.js +121 -0
- package/lib/projection/ui/projectionBarReadings.js.map +1 -0
- package/lib/projection/ui/projectionBarSlots.d.ts +59 -0
- package/lib/projection/ui/projectionBarSlots.d.ts.map +1 -0
- package/lib/projection/ui/projectionBarSlots.js +81 -0
- package/lib/projection/ui/projectionBarSlots.js.map +1 -0
- package/lib/projection/ui/projectionBarStyles.d.ts +102 -0
- package/lib/projection/ui/projectionBarStyles.d.ts.map +1 -0
- package/lib/projection/ui/projectionBarStyles.js +154 -0
- package/lib/projection/ui/projectionBarStyles.js.map +1 -0
- package/lib/projection/ui/projectionEllipse.d.ts +50 -0
- package/lib/projection/ui/projectionEllipse.d.ts.map +1 -0
- package/lib/projection/ui/projectionEllipse.js +101 -0
- package/lib/projection/ui/projectionEllipse.js.map +1 -0
- package/lib/projection/ui/projectionFormat.d.ts +13 -0
- package/lib/projection/ui/projectionFormat.d.ts.map +1 -0
- package/lib/projection/ui/projectionFormat.js +19 -0
- package/lib/projection/ui/projectionFormat.js.map +1 -0
- package/lib/projection/ui/projectionMapChoices.d.ts +31 -0
- package/lib/projection/ui/projectionMapChoices.d.ts.map +1 -0
- package/lib/projection/ui/projectionMapChoices.js +46 -0
- package/lib/projection/ui/projectionMapChoices.js.map +1 -0
- package/lib/projection/ui/projectionMapChrome.d.ts +73 -0
- package/lib/projection/ui/projectionMapChrome.d.ts.map +1 -0
- package/lib/projection/ui/projectionMapChrome.js +135 -0
- package/lib/projection/ui/projectionMapChrome.js.map +1 -0
- package/lib/projection/ui/projectionMapModel.d.ts +114 -0
- package/lib/projection/ui/projectionMapModel.d.ts.map +1 -0
- package/lib/projection/ui/projectionMapModel.js +177 -0
- package/lib/projection/ui/projectionMapModel.js.map +1 -0
- package/lib/projection/ui/projectionMapView.d.ts +59 -0
- package/lib/projection/ui/projectionMapView.d.ts.map +1 -0
- package/lib/projection/ui/projectionMapView.js +90 -0
- package/lib/projection/ui/projectionMapView.js.map +1 -0
- package/lib/projection/ui/projectionPairsCeiling.d.ts +29 -0
- package/lib/projection/ui/projectionPairsCeiling.d.ts.map +1 -0
- package/lib/projection/ui/projectionPairsCeiling.js +29 -0
- package/lib/projection/ui/projectionPairsCeiling.js.map +1 -0
- package/lib/projection/ui/projectionSelection.d.ts +51 -0
- package/lib/projection/ui/projectionSelection.d.ts.map +1 -0
- package/lib/projection/ui/projectionSelection.js +66 -0
- package/lib/projection/ui/projectionSelection.js.map +1 -0
- package/lib/projection/ui/projectionTabInfo.d.ts +59 -0
- package/lib/projection/ui/projectionTabInfo.d.ts.map +1 -0
- package/lib/projection/ui/projectionTabInfo.js +108 -0
- package/lib/projection/ui/projectionTabInfo.js.map +1 -0
- package/lib/projection/ui/projectionTabModels.d.ts +49 -0
- package/lib/projection/ui/projectionTabModels.d.ts.map +1 -0
- package/lib/projection/ui/projectionTabModels.js +59 -0
- package/lib/projection/ui/projectionTabModels.js.map +1 -0
- package/lib/projection/ui/projectionTabStyles.d.ts +131 -0
- package/lib/projection/ui/projectionTabStyles.d.ts.map +1 -0
- package/lib/projection/ui/projectionTabStyles.js +134 -0
- package/lib/projection/ui/projectionTabStyles.js.map +1 -0
- package/lib/projection/ui/projectionVariablesModel.d.ts +104 -0
- package/lib/projection/ui/projectionVariablesModel.d.ts.map +1 -0
- package/lib/projection/ui/projectionVariablesModel.js +165 -0
- package/lib/projection/ui/projectionVariablesModel.js.map +1 -0
- package/lib/projection/ui/projectionVariablesWords.d.ts +50 -0
- package/lib/projection/ui/projectionVariablesWords.d.ts.map +1 -0
- package/lib/projection/ui/projectionVariablesWords.js +91 -0
- package/lib/projection/ui/projectionVariablesWords.js.map +1 -0
- package/lib/projection/ui/projectionViewChoices.d.ts +31 -0
- package/lib/projection/ui/projectionViewChoices.d.ts.map +1 -0
- package/lib/projection/ui/projectionViewChoices.js +53 -0
- package/lib/projection/ui/projectionViewChoices.js.map +1 -0
- package/lib/projection/ui/projectionViewerProps.d.ts +153 -0
- package/lib/projection/ui/projectionViewerProps.d.ts.map +1 -0
- package/lib/projection/ui/projectionViewerProps.js +9 -0
- package/lib/projection/ui/projectionViewerProps.js.map +1 -0
- package/lib/projection/ui/useProjectionState.d.ts +63 -0
- package/lib/projection/ui/useProjectionState.d.ts.map +1 -0
- package/lib/projection/ui/useProjectionState.js +107 -0
- package/lib/projection/ui/useProjectionState.js.map +1 -0
- package/lib/scatter/core/confidenceEllipse.d.ts +117 -0
- package/lib/scatter/core/confidenceEllipse.d.ts.map +1 -0
- package/lib/scatter/core/confidenceEllipse.js +132 -0
- package/lib/scatter/core/confidenceEllipse.js.map +1 -0
- package/lib/scatter/core/ellipseCoverage.d.ts +33 -0
- package/lib/scatter/core/ellipseCoverage.d.ts.map +1 -0
- package/lib/scatter/core/ellipseCoverage.js +46 -0
- package/lib/scatter/core/ellipseCoverage.js.map +1 -0
- package/lib/scatter/core/ellipseProjection.d.ts +53 -0
- package/lib/scatter/core/ellipseProjection.d.ts.map +1 -0
- package/lib/scatter/core/ellipseProjection.js +94 -0
- package/lib/scatter/core/ellipseProjection.js.map +1 -0
- package/lib/scatter/core/index.d.ts +24 -0
- package/lib/scatter/core/index.d.ts.map +1 -0
- package/lib/scatter/core/index.js +19 -0
- package/lib/scatter/core/index.js.map +1 -0
- package/lib/scatter/core/lassoPath.d.ts +60 -0
- package/lib/scatter/core/lassoPath.d.ts.map +1 -0
- package/lib/scatter/core/lassoPath.js +101 -0
- package/lib/scatter/core/lassoPath.js.map +1 -0
- package/lib/scatter/core/polygon.d.ts +58 -0
- package/lib/scatter/core/polygon.d.ts.map +1 -0
- package/lib/scatter/core/polygon.js +140 -0
- package/lib/scatter/core/polygon.js.map +1 -0
- package/lib/scatter/core/scatterSelection.d.ts +44 -0
- package/lib/scatter/core/scatterSelection.d.ts.map +1 -0
- package/lib/scatter/core/scatterSelection.js +81 -0
- package/lib/scatter/core/scatterSelection.js.map +1 -0
- package/lib/scatter/core/screenPoints.d.ts +58 -0
- package/lib/scatter/core/screenPoints.d.ts.map +1 -0
- package/lib/scatter/core/screenPoints.js +78 -0
- package/lib/scatter/core/screenPoints.js.map +1 -0
- package/lib/scatter/ui/ScatterEllipseLayer.d.ts +69 -0
- package/lib/scatter/ui/ScatterEllipseLayer.d.ts.map +1 -0
- package/lib/scatter/ui/ScatterEllipseLayer.js +77 -0
- package/lib/scatter/ui/ScatterEllipseLayer.js.map +1 -0
- package/lib/scatter/ui/ScatterLabelLayer.d.ts +40 -0
- package/lib/scatter/ui/ScatterLabelLayer.d.ts.map +1 -0
- package/lib/scatter/ui/ScatterLabelLayer.js +77 -0
- package/lib/scatter/ui/ScatterLabelLayer.js.map +1 -0
- package/lib/scatter/ui/ScatterMarkLayer.d.ts +68 -0
- package/lib/scatter/ui/ScatterMarkLayer.d.ts.map +1 -0
- package/lib/scatter/ui/ScatterMarkLayer.js +134 -0
- package/lib/scatter/ui/ScatterMarkLayer.js.map +1 -0
- package/lib/scatter/ui/ScatterMatrix.d.ts +19 -0
- package/lib/scatter/ui/ScatterMatrix.d.ts.map +1 -0
- package/lib/scatter/ui/ScatterMatrix.js +125 -0
- package/lib/scatter/ui/ScatterMatrix.js.map +1 -0
- package/lib/scatter/ui/ScatterMatrixCell.d.ts +24 -0
- package/lib/scatter/ui/ScatterMatrixCell.d.ts.map +1 -0
- package/lib/scatter/ui/ScatterMatrixCell.js +90 -0
- package/lib/scatter/ui/ScatterMatrixCell.js.map +1 -0
- package/lib/scatter/ui/ScatterMatrixDiagonal.d.ts +78 -0
- package/lib/scatter/ui/ScatterMatrixDiagonal.d.ts.map +1 -0
- package/lib/scatter/ui/ScatterMatrixDiagonal.js +83 -0
- package/lib/scatter/ui/ScatterMatrixDiagonal.js.map +1 -0
- package/lib/scatter/ui/ScatterPlot.d.ts +17 -0
- package/lib/scatter/ui/ScatterPlot.d.ts.map +1 -0
- package/lib/scatter/ui/ScatterPlot.js +91 -0
- package/lib/scatter/ui/ScatterPlot.js.map +1 -0
- package/lib/scatter/ui/ScatterPointLayer.d.ts +67 -0
- package/lib/scatter/ui/ScatterPointLayer.d.ts.map +1 -0
- package/lib/scatter/ui/ScatterPointLayer.js +87 -0
- package/lib/scatter/ui/ScatterPointLayer.js.map +1 -0
- package/lib/scatter/ui/index.d.ts +53 -0
- package/lib/scatter/ui/index.d.ts.map +1 -0
- package/lib/scatter/ui/index.js +34 -0
- package/lib/scatter/ui/index.js.map +1 -0
- package/lib/scatter/ui/lassoGesture.d.ts +185 -0
- package/lib/scatter/ui/lassoGesture.d.ts.map +1 -0
- package/lib/scatter/ui/lassoGesture.js +100 -0
- package/lib/scatter/ui/lassoGesture.js.map +1 -0
- package/lib/scatter/ui/scatterGroupSpread.d.ts +81 -0
- package/lib/scatter/ui/scatterGroupSpread.d.ts.map +1 -0
- package/lib/scatter/ui/scatterGroupSpread.js +147 -0
- package/lib/scatter/ui/scatterGroupSpread.js.map +1 -0
- package/lib/scatter/ui/scatterLabelBoxes.d.ts +94 -0
- package/lib/scatter/ui/scatterLabelBoxes.d.ts.map +1 -0
- package/lib/scatter/ui/scatterLabelBoxes.js +140 -0
- package/lib/scatter/ui/scatterLabelBoxes.js.map +1 -0
- package/lib/scatter/ui/scatterLabelPlacement.d.ts +96 -0
- package/lib/scatter/ui/scatterLabelPlacement.d.ts.map +1 -0
- package/lib/scatter/ui/scatterLabelPlacement.js +210 -0
- package/lib/scatter/ui/scatterLabelPlacement.js.map +1 -0
- package/lib/scatter/ui/scatterLabels.d.ts +81 -0
- package/lib/scatter/ui/scatterLabels.d.ts.map +1 -0
- package/lib/scatter/ui/scatterLabels.js +101 -0
- package/lib/scatter/ui/scatterLabels.js.map +1 -0
- package/lib/scatter/ui/scatterMarkGlyph.d.ts +37 -0
- package/lib/scatter/ui/scatterMarkGlyph.d.ts.map +1 -0
- package/lib/scatter/ui/scatterMarkGlyph.js +33 -0
- package/lib/scatter/ui/scatterMarkGlyph.js.map +1 -0
- package/lib/scatter/ui/scatterMatrixDots.d.ts +24 -0
- package/lib/scatter/ui/scatterMatrixDots.d.ts.map +1 -0
- package/lib/scatter/ui/scatterMatrixDots.js +84 -0
- package/lib/scatter/ui/scatterMatrixDots.js.map +1 -0
- package/lib/scatter/ui/scatterMatrixLayout.d.ts +93 -0
- package/lib/scatter/ui/scatterMatrixLayout.d.ts.map +1 -0
- package/lib/scatter/ui/scatterMatrixLayout.js +117 -0
- package/lib/scatter/ui/scatterMatrixLayout.js.map +1 -0
- package/lib/scatter/ui/scatterMatrixOutlines.d.ts +27 -0
- package/lib/scatter/ui/scatterMatrixOutlines.d.ts.map +1 -0
- package/lib/scatter/ui/scatterMatrixOutlines.js +34 -0
- package/lib/scatter/ui/scatterMatrixOutlines.js.map +1 -0
- package/lib/scatter/ui/scatterMatrixProps.d.ts +99 -0
- package/lib/scatter/ui/scatterMatrixProps.d.ts.map +1 -0
- package/lib/scatter/ui/scatterMatrixProps.js +10 -0
- package/lib/scatter/ui/scatterMatrixProps.js.map +1 -0
- package/lib/scatter/ui/scatterOutlineShape.d.ts +63 -0
- package/lib/scatter/ui/scatterOutlineShape.d.ts.map +1 -0
- package/lib/scatter/ui/scatterOutlineShape.js +82 -0
- package/lib/scatter/ui/scatterOutlineShape.js.map +1 -0
- package/lib/scatter/ui/scatterPlotModel.d.ts +107 -0
- package/lib/scatter/ui/scatterPlotModel.d.ts.map +1 -0
- package/lib/scatter/ui/scatterPlotModel.js +139 -0
- package/lib/scatter/ui/scatterPlotModel.js.map +1 -0
- package/lib/scatter/ui/scatterPlotProps.d.ts +235 -0
- package/lib/scatter/ui/scatterPlotProps.d.ts.map +1 -0
- package/lib/scatter/ui/scatterPlotProps.js +10 -0
- package/lib/scatter/ui/scatterPlotProps.js.map +1 -0
- package/lib/scatter/ui/useLassoGesture.d.ts +18 -0
- package/lib/scatter/ui/useLassoGesture.d.ts.map +1 -0
- package/lib/scatter/ui/useLassoGesture.js +140 -0
- package/lib/scatter/ui/useLassoGesture.js.map +1 -0
- package/lib/scatter/ui/usePointHover.d.ts +88 -0
- package/lib/scatter/ui/usePointHover.d.ts.map +1 -0
- package/lib/scatter/ui/usePointHover.js +88 -0
- package/lib/scatter/ui/usePointHover.js.map +1 -0
- package/lib/scatter/ui/useScatterFrame.d.ts +80 -0
- package/lib/scatter/ui/useScatterFrame.d.ts.map +1 -0
- package/lib/scatter/ui/useScatterFrame.js +101 -0
- package/lib/scatter/ui/useScatterFrame.js.map +1 -0
- package/lib/scatter/ui/useScatterInteraction.d.ts +103 -0
- package/lib/scatter/ui/useScatterInteraction.d.ts.map +1 -0
- package/lib/scatter/ui/useScatterInteraction.js +93 -0
- package/lib/scatter/ui/useScatterInteraction.js.map +1 -0
- package/lib/scatter/ui/useScatterKeyboard.d.ts +60 -0
- package/lib/scatter/ui/useScatterKeyboard.d.ts.map +1 -0
- package/lib/scatter/ui/useScatterKeyboard.js +56 -0
- package/lib/scatter/ui/useScatterKeyboard.js.map +1 -0
- package/lib/scatter/ui/useScatterSelection.d.ts +78 -0
- package/lib/scatter/ui/useScatterSelection.d.ts.map +1 -0
- package/lib/scatter/ui/useScatterSelection.js +72 -0
- package/lib/scatter/ui/useScatterSelection.js.map +1 -0
- package/lib/share/core/query.d.ts +10 -4
- package/lib/share/core/query.d.ts.map +1 -1
- package/lib/share/core/query.js +11 -7
- package/lib/share/core/query.js.map +1 -1
- package/lib/spectra/core/axisEntries.d.ts +50 -0
- package/lib/spectra/core/axisEntries.d.ts.map +1 -0
- package/lib/spectra/core/axisEntries.js +78 -0
- package/lib/spectra/core/axisEntries.js.map +1 -0
- package/lib/spectra/core/chainProblems.d.ts +14 -0
- package/lib/spectra/core/chainProblems.d.ts.map +1 -0
- package/lib/spectra/core/chainProblems.js +100 -0
- package/lib/spectra/core/chainProblems.js.map +1 -0
- package/lib/spectra/core/filterCatalog.d.ts +57 -0
- package/lib/spectra/core/filterCatalog.d.ts.map +1 -0
- package/lib/spectra/core/filterCatalog.js +81 -0
- package/lib/spectra/core/filterCatalog.js.map +1 -0
- package/lib/spectra/core/filterChain.d.ts +69 -0
- package/lib/spectra/core/filterChain.d.ts.map +1 -0
- package/lib/spectra/core/filterChain.js +163 -0
- package/lib/spectra/core/filterChain.js.map +1 -0
- package/lib/spectra/core/filterEntries.d.ts +136 -0
- package/lib/spectra/core/filterEntries.d.ts.map +1 -0
- package/lib/spectra/core/filterEntries.js +139 -0
- package/lib/spectra/core/filterEntries.js.map +1 -0
- package/lib/spectra/core/filterFields.d.ts +94 -0
- package/lib/spectra/core/filterFields.d.ts.map +1 -0
- package/lib/spectra/core/filterFields.js +82 -0
- package/lib/spectra/core/filterFields.js.map +1 -0
- package/lib/spectra/core/index.d.ts +14 -0
- package/lib/spectra/core/index.d.ts.map +1 -0
- package/lib/spectra/core/index.js +9 -0
- package/lib/spectra/core/index.js.map +1 -0
- package/lib/spectra/core/principalComponents.d.ts +70 -0
- package/lib/spectra/core/principalComponents.d.ts.map +1 -0
- package/lib/spectra/core/principalComponents.js +90 -0
- package/lib/spectra/core/principalComponents.js.map +1 -0
- package/lib/spectra/core/problems.d.ts +57 -0
- package/lib/spectra/core/problems.d.ts.map +1 -0
- package/lib/spectra/core/problems.js +121 -0
- package/lib/spectra/core/problems.js.map +1 -0
- package/lib/spectra/core/settings.d.ts +67 -0
- package/lib/spectra/core/settings.d.ts.map +1 -0
- package/lib/spectra/core/settings.js +35 -0
- package/lib/spectra/core/settings.js.map +1 -0
- package/lib/spectra/core/settingsProblems.d.ts +18 -0
- package/lib/spectra/core/settingsProblems.d.ts.map +1 -0
- package/lib/spectra/core/settingsProblems.js +148 -0
- package/lib/spectra/core/settingsProblems.js.map +1 -0
- package/lib/spectra/core/stepProblems.d.ts +13 -0
- package/lib/spectra/core/stepProblems.d.ts.map +1 -0
- package/lib/spectra/core/stepProblems.js +133 -0
- package/lib/spectra/core/stepProblems.js.map +1 -0
- package/lib/spectra/ui/CalculationRows.d.ts +21 -0
- package/lib/spectra/ui/CalculationRows.d.ts.map +1 -0
- package/lib/spectra/ui/CalculationRows.js +77 -0
- package/lib/spectra/ui/CalculationRows.js.map +1 -0
- package/lib/spectra/ui/FilterChainEditor.d.ts +34 -0
- package/lib/spectra/ui/FilterChainEditor.d.ts.map +1 -0
- package/lib/spectra/ui/FilterChainEditor.js +111 -0
- package/lib/spectra/ui/FilterChainEditor.js.map +1 -0
- package/lib/spectra/ui/FilterChoiceControl.d.ts +23 -0
- package/lib/spectra/ui/FilterChoiceControl.d.ts.map +1 -0
- package/lib/spectra/ui/FilterChoiceControl.js +65 -0
- package/lib/spectra/ui/FilterChoiceControl.js.map +1 -0
- package/lib/spectra/ui/FilterFieldControl.d.ts +25 -0
- package/lib/spectra/ui/FilterFieldControl.d.ts.map +1 -0
- package/lib/spectra/ui/FilterFieldControl.js +68 -0
- package/lib/spectra/ui/FilterFieldControl.js.map +1 -0
- package/lib/spectra/ui/FilterRow.d.ts +33 -0
- package/lib/spectra/ui/FilterRow.d.ts.map +1 -0
- package/lib/spectra/ui/FilterRow.js +76 -0
- package/lib/spectra/ui/FilterRow.js.map +1 -0
- package/lib/spectra/ui/MatrixFilterRows.d.ts +22 -0
- package/lib/spectra/ui/MatrixFilterRows.d.ts.map +1 -0
- package/lib/spectra/ui/MatrixFilterRows.js +92 -0
- package/lib/spectra/ui/MatrixFilterRows.js.map +1 -0
- package/lib/spectra/ui/NormalizationEditor.d.ts +24 -0
- package/lib/spectra/ui/NormalizationEditor.d.ts.map +1 -0
- package/lib/spectra/ui/NormalizationEditor.js +108 -0
- package/lib/spectra/ui/NormalizationEditor.js.map +1 -0
- package/lib/spectra/ui/NumberField.d.ts +41 -0
- package/lib/spectra/ui/NumberField.d.ts.map +1 -0
- package/lib/spectra/ui/NumberField.js +81 -0
- package/lib/spectra/ui/NumberField.js.map +1 -0
- package/lib/spectra/ui/PostProcessingEditor.d.ts +29 -0
- package/lib/spectra/ui/PostProcessingEditor.d.ts.map +1 -0
- package/lib/spectra/ui/PostProcessingEditor.js +53 -0
- package/lib/spectra/ui/PostProcessingEditor.js.map +1 -0
- package/lib/spectra/ui/PrincipalComponentSelect.d.ts +40 -0
- package/lib/spectra/ui/PrincipalComponentSelect.d.ts.map +1 -0
- package/lib/spectra/ui/PrincipalComponentSelect.js +97 -0
- package/lib/spectra/ui/PrincipalComponentSelect.js.map +1 -0
- package/lib/spectra/ui/ProblemList.d.ts +24 -0
- package/lib/spectra/ui/ProblemList.d.ts.map +1 -0
- package/lib/spectra/ui/ProblemList.js +40 -0
- package/lib/spectra/ui/ProblemList.js.map +1 -0
- package/lib/spectra/ui/RangeRows.d.ts +23 -0
- package/lib/spectra/ui/RangeRows.d.ts.map +1 -0
- package/lib/spectra/ui/RangeRows.js +76 -0
- package/lib/spectra/ui/RangeRows.js.map +1 -0
- package/lib/spectra/ui/ScaleFields.d.ts +28 -0
- package/lib/spectra/ui/ScaleFields.d.ts.map +1 -0
- package/lib/spectra/ui/ScaleFields.js +67 -0
- package/lib/spectra/ui/ScaleFields.js.map +1 -0
- package/lib/spectra/ui/SettingsPart.d.ts +25 -0
- package/lib/spectra/ui/SettingsPart.d.ts.map +1 -0
- package/lib/spectra/ui/SettingsPart.js +35 -0
- package/lib/spectra/ui/SettingsPart.js.map +1 -0
- package/lib/spectra/ui/SpectraSettingsEditor.d.ts +62 -0
- package/lib/spectra/ui/SpectraSettingsEditor.d.ts.map +1 -0
- package/lib/spectra/ui/SpectraSettingsEditor.js +39 -0
- package/lib/spectra/ui/SpectraSettingsEditor.js.map +1 -0
- package/lib/spectra/ui/SpectrumSelection.d.ts +30 -0
- package/lib/spectra/ui/SpectrumSelection.d.ts.map +1 -0
- package/lib/spectra/ui/SpectrumSelection.js +116 -0
- package/lib/spectra/ui/SpectrumSelection.js.map +1 -0
- package/lib/spectra/ui/ZoneRows.d.ts +41 -0
- package/lib/spectra/ui/ZoneRows.d.ts.map +1 -0
- package/lib/spectra/ui/ZoneRows.js +70 -0
- package/lib/spectra/ui/ZoneRows.js.map +1 -0
- package/lib/spectra/ui/index.d.ts +7 -0
- package/lib/spectra/ui/index.d.ts.map +1 -0
- package/lib/spectra/ui/index.js +4 -0
- package/lib/spectra/ui/index.js.map +1 -0
- package/lib/spectra/ui/matrixSteps.d.ts +61 -0
- package/lib/spectra/ui/matrixSteps.d.ts.map +1 -0
- package/lib/spectra/ui/matrixSteps.js +92 -0
- package/lib/spectra/ui/matrixSteps.js.map +1 -0
- package/lib/spectra/ui/problemsAbout.d.ts +14 -0
- package/lib/spectra/ui/problemsAbout.d.ts.map +1 -0
- package/lib/spectra/ui/problemsAbout.js +15 -0
- package/lib/spectra/ui/problemsAbout.js.map +1 -0
- package/lib/spectra/ui/rowKeys.d.ts +27 -0
- package/lib/spectra/ui/rowKeys.d.ts.map +1 -0
- package/lib/spectra/ui/rowKeys.js +45 -0
- package/lib/spectra/ui/rowKeys.js.map +1 -0
- package/lib/spectra/ui/scaleOptions.d.ts +50 -0
- package/lib/spectra/ui/scaleOptions.d.ts.map +1 -0
- package/lib/spectra/ui/scaleOptions.js +103 -0
- package/lib/spectra/ui/scaleOptions.js.map +1 -0
- package/lib/ui.d.ts +6 -0
- package/lib/ui.d.ts.map +1 -1
- package/lib/ui.js +6 -0
- package/lib/ui.js.map +1 -1
- package/package.json +17 -1
- package/src/chart/core/chartAxisScale.ts +249 -0
- package/src/chart/core/chartBand.ts +82 -0
- package/src/chart/core/chartBins.ts +96 -0
- package/src/chart/core/chartExtent.ts +203 -0
- package/src/chart/core/chartLabels.ts +68 -0
- package/src/chart/core/chartPalette.ts +71 -0
- package/src/chart/core/chartScale.ts +72 -0
- package/src/chart/core/chartViewport.ts +211 -0
- package/src/chart/core/index.ts +58 -0
- package/src/chart/core/matrix.ts +100 -0
- package/src/chart/ui/ChartAxis.tsx +232 -0
- package/src/chart/ui/ChartFrame.tsx +246 -0
- package/src/chart/ui/ChartSeriesMarks.tsx +98 -0
- package/src/chart/ui/ChartTrackingLayer.tsx +192 -0
- package/src/chart/ui/TrackedLineChart.tsx +267 -0
- package/src/chart/ui/TrackedStickChart.tsx +197 -0
- package/src/chart/ui/chartStyles.ts +194 -0
- package/src/chart/ui/index.ts +34 -0
- package/src/chart/ui/stickChartModel.ts +201 -0
- package/src/chart/ui/useWheelZoom.ts +177 -0
- package/src/color/core/gradient.ts +29 -0
- package/src/color/core/hsv.ts +112 -0
- package/src/color/core/index.ts +27 -1
- package/src/color/core/interpolate.ts +179 -0
- package/src/color/core/scale.ts +17 -49
- package/src/color/core/scaleData.ts +128 -0
- package/src/color/core/scaleText.ts +134 -0
- package/src/color/core/scales.ts +148 -0
- package/src/color/ui/ColorScaleBar.tsx +73 -0
- package/src/color/ui/ColorScaleEditor.tsx +243 -0
- package/src/color/ui/ColorScaleSelect.tsx +252 -0
- package/src/color/ui/index.ts +6 -0
- package/src/core.ts +5 -0
- package/src/credits/core/credits.ts +20 -0
- package/src/download/core/cssTokens.ts +90 -0
- package/src/download/core/downloadFigure.ts +66 -0
- package/src/download/core/figurePng.ts +87 -0
- package/src/download/core/figureScale.ts +83 -0
- package/src/download/core/figureSvg.ts +130 -0
- package/src/download/core/figureSvgDocument.ts +129 -0
- package/src/download/core/figureTarget.ts +130 -0
- package/src/download/core/index.ts +28 -0
- package/src/download/ui/FigureDownload.tsx +158 -0
- package/src/download/ui/FigureDownloadPanel.tsx +165 -0
- package/src/download/ui/index.ts +13 -0
- package/src/ecosystem/core/sites.ts +12 -1
- package/src/ecosystem/ui/glyphs.tsx +16 -0
- package/src/overlay/core/emptiestCorner.ts +122 -0
- package/src/overlay/core/index.ts +34 -0
- package/src/overlay/core/overlayCollapse.ts +20 -0
- package/src/overlay/core/overlayMarks.ts +43 -0
- package/src/overlay/core/overlayMetrics.ts +112 -0
- package/src/overlay/core/overlayPlacement.ts +80 -0
- package/src/overlay/core/overlayTierRoom.ts +199 -0
- package/src/overlay/core/overlayTiers.ts +130 -0
- package/src/overlay/core/placeOverlayCard.ts +93 -0
- package/src/overlay/ui/OverlayAction.tsx +66 -0
- package/src/overlay/ui/OverlayBar.tsx +188 -0
- package/src/overlay/ui/OverlayBarButton.tsx +83 -0
- package/src/overlay/ui/OverlayBarCard.tsx +78 -0
- package/src/overlay/ui/OverlayBarStrip.tsx +62 -0
- package/src/overlay/ui/OverlayCaption.tsx +124 -0
- package/src/overlay/ui/OverlayChip.tsx +181 -0
- package/src/overlay/ui/OverlayDivider.tsx +24 -0
- package/src/overlay/ui/OverlayGroup.tsx +157 -0
- package/src/overlay/ui/OverlayIconButton.tsx +131 -0
- package/src/overlay/ui/OverlayInfo.tsx +92 -0
- package/src/overlay/ui/OverlayLayer.tsx +118 -0
- package/src/overlay/ui/OverlayLegend.tsx +222 -0
- package/src/overlay/ui/OverlayLegendMark.tsx +95 -0
- package/src/overlay/ui/OverlayNumber.tsx +160 -0
- package/src/overlay/ui/OverlayPanel.tsx +162 -0
- package/src/overlay/ui/OverlayPills.tsx +157 -0
- package/src/overlay/ui/OverlayReadout.tsx +247 -0
- package/src/overlay/ui/OverlayRow.tsx +200 -0
- package/src/overlay/ui/OverlaySegmented.tsx +67 -0
- package/src/overlay/ui/OverlaySelect.tsx +114 -0
- package/src/overlay/ui/OverlaySwatchIcon.tsx +126 -0
- package/src/overlay/ui/OverlayToggle.tsx +136 -0
- package/src/overlay/ui/OverlayValueButton.tsx +149 -0
- package/src/overlay/ui/OverlayValueMenu.tsx +141 -0
- package/src/overlay/ui/index.ts +72 -0
- package/src/overlay/ui/overlayBarShape.ts +113 -0
- package/src/overlay/ui/overlayControlStyles.ts +176 -0
- package/src/overlay/ui/overlayFigureStyles.ts +111 -0
- package/src/overlay/ui/overlayPanelContext.ts +42 -0
- package/src/overlay/ui/overlayPanelStyles.ts +235 -0
- package/src/overlay/ui/overlayPillKeys.ts +45 -0
- package/src/overlay/ui/overlayPillStyles.ts +190 -0
- package/src/overlay/ui/overlayRowStyles.ts +166 -0
- package/src/overlay/ui/overlayStepperStyles.ts +112 -0
- package/src/overlay/ui/overlayStyles.ts +222 -0
- package/src/overlay/ui/overlaySurface.ts +120 -0
- package/src/overlay/ui/overlaySwitchStyles.ts +136 -0
- package/src/overlay/ui/overlayValueStyles.ts +210 -0
- package/src/projection/core/embeddingResult.ts +119 -0
- package/src/projection/core/explainedShares.ts +105 -0
- package/src/projection/core/index.ts +81 -0
- package/src/projection/core/loadingProfiles.ts +226 -0
- package/src/projection/core/pcaLike.ts +33 -0
- package/src/projection/core/pcaResult.ts +238 -0
- package/src/projection/core/projectionCopy.ts +252 -0
- package/src/projection/core/projectionCopyPatch.ts +12 -0
- package/src/projection/core/projectionOptions.ts +238 -0
- package/src/projection/core/projectionResult.ts +123 -0
- package/src/projection/core/projectionSamples.ts +170 -0
- package/src/projection/core/projectionStrings.ts +265 -0
- package/src/projection/core/projectionTabDefaults.ts +51 -0
- package/src/projection/core/projectionTabs.ts +56 -0
- package/src/projection/core/variableAxis.ts +161 -0
- package/src/projection/core/variablesView.ts +53 -0
- package/src/projection/ui/PcaViewer.tsx +80 -0
- package/src/projection/ui/ProjectionBar.tsx +222 -0
- package/src/projection/ui/ProjectionMapCaption.tsx +96 -0
- package/src/projection/ui/ProjectionMapControls.tsx +271 -0
- package/src/projection/ui/ProjectionMapLegend.tsx +70 -0
- package/src/projection/ui/ProjectionMapMore.tsx +178 -0
- package/src/projection/ui/ProjectionMapTab.tsx +205 -0
- package/src/projection/ui/ProjectionPairsControls.tsx +58 -0
- package/src/projection/ui/ProjectionPairsMore.tsx +95 -0
- package/src/projection/ui/ProjectionPairsTab.tsx +159 -0
- package/src/projection/ui/ProjectionPanel.tsx +199 -0
- package/src/projection/ui/ProjectionReadout.tsx +149 -0
- package/src/projection/ui/ProjectionSharesControls.tsx +56 -0
- package/src/projection/ui/ProjectionSharesMarks.tsx +241 -0
- package/src/projection/ui/ProjectionSharesMore.tsx +53 -0
- package/src/projection/ui/ProjectionSharesTab.tsx +118 -0
- package/src/projection/ui/ProjectionSurface.tsx +63 -0
- package/src/projection/ui/ProjectionTabStrip.tsx +144 -0
- package/src/projection/ui/ProjectionVariablesControls.tsx +62 -0
- package/src/projection/ui/ProjectionVariablesMore.tsx +144 -0
- package/src/projection/ui/ProjectionVariablesTab.tsx +216 -0
- package/src/projection/ui/ProjectionViewer.tsx +143 -0
- package/src/projection/ui/index.ts +19 -0
- package/src/projection/ui/projectionBarModel.ts +193 -0
- package/src/projection/ui/projectionBarReadings.ts +177 -0
- package/src/projection/ui/projectionBarSlots.tsx +139 -0
- package/src/projection/ui/projectionBarStyles.ts +174 -0
- package/src/projection/ui/projectionEllipse.ts +104 -0
- package/src/projection/ui/projectionFormat.ts +18 -0
- package/src/projection/ui/projectionMapChoices.ts +64 -0
- package/src/projection/ui/projectionMapChrome.ts +207 -0
- package/src/projection/ui/projectionMapModel.ts +253 -0
- package/src/projection/ui/projectionMapView.ts +188 -0
- package/src/projection/ui/projectionPairsCeiling.ts +45 -0
- package/src/projection/ui/projectionSelection.ts +87 -0
- package/src/projection/ui/projectionTabInfo.ts +126 -0
- package/src/projection/ui/projectionTabModels.ts +106 -0
- package/src/projection/ui/projectionTabStyles.ts +161 -0
- package/src/projection/ui/projectionVariablesModel.ts +231 -0
- package/src/projection/ui/projectionVariablesWords.ts +105 -0
- package/src/projection/ui/projectionViewChoices.ts +77 -0
- package/src/projection/ui/projectionViewerProps.ts +155 -0
- package/src/projection/ui/useProjectionState.ts +224 -0
- package/src/scatter/core/confidenceEllipse.ts +230 -0
- package/src/scatter/core/ellipseCoverage.ts +46 -0
- package/src/scatter/core/ellipseProjection.ts +126 -0
- package/src/scatter/core/index.ts +48 -0
- package/src/scatter/core/lassoPath.ts +127 -0
- package/src/scatter/core/polygon.ts +155 -0
- package/src/scatter/core/scatterSelection.ts +88 -0
- package/src/scatter/core/screenPoints.ts +110 -0
- package/src/scatter/ui/ScatterEllipseLayer.tsx +153 -0
- package/src/scatter/ui/ScatterLabelLayer.tsx +135 -0
- package/src/scatter/ui/ScatterMarkLayer.tsx +245 -0
- package/src/scatter/ui/ScatterMatrix.tsx +177 -0
- package/src/scatter/ui/ScatterMatrixCell.tsx +140 -0
- package/src/scatter/ui/ScatterMatrixDiagonal.tsx +182 -0
- package/src/scatter/ui/ScatterPlot.tsx +234 -0
- package/src/scatter/ui/ScatterPointLayer.tsx +168 -0
- package/src/scatter/ui/index.ts +123 -0
- package/src/scatter/ui/lassoGesture.ts +237 -0
- package/src/scatter/ui/scatterGroupSpread.ts +206 -0
- package/src/scatter/ui/scatterLabelBoxes.ts +177 -0
- package/src/scatter/ui/scatterLabelPlacement.ts +325 -0
- package/src/scatter/ui/scatterLabels.ts +147 -0
- package/src/scatter/ui/scatterMarkGlyph.tsx +94 -0
- package/src/scatter/ui/scatterMatrixDots.tsx +134 -0
- package/src/scatter/ui/scatterMatrixLayout.ts +133 -0
- package/src/scatter/ui/scatterMatrixOutlines.tsx +53 -0
- package/src/scatter/ui/scatterMatrixProps.ts +103 -0
- package/src/scatter/ui/scatterOutlineShape.tsx +169 -0
- package/src/scatter/ui/scatterPlotModel.ts +200 -0
- package/src/scatter/ui/scatterPlotProps.ts +240 -0
- package/src/scatter/ui/useLassoGesture.ts +214 -0
- package/src/scatter/ui/usePointHover.ts +187 -0
- package/src/scatter/ui/useScatterFrame.ts +191 -0
- package/src/scatter/ui/useScatterInteraction.ts +237 -0
- package/src/scatter/ui/useScatterKeyboard.ts +120 -0
- package/src/scatter/ui/useScatterSelection.ts +189 -0
- package/src/share/core/query.ts +11 -7
- package/src/spectra/core/axisEntries.ts +107 -0
- package/src/spectra/core/chainProblems.ts +165 -0
- package/src/spectra/core/filterCatalog.ts +100 -0
- package/src/spectra/core/filterChain.ts +194 -0
- package/src/spectra/core/filterEntries.ts +214 -0
- package/src/spectra/core/filterFields.ts +159 -0
- package/src/spectra/core/index.ts +67 -0
- package/src/spectra/core/principalComponents.ts +130 -0
- package/src/spectra/core/problems.ts +143 -0
- package/src/spectra/core/settings.ts +119 -0
- package/src/spectra/core/settingsProblems.ts +222 -0
- package/src/spectra/core/stepProblems.ts +228 -0
- package/src/spectra/ui/CalculationRows.tsx +161 -0
- package/src/spectra/ui/FilterChainEditor.tsx +199 -0
- package/src/spectra/ui/FilterChoiceControl.tsx +153 -0
- package/src/spectra/ui/FilterFieldControl.tsx +105 -0
- package/src/spectra/ui/FilterRow.tsx +190 -0
- package/src/spectra/ui/MatrixFilterRows.tsx +184 -0
- package/src/spectra/ui/NormalizationEditor.tsx +235 -0
- package/src/spectra/ui/NumberField.tsx +126 -0
- package/src/spectra/ui/PostProcessingEditor.tsx +136 -0
- package/src/spectra/ui/PrincipalComponentSelect.tsx +245 -0
- package/src/spectra/ui/ProblemList.tsx +77 -0
- package/src/spectra/ui/RangeRows.tsx +175 -0
- package/src/spectra/ui/ScaleFields.tsx +183 -0
- package/src/spectra/ui/SettingsPart.tsx +60 -0
- package/src/spectra/ui/SpectraSettingsEditor.tsx +143 -0
- package/src/spectra/ui/SpectrumSelection.tsx +193 -0
- package/src/spectra/ui/ZoneRows.tsx +159 -0
- package/src/spectra/ui/index.ts +9 -0
- package/src/spectra/ui/matrixSteps.ts +128 -0
- package/src/spectra/ui/problemsAbout.ts +21 -0
- package/src/spectra/ui/rowKeys.ts +47 -0
- package/src/spectra/ui/scaleOptions.ts +116 -0
- package/src/ui.ts +6 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { SettingsProblem } from '../core/problems.ts';
|
|
3
|
+
import type { SpectrumFilter } from '../core/settings.ts';
|
|
4
|
+
/** What {@link FilterRow} draws and edits. */
|
|
5
|
+
export interface FilterRowProps {
|
|
6
|
+
/** The step, as the settings hold it. */
|
|
7
|
+
filter: SpectrumFilter;
|
|
8
|
+
/** Where it sits in the chain, counted from zero. */
|
|
9
|
+
position: number;
|
|
10
|
+
/** How many steps the chain holds, so the end moves can be refused. */
|
|
11
|
+
count: number;
|
|
12
|
+
/** This step's problems, already picked out of the chain's. */
|
|
13
|
+
problems: readonly SettingsProblem[];
|
|
14
|
+
/** Called with the step carrying its new options. */
|
|
15
|
+
onChange: (filter: SpectrumFilter) => void;
|
|
16
|
+
/** Called with how far to move the step, negative towards the start. */
|
|
17
|
+
onMove: (offset: number) => void;
|
|
18
|
+
/** Called to repeat the step just after itself. */
|
|
19
|
+
onDuplicate: () => void;
|
|
20
|
+
/** Called to drop the step. */
|
|
21
|
+
onRemove: () => void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* One step of the chain: what it does, what it is set to, and what is wrong.
|
|
25
|
+
*
|
|
26
|
+
* The number in front of the name is the whole point of the row — a chain means
|
|
27
|
+
* nothing but the order it runs in, so the position, the two moves and the
|
|
28
|
+
* step's own advice sit together where a reader can act on all three at once.
|
|
29
|
+
* @param props - See {@link FilterRowProps}.
|
|
30
|
+
* @returns The step's card.
|
|
31
|
+
*/
|
|
32
|
+
export declare function FilterRow(props: FilterRowProps): ReactElement;
|
|
33
|
+
//# sourceMappingURL=FilterRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterRow.d.ts","sourceRoot":"","sources":["../../../src/spectra/ui/FilterRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAIzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,MAAM,EAAE,cAAc,CAAC;IACvB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,qDAAqD;IACrD,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,wEAAwE;IACxE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,mDAAmD;IACnD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,CAwF7D"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, Callout, Tag } from '@blueprintjs/core';
|
|
3
|
+
import { findFilterEntry } from "../core/filterCatalog.js";
|
|
4
|
+
import { FilterFieldControl } from "./FilterFieldControl.js";
|
|
5
|
+
/**
|
|
6
|
+
* One step of the chain: what it does, what it is set to, and what is wrong.
|
|
7
|
+
*
|
|
8
|
+
* The number in front of the name is the whole point of the row — a chain means
|
|
9
|
+
* nothing but the order it runs in, so the position, the two moves and the
|
|
10
|
+
* step's own advice sit together where a reader can act on all three at once.
|
|
11
|
+
* @param props - See {@link FilterRowProps}.
|
|
12
|
+
* @returns The step's card.
|
|
13
|
+
*/
|
|
14
|
+
export function FilterRow(props) {
|
|
15
|
+
const { filter, position, count, problems, onChange, onMove, onDuplicate, onRemove, } = props;
|
|
16
|
+
const entry = findFilterEntry(filter.name) ?? unknownEntry(filter.name);
|
|
17
|
+
return (_jsxs("div", { style: ROW_STYLE, children: [_jsxs("div", { style: HEADER_STYLE, children: [_jsx(Tag, { minimal: true, round: true, children: String(position + 1) }), _jsx("span", { style: TITLE_STYLE, children: entry.label }), _jsx("span", { style: SPACER_STYLE }), _jsx(Button, { icon: "arrow-up", variant: "minimal", size: "small", disabled: position === 0, "aria-label": `Move ${entry.label} up`, onClick: () => {
|
|
18
|
+
onMove(-1);
|
|
19
|
+
} }), _jsx(Button, { icon: "arrow-down", variant: "minimal", size: "small", disabled: position === count - 1, "aria-label": `Move ${entry.label} down`, onClick: () => {
|
|
20
|
+
onMove(1);
|
|
21
|
+
} }), _jsx(Button, { icon: "duplicate", variant: "minimal", size: "small", "aria-label": `Repeat ${entry.label}`, onClick: onDuplicate }), _jsx(Button, { icon: "cross", variant: "minimal", size: "small", "aria-label": `Remove ${entry.label}`, onClick: onRemove })] }), _jsx("span", { style: SUMMARY_STYLE, children: entry.summary }), entry.fixed === undefined ? null : (_jsx("span", { style: FIXED_STYLE, children: `Fixed upstream: ${entry.fixed}` })), entry.caution === undefined ? null : (_jsx(Callout, { intent: "warning", compact: true, children: entry.caution })), entry.fields.length === 0 ? null : (_jsx("div", { style: FIELDS_STYLE, children: entry.fields.map((field) => (_jsx(FilterFieldControl, { field: field, filter: filter, onChange: onChange }, field.key))) })), problems.map((issue) => (_jsx(Callout, { intent: issue.severity === 'error' ? 'danger' : 'warning', compact: true, children: issue.message }, issue.message)))] }));
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* What a row shows for a step the catalog does not describe.
|
|
25
|
+
*
|
|
26
|
+
* A chain can carry a name this editor has never heard of — the settings the
|
|
27
|
+
* processor takes are typed `{ name: string }` — and a row naming it beats a
|
|
28
|
+
* page that will not render.
|
|
29
|
+
* @param name - The step's name, as the settings hold it.
|
|
30
|
+
* @returns An entry with the name for a label and nothing to edit.
|
|
31
|
+
*/
|
|
32
|
+
function unknownEntry(name) {
|
|
33
|
+
return {
|
|
34
|
+
label: name,
|
|
35
|
+
group: 'utility',
|
|
36
|
+
summary: 'This editor does not know this step, so its options are left as they are.',
|
|
37
|
+
fields: [],
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const ROW_STYLE = {
|
|
41
|
+
display: 'flex',
|
|
42
|
+
flexDirection: 'column',
|
|
43
|
+
gap: 6,
|
|
44
|
+
padding: 10,
|
|
45
|
+
border: '1px solid var(--border, #d7dde4)',
|
|
46
|
+
borderRadius: 'var(--radius, 6px)',
|
|
47
|
+
background: 'var(--surface-raised, #ffffff)',
|
|
48
|
+
};
|
|
49
|
+
const HEADER_STYLE = {
|
|
50
|
+
display: 'flex',
|
|
51
|
+
alignItems: 'center',
|
|
52
|
+
gap: 6,
|
|
53
|
+
};
|
|
54
|
+
const TITLE_STYLE = {
|
|
55
|
+
fontSize: 13,
|
|
56
|
+
fontWeight: 600,
|
|
57
|
+
color: 'var(--text, #1c2127)',
|
|
58
|
+
};
|
|
59
|
+
const SPACER_STYLE = {
|
|
60
|
+
flex: '1 1 auto',
|
|
61
|
+
};
|
|
62
|
+
const SUMMARY_STYLE = {
|
|
63
|
+
fontSize: 12,
|
|
64
|
+
color: 'var(--text-muted, #5b6875)',
|
|
65
|
+
};
|
|
66
|
+
const FIXED_STYLE = {
|
|
67
|
+
fontSize: 11,
|
|
68
|
+
color: 'var(--text-faint, #8a96a3)',
|
|
69
|
+
};
|
|
70
|
+
const FIELDS_STYLE = {
|
|
71
|
+
display: 'flex',
|
|
72
|
+
flexWrap: 'wrap',
|
|
73
|
+
alignItems: 'flex-start',
|
|
74
|
+
gap: 10,
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=FilterRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterRow.js","sourceRoot":"","sources":["../../../src/spectra/ui/FilterRow.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAK3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAA0B,CAAC;AAsB9D;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,GACT,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAExE,OAAO,CACL,eAAK,KAAK,EAAE,SAAS,aACnB,eAAK,KAAK,EAAE,YAAY,aACtB,KAAC,GAAG,IAAC,OAAO,QAAC,KAAK,kBACf,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,GACjB,EACN,eAAM,KAAK,EAAE,WAAW,YAAG,KAAK,CAAC,KAAK,GAAQ,EAC9C,eAAM,KAAK,EAAE,YAAY,GAAI,EAC7B,KAAC,MAAM,IACL,IAAI,EAAC,UAAU,EACf,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,QAAQ,KAAK,CAAC,gBACZ,QAAQ,KAAK,CAAC,KAAK,KAAK,EACpC,OAAO,EAAE,GAAG,EAAE;4BACZ,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBACb,CAAC,GACD,EACF,KAAC,MAAM,IACL,IAAI,EAAC,YAAY,EACjB,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,QAAQ,KAAK,KAAK,GAAG,CAAC,gBACpB,QAAQ,KAAK,CAAC,KAAK,OAAO,EACtC,OAAO,EAAE,GAAG,EAAE;4BACZ,MAAM,CAAC,CAAC,CAAC,CAAC;wBACZ,CAAC,GACD,EACF,KAAC,MAAM,IACL,IAAI,EAAC,WAAW,EAChB,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,OAAO,gBACA,UAAU,KAAK,CAAC,KAAK,EAAE,EACnC,OAAO,EAAE,WAAW,GACpB,EACF,KAAC,MAAM,IACL,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,OAAO,gBACA,UAAU,KAAK,CAAC,KAAK,EAAE,EACnC,OAAO,EAAE,QAAQ,GACjB,IACE,EACN,eAAM,KAAK,EAAE,aAAa,YAAG,KAAK,CAAC,OAAO,GAAQ,EACjD,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAClC,eAAM,KAAK,EAAE,WAAW,YAAG,mBAAmB,KAAK,CAAC,KAAK,EAAE,GAAQ,CACpE,EACA,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACpC,KAAC,OAAO,IAAC,MAAM,EAAC,SAAS,EAAC,OAAO,kBAC9B,KAAK,CAAC,OAAO,GACN,CACX,EACA,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAClC,cAAK,KAAK,EAAE,YAAY,YACrB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC3B,KAAC,kBAAkB,IAEjB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,IAHb,KAAK,CAAC,GAAG,CAId,CACH,CAAC,GACE,CACP,EACA,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACvB,KAAC,OAAO,IAEN,MAAM,EAAE,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACzD,OAAO,kBAEN,KAAK,CAAC,OAAO,IAJT,KAAK,CAAC,OAAO,CAKV,CACX,CAAC,IACE,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO;QACL,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,SAAS;QAChB,OAAO,EACL,2EAA2E;QAC7E,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,kCAAkC;IAC1C,YAAY,EAAE,oBAAoB;IAClC,UAAU,EAAE,gCAAgC;CACZ,CAAC;AAEnC,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,CAAC;CAC0B,CAAC;AAEnC,MAAM,WAAW,GAAG;IAClB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,GAAG;IACf,KAAK,EAAE,sBAAsB;CACG,CAAC;AAEnC,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,UAAU;CACgB,CAAC;AAEnC,MAAM,aAAa,GAAG;IACpB,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,4BAA4B;CACH,CAAC;AAEnC,MAAM,WAAW,GAAG;IAClB,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,4BAA4B;CACH,CAAC;AAEnC,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,YAAY;IACxB,GAAG,EAAE,EAAE;CACyB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { MatrixFilter } from '../core/settings.ts';
|
|
3
|
+
/** What {@link MatrixFilterRows} edits. */
|
|
4
|
+
export interface MatrixFilterRowsProps {
|
|
5
|
+
/** The steps, in the order the matrix goes through them. */
|
|
6
|
+
value: readonly MatrixFilter[];
|
|
7
|
+
/** Called with the new list on every edit. */
|
|
8
|
+
onChange: (filters: MatrixFilter[]) => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The steps that work across spectra rather than along one.
|
|
12
|
+
*
|
|
13
|
+
* The processor's own switch knows exactly three names and throws on a fourth,
|
|
14
|
+
* so the menu offers those three and nothing else — a name typed by hand is the
|
|
15
|
+
* one way this stage fails, and there is no reason to leave that door open.
|
|
16
|
+
* Order matters here as much as in the chain: centring a matrix that is about
|
|
17
|
+
* to be rescaled is not the same as rescaling a centred one.
|
|
18
|
+
* @param props - See {@link MatrixFilterRowsProps}.
|
|
19
|
+
* @returns The ordered list and the menu that adds to it.
|
|
20
|
+
*/
|
|
21
|
+
export declare function MatrixFilterRows(props: MatrixFilterRowsProps): ReactElement;
|
|
22
|
+
//# sourceMappingURL=MatrixFilterRows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MatrixFilterRows.d.ts","sourceRoot":"","sources":["../../../src/spectra/ui/MatrixFilterRows.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAGzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAWxD,2CAA2C;AAC3C,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;CAC7C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,CAuG3E"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, HTMLSelect } from '@blueprintjs/core';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { NumberField } from "./NumberField.js";
|
|
5
|
+
import { MATRIX_ADD_OPTIONS, matrixStep, readMatrixOption, writeMatrixOption, } from "./matrixSteps.js";
|
|
6
|
+
import { fitKeys, nextKey, reorder } from "./rowKeys.js";
|
|
7
|
+
/**
|
|
8
|
+
* The steps that work across spectra rather than along one.
|
|
9
|
+
*
|
|
10
|
+
* The processor's own switch knows exactly three names and throws on a fourth,
|
|
11
|
+
* so the menu offers those three and nothing else — a name typed by hand is the
|
|
12
|
+
* one way this stage fails, and there is no reason to leave that door open.
|
|
13
|
+
* Order matters here as much as in the chain: centring a matrix that is about
|
|
14
|
+
* to be rescaled is not the same as rescaling a centred one.
|
|
15
|
+
* @param props - See {@link MatrixFilterRowsProps}.
|
|
16
|
+
* @returns The ordered list and the menu that adds to it.
|
|
17
|
+
*/
|
|
18
|
+
export function MatrixFilterRows(props) {
|
|
19
|
+
const { value, onChange } = props;
|
|
20
|
+
const [rowKeys, setRowKeys] = useState(() => value.map((_, index) => index));
|
|
21
|
+
if (rowKeys.length !== value.length) {
|
|
22
|
+
setRowKeys(fitKeys(rowKeys, value.length));
|
|
23
|
+
}
|
|
24
|
+
function move(index, offset) {
|
|
25
|
+
const target = index + offset;
|
|
26
|
+
if (target < 0 || target >= value.length)
|
|
27
|
+
return;
|
|
28
|
+
onChange(reorder(value, index, target));
|
|
29
|
+
setRowKeys(reorder(rowKeys, index, target));
|
|
30
|
+
}
|
|
31
|
+
return (_jsxs("div", { style: LIST_STYLE, children: [value.length === 0 ? (_jsx("span", { style: EMPTY_STYLE, children: "None \u2014 the matrix is handed on as the chain left it." })) : null, value.map((step, index) => {
|
|
32
|
+
const known = matrixStep(step.name);
|
|
33
|
+
return (_jsxs("div", { style: ROW_STYLE, children: [_jsxs("div", { style: HEADER_STYLE, children: [_jsx("span", { style: NAME_STYLE, children: known?.label ?? String(step.name) }), _jsx(Button, { icon: "arrow-up", variant: "minimal", size: "small", disabled: index === 0, "aria-label": `Move matrix step ${String(index + 1)} up`, onClick: () => {
|
|
34
|
+
move(index, -1);
|
|
35
|
+
} }), _jsx(Button, { icon: "arrow-down", variant: "minimal", size: "small", disabled: index === value.length - 1, "aria-label": `Move matrix step ${String(index + 1)} down`, onClick: () => {
|
|
36
|
+
move(index, 1);
|
|
37
|
+
} }), _jsx(Button, { icon: "cross", variant: "minimal", size: "small", "aria-label": `Remove matrix step ${String(index + 1)}`, onClick: () => {
|
|
38
|
+
setRowKeys(rowKeys.filter((_, at) => at !== index));
|
|
39
|
+
onChange(value.filter((_, at) => at !== index));
|
|
40
|
+
} })] }), known === undefined ? null : (_jsx("span", { style: SUMMARY_STYLE, children: known.summary })), known === undefined || known.fields.length === 0 ? null : (_jsx("div", { style: FIELDS_STYLE, children: known.fields.map((field) => (_jsx(NumberField, { label: field.label, value: readMatrixOption(step, field.key), placeholder: field.placeholder, onChange: (option) => {
|
|
41
|
+
onChange(value.map((held, at) => at === index
|
|
42
|
+
? writeMatrixOption(held, field.key, option)
|
|
43
|
+
: held));
|
|
44
|
+
} }, field.key))) }))] }, rowKeys[index] ?? index));
|
|
45
|
+
}), _jsx(HTMLSelect, { "aria-label": "Add a matrix step", value: "", options: MATRIX_ADD_OPTIONS, onChange: (event) => {
|
|
46
|
+
const name = event.currentTarget.value;
|
|
47
|
+
if (name === '')
|
|
48
|
+
return;
|
|
49
|
+
setRowKeys([...rowKeys, nextKey(rowKeys)]);
|
|
50
|
+
onChange([...value, { name }]);
|
|
51
|
+
} })] }));
|
|
52
|
+
}
|
|
53
|
+
const LIST_STYLE = {
|
|
54
|
+
display: 'flex',
|
|
55
|
+
flexDirection: 'column',
|
|
56
|
+
gap: 8,
|
|
57
|
+
alignItems: 'flex-start',
|
|
58
|
+
};
|
|
59
|
+
const ROW_STYLE = {
|
|
60
|
+
display: 'flex',
|
|
61
|
+
flexDirection: 'column',
|
|
62
|
+
gap: 4,
|
|
63
|
+
alignSelf: 'stretch',
|
|
64
|
+
padding: 8,
|
|
65
|
+
borderRadius: 'var(--radius, 6px)',
|
|
66
|
+
background: 'var(--surface-sunken, #f4f6f8)',
|
|
67
|
+
};
|
|
68
|
+
const HEADER_STYLE = {
|
|
69
|
+
display: 'flex',
|
|
70
|
+
alignItems: 'center',
|
|
71
|
+
gap: 4,
|
|
72
|
+
};
|
|
73
|
+
const NAME_STYLE = {
|
|
74
|
+
flex: 1,
|
|
75
|
+
fontSize: 12,
|
|
76
|
+
fontWeight: 600,
|
|
77
|
+
color: 'var(--text, #1c2127)',
|
|
78
|
+
};
|
|
79
|
+
const SUMMARY_STYLE = {
|
|
80
|
+
fontSize: 11,
|
|
81
|
+
color: 'var(--text-faint, #8a96a3)',
|
|
82
|
+
};
|
|
83
|
+
const FIELDS_STYLE = {
|
|
84
|
+
display: 'flex',
|
|
85
|
+
flexWrap: 'wrap',
|
|
86
|
+
gap: 8,
|
|
87
|
+
};
|
|
88
|
+
const EMPTY_STYLE = {
|
|
89
|
+
fontSize: 12,
|
|
90
|
+
color: 'var(--text-faint, #8a96a3)',
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=MatrixFilterRows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MatrixFilterRows.js","sourceRoot":"","sources":["../../../src/spectra/ui/MatrixFilterRows.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { SettingsProblem } from '../core/problems.ts';
|
|
3
|
+
import type { SpectraProcessorSettings } from '../core/settings.ts';
|
|
4
|
+
/** What {@link NormalizationEditor} edits. */
|
|
5
|
+
export interface NormalizationEditorProps {
|
|
6
|
+
/** What `new SpectraProcessor(…)` would be handed. */
|
|
7
|
+
value: SpectraProcessorSettings;
|
|
8
|
+
/** Called with the edited settings on every change. */
|
|
9
|
+
onChange: (settings: SpectraProcessorSettings) => void;
|
|
10
|
+
/** Every problem the whole settings object has; each part picks its own. */
|
|
11
|
+
problems: readonly SettingsProblem[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The stage that brings every spectrum onto one x grid.
|
|
15
|
+
*
|
|
16
|
+
* It comes first because nothing downstream means anything until it is settled:
|
|
17
|
+
* two spectra sampled on different x cannot be compared, subtracted or put in
|
|
18
|
+
* one matrix. The order control is given a heading of its own because it is the
|
|
19
|
+
* one switch that silently changes what every other number on this panel means.
|
|
20
|
+
* @param props - See {@link NormalizationEditorProps}.
|
|
21
|
+
* @returns The memory budget, the grid, the order, the excluded zones and the chain.
|
|
22
|
+
*/
|
|
23
|
+
export declare function NormalizationEditor(props: NormalizationEditorProps): ReactElement;
|
|
24
|
+
//# sourceMappingURL=NormalizationEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NormalizationEditor.d.ts","sourceRoot":"","sources":["../../../src/spectra/ui/NormalizationEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAGV,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAgB7B,8CAA8C;AAC9C,MAAM,WAAW,wBAAwB;IACvC,sDAAsD;IACtD,KAAK,EAAE,wBAAwB,CAAC;IAChC,uDAAuD;IACvD,QAAQ,EAAE,CAAC,QAAQ,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACvD,4EAA4E;IAC5E,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;CACtC;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,wBAAwB,GAC9B,YAAY,CAgHd"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Callout, SegmentedControl } from '@blueprintjs/core';
|
|
3
|
+
import { DEFAULT_MAX_MEMORY, DEFAULT_NUMBER_OF_POINTS, normalizationFilters, withNormalizationFilters, } from "../core/settings.js";
|
|
4
|
+
import { FilterChainEditor } from "./FilterChainEditor.js";
|
|
5
|
+
import { NumberField } from "./NumberField.js";
|
|
6
|
+
import { ProblemList } from "./ProblemList.js";
|
|
7
|
+
import { SettingsPart } from "./SettingsPart.js";
|
|
8
|
+
import { ZoneRows } from "./ZoneRows.js";
|
|
9
|
+
import { problemsAbout } from "./problemsAbout.js";
|
|
10
|
+
/**
|
|
11
|
+
* The stage that brings every spectrum onto one x grid.
|
|
12
|
+
*
|
|
13
|
+
* It comes first because nothing downstream means anything until it is settled:
|
|
14
|
+
* two spectra sampled on different x cannot be compared, subtracted or put in
|
|
15
|
+
* one matrix. The order control is given a heading of its own because it is the
|
|
16
|
+
* one switch that silently changes what every other number on this panel means.
|
|
17
|
+
* @param props - See {@link NormalizationEditorProps}.
|
|
18
|
+
* @returns The memory budget, the grid, the order, the excluded zones and the chain.
|
|
19
|
+
*/
|
|
20
|
+
export function NormalizationEditor(props) {
|
|
21
|
+
const { value, onChange, problems } = props;
|
|
22
|
+
const normalization = value.normalization ?? {};
|
|
23
|
+
const resampleFirst = normalization.applyRangeSelectionFirst === true;
|
|
24
|
+
function write(patch) {
|
|
25
|
+
onChange({ ...value, normalization: { ...normalization, ...patch } });
|
|
26
|
+
}
|
|
27
|
+
return (_jsxs("div", { style: STAGE_STYLE, children: [_jsxs(SettingsPart, { title: "Memory", summary: "How much of the data as it was read is kept once it has been resampled.", children: [_jsx(NumberField, { label: "Budget (MB)", value: toMegabytes(value.maxMemory), placeholder: String(toMegabytes(DEFAULT_MAX_MEMORY)), integer: true, onChange: (megabytes) => {
|
|
28
|
+
onChange(withMaxMemory(value, megabytes));
|
|
29
|
+
} }), _jsx(Callout, { intent: "warning", compact: true, children: "Once the budget is passed the processor throws the original spectra away and keeps only what it has already resampled, so nothing below can be changed afterwards without loading the files again." }), _jsx(ProblemList, { problems: problemsAbout(problems, 'Memory') })] }), _jsxs(SettingsPart, { title: "Resampling", summary: "The x grid every spectrum is put on, which is what makes them comparable.", children: [_jsxs("div", { style: ROW_STYLE, children: [_jsx(NumberField, { label: "From", value: normalization.from, placeholder: "the first x", onChange: (from) => {
|
|
30
|
+
write({ from });
|
|
31
|
+
} }), _jsx(NumberField, { label: "To", value: normalization.to, placeholder: "the last x", onChange: (to) => {
|
|
32
|
+
write({ to });
|
|
33
|
+
} }), _jsx(NumberField, { label: "Number of points", value: normalization.numberOfPoints, placeholder: String(DEFAULT_NUMBER_OF_POINTS), integer: true, onChange: (numberOfPoints) => {
|
|
34
|
+
write({ numberOfPoints });
|
|
35
|
+
} })] }), _jsx(ProblemList, { problems: problemsAbout(problems, 'Resampling') })] }), _jsxs(SettingsPart, { title: "Order", summary: "Whether the chain below runs before or after the grid above is applied.", children: [_jsx(SegmentedControl, { size: "small", value: resampleFirst ? 'resample-first' : 'filter-first', options: ORDER_OPTIONS, onValueChange: (order) => {
|
|
36
|
+
write({ applyRangeSelectionFirst: order === 'resample-first' });
|
|
37
|
+
} }), _jsx("span", { style: HELP_STYLE, children: orderHelp(resampleFirst) })] }), _jsxs(SettingsPart, { title: "Excluded zones", summary: "Stretches of x the grid skips, such as a solvent peak or a detector gap.", children: [_jsx(ZoneRows, { label: "Excluded zones", withIgnore: true, value: normalization.exclusions ?? [], help: "A zone is dropped from the grid; the points it would have held are shared out over the rest.", onChange: (zones) => {
|
|
38
|
+
write({ exclusions: asExclusions(zones) });
|
|
39
|
+
} }), _jsx(ProblemList, { problems: problemsAbout(problems, 'Excluded zone') })] }), _jsx(SettingsPart, { title: "Chain", summary: "What each spectrum is put through on its own, step by step.", children: _jsx(FilterChainEditor, { value: normalizationFilters(value), resampleFirst: resampleFirst, problems: problems, onChange: (chain) => {
|
|
40
|
+
onChange(withNormalizationFilters(value, chain));
|
|
41
|
+
} }) })] }));
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The budget as the box shows it, in the unit a reader thinks in.
|
|
45
|
+
* @param bytes - What the settings hold.
|
|
46
|
+
* @returns The same budget in megabytes, or undefined when none is set.
|
|
47
|
+
*/
|
|
48
|
+
function toMegabytes(bytes) {
|
|
49
|
+
return bytes === undefined ? undefined : bytes / BYTES_PER_MEGABYTE;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The settings with a different budget, in bytes as the processor reads it.
|
|
53
|
+
* @param settings - What the constructor would be handed.
|
|
54
|
+
* @param megabytes - What was typed, or undefined when the box was emptied.
|
|
55
|
+
* @returns A new settings object, without the key at all when nothing is set.
|
|
56
|
+
*/
|
|
57
|
+
function withMaxMemory(settings, megabytes) {
|
|
58
|
+
const next = { ...settings };
|
|
59
|
+
if (megabytes === undefined) {
|
|
60
|
+
delete next.maxMemory;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
next.maxMemory = megabytes * BYTES_PER_MEGABYTE;
|
|
64
|
+
}
|
|
65
|
+
return next;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The rows as the settings hold them.
|
|
69
|
+
*
|
|
70
|
+
* A row opens with neither bound typed, which upstream's type does not allow
|
|
71
|
+
* and `settingsProblems` reports instead — the half-filled row has to survive
|
|
72
|
+
* long enough for the reader to finish typing it.
|
|
73
|
+
* @param zones - The rows as they were edited.
|
|
74
|
+
* @returns The same rows, at the type the settings carry.
|
|
75
|
+
*/
|
|
76
|
+
function asExclusions(zones) {
|
|
77
|
+
return zones;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Which x the range and the exclusions are read in, given the order.
|
|
81
|
+
* @param resampleFirst - Whether the grid is applied before the chain runs.
|
|
82
|
+
* @returns The line drawn under the order control.
|
|
83
|
+
*/
|
|
84
|
+
function orderHelp(resampleFirst) {
|
|
85
|
+
return resampleFirst
|
|
86
|
+
? 'The range and the excluded zones are read in the x the file holds, and the chain then runs on the resampled grid.'
|
|
87
|
+
: 'The chain runs first, so the range and the excluded zones are read in the x the chain leaves behind — a step that moves the axis moves them with it.';
|
|
88
|
+
}
|
|
89
|
+
const BYTES_PER_MEGABYTE = 1024 * 1024;
|
|
90
|
+
const ORDER_OPTIONS = [
|
|
91
|
+
{ value: 'filter-first', label: 'Filter, then resample' },
|
|
92
|
+
{ value: 'resample-first', label: 'Resample, then filter' },
|
|
93
|
+
];
|
|
94
|
+
const STAGE_STYLE = {
|
|
95
|
+
display: 'flex',
|
|
96
|
+
flexDirection: 'column',
|
|
97
|
+
gap: 12,
|
|
98
|
+
};
|
|
99
|
+
const ROW_STYLE = {
|
|
100
|
+
display: 'flex',
|
|
101
|
+
flexWrap: 'wrap',
|
|
102
|
+
gap: 8,
|
|
103
|
+
};
|
|
104
|
+
const HELP_STYLE = {
|
|
105
|
+
fontSize: 11,
|
|
106
|
+
color: 'var(--text-faint, #8a96a3)',
|
|
107
|
+
};
|
|
108
|
+
//# sourceMappingURL=NormalizationEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NormalizationEditor.js","sourceRoot":"","sources":["../../../src/spectra/ui/NormalizationEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
/** What {@link NumberField} edits. */
|
|
3
|
+
export interface NumberFieldProps {
|
|
4
|
+
/** What the field is called, shown above the box. */
|
|
5
|
+
label: string;
|
|
6
|
+
/**
|
|
7
|
+
* The number the settings hold.
|
|
8
|
+
* @default undefined — the box is empty and upstream's own default applies
|
|
9
|
+
*/
|
|
10
|
+
value?: number;
|
|
11
|
+
/**
|
|
12
|
+
* What upstream does when the box is left empty, shown in grey inside it.
|
|
13
|
+
* @default undefined — the box carries no placeholder
|
|
14
|
+
*/
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
/** Called with the new number, or with undefined when the box is emptied. */
|
|
17
|
+
onChange: (value: number | undefined) => void;
|
|
18
|
+
/**
|
|
19
|
+
* Whether only whole numbers make sense here.
|
|
20
|
+
* @default false — any number is accepted
|
|
21
|
+
*/
|
|
22
|
+
integer?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* One line under the box saying what the number changes.
|
|
25
|
+
* @default undefined — the label says enough
|
|
26
|
+
*/
|
|
27
|
+
help?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* One number of the settings.
|
|
31
|
+
*
|
|
32
|
+
* The box keeps what was typed rather than what parsed, because a reader
|
|
33
|
+
* halfway through `1e-` has typed something no number can hold yet; clearing it
|
|
34
|
+
* under them would make the field unusable. Nothing is handed up until the text
|
|
35
|
+
* reads as a number, and emptying the box hands up nothing at all — which is
|
|
36
|
+
* how a reader gets back to upstream's default after typing over it.
|
|
37
|
+
* @param props - See {@link NumberFieldProps}.
|
|
38
|
+
* @returns The labelled box.
|
|
39
|
+
*/
|
|
40
|
+
export declare function NumberField(props: NumberFieldProps): ReactElement;
|
|
41
|
+
//# sourceMappingURL=NumberField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberField.d.ts","sourceRoot":"","sources":["../../../src/spectra/ui/NumberField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAGzD,sCAAsC;AACtC,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,CAuCjE"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { InputGroup } from '@blueprintjs/core';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
/**
|
|
5
|
+
* One number of the settings.
|
|
6
|
+
*
|
|
7
|
+
* The box keeps what was typed rather than what parsed, because a reader
|
|
8
|
+
* halfway through `1e-` has typed something no number can hold yet; clearing it
|
|
9
|
+
* under them would make the field unusable. Nothing is handed up until the text
|
|
10
|
+
* reads as a number, and emptying the box hands up nothing at all — which is
|
|
11
|
+
* how a reader gets back to upstream's default after typing over it.
|
|
12
|
+
* @param props - See {@link NumberFieldProps}.
|
|
13
|
+
* @returns The labelled box.
|
|
14
|
+
*/
|
|
15
|
+
export function NumberField(props) {
|
|
16
|
+
const { label, value, placeholder, onChange, integer = false, help } = props;
|
|
17
|
+
const [draft, setDraft] = useState(() => ({
|
|
18
|
+
text: asText(value),
|
|
19
|
+
held: value,
|
|
20
|
+
}));
|
|
21
|
+
// The settings changed from somewhere else — a preset, a reset, a pasted
|
|
22
|
+
// configuration — so the box has to follow rather than hold the old text.
|
|
23
|
+
// `held` is what this box last handed up, not the prop it was rendered with:
|
|
24
|
+
// comparing against the prop would make the box's own edit look external and
|
|
25
|
+
// rewrite `-0.` as `0` under the caret before the reader reaches the digits.
|
|
26
|
+
if (draft.held !== value)
|
|
27
|
+
setDraft({ text: asText(value), held: value });
|
|
28
|
+
return (_jsxs("label", { style: FIELD_STYLE, children: [_jsx("span", { style: LABEL_STYLE, children: label }), _jsx(InputGroup, { size: "small", fill: true, inputMode: integer ? 'numeric' : 'decimal', value: draft.text, placeholder: placeholder, spellCheck: false, autoComplete: "off", onValueChange: (text) => {
|
|
29
|
+
const parsed = read(text, integer);
|
|
30
|
+
const emptied = text.trim() === '';
|
|
31
|
+
setDraft({ text, held: emptied ? undefined : (parsed ?? value) });
|
|
32
|
+
if (emptied) {
|
|
33
|
+
onChange(undefined);
|
|
34
|
+
}
|
|
35
|
+
else if (parsed !== undefined) {
|
|
36
|
+
onChange(parsed);
|
|
37
|
+
}
|
|
38
|
+
} }), help === undefined ? null : _jsx("span", { style: HELP_STYLE, children: help })] }));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The number as the box shows it.
|
|
42
|
+
* @param value - What the settings hold.
|
|
43
|
+
* @returns Its text, empty when nothing is held.
|
|
44
|
+
*/
|
|
45
|
+
function asText(value) {
|
|
46
|
+
return value === undefined ? '' : String(value);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The text as a number, when it reads as one.
|
|
50
|
+
* @param text - What was typed.
|
|
51
|
+
* @param integer - Whether only whole numbers make sense.
|
|
52
|
+
* @returns The number, or undefined while the text is not one yet.
|
|
53
|
+
*/
|
|
54
|
+
function read(text, integer) {
|
|
55
|
+
const trimmed = text.trim();
|
|
56
|
+
if (trimmed === '')
|
|
57
|
+
return undefined;
|
|
58
|
+
const parsed = Number(trimmed);
|
|
59
|
+
if (!Number.isFinite(parsed))
|
|
60
|
+
return undefined;
|
|
61
|
+
if (integer && !Number.isInteger(parsed))
|
|
62
|
+
return undefined;
|
|
63
|
+
return parsed;
|
|
64
|
+
}
|
|
65
|
+
const FIELD_STYLE = {
|
|
66
|
+
display: 'flex',
|
|
67
|
+
flexDirection: 'column',
|
|
68
|
+
gap: 2,
|
|
69
|
+
minWidth: 120,
|
|
70
|
+
flex: '1 1 120px',
|
|
71
|
+
};
|
|
72
|
+
const LABEL_STYLE = {
|
|
73
|
+
fontSize: 11,
|
|
74
|
+
fontWeight: 600,
|
|
75
|
+
color: 'var(--text-muted, #5b6875)',
|
|
76
|
+
};
|
|
77
|
+
const HELP_STYLE = {
|
|
78
|
+
fontSize: 11,
|
|
79
|
+
color: 'var(--text-faint, #8a96a3)',
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=NumberField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberField.js","sourceRoot":"","sources":["../../../src/spectra/ui/NumberField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { SettingsProblem } from '../core/problems.ts';
|
|
3
|
+
import type { PostProcessingSettings } from '../core/settings.ts';
|
|
4
|
+
/** What {@link PostProcessingEditor} edits. */
|
|
5
|
+
export interface PostProcessingEditorProps {
|
|
6
|
+
/** What `getPostProcessedData` would be handed. */
|
|
7
|
+
value: PostProcessingSettings;
|
|
8
|
+
/** Called with the edited settings on every change. */
|
|
9
|
+
onChange: (settings: PostProcessingSettings) => void;
|
|
10
|
+
/** Every problem the whole settings object has; each part picks its own. */
|
|
11
|
+
problems: readonly SettingsProblem[];
|
|
12
|
+
/**
|
|
13
|
+
* The ids the processor holds, so a spectrum is picked rather than typed.
|
|
14
|
+
* @default undefined — every spectrum is named by typing its id
|
|
15
|
+
*/
|
|
16
|
+
spectrumIds?: readonly string[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The stage that runs once every spectrum already shares one grid.
|
|
20
|
+
*
|
|
21
|
+
* Everything here works across spectra rather than along one, which is why it
|
|
22
|
+
* cannot be part of the chain: a matrix step reads the median of the whole
|
|
23
|
+
* dataset, a scaling reads one spectrum chosen as the reference, and a
|
|
24
|
+
* calculation reads the integrals of ranges measured on all of them.
|
|
25
|
+
* @param props - See {@link PostProcessingEditorProps}.
|
|
26
|
+
* @returns The selection, the matrix steps, the scaling, the ranges and the calculations.
|
|
27
|
+
*/
|
|
28
|
+
export declare function PostProcessingEditor(props: PostProcessingEditorProps): ReactElement;
|
|
29
|
+
//# sourceMappingURL=PostProcessingEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostProcessingEditor.d.ts","sourceRoot":"","sources":["../../../src/spectra/ui/PostProcessingEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAWlE,+CAA+C;AAC/C,MAAM,WAAW,yBAAyB;IACxC,mDAAmD;IACnD,KAAK,EAAE,sBAAsB,CAAC;IAC9B,uDAAuD;IACvD,QAAQ,EAAE,CAAC,QAAQ,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACrD,4EAA4E;IAC5E,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,yBAAyB,GAC/B,YAAY,CAwEd"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { CalculationRows } from "./CalculationRows.js";
|
|
3
|
+
import { MatrixFilterRows } from "./MatrixFilterRows.js";
|
|
4
|
+
import { ProblemList } from "./ProblemList.js";
|
|
5
|
+
import { RangeRows } from "./RangeRows.js";
|
|
6
|
+
import { ScaleFields } from "./ScaleFields.js";
|
|
7
|
+
import { SettingsPart } from "./SettingsPart.js";
|
|
8
|
+
import { SpectrumSelection } from "./SpectrumSelection.js";
|
|
9
|
+
import { problemsAbout } from "./problemsAbout.js";
|
|
10
|
+
/**
|
|
11
|
+
* The stage that runs once every spectrum already shares one grid.
|
|
12
|
+
*
|
|
13
|
+
* Everything here works across spectra rather than along one, which is why it
|
|
14
|
+
* cannot be part of the chain: a matrix step reads the median of the whole
|
|
15
|
+
* dataset, a scaling reads one spectrum chosen as the reference, and a
|
|
16
|
+
* calculation reads the integrals of ranges measured on all of them.
|
|
17
|
+
* @param props - See {@link PostProcessingEditorProps}.
|
|
18
|
+
* @returns The selection, the matrix steps, the scaling, the ranges and the calculations.
|
|
19
|
+
*/
|
|
20
|
+
export function PostProcessingEditor(props) {
|
|
21
|
+
const { value, onChange, problems, spectrumIds } = props;
|
|
22
|
+
return (_jsxs("div", { style: STAGE_STYLE, children: [_jsx(SettingsPart, { title: "Spectra", summary: "Which of the loaded spectra this stage is run over.", children: _jsx(SpectrumSelection, { value: value.ids, spectrumIds: spectrumIds, onChange: (ids) => {
|
|
23
|
+
onChange(withIds(value, ids));
|
|
24
|
+
} }) }), _jsxs(SettingsPart, { title: "Matrix steps", summary: "What the whole matrix goes through once every spectrum is a row of it.", children: [_jsx(MatrixFilterRows, { value: value.filters ?? [], onChange: (filters) => {
|
|
25
|
+
onChange({ ...value, filters });
|
|
26
|
+
} }), _jsx(ProblemList, { problems: problemsAbout(problems, 'Matrix step') })] }), _jsxs(SettingsPart, { title: "Scaling", summary: "What every spectrum is scaled against, so one dataset can be read as one.", children: [_jsx(ScaleFields, { value: value.scale ?? {}, spectrumIds: spectrumIds, onChange: (scale) => {
|
|
27
|
+
onChange({ ...value, scale });
|
|
28
|
+
} }), _jsx(ProblemList, { problems: problemsAbout(problems, 'Scaling') })] }), _jsxs(SettingsPart, { title: "Ranges", summary: "The stretches of x integrated and reported for every spectrum.", children: [_jsx(RangeRows, { value: value.ranges ?? [], onChange: (ranges) => {
|
|
29
|
+
onChange({ ...value, ranges });
|
|
30
|
+
} }), _jsx(ProblemList, { problems: problemsAbout(problems, 'Range') })] }), _jsxs(SettingsPart, { title: "Calculations", summary: "Numbers worked out per spectrum from the range integrals.", children: [_jsx(CalculationRows, { value: value.calculations ?? [], onChange: (calculations) => {
|
|
31
|
+
onChange({ ...value, calculations });
|
|
32
|
+
} }), _jsx(ProblemList, { problems: problemsAbout(problems, 'Calculation') })] })] }));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The settings naming other spectra, or none at all.
|
|
36
|
+
* @param value - What `getPostProcessedData` would be handed.
|
|
37
|
+
* @param ids - The chosen ids, or undefined for every spectrum.
|
|
38
|
+
* @returns A new settings object, without the key at all when none is chosen.
|
|
39
|
+
*/
|
|
40
|
+
function withIds(value, ids) {
|
|
41
|
+
const next = { ...value };
|
|
42
|
+
if (ids === undefined)
|
|
43
|
+
delete next.ids;
|
|
44
|
+
else
|
|
45
|
+
next.ids = ids;
|
|
46
|
+
return next;
|
|
47
|
+
}
|
|
48
|
+
const STAGE_STYLE = {
|
|
49
|
+
display: 'flex',
|
|
50
|
+
flexDirection: 'column',
|
|
51
|
+
gap: 12,
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=PostProcessingEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostProcessingEditor.js","sourceRoot":"","sources":["../../../src/spectra/ui/PostProcessingEditor.tsx"],"names":[],"mappings":"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"}
|