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,189 @@
|
|
|
1
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
2
|
+
|
|
3
|
+
import type { ScatterSelectionMode } from '../core/scatterSelection.ts';
|
|
4
|
+
import {
|
|
5
|
+
mergeScatterSelection,
|
|
6
|
+
scatterSelectedIndices,
|
|
7
|
+
scatterSelectionMask,
|
|
8
|
+
} from '../core/scatterSelection.ts';
|
|
9
|
+
|
|
10
|
+
/** What a gesture did to a scatter's selection. */
|
|
11
|
+
export interface SelectionChange {
|
|
12
|
+
/** The selected rows, ascending, as indices into the arrays the caller passed. */
|
|
13
|
+
indices: readonly number[];
|
|
14
|
+
/** Whether the gesture replaced the previous selection, added to it, or cut from it. */
|
|
15
|
+
mode: ScatterSelectionMode;
|
|
16
|
+
/** Which gesture produced it. */
|
|
17
|
+
source: 'lasso' | 'point' | 'keyboard' | 'clear' | 'all';
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** What {@link useScatterSelection} needs. */
|
|
21
|
+
export interface ScatterSelectionOptions {
|
|
22
|
+
/** How many points the cloud holds. */
|
|
23
|
+
count: number;
|
|
24
|
+
/**
|
|
25
|
+
* The selected rows when the caller owns them. Present, it wins over
|
|
26
|
+
* anything the reader has done here — see {@link useScatterSelection} for
|
|
27
|
+
* what that means for a caller that stops passing it.
|
|
28
|
+
* @default undefined — the hook keeps the selection itself
|
|
29
|
+
*/
|
|
30
|
+
selected?: readonly number[];
|
|
31
|
+
/**
|
|
32
|
+
* The rows selected before the reader touches anything, for the uncontrolled
|
|
33
|
+
* case. It is read once; changing it later moves nothing.
|
|
34
|
+
* @default undefined — nothing is selected
|
|
35
|
+
*/
|
|
36
|
+
defaultSelected?: readonly number[];
|
|
37
|
+
/**
|
|
38
|
+
* Called once per settled gesture, never while a lasso is being drawn.
|
|
39
|
+
* @default undefined
|
|
40
|
+
*/
|
|
41
|
+
onSelectionChange?: (change: SelectionChange) => void;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** A scatter's selection, and the four ways a gesture changes it. */
|
|
45
|
+
export interface ScatterSelectionApi {
|
|
46
|
+
/**
|
|
47
|
+
* One entry per point, `1` for selected. It includes whatever a lasso is
|
|
48
|
+
* currently previewing, so the dots under a half-drawn ring already look
|
|
49
|
+
* picked.
|
|
50
|
+
*/
|
|
51
|
+
mask: Uint8Array;
|
|
52
|
+
/** The same, as ascending indices. */
|
|
53
|
+
indices: number[];
|
|
54
|
+
/** How many points that is, without walking the list again. */
|
|
55
|
+
selectedCount: number;
|
|
56
|
+
/** Whether a lasso is showing what it would do rather than having done it. */
|
|
57
|
+
previewing: boolean;
|
|
58
|
+
/** Settle a new selection from a list of rows. */
|
|
59
|
+
select: (
|
|
60
|
+
rows: Iterable<number>,
|
|
61
|
+
mode?: ScatterSelectionMode,
|
|
62
|
+
source?: SelectionChange['source'],
|
|
63
|
+
) => void;
|
|
64
|
+
/** Settle one from a mask, which is the shape a lasso hands back. */
|
|
65
|
+
selectMask: (
|
|
66
|
+
hits: Uint8Array,
|
|
67
|
+
mode?: ScatterSelectionMode,
|
|
68
|
+
source?: SelectionChange['source'],
|
|
69
|
+
) => void;
|
|
70
|
+
/** Show what a gesture would do without settling it; `null` clears it. */
|
|
71
|
+
preview: (hits: Uint8Array | null, mode?: ScatterSelectionMode) => void;
|
|
72
|
+
/** Empty the selection. */
|
|
73
|
+
clear: () => void;
|
|
74
|
+
/** Select every point. */
|
|
75
|
+
selectAll: () => void;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* The set of points a scatter has picked out, controlled or not.
|
|
80
|
+
*
|
|
81
|
+
* A caller may own the selection and pass it back through `selected`, or leave
|
|
82
|
+
* it here and only listen. Both work through one hook, and the controlled
|
|
83
|
+
* value wins on every render: a parent that answers a change by passing
|
|
84
|
+
* something else — a filter that keeps only the rows still on screen — sees
|
|
85
|
+
* what it asked for and not what the gesture asked for. The hook keeps its own
|
|
86
|
+
* copy up to date all the same, so a caller that stops passing `selected`
|
|
87
|
+
* carries on from where the reader left off rather than from nothing.
|
|
88
|
+
*
|
|
89
|
+
* A preview is deliberately not a change. What a half-drawn lasso would catch
|
|
90
|
+
* is merged in for the render and never reported, which is what lets a
|
|
91
|
+
* controlled parent stay out of a drag it would otherwise be re-rendered by
|
|
92
|
+
* sixty times a second.
|
|
93
|
+
* @param options - See {@link ScatterSelectionOptions}.
|
|
94
|
+
* @returns The selection. See {@link ScatterSelectionApi}.
|
|
95
|
+
*/
|
|
96
|
+
export function useScatterSelection(
|
|
97
|
+
options: ScatterSelectionOptions,
|
|
98
|
+
): ScatterSelectionApi {
|
|
99
|
+
const { count, selected, defaultSelected, onSelectionChange } = options;
|
|
100
|
+
|
|
101
|
+
const [own, setOwn] = useState<readonly number[]>(defaultSelected ?? EMPTY);
|
|
102
|
+
const [draft, setDraft] = useState<SelectionDraft | null>(null);
|
|
103
|
+
const committed = selected ?? own;
|
|
104
|
+
|
|
105
|
+
const mask = useMemo(() => {
|
|
106
|
+
const base = scatterSelectionMask(committed, count);
|
|
107
|
+
if (draft === null) return base;
|
|
108
|
+
return mergeScatterSelection(base, draft.hits, draft.mode, base);
|
|
109
|
+
}, [committed, count, draft]);
|
|
110
|
+
|
|
111
|
+
const indices = useMemo(() => scatterSelectedIndices(mask), [mask]);
|
|
112
|
+
|
|
113
|
+
const commit = useCallback(
|
|
114
|
+
(
|
|
115
|
+
rows: number[],
|
|
116
|
+
mode: ScatterSelectionMode,
|
|
117
|
+
source: SelectionChange['source'],
|
|
118
|
+
) => {
|
|
119
|
+
setDraft(null);
|
|
120
|
+
setOwn(rows);
|
|
121
|
+
onSelectionChange?.({ indices: rows, mode, source });
|
|
122
|
+
},
|
|
123
|
+
[onSelectionChange],
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
const selectMask = useCallback(
|
|
127
|
+
(
|
|
128
|
+
hits: Uint8Array,
|
|
129
|
+
mode: ScatterSelectionMode = 'replace',
|
|
130
|
+
source: SelectionChange['source'] = 'lasso',
|
|
131
|
+
) => {
|
|
132
|
+
const base = scatterSelectionMask(committed, count);
|
|
133
|
+
const merged = mergeScatterSelection(base, hits, mode, base);
|
|
134
|
+
commit(scatterSelectedIndices(merged), mode, source);
|
|
135
|
+
},
|
|
136
|
+
[commit, committed, count],
|
|
137
|
+
);
|
|
138
|
+
|
|
139
|
+
const select = useCallback(
|
|
140
|
+
(
|
|
141
|
+
rows: Iterable<number>,
|
|
142
|
+
mode: ScatterSelectionMode = 'replace',
|
|
143
|
+
source: SelectionChange['source'] = 'point',
|
|
144
|
+
) => {
|
|
145
|
+
selectMask(scatterSelectionMask(rows, count), mode, source);
|
|
146
|
+
},
|
|
147
|
+
[count, selectMask],
|
|
148
|
+
);
|
|
149
|
+
|
|
150
|
+
const preview = useCallback(
|
|
151
|
+
(hits: Uint8Array | null, mode: ScatterSelectionMode = 'replace') => {
|
|
152
|
+
setDraft(hits === null ? null : { hits, mode });
|
|
153
|
+
},
|
|
154
|
+
[],
|
|
155
|
+
);
|
|
156
|
+
|
|
157
|
+
const clear = useCallback(() => {
|
|
158
|
+
commit([], 'replace', 'clear');
|
|
159
|
+
}, [commit]);
|
|
160
|
+
|
|
161
|
+
const selectAll = useCallback(() => {
|
|
162
|
+
const rows = new Array<number>(Math.max(0, count));
|
|
163
|
+
for (let index = 0; index < rows.length; index++) rows[index] = index;
|
|
164
|
+
commit(rows, 'replace', 'all');
|
|
165
|
+
}, [commit, count]);
|
|
166
|
+
|
|
167
|
+
return {
|
|
168
|
+
mask,
|
|
169
|
+
indices,
|
|
170
|
+
selectedCount: indices.length,
|
|
171
|
+
previewing: draft !== null,
|
|
172
|
+
select,
|
|
173
|
+
selectMask,
|
|
174
|
+
preview,
|
|
175
|
+
clear,
|
|
176
|
+
selectAll,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/** Shared, so an uncontrolled scatter with nothing picked allocates nothing. */
|
|
181
|
+
const EMPTY: readonly number[] = [];
|
|
182
|
+
|
|
183
|
+
/** What a lasso is showing it would do, before it has been released. */
|
|
184
|
+
interface SelectionDraft {
|
|
185
|
+
/** The points the half-drawn gesture is over. */
|
|
186
|
+
hits: Uint8Array;
|
|
187
|
+
/** What releasing would do with them. */
|
|
188
|
+
mode: ScatterSelectionMode;
|
|
189
|
+
}
|
package/src/share/core/query.ts
CHANGED
|
@@ -26,10 +26,16 @@ export function parseQuery(search: string): QueryEntry[] {
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
* Write pairs back into a query string, keeping the
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
29
|
+
* Write pairs back into a query string, keeping the comma legible — `hide=a,b`
|
|
30
|
+
* rather than `hide=a%2Cb` — because a teacher has to read these links, and a
|
|
31
|
+
* comma has only one reading.
|
|
32
|
+
*
|
|
33
|
+
* A plus is written `%2B`, even though {@link parseQuery} would read a literal
|
|
34
|
+
* one back. We are liberal in what we accept and strict in what we write: a
|
|
35
|
+
* bare `+` in a query string is read as a space by `URLSearchParams`,
|
|
36
|
+
* `query-string` and every server-side parser, so `ionizations=H+` comes back
|
|
37
|
+
* as `H ` and `smiles=CC[N+](C)(C)C` as a different molecule — silently,
|
|
38
|
+
* anywhere the link is read by something other than {@link parseQuery}.
|
|
33
39
|
* @param entries - The pairs to write, in the order they should appear.
|
|
34
40
|
* @returns The query string, without its leading `?`.
|
|
35
41
|
*/
|
|
@@ -66,7 +72,5 @@ function decodeComponent(value: string): string {
|
|
|
66
72
|
}
|
|
67
73
|
|
|
68
74
|
function encodeComponent(value: string): string {
|
|
69
|
-
return encodeURIComponent(value)
|
|
70
|
-
.replaceAll('%2C', ',')
|
|
71
|
-
.replaceAll('%2B', '+');
|
|
75
|
+
return encodeURIComponent(value).replaceAll('%2C', ',');
|
|
72
76
|
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import type { FilterCatalogEntry } from './filterEntries.ts';
|
|
2
|
+
import { RANGE_FIELDS, ZONE_FIELDS } from './filterEntries.ts';
|
|
3
|
+
import {
|
|
4
|
+
booleanField,
|
|
5
|
+
enumField,
|
|
6
|
+
formulaField,
|
|
7
|
+
integerField,
|
|
8
|
+
numberField,
|
|
9
|
+
} from './filterFields.ts';
|
|
10
|
+
|
|
11
|
+
export const AXIS_ENTRIES = {
|
|
12
|
+
xFunction: {
|
|
13
|
+
label: 'Apply a formula to x',
|
|
14
|
+
group: 'x-axis',
|
|
15
|
+
summary:
|
|
16
|
+
'Rewrites every x through an expression, read the same way as the y one.',
|
|
17
|
+
fields: [
|
|
18
|
+
formulaField(
|
|
19
|
+
'function',
|
|
20
|
+
'Expression in x',
|
|
21
|
+
'For instance 10000000/x, which reads nanometres as wavenumbers.',
|
|
22
|
+
),
|
|
23
|
+
],
|
|
24
|
+
caution:
|
|
25
|
+
'Every range below is then read in the new units — including the resampling range, which runs last unless you resample first.',
|
|
26
|
+
},
|
|
27
|
+
fromTo: {
|
|
28
|
+
label: 'Crop',
|
|
29
|
+
group: 'x-axis',
|
|
30
|
+
summary: 'Keeps one stretch of the spectrum and drops the rest.',
|
|
31
|
+
fields: [
|
|
32
|
+
...RANGE_FIELDS,
|
|
33
|
+
integerField('fromIndex', 'From (point)', '0'),
|
|
34
|
+
integerField('toIndex', 'To (point)', 'the last point'),
|
|
35
|
+
],
|
|
36
|
+
caution:
|
|
37
|
+
'Give x values or point numbers, not both: a point number silently wins over an x value.',
|
|
38
|
+
},
|
|
39
|
+
filterX: {
|
|
40
|
+
label: 'Keep or drop x zones',
|
|
41
|
+
group: 'x-axis',
|
|
42
|
+
summary:
|
|
43
|
+
'Keeps the points falling in the zones named, without resampling anything.',
|
|
44
|
+
fields: [...RANGE_FIELDS, ...ZONE_FIELDS],
|
|
45
|
+
},
|
|
46
|
+
equallySpaced: {
|
|
47
|
+
label: 'Resample on a regular grid',
|
|
48
|
+
group: 'x-axis',
|
|
49
|
+
summary: 'Interpolates onto evenly spaced x values.',
|
|
50
|
+
fields: [
|
|
51
|
+
...RANGE_FIELDS,
|
|
52
|
+
integerField('numberOfPoints', 'Number of points', '100'),
|
|
53
|
+
...ZONE_FIELDS,
|
|
54
|
+
],
|
|
55
|
+
caution:
|
|
56
|
+
'The settings above already resample once, so this resamples twice; whichever of the two runs last sets the point count.',
|
|
57
|
+
},
|
|
58
|
+
calibrateX: {
|
|
59
|
+
label: 'Calibrate x on a peak',
|
|
60
|
+
group: 'x-axis',
|
|
61
|
+
summary:
|
|
62
|
+
'Finds the strongest peaks in a stretch and shifts the whole axis so their mean lands on the value asked for.',
|
|
63
|
+
fields: [
|
|
64
|
+
...RANGE_FIELDS,
|
|
65
|
+
integerField('nbPeaks', 'Peaks to find', '1'),
|
|
66
|
+
numberField('targetX', 'Move them to', '0'),
|
|
67
|
+
booleanField('gsd.smoothY', 'Smooth before picking'),
|
|
68
|
+
booleanField(
|
|
69
|
+
'gsd.maxCriteria',
|
|
70
|
+
'Pick maxima',
|
|
71
|
+
'Off picks minima instead.',
|
|
72
|
+
),
|
|
73
|
+
numberField(
|
|
74
|
+
'gsd.minMaxRatio',
|
|
75
|
+
'Smallest peak kept',
|
|
76
|
+
'0.00025',
|
|
77
|
+
'As a fraction of the tallest. A step added here starts at 0.1; empty the box and this far lower default takes over.',
|
|
78
|
+
),
|
|
79
|
+
numberField('gsd.noiseLevel', 'Noise level', 'not set'),
|
|
80
|
+
booleanField('gsd.realTopDetection', 'Refine the summit'),
|
|
81
|
+
integerField('gsd.sgOptions.windowSize', 'Peak-picking window', '9'),
|
|
82
|
+
integerField('gsd.sgOptions.polynomial', 'Peak-picking polynomial', '3'),
|
|
83
|
+
enumField('gsd.peakDetectionAlgorithm', 'Detected on', [
|
|
84
|
+
{ value: 'first', label: 'The first derivative' },
|
|
85
|
+
{ value: 'second', label: 'The second derivative' },
|
|
86
|
+
{ value: 'auto', label: 'Whichever fits' },
|
|
87
|
+
]),
|
|
88
|
+
],
|
|
89
|
+
caution:
|
|
90
|
+
'When fewer peaks are found than asked for, the spectrum is returned untouched and nothing says so.',
|
|
91
|
+
},
|
|
92
|
+
ensureGrowing: {
|
|
93
|
+
label: 'Make x strictly increasing',
|
|
94
|
+
group: 'utility',
|
|
95
|
+
summary:
|
|
96
|
+
'Drops the points that repeat or go backwards, which resampling and cropping both assume never happens.',
|
|
97
|
+
fields: [],
|
|
98
|
+
},
|
|
99
|
+
reverseIfNeeded: {
|
|
100
|
+
label: 'Reverse a descending x',
|
|
101
|
+
group: 'utility',
|
|
102
|
+
summary: 'Turns a descending axis the right way round.',
|
|
103
|
+
fields: [],
|
|
104
|
+
caution:
|
|
105
|
+
'The chain already does this before every step, so adding it here changes nothing.',
|
|
106
|
+
},
|
|
107
|
+
} as const satisfies Record<string, FilterCatalogEntry>;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { filterStepLabel, findFilterEntry } from './filterCatalog.ts';
|
|
2
|
+
import type { SettingsProblem } from './problems.ts';
|
|
3
|
+
import { problem } from './problems.ts';
|
|
4
|
+
import type { SpectrumFilter, SpectrumFilterName } from './settings.ts';
|
|
5
|
+
import { stepProblems } from './stepProblems.ts';
|
|
6
|
+
|
|
7
|
+
/** The steps that all say "make the y scale comparable"; only the last survives. */
|
|
8
|
+
const SCALING_STEPS: ReadonlySet<SpectrumFilterName> = new Set([
|
|
9
|
+
'divideBySD',
|
|
10
|
+
'normed',
|
|
11
|
+
'paretoNormalization',
|
|
12
|
+
'rescale',
|
|
13
|
+
]);
|
|
14
|
+
|
|
15
|
+
/** The steps that hand on plain arrays, whatever they were given. */
|
|
16
|
+
const UNTYPES_X: ReadonlySet<SpectrumFilterName> = new Set([
|
|
17
|
+
'equallySpaced',
|
|
18
|
+
'filterX',
|
|
19
|
+
]);
|
|
20
|
+
|
|
21
|
+
/** The steps that read x as a typed array and throw on a plain one. */
|
|
22
|
+
const NEEDS_TYPED_X: ReadonlySet<SpectrumFilterName> = new Set([
|
|
23
|
+
'calibrateX',
|
|
24
|
+
'fromTo',
|
|
25
|
+
]);
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Everything wrong, or probably wrong, with one chain.
|
|
29
|
+
*
|
|
30
|
+
* The order of a chain is its meaning — scaling measured before a baseline is
|
|
31
|
+
* removed measures an offset that is about to change — so the advice below is
|
|
32
|
+
* as much about where a step sits as about what it is set to.
|
|
33
|
+
* @param chain - The steps, in the order they run.
|
|
34
|
+
* @param resampleFirst - Whether the settings resample before the chain runs.
|
|
35
|
+
* @returns Every problem found, errors and advice together.
|
|
36
|
+
*/
|
|
37
|
+
export function chainProblems(
|
|
38
|
+
chain: readonly SpectrumFilter[],
|
|
39
|
+
resampleFirst: boolean,
|
|
40
|
+
): SettingsProblem[] {
|
|
41
|
+
const problems: SettingsProblem[] = [];
|
|
42
|
+
let baselines = 0;
|
|
43
|
+
let scalings = 0;
|
|
44
|
+
let firstScaling: number | undefined;
|
|
45
|
+
let plainX = resampleFirst;
|
|
46
|
+
let mayBePlainX = resampleFirst;
|
|
47
|
+
|
|
48
|
+
for (const [index, step] of chain.entries()) {
|
|
49
|
+
const where = filterStepLabel(step.name, index);
|
|
50
|
+
const entry = findFilterEntry(step.name);
|
|
51
|
+
problems.push(...stepProblems(step, where));
|
|
52
|
+
|
|
53
|
+
if (entry === undefined) {
|
|
54
|
+
problems.push(
|
|
55
|
+
problem(
|
|
56
|
+
'warning',
|
|
57
|
+
where,
|
|
58
|
+
`${step.name} is not one of the steps this editor knows, so its options are left as they are. The processor throws on a name it cannot dispatch.`,
|
|
59
|
+
),
|
|
60
|
+
);
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (NEEDS_TYPED_X.has(step.name)) {
|
|
65
|
+
if (plainX) {
|
|
66
|
+
problems.push(problem('error', where, TYPED_X_MESSAGE));
|
|
67
|
+
} else if (mayBePlainX) {
|
|
68
|
+
problems.push(problem('warning', where, MAY_BE_PLAIN_MESSAGE));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (UNTYPES_X.has(step.name)) {
|
|
72
|
+
plainX = true;
|
|
73
|
+
mayBePlainX = true;
|
|
74
|
+
}
|
|
75
|
+
if (step.name === 'ensureGrowing') mayBePlainX = true;
|
|
76
|
+
|
|
77
|
+
const { group } = entry;
|
|
78
|
+
if (group === 'baseline') {
|
|
79
|
+
baselines++;
|
|
80
|
+
if (firstScaling !== undefined) {
|
|
81
|
+
problems.push(
|
|
82
|
+
problem(
|
|
83
|
+
'warning',
|
|
84
|
+
where,
|
|
85
|
+
`Step ${String(firstScaling + 1)} scales the signal before this levels it, so the scaling is measured against an offset that then changes. Level first.`,
|
|
86
|
+
),
|
|
87
|
+
);
|
|
88
|
+
firstScaling = undefined;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
if (SCALING_STEPS.has(step.name)) {
|
|
92
|
+
scalings++;
|
|
93
|
+
firstScaling ??= index;
|
|
94
|
+
}
|
|
95
|
+
if (step.name === 'reverseIfNeeded') {
|
|
96
|
+
problems.push(
|
|
97
|
+
problem(
|
|
98
|
+
'warning',
|
|
99
|
+
where,
|
|
100
|
+
'The chain already turns a descending axis round before every step, so this one does nothing.',
|
|
101
|
+
),
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
if (step.name === 'equallySpaced') {
|
|
105
|
+
problems.push(
|
|
106
|
+
problem(
|
|
107
|
+
'warning',
|
|
108
|
+
where,
|
|
109
|
+
resampleFirst
|
|
110
|
+
? 'The settings resample before the chain runs, so this resamples a second time and the point count set here is the one the matrix ends up with.'
|
|
111
|
+
: 'The settings resample after the chain runs, so this resamples a second time and the point count set above is the one the matrix ends up with.',
|
|
112
|
+
),
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
if (
|
|
116
|
+
!resampleFirst &&
|
|
117
|
+
(step.name === 'xFunction' || step.name === 'calibrateX')
|
|
118
|
+
) {
|
|
119
|
+
problems.push(
|
|
120
|
+
problem(
|
|
121
|
+
'warning',
|
|
122
|
+
where,
|
|
123
|
+
'This changes the x axis before the resampling runs, so the range and the exclusions above are read in the new units.',
|
|
124
|
+
),
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
if (resampleFirst && step.name === 'filterX') {
|
|
128
|
+
problems.push(
|
|
129
|
+
problem(
|
|
130
|
+
'warning',
|
|
131
|
+
where,
|
|
132
|
+
'Cropping after the resampling can leave each spectrum on its own grid, and the matrix then lines up rows that do not match. Pin the range above, or turn resampling back to last.',
|
|
133
|
+
),
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
if (baselines > 1) {
|
|
139
|
+
problems.push(
|
|
140
|
+
problem(
|
|
141
|
+
'warning',
|
|
142
|
+
'The chain',
|
|
143
|
+
`${String(baselines)} baselines are subtracted one after another, each estimated from what the last one left.`,
|
|
144
|
+
),
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
if (scalings > 1) {
|
|
148
|
+
problems.push(
|
|
149
|
+
problem(
|
|
150
|
+
'warning',
|
|
151
|
+
'The chain',
|
|
152
|
+
`${String(scalings)} steps set the y scale; only the last of them still shows in the result.`,
|
|
153
|
+
),
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
return problems;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/** What a step reading x as a typed array is told when it cannot be one. */
|
|
160
|
+
const TYPED_X_MESSAGE =
|
|
161
|
+
'This step reads x as a typed array, and resampling or cropping has already turned it into a plain one, so the processor throws. Move it before them, or turn resampling back to last.';
|
|
162
|
+
|
|
163
|
+
/** The same, when only the data can settle whether x was untyped. */
|
|
164
|
+
const MAY_BE_PLAIN_MESSAGE =
|
|
165
|
+
'This step reads x as a typed array. An earlier step turns x into a plain one whenever it has points to drop, and the processor then throws on this step.';
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { AXIS_ENTRIES } from './axisEntries.ts';
|
|
2
|
+
import type { FilterCatalogEntry } from './filterEntries.ts';
|
|
3
|
+
import { BASELINE_ENTRIES, SIGNAL_ENTRIES } from './filterEntries.ts';
|
|
4
|
+
import type { FilterGroup } from './filterFields.ts';
|
|
5
|
+
import { FILTER_GROUPS } from './filterFields.ts';
|
|
6
|
+
import type { SpectrumFilterName } from './settings.ts';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* What the editor knows about every step `filterXY` dispatches.
|
|
10
|
+
*
|
|
11
|
+
* Keyed by the name rather than listed, so the day `ml-signal-processing` adds
|
|
12
|
+
* a filter this object stops compiling and the gap is a build failure instead
|
|
13
|
+
* of a step nobody can reach.
|
|
14
|
+
*/
|
|
15
|
+
export const FILTER_CATALOG: Readonly<
|
|
16
|
+
Record<SpectrumFilterName, FilterCatalogEntry>
|
|
17
|
+
> = {
|
|
18
|
+
...BASELINE_ENTRIES,
|
|
19
|
+
...SIGNAL_ENTRIES,
|
|
20
|
+
...AXIS_ENTRIES,
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/** Every step name, in the order the menu offers them. */
|
|
24
|
+
export const FILTER_NAMES: readonly SpectrumFilterName[] = Object.keys(
|
|
25
|
+
FILTER_CATALOG,
|
|
26
|
+
) as SpectrumFilterName[];
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* What the editor knows about one step.
|
|
30
|
+
* @param name - The step's name.
|
|
31
|
+
* @returns Its catalog entry.
|
|
32
|
+
*/
|
|
33
|
+
export function filterEntry(name: SpectrumFilterName): FilterCatalogEntry {
|
|
34
|
+
return FILTER_CATALOG[name];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* What the editor knows about a step whose name it may not recognise.
|
|
39
|
+
*
|
|
40
|
+
* The settings the processor accepts are typed `{ name: string }`, and
|
|
41
|
+
* `filterXY` really does dispatch four more names than the union declares, so a
|
|
42
|
+
* chain reaching the editor can name a step the catalog has never heard of.
|
|
43
|
+
* Answering nothing lets the panel say so; throwing would take the whole page
|
|
44
|
+
* down over one row.
|
|
45
|
+
* @param name - The step's name, from settings that may come from anywhere.
|
|
46
|
+
* @returns Its catalog entry, or undefined when the name is not one of the 23.
|
|
47
|
+
*/
|
|
48
|
+
export function findFilterEntry(name: string): FilterCatalogEntry | undefined {
|
|
49
|
+
return Object.hasOwn(FILTER_CATALOG, name)
|
|
50
|
+
? FILTER_CATALOG[name as SpectrumFilterName]
|
|
51
|
+
: undefined;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* How the panel labels one step of a chain, whether or not it knows the step.
|
|
56
|
+
* @param name - The step's name.
|
|
57
|
+
* @param position - Where it sits, counting from zero.
|
|
58
|
+
* @returns The label the row and every problem about it share.
|
|
59
|
+
*/
|
|
60
|
+
export function filterStepLabel(name: string, position: number): string {
|
|
61
|
+
return `Step ${String(position + 1)} — ${findFilterEntry(name)?.label ?? name}`;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The steps of one group, in menu order.
|
|
66
|
+
* @param group - Which part of the signal the steps work on.
|
|
67
|
+
* @returns Their names.
|
|
68
|
+
*/
|
|
69
|
+
export function filterNamesInGroup(
|
|
70
|
+
group: FilterGroup,
|
|
71
|
+
): readonly SpectrumFilterName[] {
|
|
72
|
+
const names: SpectrumFilterName[] = [];
|
|
73
|
+
for (const name of FILTER_NAMES) {
|
|
74
|
+
if (FILTER_CATALOG[name].group === group) names.push(name);
|
|
75
|
+
}
|
|
76
|
+
return names;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* The whole menu, group by group, skipping a group that holds nothing.
|
|
81
|
+
*
|
|
82
|
+
* The 23 steps are unreadable as one list, and grouping them by what they touch
|
|
83
|
+
* is the same order a chain is usually built in: level the baseline, smooth,
|
|
84
|
+
* scale, then move the axis.
|
|
85
|
+
* @returns Each group with its steps.
|
|
86
|
+
*/
|
|
87
|
+
export function filterMenu(): ReadonlyArray<{
|
|
88
|
+
group: FilterGroup;
|
|
89
|
+
names: readonly SpectrumFilterName[];
|
|
90
|
+
}> {
|
|
91
|
+
const menu: Array<{
|
|
92
|
+
group: FilterGroup;
|
|
93
|
+
names: readonly SpectrumFilterName[];
|
|
94
|
+
}> = [];
|
|
95
|
+
for (const group of FILTER_GROUPS) {
|
|
96
|
+
const names = filterNamesInGroup(group);
|
|
97
|
+
if (names.length > 0) menu.push({ group, names });
|
|
98
|
+
}
|
|
99
|
+
return menu;
|
|
100
|
+
}
|