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,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The frame a chart is zoomed into, and the arithmetic that moves it.
|
|
3
|
+
*
|
|
4
|
+
* A zoom here is a domain and never a transform: the frame hands the two axes
|
|
5
|
+
* a narrower range and everything downstream — the ticks, the outlines, the
|
|
6
|
+
* hit tests, the labels — is computed from it exactly as it is computed
|
|
7
|
+
* unzoomed. Nothing has to be told a zoom happened, which is the whole reason
|
|
8
|
+
* it is done this way, and it is why all of it is arithmetic that can be
|
|
9
|
+
* checked without rendering anything.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/** The range each axis of a chart covers, when it is not covering all of it. */
|
|
13
|
+
export interface ChartViewport {
|
|
14
|
+
/** What the horizontal axis covers, ascending. */
|
|
15
|
+
readonly x: readonly [number, number];
|
|
16
|
+
/** What the vertical axis covers. */
|
|
17
|
+
readonly y: readonly [number, number];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The smallest share of an axis's full range a viewport may cover, which caps
|
|
22
|
+
* how far in the reader can go. Five hundred times is past the point where the
|
|
23
|
+
* dots left on screen still stand for anything.
|
|
24
|
+
*/
|
|
25
|
+
export const CHART_SMALLEST_ZOOM = 0.002;
|
|
26
|
+
|
|
27
|
+
/** How much one pixel of wheel travel zooms by, as a share. */
|
|
28
|
+
export const CHART_WHEEL_SPEED = 0.0015;
|
|
29
|
+
|
|
30
|
+
/** Pixels a wheel notch is worth where the browser reports lines. */
|
|
31
|
+
export const CHART_WHEEL_LINE = 16;
|
|
32
|
+
|
|
33
|
+
/** Pixels it is worth where the browser reports pages. */
|
|
34
|
+
export const CHART_WHEEL_PAGE = 400;
|
|
35
|
+
|
|
36
|
+
/** The most one wheel event may zoom by, so a stray burst cannot jump. */
|
|
37
|
+
export const CHART_WHEEL_LARGEST = 4;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* The viewport a zoom about one point leaves behind.
|
|
41
|
+
*
|
|
42
|
+
* The point under the anchor stays where it is, which is what makes the
|
|
43
|
+
* gesture read as pulling the picture rather than nudging a slider: the reader
|
|
44
|
+
* aims at the crowd they want and it grows around the pointer.
|
|
45
|
+
* @param full - What the axes cover unzoomed, which the result never leaves.
|
|
46
|
+
* @param current - The viewport now, or `null` when the chart is showing all of it.
|
|
47
|
+
* @param anchorX - The horizontal value to hold still, in data units.
|
|
48
|
+
* @param anchorY - The vertical one.
|
|
49
|
+
* @param factor - How much wider the frame becomes; below one it narrows.
|
|
50
|
+
* @returns The new viewport, or `null` once it covers everything again — so a
|
|
51
|
+
* reader who zooms back out gets the unzoomed chart back rather than a frame
|
|
52
|
+
* that merely looks like it.
|
|
53
|
+
*/
|
|
54
|
+
export function chartZoomViewport(
|
|
55
|
+
full: ChartViewport,
|
|
56
|
+
current: ChartViewport | null,
|
|
57
|
+
anchorX: number,
|
|
58
|
+
anchorY: number,
|
|
59
|
+
factor: number,
|
|
60
|
+
): ChartViewport | null {
|
|
61
|
+
const scale = Number.isFinite(factor) && factor > 0 ? factor : 1;
|
|
62
|
+
const x = chartZoomDomain(full.x, current?.x ?? full.x, anchorX, scale);
|
|
63
|
+
const y = chartZoomDomain(full.y, current?.y ?? full.y, anchorY, scale);
|
|
64
|
+
if (sameDomain(x, full.x) && sameDomain(y, full.y)) return null;
|
|
65
|
+
return { x, y };
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* A frame the reader asked for, made to fit: never narrower than the zoom cap,
|
|
70
|
+
* never reaching outside the data, and never wider than the whole of it.
|
|
71
|
+
*
|
|
72
|
+
* It is what "zoom to selection" goes through, so a lasso around one sample
|
|
73
|
+
* lands at the same depth as a wheel held down over it rather than at the
|
|
74
|
+
* bottom of a well.
|
|
75
|
+
* @param full - What the axes cover unzoomed.
|
|
76
|
+
* @param wanted - The frame asked for.
|
|
77
|
+
* @returns The frame that will be drawn, or `null` when it covers everything.
|
|
78
|
+
*/
|
|
79
|
+
export function chartClampViewport(
|
|
80
|
+
full: ChartViewport,
|
|
81
|
+
wanted: ChartViewport,
|
|
82
|
+
): ChartViewport | null {
|
|
83
|
+
return chartZoomViewport(
|
|
84
|
+
full,
|
|
85
|
+
wanted,
|
|
86
|
+
middleOf(wanted.x),
|
|
87
|
+
middleOf(wanted.y),
|
|
88
|
+
1,
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* One axis zoomed about one value, clamped to its full range.
|
|
94
|
+
*
|
|
95
|
+
* A frame that would reach past an end is slid back inside rather than
|
|
96
|
+
* squashed, so the reader keeps the magnification they asked for and the cloud
|
|
97
|
+
* cannot be pushed off the edge and lost.
|
|
98
|
+
* @param full - What the axis covers unzoomed.
|
|
99
|
+
* @param current - What it covers now.
|
|
100
|
+
* @param anchor - The value to hold still, in data units.
|
|
101
|
+
* @param factor - How much wider the range becomes.
|
|
102
|
+
* @returns The new range, ascending, or `full` when the zoom has reached back out to it.
|
|
103
|
+
*/
|
|
104
|
+
export function chartZoomDomain(
|
|
105
|
+
full: readonly [number, number],
|
|
106
|
+
current: readonly [number, number],
|
|
107
|
+
anchor: number,
|
|
108
|
+
factor: number,
|
|
109
|
+
): readonly [number, number] {
|
|
110
|
+
const bounds = ascending(full);
|
|
111
|
+
const reach = bounds[1] - bounds[0];
|
|
112
|
+
if (!(reach > 0) || !Number.isFinite(reach)) return full;
|
|
113
|
+
|
|
114
|
+
const shown = ascending(current);
|
|
115
|
+
const span = fittedSpan((shown[1] - shown[0]) * factor, reach);
|
|
116
|
+
if (span === reach) return full;
|
|
117
|
+
|
|
118
|
+
const share = anchorShare(anchor, shown);
|
|
119
|
+
const wanted = Number.isFinite(anchor) ? anchor - share * span : shown[0];
|
|
120
|
+
const start = Math.min(
|
|
121
|
+
Math.max(wanted, bounds[0]),
|
|
122
|
+
Math.max(bounds[1] - span, bounds[0]),
|
|
123
|
+
);
|
|
124
|
+
return [start, start + span];
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* How much a wheel event zooms by.
|
|
129
|
+
*
|
|
130
|
+
* The travel is normalised first, because the same notch of the same wheel
|
|
131
|
+
* arrives as pixels in one browser and as lines in another, and a zoom that
|
|
132
|
+
* moves three times as fast in Firefox is a fault the reader blames on the
|
|
133
|
+
* figure. One event is capped: a trackpad flick can deliver a whole page of
|
|
134
|
+
* travel at once, and landing four hundred times out is not recoverable by
|
|
135
|
+
* feel.
|
|
136
|
+
* @param delta - The event's `deltaY`; positive scrolls away and zooms out.
|
|
137
|
+
* @param mode - Its `deltaMode`: 0 pixels, 1 lines, 2 pages. Defaults to `0`.
|
|
138
|
+
* @param speed - Share zoomed per pixel of travel. Defaults to {@link CHART_WHEEL_SPEED}.
|
|
139
|
+
* @returns The factor to hand {@link chartZoomViewport}; `1` for an event that says nothing.
|
|
140
|
+
*/
|
|
141
|
+
export function chartWheelFactor(
|
|
142
|
+
delta: number,
|
|
143
|
+
mode = 0,
|
|
144
|
+
speed = CHART_WHEEL_SPEED,
|
|
145
|
+
): number {
|
|
146
|
+
if (!Number.isFinite(delta) || delta === 0) return 1;
|
|
147
|
+
const pixels = delta * wheelPixels(mode);
|
|
148
|
+
const rate = Number.isFinite(speed) && speed > 0 ? speed : CHART_WHEEL_SPEED;
|
|
149
|
+
const factor = Math.exp(pixels * rate);
|
|
150
|
+
if (!Number.isFinite(factor)) return delta > 0 ? CHART_WHEEL_LARGEST : 1;
|
|
151
|
+
return Math.min(
|
|
152
|
+
CHART_WHEEL_LARGEST,
|
|
153
|
+
Math.max(1 / CHART_WHEEL_LARGEST, factor),
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
function wheelPixels(mode: number): number {
|
|
158
|
+
if (mode === 1) return CHART_WHEEL_LINE;
|
|
159
|
+
if (mode === 2) return CHART_WHEEL_PAGE;
|
|
160
|
+
return 1;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* The span a frame ends up with: at least the zoom cap, at most the whole
|
|
165
|
+
* range.
|
|
166
|
+
* @param span - The span asked for.
|
|
167
|
+
* @param reach - The full range's span.
|
|
168
|
+
* @returns The span to draw. A span of nothing is drawn at the cap, since
|
|
169
|
+
* framing one sample means going as far in as the chart goes rather than
|
|
170
|
+
* giving up and showing everything; one that is not a number does show
|
|
171
|
+
* everything, because nothing better can be said about it.
|
|
172
|
+
*/
|
|
173
|
+
function fittedSpan(span: number, reach: number): number {
|
|
174
|
+
const smallest = reach * CHART_SMALLEST_ZOOM;
|
|
175
|
+
if (!Number.isFinite(span)) return reach;
|
|
176
|
+
if (span <= 0) return smallest;
|
|
177
|
+
if (span >= reach) return reach;
|
|
178
|
+
return Math.max(span, smallest);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Where the anchor sits across the frame it is anchoring, from 0 to 1.
|
|
183
|
+
* @param anchor - The value held still.
|
|
184
|
+
* @param shown - The frame it sits in, ascending.
|
|
185
|
+
* @returns The share; the middle of a frame with no width, which is the only
|
|
186
|
+
* place an anchor can be said to sit on one.
|
|
187
|
+
*/
|
|
188
|
+
function anchorShare(anchor: number, shown: readonly [number, number]): number {
|
|
189
|
+
const span = shown[1] - shown[0];
|
|
190
|
+
if (!(span > 0) || !Number.isFinite(span)) return 0.5;
|
|
191
|
+
const share = (anchor - shown[0]) / span;
|
|
192
|
+
if (!Number.isFinite(share)) return 0.5;
|
|
193
|
+
return Math.min(1, Math.max(0, share));
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
function middleOf(domain: readonly [number, number]): number {
|
|
197
|
+
return (domain[0] + domain[1]) / 2;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
function sameDomain(
|
|
201
|
+
one: readonly [number, number],
|
|
202
|
+
other: readonly [number, number],
|
|
203
|
+
): boolean {
|
|
204
|
+
return one[0] === other[0] && one[1] === other[1];
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
function ascending(
|
|
208
|
+
domain: readonly [number, number],
|
|
209
|
+
): readonly [number, number] {
|
|
210
|
+
return domain[0] <= domain[1] ? domain : [domain[1], domain[0]];
|
|
211
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The arithmetic a figure is drawn from: a matrix read where it stands, the
|
|
3
|
+
* two numbers that turn a value into a pixel, round tick values, and the
|
|
4
|
+
* colours a series takes.
|
|
5
|
+
*
|
|
6
|
+
* None of it knows what a chart is. That is deliberate — the same scale places
|
|
7
|
+
* a principal component, a wavenumber and a cluster centre, and a site that
|
|
8
|
+
* only wants round numbers for its own canvas can have them without loading
|
|
9
|
+
* React.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
export type {
|
|
13
|
+
ChartAxisScale,
|
|
14
|
+
ChartAxisScaleOptions,
|
|
15
|
+
} from './chartAxisScale.ts';
|
|
16
|
+
export {
|
|
17
|
+
chartAxisScale,
|
|
18
|
+
chartExponentSuffix,
|
|
19
|
+
chartNiceDomain,
|
|
20
|
+
chartTickDecimals,
|
|
21
|
+
chartTickLabel,
|
|
22
|
+
} from './chartAxisScale.ts';
|
|
23
|
+
export type { ChartBand, ChartBandOptions } from './chartBand.ts';
|
|
24
|
+
export { chartBand, chartBandCenter, chartBandIndexAt } from './chartBand.ts';
|
|
25
|
+
export type { ChartBins } from './chartBins.ts';
|
|
26
|
+
export { chartBinCounts } from './chartBins.ts';
|
|
27
|
+
export type {
|
|
28
|
+
ChartColumnExtentOptions,
|
|
29
|
+
ChartExtent,
|
|
30
|
+
ChartValuesExtentOptions,
|
|
31
|
+
} from './chartExtent.ts';
|
|
32
|
+
export {
|
|
33
|
+
EMPTY_EXTENT,
|
|
34
|
+
chartColumnExtent,
|
|
35
|
+
chartMergeExtents,
|
|
36
|
+
chartPadExtent,
|
|
37
|
+
chartValuesExtent,
|
|
38
|
+
} from './chartExtent.ts';
|
|
39
|
+
export type { ChartAxisTitleOptions } from './chartLabels.ts';
|
|
40
|
+
export { chartAxisTitle, chartShare } from './chartLabels.ts';
|
|
41
|
+
export type { ChartColorRole } from './chartPalette.ts';
|
|
42
|
+
export { CHART_SERIES_COLORS, chartSeriesColor } from './chartPalette.ts';
|
|
43
|
+
export type { ChartScale } from './chartScale.ts';
|
|
44
|
+
export { chartPixel, chartScale, chartValue } from './chartScale.ts';
|
|
45
|
+
export type { ChartViewport } from './chartViewport.ts';
|
|
46
|
+
export {
|
|
47
|
+
CHART_SMALLEST_ZOOM,
|
|
48
|
+
CHART_WHEEL_LARGEST,
|
|
49
|
+
CHART_WHEEL_LINE,
|
|
50
|
+
CHART_WHEEL_PAGE,
|
|
51
|
+
CHART_WHEEL_SPEED,
|
|
52
|
+
chartClampViewport,
|
|
53
|
+
chartWheelFactor,
|
|
54
|
+
chartZoomDomain,
|
|
55
|
+
chartZoomViewport,
|
|
56
|
+
} from './chartViewport.ts';
|
|
57
|
+
export type { MatrixLike } from './matrix.ts';
|
|
58
|
+
export { mappedMatrix, rowMatrix, stackedMatrix } from './matrix.ts';
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read-only view of a numeric matrix, satisfied by `ml-matrix`'s `Matrix`
|
|
3
|
+
* without a cast.
|
|
4
|
+
*
|
|
5
|
+
* Only `get` is required, because it is the cheapest read there is — 1.25 ns a
|
|
6
|
+
* cell against 12.2 ns through `to2DArray()`, which reallocates every row on
|
|
7
|
+
* every call. Nothing in this package ever copies a matrix out.
|
|
8
|
+
*/
|
|
9
|
+
export interface MatrixLike {
|
|
10
|
+
/** Number of rows. */
|
|
11
|
+
readonly rows: number;
|
|
12
|
+
/** Number of columns. */
|
|
13
|
+
readonly columns: number;
|
|
14
|
+
/**
|
|
15
|
+
* The value at a position.
|
|
16
|
+
* @param rowIndex - Which row, from 0.
|
|
17
|
+
* @param columnIndex - Which column, from 0.
|
|
18
|
+
* @returns The value, or `NaN` when either index is outside the matrix.
|
|
19
|
+
*/
|
|
20
|
+
get: (rowIndex: number, columnIndex: number) => number;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A plain array of rows read as a matrix.
|
|
25
|
+
*
|
|
26
|
+
* The door every method that is not `ml-pca` comes through: a UMAP embedding
|
|
27
|
+
* or a k-means table is `number[][]`, and this gives it the one shape the rest
|
|
28
|
+
* of the package reads, with no copy and no dependency.
|
|
29
|
+
* @param rows - One array per row; the width is taken from the first.
|
|
30
|
+
* @returns The matrix view. An empty input gives a zero by zero matrix.
|
|
31
|
+
*/
|
|
32
|
+
export function rowMatrix(rows: ReadonlyArray<ArrayLike<number>>): MatrixLike {
|
|
33
|
+
const first = rows[0];
|
|
34
|
+
const columns = first === undefined ? 0 : first.length;
|
|
35
|
+
return {
|
|
36
|
+
rows: rows.length,
|
|
37
|
+
columns,
|
|
38
|
+
get(rowIndex: number, columnIndex: number): number {
|
|
39
|
+
if (columnIndex < 0 || columnIndex >= columns) return Number.NaN;
|
|
40
|
+
const row = rows[rowIndex];
|
|
41
|
+
if (row === undefined) return Number.NaN;
|
|
42
|
+
const value = row[columnIndex];
|
|
43
|
+
return value === undefined ? Number.NaN : value;
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* A matrix whose values pass through a function on the way out.
|
|
50
|
+
*
|
|
51
|
+
* It exists for the sign convention: a principal component's direction is
|
|
52
|
+
* arbitrary, so the scores of a flipped component have to be negated, and
|
|
53
|
+
* negating them in place would mean allocating a copy of the whole score
|
|
54
|
+
* matrix to change one column's sign.
|
|
55
|
+
* @param source - The matrix to read.
|
|
56
|
+
* @param transform - Applied to every value, given its position.
|
|
57
|
+
* @returns The mapped view, which holds a reference to `source` rather than a copy.
|
|
58
|
+
*/
|
|
59
|
+
export function mappedMatrix(
|
|
60
|
+
source: MatrixLike,
|
|
61
|
+
transform: (value: number, rowIndex: number, columnIndex: number) => number,
|
|
62
|
+
): MatrixLike {
|
|
63
|
+
return {
|
|
64
|
+
rows: source.rows,
|
|
65
|
+
columns: source.columns,
|
|
66
|
+
get(rowIndex: number, columnIndex: number): number {
|
|
67
|
+
return transform(
|
|
68
|
+
source.get(rowIndex, columnIndex),
|
|
69
|
+
rowIndex,
|
|
70
|
+
columnIndex,
|
|
71
|
+
);
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Two matrices of the same width read as one, the second below the first.
|
|
78
|
+
*
|
|
79
|
+
* It is how a set of samples a model was fitted on and a set placed into it
|
|
80
|
+
* afterwards reach a plot as one table, without either being copied: the rows
|
|
81
|
+
* of a projection and the rows of a later projection through the same model
|
|
82
|
+
* are two separate matrices that everything downstream wants to read as one.
|
|
83
|
+
* @param top - The upper matrix, whose width the result takes.
|
|
84
|
+
* @param bottom - The lower matrix; a column it does not reach reads as `NaN`.
|
|
85
|
+
* @returns The stacked view, holding a reference to both rather than a copy.
|
|
86
|
+
*/
|
|
87
|
+
export function stackedMatrix(top: MatrixLike, bottom: MatrixLike): MatrixLike {
|
|
88
|
+
const rows = top.rows + bottom.rows;
|
|
89
|
+
const { columns } = top;
|
|
90
|
+
return {
|
|
91
|
+
rows,
|
|
92
|
+
columns,
|
|
93
|
+
get(rowIndex: number, columnIndex: number): number {
|
|
94
|
+
if (rowIndex < 0 || rowIndex >= rows) return Number.NaN;
|
|
95
|
+
if (columnIndex < 0 || columnIndex >= columns) return Number.NaN;
|
|
96
|
+
if (rowIndex < top.rows) return top.get(rowIndex, columnIndex);
|
|
97
|
+
return bottom.get(rowIndex - top.rows, columnIndex);
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import type { ReactElement, SVGProps } from 'react';
|
|
2
|
+
|
|
3
|
+
import type { ChartAxisScale } from '../core/chartAxisScale.ts';
|
|
4
|
+
import { chartExponentSuffix } from '../core/chartAxisScale.ts';
|
|
5
|
+
import type { ChartScale } from '../core/chartScale.ts';
|
|
6
|
+
import { chartPixel } from '../core/chartScale.ts';
|
|
7
|
+
|
|
8
|
+
import type { ChartPlotArea } from './ChartFrame.tsx';
|
|
9
|
+
import {
|
|
10
|
+
CHART_AXIS_LINE_STYLE,
|
|
11
|
+
CHART_AXIS_TITLE_STYLE,
|
|
12
|
+
CHART_GRID_STYLE,
|
|
13
|
+
CHART_TICK_LABEL_INSET,
|
|
14
|
+
CHART_TICK_LABEL_OFFSET,
|
|
15
|
+
CHART_TICK_LABEL_STYLE,
|
|
16
|
+
CHART_TICK_LENGTH,
|
|
17
|
+
CHART_TICK_MARK_STYLE,
|
|
18
|
+
CHART_TICK_ROOM,
|
|
19
|
+
CHART_TITLE_OFFSET,
|
|
20
|
+
CHART_ZERO_RULE_STYLE,
|
|
21
|
+
} from './chartStyles.ts';
|
|
22
|
+
|
|
23
|
+
/** What {@link ChartAxis} draws. */
|
|
24
|
+
export interface ChartAxisProps {
|
|
25
|
+
/** Which edge of the plot the axis is written along. */
|
|
26
|
+
orientation: 'bottom' | 'left';
|
|
27
|
+
/** The niced axis, from `chartAxisScale`. */
|
|
28
|
+
scale: ChartAxisScale;
|
|
29
|
+
/** Data to pixels along this axis's own direction. */
|
|
30
|
+
pixels: ChartScale;
|
|
31
|
+
/** The rectangle the data is drawn in. */
|
|
32
|
+
plot: ChartPlotArea;
|
|
33
|
+
/**
|
|
34
|
+
* What the axis measures, built with `chartAxisTitle`. Whatever power of ten
|
|
35
|
+
* the labels were divided by is appended here, never by the caller.
|
|
36
|
+
* @default '' — the axis carries no title
|
|
37
|
+
*/
|
|
38
|
+
label?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Which half is drawn. The two halves straddle the data: a frame draws the
|
|
41
|
+
* `grid` half before it and the `axis` half after, so a rule never lies over
|
|
42
|
+
* a mark and a tick is never buried under one.
|
|
43
|
+
* @default 'both'
|
|
44
|
+
*/
|
|
45
|
+
layer?: 'grid' | 'axis' | 'both';
|
|
46
|
+
/**
|
|
47
|
+
* Whether the plot is ruled at every tick.
|
|
48
|
+
* @default true
|
|
49
|
+
*/
|
|
50
|
+
showGrid?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Whether the tick marks and their labels are drawn.
|
|
53
|
+
* @default true
|
|
54
|
+
*/
|
|
55
|
+
showTicks?: boolean;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* One axis of a figure: its rules, its line, its ticks and its title.
|
|
60
|
+
*
|
|
61
|
+
* A domain that straddles zero always gets a rule there, whatever the grid is
|
|
62
|
+
* doing, because it is the one line that says which side of nothing a value
|
|
63
|
+
* fell on — and it is drawn between the grid and the axis in weight so it
|
|
64
|
+
* reads as a landmark rather than as a second frame.
|
|
65
|
+
* @param props - See {@link ChartAxisProps}.
|
|
66
|
+
* @returns The axis.
|
|
67
|
+
*/
|
|
68
|
+
export function ChartAxis(props: ChartAxisProps): ReactElement {
|
|
69
|
+
const {
|
|
70
|
+
orientation,
|
|
71
|
+
scale,
|
|
72
|
+
pixels,
|
|
73
|
+
plot,
|
|
74
|
+
label = '',
|
|
75
|
+
layer = 'both',
|
|
76
|
+
showGrid = true,
|
|
77
|
+
showTicks = true,
|
|
78
|
+
} = props;
|
|
79
|
+
|
|
80
|
+
const horizontal = orientation === 'bottom';
|
|
81
|
+
const crossesZero = scale.domain[0] < 0 && scale.domain[1] > 0;
|
|
82
|
+
const title = `${label}${chartExponentSuffix(scale.exponent)}`;
|
|
83
|
+
|
|
84
|
+
return (
|
|
85
|
+
<g className={`chart-axis chart-axis-${orientation}`}>
|
|
86
|
+
{layer === 'axis'
|
|
87
|
+
? null
|
|
88
|
+
: gridRules(horizontal, scale, pixels, plot, showGrid, crossesZero)}
|
|
89
|
+
{layer === 'grid'
|
|
90
|
+
? null
|
|
91
|
+
: axisMarks(horizontal, scale, pixels, plot, showTicks, title)}
|
|
92
|
+
</g>
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function gridRules(
|
|
97
|
+
horizontal: boolean,
|
|
98
|
+
scale: ChartAxisScale,
|
|
99
|
+
pixels: ChartScale,
|
|
100
|
+
plot: ChartPlotArea,
|
|
101
|
+
showGrid: boolean,
|
|
102
|
+
crossesZero: boolean,
|
|
103
|
+
): ReactElement[] {
|
|
104
|
+
const rules: ReactElement[] = [];
|
|
105
|
+
if (showGrid) {
|
|
106
|
+
for (const value of scale.values) {
|
|
107
|
+
// The zero rule stands in for its own grid line rather than doubling it.
|
|
108
|
+
if (crossesZero && value === 0) continue;
|
|
109
|
+
rules.push(
|
|
110
|
+
<line
|
|
111
|
+
key={`grid-${value}`}
|
|
112
|
+
{...ruleGeometry(horizontal, chartPixel(pixels, value), plot)}
|
|
113
|
+
style={CHART_GRID_STYLE}
|
|
114
|
+
/>,
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (crossesZero) {
|
|
119
|
+
rules.push(
|
|
120
|
+
<line
|
|
121
|
+
key="zero"
|
|
122
|
+
data-chart-rule="zero"
|
|
123
|
+
{...ruleGeometry(horizontal, chartPixel(pixels, 0), plot)}
|
|
124
|
+
style={CHART_ZERO_RULE_STYLE}
|
|
125
|
+
/>,
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
return rules;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function axisMarks(
|
|
132
|
+
horizontal: boolean,
|
|
133
|
+
scale: ChartAxisScale,
|
|
134
|
+
pixels: ChartScale,
|
|
135
|
+
plot: ChartPlotArea,
|
|
136
|
+
showTicks: boolean,
|
|
137
|
+
title: string,
|
|
138
|
+
): ReactElement[] {
|
|
139
|
+
const marks: ReactElement[] = [
|
|
140
|
+
<line
|
|
141
|
+
key="line"
|
|
142
|
+
{...(horizontal
|
|
143
|
+
? { x1: plot.left, x2: plot.right, y1: plot.bottom, y2: plot.bottom }
|
|
144
|
+
: { x1: plot.left, x2: plot.left, y1: plot.top, y2: plot.bottom })}
|
|
145
|
+
style={CHART_AXIS_LINE_STYLE}
|
|
146
|
+
/>,
|
|
147
|
+
];
|
|
148
|
+
if (showTicks) {
|
|
149
|
+
for (let index = 0; index < scale.values.length; index++) {
|
|
150
|
+
const value = scale.values[index];
|
|
151
|
+
const text = scale.labels[index];
|
|
152
|
+
if (value === undefined || text === undefined) continue;
|
|
153
|
+
marks.push(tickMark(horizontal, chartPixel(pixels, value), text, plot));
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
if (title !== '') marks.push(axisTitle(horizontal, plot, showTicks, title));
|
|
157
|
+
return marks;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
function tickMark(
|
|
161
|
+
horizontal: boolean,
|
|
162
|
+
at: number,
|
|
163
|
+
text: string,
|
|
164
|
+
plot: ChartPlotArea,
|
|
165
|
+
): ReactElement {
|
|
166
|
+
const mark = horizontal
|
|
167
|
+
? { x1: at, x2: at, y1: plot.bottom, y2: plot.bottom + CHART_TICK_LENGTH }
|
|
168
|
+
: { x1: plot.left - CHART_TICK_LENGTH, x2: plot.left, y1: at, y2: at };
|
|
169
|
+
const caption: SVGProps<SVGTextElement> = horizontal
|
|
170
|
+
? { x: at, y: plot.bottom + CHART_TICK_LABEL_OFFSET, textAnchor: 'middle' }
|
|
171
|
+
: {
|
|
172
|
+
x: plot.left - CHART_TICK_LABEL_INSET,
|
|
173
|
+
y: at,
|
|
174
|
+
textAnchor: 'end',
|
|
175
|
+
dominantBaseline: 'middle',
|
|
176
|
+
};
|
|
177
|
+
return (
|
|
178
|
+
<g key={`tick-${at}`}>
|
|
179
|
+
<line {...mark} style={CHART_TICK_MARK_STYLE} />
|
|
180
|
+
<text {...caption} style={CHART_TICK_LABEL_STYLE}>
|
|
181
|
+
{text}
|
|
182
|
+
</text>
|
|
183
|
+
</g>
|
|
184
|
+
);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
function axisTitle(
|
|
188
|
+
horizontal: boolean,
|
|
189
|
+
plot: ChartPlotArea,
|
|
190
|
+
showTicks: boolean,
|
|
191
|
+
title: string,
|
|
192
|
+
): ReactElement {
|
|
193
|
+
if (horizontal) {
|
|
194
|
+
const room = showTicks ? CHART_TICK_ROOM.bottom : 0;
|
|
195
|
+
return (
|
|
196
|
+
<text
|
|
197
|
+
key="title"
|
|
198
|
+
x={(plot.left + plot.right) / 2}
|
|
199
|
+
y={plot.bottom + room + CHART_TITLE_OFFSET}
|
|
200
|
+
textAnchor="middle"
|
|
201
|
+
style={CHART_AXIS_TITLE_STYLE}
|
|
202
|
+
>
|
|
203
|
+
{title}
|
|
204
|
+
</text>
|
|
205
|
+
);
|
|
206
|
+
}
|
|
207
|
+
const room = showTicks ? CHART_TICK_ROOM.left : 0;
|
|
208
|
+
const x = plot.left - room - CHART_TICK_LENGTH;
|
|
209
|
+
const y = (plot.top + plot.bottom) / 2;
|
|
210
|
+
return (
|
|
211
|
+
<text
|
|
212
|
+
key="title"
|
|
213
|
+
x={x}
|
|
214
|
+
y={y}
|
|
215
|
+
textAnchor="middle"
|
|
216
|
+
transform={`rotate(-90 ${x} ${y})`}
|
|
217
|
+
style={CHART_AXIS_TITLE_STYLE}
|
|
218
|
+
>
|
|
219
|
+
{title}
|
|
220
|
+
</text>
|
|
221
|
+
);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
function ruleGeometry(
|
|
225
|
+
horizontal: boolean,
|
|
226
|
+
at: number,
|
|
227
|
+
plot: ChartPlotArea,
|
|
228
|
+
): { x1: number; x2: number; y1: number; y2: number } {
|
|
229
|
+
return horizontal
|
|
230
|
+
? { x1: at, x2: at, y1: plot.top, y2: plot.bottom }
|
|
231
|
+
: { x1: plot.left, x2: plot.right, y1: at, y2: at };
|
|
232
|
+
}
|