react-cheminfo 0.9.0 → 0.11.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/chrome/ui/NavLink.d.ts.map +1 -1
- package/lib/chrome/ui/NavLink.js +4 -3
- package/lib/chrome/ui/NavLink.js.map +1 -1
- package/lib/chrome/ui/SiteFooter.d.ts +8 -0
- package/lib/chrome/ui/SiteFooter.d.ts.map +1 -1
- package/lib/chrome/ui/SiteFooter.js +7 -2
- package/lib/chrome/ui/SiteFooter.js.map +1 -1
- package/lib/chrome/ui/SiteHeader.d.ts +11 -0
- package/lib/chrome/ui/SiteHeader.d.ts.map +1 -1
- package/lib/chrome/ui/SiteHeader.js +7 -2
- package/lib/chrome/ui/SiteHeader.js.map +1 -1
- package/lib/chrome/ui/navItem.d.ts +12 -0
- package/lib/chrome/ui/navItem.d.ts.map +1 -1
- package/lib/chrome/ui/navItem.js.map +1 -1
- 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 +6 -0
- package/lib/core.d.ts.map +1 -1
- package/lib/core.js +6 -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/figureLegend.d.ts +90 -0
- package/lib/download/core/figureLegend.d.ts.map +1 -0
- package/lib/download/core/figureLegend.js +77 -0
- package/lib/download/core/figureLegend.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 +164 -0
- package/lib/download/core/figureSvg.js.map +1 -0
- package/lib/download/core/figureSvgDocument.d.ts +62 -0
- package/lib/download/core/figureSvgDocument.d.ts.map +1 -0
- package/lib/download/core/figureSvgDocument.js +82 -0
- package/lib/download/core/figureSvgDocument.js.map +1 -0
- package/lib/download/core/figureTarget.d.ts +67 -0
- package/lib/download/core/figureTarget.d.ts.map +1 -0
- package/lib/download/core/figureTarget.js +138 -0
- package/lib/download/core/figureTarget.js.map +1 -0
- package/lib/download/core/index.d.ts +14 -0
- package/lib/download/core/index.d.ts.map +1 -1
- package/lib/download/core/index.js +8 -0
- package/lib/download/core/index.js.map +1 -1
- package/lib/download/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 +23 -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 +9 -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 +134 -0
- package/lib/projection/core/projectionCopy.d.ts.map +1 -0
- package/lib/projection/core/projectionCopy.js +114 -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 +143 -0
- package/lib/projection/core/projectionOptions.d.ts.map +1 -0
- package/lib/projection/core/projectionOptions.js +111 -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 +138 -0
- package/lib/projection/core/projectionStrings.d.ts.map +1 -0
- package/lib/projection/core/projectionStrings.js +182 -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 +58 -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 +60 -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 +107 -0
- package/lib/projection/ui/ProjectionMapTab.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionMapTab.js +43 -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 +79 -0
- package/lib/projection/ui/ProjectionPanel.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionPanel.js +72 -0
- package/lib/projection/ui/ProjectionPanel.js.map +1 -0
- package/lib/projection/ui/ProjectionReadout.d.ts +72 -0
- package/lib/projection/ui/ProjectionReadout.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionReadout.js +47 -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/ProjectionSpaceControls.d.ts +51 -0
- package/lib/projection/ui/ProjectionSpaceControls.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionSpaceControls.js +71 -0
- package/lib/projection/ui/ProjectionSpaceControls.js.map +1 -0
- package/lib/projection/ui/ProjectionSpaceMore.d.ts +32 -0
- package/lib/projection/ui/ProjectionSpaceMore.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionSpaceMore.js +57 -0
- package/lib/projection/ui/ProjectionSpaceMore.js.map +1 -0
- package/lib/projection/ui/ProjectionSpaceTab.d.ts +98 -0
- package/lib/projection/ui/ProjectionSpaceTab.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionSpaceTab.js +66 -0
- package/lib/projection/ui/ProjectionSpaceTab.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 +33 -0
- package/lib/projection/ui/ProjectionViewer.d.ts.map +1 -0
- package/lib/projection/ui/ProjectionViewer.js +91 -0
- package/lib/projection/ui/ProjectionViewer.js.map +1 -0
- package/lib/projection/ui/index.d.ts +20 -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 +141 -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 +138 -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 +98 -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/projectionCloudChoices.d.ts +18 -0
- package/lib/projection/ui/projectionCloudChoices.d.ts.map +1 -0
- package/lib/projection/ui/projectionCloudChoices.js +19 -0
- package/lib/projection/ui/projectionCloudChoices.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/projectionEllipsoid.d.ts +38 -0
- package/lib/projection/ui/projectionEllipsoid.d.ts.map +1 -0
- package/lib/projection/ui/projectionEllipsoid.js +71 -0
- package/lib/projection/ui/projectionEllipsoid.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 +81 -0
- package/lib/projection/ui/projectionMapChrome.d.ts.map +1 -0
- package/lib/projection/ui/projectionMapChrome.js +139 -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 +72 -0
- package/lib/projection/ui/projectionMapView.d.ts.map +1 -0
- package/lib/projection/ui/projectionMapView.js +116 -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/projectionSpaceModel.d.ts +14 -0
- package/lib/projection/ui/projectionSpaceModel.d.ts.map +1 -0
- package/lib/projection/ui/projectionSpaceModel.js +14 -0
- package/lib/projection/ui/projectionSpaceModel.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 +187 -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 +107 -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 +197 -0
- package/lib/scatter/ui/lassoGesture.d.ts.map +1 -0
- package/lib/scatter/ui/lassoGesture.js +103 -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 +269 -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 +112 -0
- package/lib/scatter/ui/useScatterInteraction.d.ts.map +1 -0
- package/lib/scatter/ui/useScatterInteraction.js +101 -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/scatter3d/core/cloudGesture.d.ts +17 -0
- package/lib/scatter3d/core/cloudGesture.d.ts.map +1 -0
- package/lib/scatter3d/core/cloudGesture.js +2 -0
- package/lib/scatter3d/core/cloudGesture.js.map +1 -0
- package/lib/scatter3d/core/confidenceEllipsoid.d.ts +63 -0
- package/lib/scatter3d/core/confidenceEllipsoid.d.ts.map +1 -0
- package/lib/scatter3d/core/confidenceEllipsoid.js +128 -0
- package/lib/scatter3d/core/confidenceEllipsoid.js.map +1 -0
- package/lib/scatter3d/core/cubeFrame.d.ts +40 -0
- package/lib/scatter3d/core/cubeFrame.d.ts.map +1 -0
- package/lib/scatter3d/core/cubeFrame.js +58 -0
- package/lib/scatter3d/core/cubeFrame.js.map +1 -0
- package/lib/scatter3d/core/cubePoints.d.ts +35 -0
- package/lib/scatter3d/core/cubePoints.d.ts.map +1 -0
- package/lib/scatter3d/core/cubePoints.js +50 -0
- package/lib/scatter3d/core/cubePoints.js.map +1 -0
- package/lib/scatter3d/core/ellipsoidCoverage.d.ts +32 -0
- package/lib/scatter3d/core/ellipsoidCoverage.d.ts.map +1 -0
- package/lib/scatter3d/core/ellipsoidCoverage.js +83 -0
- package/lib/scatter3d/core/ellipsoidCoverage.js.map +1 -0
- package/lib/scatter3d/core/ellipsoidSilhouette.d.ts +42 -0
- package/lib/scatter3d/core/ellipsoidSilhouette.d.ts.map +1 -0
- package/lib/scatter3d/core/ellipsoidSilhouette.js +52 -0
- package/lib/scatter3d/core/ellipsoidSilhouette.js.map +1 -0
- package/lib/scatter3d/core/index.d.ts +29 -0
- package/lib/scatter3d/core/index.d.ts.map +1 -0
- package/lib/scatter3d/core/index.js +22 -0
- package/lib/scatter3d/core/index.js.map +1 -0
- package/lib/scatter3d/core/orbitCamera.d.ts +113 -0
- package/lib/scatter3d/core/orbitCamera.d.ts.map +1 -0
- package/lib/scatter3d/core/orbitCamera.js +104 -0
- package/lib/scatter3d/core/orbitCamera.js.map +1 -0
- package/lib/scatter3d/core/symmetricEigen.d.ts +47 -0
- package/lib/scatter3d/core/symmetricEigen.d.ts.map +1 -0
- package/lib/scatter3d/core/symmetricEigen.js +219 -0
- package/lib/scatter3d/core/symmetricEigen.js.map +1 -0
- package/lib/scatter3d/ui/CloudFrameLayer.d.ts +33 -0
- package/lib/scatter3d/ui/CloudFrameLayer.d.ts.map +1 -0
- package/lib/scatter3d/ui/CloudFrameLayer.js +37 -0
- package/lib/scatter3d/ui/CloudFrameLayer.js.map +1 -0
- package/lib/scatter3d/ui/CloudPointLayer.d.ts +62 -0
- package/lib/scatter3d/ui/CloudPointLayer.d.ts.map +1 -0
- package/lib/scatter3d/ui/CloudPointLayer.js +67 -0
- package/lib/scatter3d/ui/CloudPointLayer.js.map +1 -0
- package/lib/scatter3d/ui/CloudShellLayer.d.ts +52 -0
- package/lib/scatter3d/ui/CloudShellLayer.d.ts.map +1 -0
- package/lib/scatter3d/ui/CloudShellLayer.js +40 -0
- package/lib/scatter3d/ui/CloudShellLayer.js.map +1 -0
- package/lib/scatter3d/ui/ScatterCloud.d.ts +24 -0
- package/lib/scatter3d/ui/ScatterCloud.d.ts.map +1 -0
- package/lib/scatter3d/ui/ScatterCloud.js +189 -0
- package/lib/scatter3d/ui/ScatterCloud.js.map +1 -0
- package/lib/scatter3d/ui/cloudGeometry.d.ts +108 -0
- package/lib/scatter3d/ui/cloudGeometry.d.ts.map +1 -0
- package/lib/scatter3d/ui/cloudGeometry.js +122 -0
- package/lib/scatter3d/ui/cloudGeometry.js.map +1 -0
- package/lib/scatter3d/ui/cloudShellStyles.d.ts +36 -0
- package/lib/scatter3d/ui/cloudShellStyles.d.ts.map +1 -0
- package/lib/scatter3d/ui/cloudShellStyles.js +62 -0
- package/lib/scatter3d/ui/cloudShellStyles.js.map +1 -0
- package/lib/scatter3d/ui/cloudZoom.d.ts +21 -0
- package/lib/scatter3d/ui/cloudZoom.d.ts.map +1 -0
- package/lib/scatter3d/ui/cloudZoom.js +22 -0
- package/lib/scatter3d/ui/cloudZoom.js.map +1 -0
- package/lib/scatter3d/ui/index.d.ts +29 -0
- package/lib/scatter3d/ui/index.d.ts.map +1 -0
- package/lib/scatter3d/ui/index.js +21 -0
- package/lib/scatter3d/ui/index.js.map +1 -0
- package/lib/scatter3d/ui/scatterCloudModel.d.ts +60 -0
- package/lib/scatter3d/ui/scatterCloudModel.d.ts.map +1 -0
- package/lib/scatter3d/ui/scatterCloudModel.js +66 -0
- package/lib/scatter3d/ui/scatterCloudModel.js.map +1 -0
- package/lib/scatter3d/ui/scatterCloudProps.d.ts +185 -0
- package/lib/scatter3d/ui/scatterCloudProps.d.ts.map +1 -0
- package/lib/scatter3d/ui/scatterCloudProps.js +9 -0
- package/lib/scatter3d/ui/scatterCloudProps.js.map +1 -0
- package/lib/scatter3d/ui/useOrbitDrag.d.ts +60 -0
- package/lib/scatter3d/ui/useOrbitDrag.d.ts.map +1 -0
- package/lib/scatter3d/ui/useOrbitDrag.js +129 -0
- package/lib/scatter3d/ui/useOrbitDrag.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 +7 -0
- package/lib/ui.d.ts.map +1 -1
- package/lib/ui.js +7 -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/chrome/ui/NavLink.tsx +5 -3
- package/src/chrome/ui/SiteFooter.tsx +16 -1
- package/src/chrome/ui/SiteHeader.tsx +19 -1
- package/src/chrome/ui/navItem.ts +12 -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 +6 -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/figureLegend.ts +167 -0
- package/src/download/core/figurePng.ts +87 -0
- package/src/download/core/figureScale.ts +83 -0
- package/src/download/core/figureSvg.ts +210 -0
- package/src/download/core/figureSvgDocument.ts +139 -0
- package/src/download/core/figureTarget.ts +151 -0
- package/src/download/core/index.ts +36 -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 +26 -1
- package/src/ecosystem/ui/glyphs.tsx +42 -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 +228 -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 +261 -0
- package/src/projection/core/projectionCopyPatch.ts +12 -0
- package/src/projection/core/projectionOptions.ts +283 -0
- package/src/projection/core/projectionResult.ts +123 -0
- package/src/projection/core/projectionSamples.ts +170 -0
- package/src/projection/core/projectionStrings.ts +281 -0
- package/src/projection/core/projectionTabDefaults.ts +63 -0
- package/src/projection/core/projectionTabs.ts +65 -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 +213 -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 +262 -0
- package/src/projection/ui/ProjectionReadout.tsx +159 -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/ProjectionSpaceControls.tsx +219 -0
- package/src/projection/ui/ProjectionSpaceMore.tsx +169 -0
- package/src/projection/ui/ProjectionSpaceTab.tsx +217 -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 +146 -0
- package/src/projection/ui/index.ts +20 -0
- package/src/projection/ui/projectionBarModel.ts +194 -0
- package/src/projection/ui/projectionBarReadings.ts +195 -0
- package/src/projection/ui/projectionBarSlots.tsx +158 -0
- package/src/projection/ui/projectionBarStyles.ts +174 -0
- package/src/projection/ui/projectionCloudChoices.ts +23 -0
- package/src/projection/ui/projectionEllipse.ts +104 -0
- package/src/projection/ui/projectionEllipsoid.ts +78 -0
- package/src/projection/ui/projectionFormat.ts +18 -0
- package/src/projection/ui/projectionMapChoices.ts +64 -0
- package/src/projection/ui/projectionMapChrome.ts +228 -0
- package/src/projection/ui/projectionMapModel.ts +253 -0
- package/src/projection/ui/projectionMapView.ts +233 -0
- package/src/projection/ui/projectionPairsCeiling.ts +45 -0
- package/src/projection/ui/projectionSelection.ts +87 -0
- package/src/projection/ui/projectionSpaceModel.ts +14 -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 +190 -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 +253 -0
- package/src/scatter/ui/ScatterPointLayer.tsx +168 -0
- package/src/scatter/ui/index.ts +123 -0
- package/src/scatter/ui/lassoGesture.ts +250 -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 +275 -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 +258 -0
- package/src/scatter/ui/useScatterKeyboard.ts +120 -0
- package/src/scatter/ui/useScatterSelection.ts +189 -0
- package/src/scatter3d/core/cloudGesture.ts +16 -0
- package/src/scatter3d/core/confidenceEllipsoid.ts +177 -0
- package/src/scatter3d/core/cubeFrame.ts +72 -0
- package/src/scatter3d/core/cubePoints.ts +75 -0
- package/src/scatter3d/core/ellipsoidCoverage.ts +86 -0
- package/src/scatter3d/core/ellipsoidSilhouette.ts +76 -0
- package/src/scatter3d/core/index.ts +52 -0
- package/src/scatter3d/core/orbitCamera.ts +159 -0
- package/src/scatter3d/core/symmetricEigen.ts +273 -0
- package/src/scatter3d/ui/CloudFrameLayer.tsx +97 -0
- package/src/scatter3d/ui/CloudPointLayer.tsx +132 -0
- package/src/scatter3d/ui/CloudShellLayer.tsx +107 -0
- package/src/scatter3d/ui/ScatterCloud.tsx +312 -0
- package/src/scatter3d/ui/cloudGeometry.ts +200 -0
- package/src/scatter3d/ui/cloudShellStyles.ts +74 -0
- package/src/scatter3d/ui/cloudZoom.ts +22 -0
- package/src/scatter3d/ui/index.ts +41 -0
- package/src/scatter3d/ui/scatterCloudModel.ts +98 -0
- package/src/scatter3d/ui/scatterCloudProps.ts +191 -0
- package/src/scatter3d/ui/useOrbitDrag.ts +220 -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 +7 -0
- package/styles/chrome.css +29 -4
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { OverlayCaption } from "../../overlay/ui/OverlayCaption.js";
|
|
4
|
+
/**
|
|
5
|
+
* The one sentence on this figure that is not behind the question mark.
|
|
6
|
+
*
|
|
7
|
+
* Everything the map has to say about itself standing still — what a dot is,
|
|
8
|
+
* what an outline holds — waits behind the `?` in the bar, because an embedded
|
|
9
|
+
* figure cannot spend three lines of somebody else's page on a paragraph most
|
|
10
|
+
* readers will not read twice. This sentence is the exception, and it is a
|
|
11
|
+
* different kind of thing: it says what is happening *now*, and a reader half
|
|
12
|
+
* way through a lasso cannot open a popover to find out whether letting go
|
|
13
|
+
* will replace what they had already picked or add to it.
|
|
14
|
+
*
|
|
15
|
+
* So it appears only while a gesture is under way, and for a few seconds after
|
|
16
|
+
* one, and it takes no room at all in between. That is also what lets it sit
|
|
17
|
+
* across the strip the horizontal axis is titled in: a standing caption there
|
|
18
|
+
* would cost the reader the axis name for good, while this one hands it back
|
|
19
|
+
* on its own a moment later, and during a drag the reader is watching the loop
|
|
20
|
+
* rather than the axis.
|
|
21
|
+
* @param props - See {@link ProjectionMapCaptionProps}.
|
|
22
|
+
* @returns The line, or nothing at all when nothing is happening.
|
|
23
|
+
*/
|
|
24
|
+
export function ProjectionMapCaption(props) {
|
|
25
|
+
const { report, copy, mode, drawing = false } = props;
|
|
26
|
+
const [faded, setFaded] = useState(0);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (report === null)
|
|
29
|
+
return undefined;
|
|
30
|
+
const { at } = report;
|
|
31
|
+
const timer = setTimeout(() => setFaded(at), ANNOUNCEMENT_MS);
|
|
32
|
+
return () => clearTimeout(timer);
|
|
33
|
+
}, [report]);
|
|
34
|
+
if (drawing) {
|
|
35
|
+
return (_jsx(OverlayCaption, { tone: "strong", live: true, children: copy.sentence[LASSO_SENTENCES[mode]] }));
|
|
36
|
+
}
|
|
37
|
+
if (report !== null && faded !== report.at) {
|
|
38
|
+
return (_jsx(OverlayCaption, { tone: "strong", live: true, children: report.text }));
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
/** Which sentence describes a drag under way, per mode. */
|
|
43
|
+
const LASSO_SENTENCES = {
|
|
44
|
+
replace: 'lassoReplace',
|
|
45
|
+
add: 'lassoAdd',
|
|
46
|
+
remove: 'lassoRemove',
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* How long a report holds the line. Long enough to read a short sentence
|
|
50
|
+
* twice, short enough that a reader who has moved on is not still being told
|
|
51
|
+
* what they did.
|
|
52
|
+
*/
|
|
53
|
+
const ANNOUNCEMENT_MS = 4000;
|
|
54
|
+
//# sourceMappingURL=ProjectionMapCaption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectionMapCaption.js","sourceRoot":"","sources":["../../../src/projection/ui/ProjectionMapCaption.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAqC,CAAC;AA2BrE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAgC;IAEhC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IACtD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACtC,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QACtB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;QAC9D,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,KAAC,cAAc,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,kBAC/B,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GACtB,CAClB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC;QAC3C,OAAO,CACL,KAAC,cAAc,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,kBAC/B,MAAM,CAAC,IAAI,GACG,CAClB,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2DAA2D;AAC3D,MAAM,eAAe,GAAG;IACtB,OAAO,EAAE,cAAc;IACvB,GAAG,EAAE,UAAU;IACf,MAAM,EAAE,aAAa;CAItB,CAAC;AAEF;;;;GAIG;AACH,MAAM,eAAe,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { OverlayTier } from '../../overlay/core/overlayTiers.ts';
|
|
3
|
+
import type { ProjectionCopy } from '../core/projectionCopy.ts';
|
|
4
|
+
import type { ProjectionOptions } from '../core/projectionOptions.ts';
|
|
5
|
+
import type { ProjectionReading } from './projectionBarReadings.ts';
|
|
6
|
+
/** What the map's controls are drawn from, wherever in the bar they sit. */
|
|
7
|
+
export interface ProjectionMapControlsProps {
|
|
8
|
+
/** What the map is showing, already resolved against the result. */
|
|
9
|
+
options: ProjectionOptions;
|
|
10
|
+
/** Called with only the options that changed, for the viewer to merge. */
|
|
11
|
+
onChange: (patch: Partial<ProjectionOptions>) => void;
|
|
12
|
+
/** The words the bar writes, already merged over the defaults. */
|
|
13
|
+
copy: ProjectionCopy;
|
|
14
|
+
/** What the set of groups is called, which is what `Colour by` offers. */
|
|
15
|
+
groupLabel: string;
|
|
16
|
+
/**
|
|
17
|
+
* Whether the samples carry groups at all. Without them the colour and the
|
|
18
|
+
* outlines stand for nothing, so their controls are greyed rather than
|
|
19
|
+
* removed: a reader who cannot find a control assumes the figure has none.
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
hasGroups?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* What the two settings currently read, with the figure's own colours. They
|
|
25
|
+
* are built once for the bar and handed down rather than spelled again here,
|
|
26
|
+
* so the chip can never write a value the fold was not measured against.
|
|
27
|
+
* @default [] — nothing is written, which is what the panel behind the cog
|
|
28
|
+
* wants
|
|
29
|
+
*/
|
|
30
|
+
readings?: readonly ProjectionReading[];
|
|
31
|
+
/**
|
|
32
|
+
* How much of itself the bar is writing.
|
|
33
|
+
* @default 'full'
|
|
34
|
+
*/
|
|
35
|
+
tier?: OverlayTier;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The map settings a reader changes while looking at the picture.
|
|
39
|
+
*
|
|
40
|
+
* They are the ones a reader who has never met a component still has an
|
|
41
|
+
* opinion about — what the colour means, whether the groups are ringed, and
|
|
42
|
+
* whether the picture writes the names — while the axes, the dot size and the
|
|
43
|
+
* gestures belong to somebody who already knows what they are looking for and
|
|
44
|
+
* wait behind the cog.
|
|
45
|
+
*
|
|
46
|
+
* The two names are switches rather than menus because they are the settings a
|
|
47
|
+
* reader throws and unthrows while reading rather than choosing once: a map of
|
|
48
|
+
* forty groups needs its crowds named, and a reader who has just found an
|
|
49
|
+
* outlier wants its name for as long as it takes to write it down.
|
|
50
|
+
*
|
|
51
|
+
* The first two are written as their values rather than as captions beside
|
|
52
|
+
* boxes: the name of a setting is read once, on the first visit, and its value
|
|
53
|
+
* is read every time the figure is looked at, so the bar says `Species` and
|
|
54
|
+
* `95%` and leaves `Colour by` and `Group outlines` to the pointer and the
|
|
55
|
+
* menu. Once the figure is too narrow to carry both, they gather into one chip
|
|
56
|
+
* that still reads them — a cog there would tell the reader nothing about how
|
|
57
|
+
* the picture in front of them is drawn.
|
|
58
|
+
*
|
|
59
|
+
* The two switches never gather. A switch has no value to write, so it is
|
|
60
|
+
* already as small as it can be drawn, and it stays a glyph on the bar at every
|
|
61
|
+
* width — beside the question mark and the cog, which are the same shape for
|
|
62
|
+
* the same reason.
|
|
63
|
+
* @param props - See {@link ProjectionMapControlsProps}.
|
|
64
|
+
* @returns The controls.
|
|
65
|
+
*/
|
|
66
|
+
export declare function ProjectionMapControls(props: ProjectionMapControlsProps): ReactElement;
|
|
67
|
+
//# sourceMappingURL=ProjectionMapControls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectionMapControls.d.ts","sourceRoot":"","sources":["../../../src/projection/ui/ProjectionMapControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAOtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAWpE,4EAA4E;AAC5E,MAAM,WAAW,0BAA0B;IACzC,oEAAoE;IACpE,OAAO,EAAE,iBAAiB,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACtD,kEAAkE;IAClE,IAAI,EAAE,cAAc,CAAC;IACrB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACxC;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,0BAA0B,GAChC,YAAY,CA+Ed"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { OverlayChip } from "../../overlay/ui/OverlayChip.js";
|
|
3
|
+
import { OverlaySegmented } from "../../overlay/ui/OverlaySegmented.js";
|
|
4
|
+
import { OverlaySelect } from "../../overlay/ui/OverlaySelect.js";
|
|
5
|
+
import { OverlayToggle } from "../../overlay/ui/OverlayToggle.js";
|
|
6
|
+
import { OverlayValueMenu } from "../../overlay/ui/OverlayValueMenu.js";
|
|
7
|
+
import { ellipseChoices, ellipseKey, ellipseSize, } from "./projectionEllipse.js";
|
|
8
|
+
import { projectionColourChoices, projectionOutlineChoices, } from "./projectionMapChoices.js";
|
|
9
|
+
/**
|
|
10
|
+
* The map settings a reader changes while looking at the picture.
|
|
11
|
+
*
|
|
12
|
+
* They are the ones a reader who has never met a component still has an
|
|
13
|
+
* opinion about — what the colour means, whether the groups are ringed, and
|
|
14
|
+
* whether the picture writes the names — while the axes, the dot size and the
|
|
15
|
+
* gestures belong to somebody who already knows what they are looking for and
|
|
16
|
+
* wait behind the cog.
|
|
17
|
+
*
|
|
18
|
+
* The two names are switches rather than menus because they are the settings a
|
|
19
|
+
* reader throws and unthrows while reading rather than choosing once: a map of
|
|
20
|
+
* forty groups needs its crowds named, and a reader who has just found an
|
|
21
|
+
* outlier wants its name for as long as it takes to write it down.
|
|
22
|
+
*
|
|
23
|
+
* The first two are written as their values rather than as captions beside
|
|
24
|
+
* boxes: the name of a setting is read once, on the first visit, and its value
|
|
25
|
+
* is read every time the figure is looked at, so the bar says `Species` and
|
|
26
|
+
* `95%` and leaves `Colour by` and `Group outlines` to the pointer and the
|
|
27
|
+
* menu. Once the figure is too narrow to carry both, they gather into one chip
|
|
28
|
+
* that still reads them — a cog there would tell the reader nothing about how
|
|
29
|
+
* the picture in front of them is drawn.
|
|
30
|
+
*
|
|
31
|
+
* The two switches never gather. A switch has no value to write, so it is
|
|
32
|
+
* already as small as it can be drawn, and it stays a glyph on the bar at every
|
|
33
|
+
* width — beside the question mark and the cog, which are the same shape for
|
|
34
|
+
* the same reason.
|
|
35
|
+
* @param props - See {@link ProjectionMapControlsProps}.
|
|
36
|
+
* @returns The controls.
|
|
37
|
+
*/
|
|
38
|
+
export function ProjectionMapControls(props) {
|
|
39
|
+
const { options, onChange, copy, groupLabel, hasGroups = false } = props;
|
|
40
|
+
const { readings = NO_READINGS, tier = 'full' } = props;
|
|
41
|
+
const { bar, help } = copy;
|
|
42
|
+
const uncoloured = !hasGroups || options.colorBy === 'none';
|
|
43
|
+
const settings = (_jsx(MapSettings, { options: options, onChange: onChange, copy: copy, groupLabel: groupLabel, hasGroups: hasGroups }));
|
|
44
|
+
const names = (_jsxs(_Fragment, { children: [_jsx(OverlayToggle, { label: bar.switches.showGroupLabels, help: help.showGroupLabels, icon: GROUP_LABELS_GLYPH, hideLabel: true, checked: options.showGroupLabels, disabled: uncoloured, onChange: (showGroupLabels) => onChange({ showGroupLabels }) }), _jsx(OverlayToggle, { label: bar.switches.showIds, help: help.showIds, icon: IDS_GLYPH, hideLabel: true, checked: options.showIds, onChange: (showIds) => onChange({ showIds }) })] }));
|
|
45
|
+
if (tier === 'chip' || tier === 'tiny') {
|
|
46
|
+
return (_jsxs(_Fragment, { children: [_jsx(OverlayChip, { label: bar.settings, settings: chipSettings(readings), disabled: !hasGroups, children: settings }), names] }));
|
|
47
|
+
}
|
|
48
|
+
return (_jsxs(_Fragment, { children: [_jsx(OverlayValueMenu, { label: help.colorBy.title, keyWord: bar.key.colorBy, showKey: tier === 'full', value: options.colorBy, swatches: swatchesOf(readings), disabled: !hasGroups, disabledReason: NO_GROUPS_REASON, options: projectionColourChoices(groupLabel, bar.uncoloured), onChange: (colorBy) => onChange({ colorBy }) }), _jsx(OverlayValueMenu, { label: help.ellipse.title, keyWord: bar.key.ellipse, showKey: tier === 'full', value: ellipseKey(options.ellipse), disabled: uncoloured, disabledReason: UNCOLOURED_REASON, options: projectionOutlineChoices(options, bar.noOutlines), onChange: (value) => onChange({ ellipse: ellipseSize(value) }) }), names] }));
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* What the chip reads out, which is every setting spelled in full.
|
|
52
|
+
* @param readings - What the settings currently read.
|
|
53
|
+
* @returns The chip's own settings.
|
|
54
|
+
*/
|
|
55
|
+
function chipSettings(readings) {
|
|
56
|
+
const settings = [];
|
|
57
|
+
for (const reading of readings) {
|
|
58
|
+
settings.push({
|
|
59
|
+
label: reading.label,
|
|
60
|
+
value: reading.value,
|
|
61
|
+
swatches: reading.swatches,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return settings;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* The figure's own colours, from whichever setting decides them.
|
|
68
|
+
* @param readings - What the settings currently read.
|
|
69
|
+
* @returns The colours, or nothing where the map is uncoloured.
|
|
70
|
+
*/
|
|
71
|
+
function swatchesOf(readings) {
|
|
72
|
+
for (const reading of readings) {
|
|
73
|
+
const { swatches } = reading;
|
|
74
|
+
if (swatches !== undefined && swatches.length > 0)
|
|
75
|
+
return swatches;
|
|
76
|
+
}
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* The same settings with their captions, for the panel the chip opens.
|
|
81
|
+
*
|
|
82
|
+
* They are the full controls rather than a reduced set: a reader who has
|
|
83
|
+
* opened the chip has room for the words, and the sentence `95% of samples`
|
|
84
|
+
* is the one place the figure explains what its outlines actually cover.
|
|
85
|
+
* @param props - See {@link MapSettingsProps}.
|
|
86
|
+
* @returns The captioned controls.
|
|
87
|
+
*/
|
|
88
|
+
function MapSettings(props) {
|
|
89
|
+
const { options, onChange, copy, groupLabel, hasGroups } = props;
|
|
90
|
+
const { bar, help } = copy;
|
|
91
|
+
return (_jsxs(_Fragment, { children: [_jsx(OverlaySegmented, { label: help.colorBy.title, help: help.colorBy, value: options.colorBy, disabled: !hasGroups, options: projectionColourChoices(groupLabel, bar.uncoloured), onChange: (colorBy) => onChange({ colorBy }) }), _jsx(OverlaySelect, { label: help.ellipse.title, help: help.ellipse, value: ellipseKey(options.ellipse), disabled: !hasGroups || options.colorBy === 'none', options: ellipseChoices(options.ellipse), onChange: (value) => onChange({ ellipse: ellipseSize(value) }) })] }));
|
|
92
|
+
}
|
|
93
|
+
/** Why the two settings are dead, written as the thing the data is missing. */
|
|
94
|
+
/**
|
|
95
|
+
* The two glyphs the switches ride as.
|
|
96
|
+
*
|
|
97
|
+
* A tag is what a group's name is — one word pinned to a crowd — and a number
|
|
98
|
+
* plate is the sample's own, which is exactly the difference the two switches
|
|
99
|
+
* make to the picture. Neither is left to be guessed at: the pointer is given
|
|
100
|
+
* the switch's name, and a narrow figure spells both out inside the chip.
|
|
101
|
+
*/
|
|
102
|
+
const GROUP_LABELS_GLYPH = 'tag';
|
|
103
|
+
const IDS_GLYPH = 'id-number';
|
|
104
|
+
const NO_GROUPS_REASON = 'These samples carry no groups to colour by.';
|
|
105
|
+
const UNCOLOURED_REASON = 'Outlines follow the groups, so colour the map by them first.';
|
|
106
|
+
/** No readings at all, which is what the panel behind the cog is handed. */
|
|
107
|
+
const NO_READINGS = [];
|
|
108
|
+
//# sourceMappingURL=ProjectionMapControls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectionMapControls.js","sourceRoot":"","sources":["../../../src/projection/ui/ProjectionMapControls.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { OverlayLegendEntry } from '../../overlay/ui/OverlayLegend.tsx';
|
|
3
|
+
import type { ProjectionMapCloud } from './projectionMapModel.ts';
|
|
4
|
+
/** What {@link ProjectionMapLegend} needs. */
|
|
5
|
+
export interface ProjectionMapLegendProps {
|
|
6
|
+
/** The one short sentence naming what the colour means here. */
|
|
7
|
+
title: string;
|
|
8
|
+
/** What each mark on the map means, in the order they are written. */
|
|
9
|
+
entries: readonly OverlayLegendEntry[];
|
|
10
|
+
/** Where every sample sits, in the embedding's own units. */
|
|
11
|
+
cloud: ProjectionMapCloud;
|
|
12
|
+
/** The range the horizontal axis covers. */
|
|
13
|
+
xDomain: readonly [number, number];
|
|
14
|
+
/** The range the vertical axis covers. */
|
|
15
|
+
yDomain: readonly [number, number];
|
|
16
|
+
/** Width of the whole figure, in pixels. */
|
|
17
|
+
width: number;
|
|
18
|
+
/** Its height. */
|
|
19
|
+
height: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The key, floating in the emptiest corner of the plot itself.
|
|
23
|
+
*
|
|
24
|
+
* It floats because an embedded figure cannot spend a block of somebody else's
|
|
25
|
+
* page on a card that says three words, and it is held inside the plot
|
|
26
|
+
* rectangle rather than inside the figure's own box because the strips outside
|
|
27
|
+
* that rectangle are where the axes are written: a key in the bottom left
|
|
28
|
+
* corner of the *figure* covers the vertical axis' labels and the name under
|
|
29
|
+
* the horizontal one, which is a worse trade than covering a few pixels of
|
|
30
|
+
* empty plot.
|
|
31
|
+
*
|
|
32
|
+
* Inside the plot every corner is honest, so the corner is chosen by counting
|
|
33
|
+
* the dots under each — a key in a fixed corner eventually sits on the one
|
|
34
|
+
* cluster the reader came for.
|
|
35
|
+
* @param props - See {@link ProjectionMapLegendProps}.
|
|
36
|
+
* @returns The key.
|
|
37
|
+
*/
|
|
38
|
+
export declare function ProjectionMapLegend(props: ProjectionMapLegendProps): ReactElement;
|
|
39
|
+
//# sourceMappingURL=ProjectionMapLegend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectionMapLegend.d.ts","sourceRoot":"","sources":["../../../src/projection/ui/ProjectionMapLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAG7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAOlE,8CAA8C;AAC9C,MAAM,WAAW,wBAAwB;IACvC,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACvC,6DAA6D;IAC7D,KAAK,EAAE,kBAAkB,CAAC;IAC1B,4CAA4C;IAC5C,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,0CAA0C;IAC1C,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,wBAAwB,GAC9B,YAAY,CAoBd"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { OverlayLegend } from "../../overlay/ui/OverlayLegend.js";
|
|
3
|
+
import { projectionMapCorner } from "./projectionMapModel.js";
|
|
4
|
+
import { PROJECTION_PLOT_AREA_STYLE, PROJECTION_PLOT_ROOM, } from "./projectionTabStyles.js";
|
|
5
|
+
/**
|
|
6
|
+
* The key, floating in the emptiest corner of the plot itself.
|
|
7
|
+
*
|
|
8
|
+
* It floats because an embedded figure cannot spend a block of somebody else's
|
|
9
|
+
* page on a card that says three words, and it is held inside the plot
|
|
10
|
+
* rectangle rather than inside the figure's own box because the strips outside
|
|
11
|
+
* that rectangle are where the axes are written: a key in the bottom left
|
|
12
|
+
* corner of the *figure* covers the vertical axis' labels and the name under
|
|
13
|
+
* the horizontal one, which is a worse trade than covering a few pixels of
|
|
14
|
+
* empty plot.
|
|
15
|
+
*
|
|
16
|
+
* Inside the plot every corner is honest, so the corner is chosen by counting
|
|
17
|
+
* the dots under each — a key in a fixed corner eventually sits on the one
|
|
18
|
+
* cluster the reader came for.
|
|
19
|
+
* @param props - See {@link ProjectionMapLegendProps}.
|
|
20
|
+
* @returns The key.
|
|
21
|
+
*/
|
|
22
|
+
export function ProjectionMapLegend(props) {
|
|
23
|
+
const { title, entries, cloud, xDomain, yDomain, width, height } = props;
|
|
24
|
+
const plotWidth = width - PROJECTION_PLOT_ROOM.left - PROJECTION_PLOT_ROOM.right;
|
|
25
|
+
const plotHeight = height - PROJECTION_PLOT_ROOM.top - PROJECTION_PLOT_ROOM.bottom;
|
|
26
|
+
const corner = projectionMapCorner(cloud, xDomain, yDomain, Math.max(0, plotWidth), Math.max(0, plotHeight));
|
|
27
|
+
return (_jsx("div", { style: PROJECTION_PLOT_AREA_STYLE, children: _jsx(OverlayLegend, { placement: corner, title: title, entries: entries }) }));
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=ProjectionMapLegend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectionMapLegend.js","sourceRoot":"","sources":["../../../src/projection/ui/ProjectionMapLegend.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAoC,CAAC;AAGnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAoBlC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAA+B;IAE/B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEzE,MAAM,SAAS,GACb,KAAK,GAAG,oBAAoB,CAAC,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC;IACjE,MAAM,UAAU,GACd,MAAM,GAAG,oBAAoB,CAAC,GAAG,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAClE,MAAM,MAAM,GAAG,mBAAmB,CAChC,KAAK,EACL,OAAO,EACP,OAAO,EACP,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,EACtB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CACxB,CAAC;IAEF,OAAO,CACL,cAAK,KAAK,EAAE,0BAA0B,YACpC,KAAC,aAAa,IAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAI,GAChE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { ProjectionResult } from '../core/projectionResult.ts';
|
|
3
|
+
import type { ProjectionMapControlsProps } from './ProjectionMapControls.tsx';
|
|
4
|
+
/** What {@link ProjectionMapMore} needs beyond the map's own controls. */
|
|
5
|
+
export interface ProjectionMapMoreProps extends ProjectionMapControlsProps {
|
|
6
|
+
/** The reduced space the controls apply to; its axes fill the two pickers. */
|
|
7
|
+
result: ProjectionResult;
|
|
8
|
+
/**
|
|
9
|
+
* How many samples are selected, which is what the two selection actions
|
|
10
|
+
* need before they can do anything.
|
|
11
|
+
* @default 0
|
|
12
|
+
*/
|
|
13
|
+
selectedCount?: number;
|
|
14
|
+
/** Draws the frame around the selected samples. */
|
|
15
|
+
onZoomToSelection: () => void;
|
|
16
|
+
/** Puts the frame back around every sample. */
|
|
17
|
+
onResetView: () => void;
|
|
18
|
+
/** Empties the selection. */
|
|
19
|
+
onClearSelection: () => void;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* What the map keeps behind the cog: the axes, the dot size, what a drag does,
|
|
23
|
+
* and the three buttons that act rather than change.
|
|
24
|
+
*
|
|
25
|
+
* Five settings is where a flat list stops being scannable, so they are filed
|
|
26
|
+
* under three headings — the two directions of the picture, the marks drawn in
|
|
27
|
+
* it, and the one gesture the reader makes over it — and the buttons leave the
|
|
28
|
+
* list entirely for the foot of the panel. A command sitting in a column of
|
|
29
|
+
* settings is read as one, and `Clear selection` read as a setting is a press
|
|
30
|
+
* nobody meant to make.
|
|
31
|
+
*
|
|
32
|
+
* The colour, the outlines and the two kinds of name are not here: they are on
|
|
33
|
+
* the bar itself, where a reader changes them while looking at the picture.
|
|
34
|
+
*
|
|
35
|
+
* The two selection actions are greyed rather than hidden while nothing is
|
|
36
|
+
* picked, so a reader learns that lassoing a crowd is worth doing before they
|
|
37
|
+
* have done it.
|
|
38
|
+
* @param props - See {@link ProjectionMapMoreProps}.
|
|
39
|
+
* @returns The panel behind the cog.
|
|
40
|
+
*/
|
|
41
|
+
export declare function ProjectionMapMore(props: ProjectionMapMoreProps): ReactElement;
|
|
42
|
+
//# sourceMappingURL=ProjectionMapMore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectionMapMore.d.ts","sourceRoot":"","sources":["../../../src/projection/ui/ProjectionMapMore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAY1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAOpE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,0EAA0E;AAC1E,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,8EAA8E;IAC9E,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,6BAA6B;IAC7B,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,YAAY,CAkF7E"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { chartAxisTitle } from "../../chart/core/chartLabels.js";
|
|
3
|
+
import { OverlayAction } from "../../overlay/ui/OverlayAction.js";
|
|
4
|
+
import { OverlayGroup } from "../../overlay/ui/OverlayGroup.js";
|
|
5
|
+
import { OverlayNumber } from "../../overlay/ui/OverlayNumber.js";
|
|
6
|
+
import { OverlayPanel } from "../../overlay/ui/OverlayPanel.js";
|
|
7
|
+
import { OverlaySegmented } from "../../overlay/ui/OverlaySegmented.js";
|
|
8
|
+
import { OverlaySelect } from "../../overlay/ui/OverlaySelect.js";
|
|
9
|
+
import { OverlayToggle } from "../../overlay/ui/OverlayToggle.js";
|
|
10
|
+
import { PROJECTION_PANEL_NAME, PROJECTION_PANEL_SECTION, } from "../core/projectionStrings.js";
|
|
11
|
+
import { PROJECTION_TAB_DEFAULTS } from "../core/projectionTabDefaults.js";
|
|
12
|
+
/**
|
|
13
|
+
* What the map keeps behind the cog: the axes, the dot size, what a drag does,
|
|
14
|
+
* and the three buttons that act rather than change.
|
|
15
|
+
*
|
|
16
|
+
* Five settings is where a flat list stops being scannable, so they are filed
|
|
17
|
+
* under three headings — the two directions of the picture, the marks drawn in
|
|
18
|
+
* it, and the one gesture the reader makes over it — and the buttons leave the
|
|
19
|
+
* list entirely for the foot of the panel. A command sitting in a column of
|
|
20
|
+
* settings is read as one, and `Clear selection` read as a setting is a press
|
|
21
|
+
* nobody meant to make.
|
|
22
|
+
*
|
|
23
|
+
* The colour, the outlines and the two kinds of name are not here: they are on
|
|
24
|
+
* the bar itself, where a reader changes them while looking at the picture.
|
|
25
|
+
*
|
|
26
|
+
* The two selection actions are greyed rather than hidden while nothing is
|
|
27
|
+
* picked, so a reader learns that lassoing a crowd is worth doing before they
|
|
28
|
+
* have done it.
|
|
29
|
+
* @param props - See {@link ProjectionMapMoreProps}.
|
|
30
|
+
* @returns The panel behind the cog.
|
|
31
|
+
*/
|
|
32
|
+
export function ProjectionMapMore(props) {
|
|
33
|
+
const { result, options, onChange, copy, hasGroups = false } = props;
|
|
34
|
+
const { selectedCount = 0, onZoomToSelection } = props;
|
|
35
|
+
const { onResetView, onClearSelection } = props;
|
|
36
|
+
const { action, help, tab } = copy;
|
|
37
|
+
const nothingPicked = selectedCount === 0;
|
|
38
|
+
const uncoloured = !hasGroups || options.colorBy === 'none';
|
|
39
|
+
return (_jsxs(OverlayPanel, { title: tab.map, onReset: () => onChange(PROJECTION_TAB_DEFAULTS.map), actions: _jsxs(_Fragment, { children: [_jsx(OverlayAction, { text: action.zoomToSelection, icon: "zoom-to-fit", disabled: nothingPicked, onClick: onZoomToSelection }), _jsx(OverlayAction, { text: action.resetView, icon: "reset", onClick: onResetView }), _jsx(OverlayAction, { text: action.clearSelection, icon: "cross", disabled: nothingPicked, onClick: onClearSelection })] }), children: [_jsxs(OverlayGroup, { label: PROJECTION_PANEL_SECTION.axes, divider: false, children: [_jsx(OverlaySelect, { label: PROJECTION_PANEL_NAME.xAxis, help: help.xAxis, value: String(options.xAxis), options: axisChoices(result, options.yAxis), onChange: (value) => onChange({ xAxis: Number(value) }) }), _jsx(OverlaySelect, { label: PROJECTION_PANEL_NAME.yAxis, help: help.yAxis, value: String(options.yAxis), options: axisChoices(result, options.xAxis), onChange: (value) => onChange({ yAxis: Number(value) }) })] }), _jsxs(OverlayGroup, { label: PROJECTION_PANEL_SECTION.drawing, children: [_jsx(OverlayNumber, { label: PROJECTION_PANEL_NAME.pointRadius, help: help.pointRadius, value: options.pointRadius, min: 1, max: 12, step: 0.5, digits: 1, unit: "px", onChange: (pointRadius) => onChange({ pointRadius }) }), _jsx(OverlayToggle, { label: PROJECTION_PANEL_NAME.showGroupMeans, help: help.showGroupMeans, checked: options.showGroupMeans, disabled: uncoloured, onChange: (showGroupMeans) => onChange({ showGroupMeans }) })] }), _jsx(OverlayGroup, { label: PROJECTION_PANEL_SECTION.selecting, children: _jsx(OverlaySegmented, { label: PROJECTION_PANEL_NAME.selectMode, help: help.selectMode, value: options.selectMode, options: SELECT_MODE_CHOICES, onChange: (selectMode) => onChange({ selectMode }) }) })] }));
|
|
40
|
+
}
|
|
41
|
+
const AXIS_TAKEN_NOTE = 'Already drawn on the other axis.';
|
|
42
|
+
/**
|
|
43
|
+
* What a plain drag does. Three words rather than a sentence, because a
|
|
44
|
+
* segment has room for one word and the line over the plot says the rest while
|
|
45
|
+
* the drag is under way.
|
|
46
|
+
*/
|
|
47
|
+
const SELECT_MODE_CHOICES = [
|
|
48
|
+
{ value: 'replace', label: 'Replace' },
|
|
49
|
+
{ value: 'add', label: 'Add' },
|
|
50
|
+
{ value: 'remove', label: 'Remove' },
|
|
51
|
+
];
|
|
52
|
+
/**
|
|
53
|
+
* The axes one picker offers, with the one already drawn kept but unreachable.
|
|
54
|
+
* @param result - The reduced space being drawn.
|
|
55
|
+
* @param taken - The axis the other picker is showing.
|
|
56
|
+
* @returns The choices, in the order the run produced them.
|
|
57
|
+
*/
|
|
58
|
+
function axisChoices(result, taken) {
|
|
59
|
+
const choices = [];
|
|
60
|
+
for (let index = 0; index < result.axes.length; index++) {
|
|
61
|
+
const axis = result.axes[index];
|
|
62
|
+
if (axis === undefined)
|
|
63
|
+
continue;
|
|
64
|
+
const drawn = index === taken;
|
|
65
|
+
choices.push({
|
|
66
|
+
value: String(index),
|
|
67
|
+
label: chartAxisTitle(axis.name, { share: axis.share }),
|
|
68
|
+
disabled: drawn,
|
|
69
|
+
title: drawn ? AXIS_TAKEN_NOTE : undefined,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
return choices;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=ProjectionMapMore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectionMapMore.js","sourceRoot":"","sources":["../../../src/projection/ui/ProjectionMapMore.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import type { ReactElement, ReactNode } from 'react';
|
|
2
|
+
import type { ChartViewport } from '../../chart/core/chartViewport.ts';
|
|
3
|
+
import type { ScatterPointOpen } from '../../scatter/ui/scatterPlotProps.ts';
|
|
4
|
+
import type { SelectionChange } from '../../scatter/ui/useScatterSelection.ts';
|
|
5
|
+
import type { ProjectionCopy } from '../core/projectionCopy.ts';
|
|
6
|
+
import type { ProjectionOptions } from '../core/projectionOptions.ts';
|
|
7
|
+
import type { ProjectionResult } from '../core/projectionResult.ts';
|
|
8
|
+
import type { ResolvedProjectionGroups } from '../core/projectionSamples.ts';
|
|
9
|
+
import type { SelectionReport } from './ProjectionMapCaption.tsx';
|
|
10
|
+
import type { ProjectionMapChrome } from './projectionMapChrome.ts';
|
|
11
|
+
/** What {@link ProjectionMapTab} needs. */
|
|
12
|
+
export interface ProjectionMapTabProps {
|
|
13
|
+
/** What the run produced, whatever produced it. */
|
|
14
|
+
result: ProjectionResult;
|
|
15
|
+
/** The groups, resolved once by the viewer so every tab colours alike. */
|
|
16
|
+
groups: ResolvedProjectionGroups;
|
|
17
|
+
/** What the map is showing, already resolved against `result`. */
|
|
18
|
+
options: ProjectionOptions;
|
|
19
|
+
/** The words the map writes, already merged over the defaults. */
|
|
20
|
+
copy: ProjectionCopy;
|
|
21
|
+
/** The key's title and entries, built once with the bar's explanation. */
|
|
22
|
+
chrome: ProjectionMapChrome;
|
|
23
|
+
/**
|
|
24
|
+
* What each sample is called, in the score matrix's row order, for the map's
|
|
25
|
+
* "Sample ID" setting to write beside its dot.
|
|
26
|
+
* @default undefined — the setting has nothing to write and draws nothing
|
|
27
|
+
*/
|
|
28
|
+
ids?: readonly string[];
|
|
29
|
+
/** Width of the figure, in pixels. */
|
|
30
|
+
width: number;
|
|
31
|
+
/** Height of the figure, in pixels. */
|
|
32
|
+
height: number;
|
|
33
|
+
/** The selected rows, as indices into the score matrix. */
|
|
34
|
+
selected: readonly number[];
|
|
35
|
+
/**
|
|
36
|
+
* The frame the map is drawn in, which is what a zoom leaves behind, or
|
|
37
|
+
* `null` to draw it around every sample.
|
|
38
|
+
* @default null
|
|
39
|
+
*/
|
|
40
|
+
viewport?: ChartViewport | null;
|
|
41
|
+
/**
|
|
42
|
+
* Called with the frame a wheel or a double click asks for.
|
|
43
|
+
* @default undefined
|
|
44
|
+
*/
|
|
45
|
+
onViewportChange?: (viewport: ChartViewport | null) => void;
|
|
46
|
+
/**
|
|
47
|
+
* Whether the wheel zooms the map, once the pointer has rested on it.
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
wheelZoom?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* What the last gesture picked out, for the line over the plot.
|
|
53
|
+
* @default null — nothing has happened yet
|
|
54
|
+
*/
|
|
55
|
+
report?: SelectionReport | null;
|
|
56
|
+
/**
|
|
57
|
+
* Called when a lasso is released, a dot is clicked, or the selection is
|
|
58
|
+
* emptied — never while a lasso is being drawn.
|
|
59
|
+
* @default undefined
|
|
60
|
+
*/
|
|
61
|
+
onSelectionChange?: (change: SelectionChange) => void;
|
|
62
|
+
/**
|
|
63
|
+
* Called with the row under the pointer, or `-1`.
|
|
64
|
+
* @default undefined
|
|
65
|
+
*/
|
|
66
|
+
onHoverChange?: (index: number) => void;
|
|
67
|
+
/**
|
|
68
|
+
* Called when the reader double-clicks a sample.
|
|
69
|
+
* @default undefined
|
|
70
|
+
*/
|
|
71
|
+
onPointDoubleClick?: (point: ScatterPointOpen) => void;
|
|
72
|
+
/**
|
|
73
|
+
* The card that follows the pointer. The viewer builds it, because it has to
|
|
74
|
+
* say the same thing on every tab.
|
|
75
|
+
* @default undefined — no card is drawn
|
|
76
|
+
*/
|
|
77
|
+
hoverCard?: ReactNode;
|
|
78
|
+
/**
|
|
79
|
+
* Whether a drag on a touch screen draws a lasso rather than scrolling.
|
|
80
|
+
* @default false
|
|
81
|
+
*/
|
|
82
|
+
touchLasso?: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Value of the `data-testid` attribute of the figure.
|
|
85
|
+
* @default undefined
|
|
86
|
+
*/
|
|
87
|
+
testId?: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* The map: one dot per sample, an outline per group, and a key floating in the
|
|
91
|
+
* emptiest corner of the plot.
|
|
92
|
+
*
|
|
93
|
+
* Colour stands for the group and for nothing else, and a selected dot keeps
|
|
94
|
+
* its colour and gains a ring — recolouring it would trade the answer the
|
|
95
|
+
* reader came for against the question they have just asked. A sample the
|
|
96
|
+
* model was built from is drawn filled and one placed into the finished model
|
|
97
|
+
* afterwards is drawn hollow, because the second kind can land anywhere and
|
|
98
|
+
* its landing far out is the finding rather than a fault.
|
|
99
|
+
*
|
|
100
|
+
* Nothing stands under the picture. The tab is one figure and its key, so the
|
|
101
|
+
* height a page gives the viewer is spent on the data; what the map has to say
|
|
102
|
+
* in words is behind the question mark in the bar above it.
|
|
103
|
+
* @param props - See {@link ProjectionMapTabProps}.
|
|
104
|
+
* @returns The figure.
|
|
105
|
+
*/
|
|
106
|
+
export declare function ProjectionMapTab(props: ProjectionMapTabProps): ReactElement;
|
|
107
|
+
//# sourceMappingURL=ProjectionMapTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectionMapTab.d.ts","sourceRoot":"","sources":["../../../src/projection/ui/ProjectionMapTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAE7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIlE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAUpE,2CAA2C;AAC3C,MAAM,WAAW,qBAAqB;IACpC,mDAAmD;IACnD,MAAM,EAAE,gBAAgB,CAAC;IACzB,0EAA0E;IAC1E,MAAM,EAAE,wBAAwB,CAAC;IACjC,kEAAkE;IAClE,OAAO,EAAE,iBAAiB,CAAC;IAC3B,kEAAkE;IAClE,IAAI,EAAE,cAAc,CAAC;IACrB,0EAA0E;IAC1E,MAAM,EAAE,mBAAmB,CAAC;IAC5B;;;;OAIG;IACH,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5D;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvD;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,CAqF3E"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useState } from 'react';
|
|
3
|
+
import { ScatterPlot } from "../../scatter/ui/ScatterPlot.js";
|
|
4
|
+
import { ProjectionMapCaption } from "./ProjectionMapCaption.js";
|
|
5
|
+
import { ProjectionMapLegend } from "./ProjectionMapLegend.js";
|
|
6
|
+
import { ProjectionSurface } from "./ProjectionSurface.js";
|
|
7
|
+
import { MINIMUM_OUTLINE_POINTS, projectionAxisTitle, projectionMapCloud, projectionMapDomain, projectionMapMarkers, projectionScatterGroups, } from "./projectionMapModel.js";
|
|
8
|
+
/**
|
|
9
|
+
* The map: one dot per sample, an outline per group, and a key floating in the
|
|
10
|
+
* emptiest corner of the plot.
|
|
11
|
+
*
|
|
12
|
+
* Colour stands for the group and for nothing else, and a selected dot keeps
|
|
13
|
+
* its colour and gains a ring — recolouring it would trade the answer the
|
|
14
|
+
* reader came for against the question they have just asked. A sample the
|
|
15
|
+
* model was built from is drawn filled and one placed into the finished model
|
|
16
|
+
* afterwards is drawn hollow, because the second kind can land anywhere and
|
|
17
|
+
* its landing far out is the finding rather than a fault.
|
|
18
|
+
*
|
|
19
|
+
* Nothing stands under the picture. The tab is one figure and its key, so the
|
|
20
|
+
* height a page gives the viewer is spent on the data; what the map has to say
|
|
21
|
+
* in words is behind the question mark in the bar above it.
|
|
22
|
+
* @param props - See {@link ProjectionMapTabProps}.
|
|
23
|
+
* @returns The figure.
|
|
24
|
+
*/
|
|
25
|
+
export function ProjectionMapTab(props) {
|
|
26
|
+
const { result, groups, options, copy, chrome, width, height } = props;
|
|
27
|
+
const { ids, selected, viewport = null, report = null } = props;
|
|
28
|
+
const { onSelectionChange, onHoverChange, hoverCard } = props;
|
|
29
|
+
const { onPointDoubleClick } = props;
|
|
30
|
+
const { onViewportChange, wheelZoom, touchLasso, testId } = props;
|
|
31
|
+
const { scores, fittedCount, markers } = result;
|
|
32
|
+
const { xAxis, yAxis, colorBy, showGroupMeans, pointRadius } = options;
|
|
33
|
+
const { showGroupLabels, showIds, selectMode, ellipse: outlines } = options;
|
|
34
|
+
const [drawing, setDrawing] = useState(false);
|
|
35
|
+
const cloud = useMemo(() => projectionMapCloud(scores, xAxis, yAxis), [scores, xAxis, yAxis]);
|
|
36
|
+
const xDomain = useMemo(() => projectionMapDomain(scores, xAxis), [scores, xAxis]);
|
|
37
|
+
const yDomain = useMemo(() => projectionMapDomain(scores, yAxis), [scores, yAxis]);
|
|
38
|
+
const colored = colorBy === 'group' && groups.entries.length > 0;
|
|
39
|
+
const ellipse = colored ? outlines : null;
|
|
40
|
+
return (_jsx(ScatterPlot, { x: cloud.x, y: cloud.y, width: width, height: height, xAxis: { domain: xDomain, label: projectionAxisTitle(result, xAxis) }, yAxis: { domain: yDomain, label: projectionAxisTitle(result, yAxis) }, groupOf: colored ? groups.groupOf : undefined, groups: colored ? projectionScatterGroups(groups) : undefined, ellipse: ellipse, ellipseMinimumPoints: MINIMUM_OUTLINE_POINTS, showGroupMeans: colored && showGroupMeans, showGroupLabels: colored && showGroupLabels, pointLabels: showIds ? ids : undefined, markers: projectionMapMarkers(markers ?? NO_MARKERS, groups, xAxis, yAxis), pointRadius: pointRadius, outlinedFrom: fittedCount, selected: selected, viewport: viewport, onViewportChange: onViewportChange, wheelZoom: wheelZoom, onSelectionChange: onSelectionChange, selectMode: selectMode, onHoverChange: onHoverChange, onPointDoubleClick: onPointDoubleClick, onLassoChange: setDrawing, touchLasso: touchLasso, testId: testId, overlay: _jsxs(ProjectionSurface, { children: [chrome.entries.length === 0 ? null : (_jsx(ProjectionMapLegend, { title: chrome.title, entries: chrome.entries, cloud: cloud, xDomain: viewport?.x ?? xDomain, yDomain: viewport?.y ?? yDomain, width: width, height: height })), _jsx(ProjectionMapCaption, { report: report, copy: copy, mode: selectMode, drawing: drawing }), hoverCard] }) }));
|
|
41
|
+
}
|
|
42
|
+
const NO_MARKERS = [];
|
|
43
|
+
//# sourceMappingURL=ProjectionMapTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectionMapTab.js","sourceRoot":"","sources":["../../../src/projection/ui/ProjectionMapTab.tsx"],"names":[],"mappings":"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"}
|