@tetrascience-npm/tetrascience-react-ui 0.7.0 → 1.0.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 +58 -4
- package/dist/ai/attachments.cjs +2 -0
- package/dist/ai/attachments.cjs.map +1 -0
- package/dist/ai/attachments.js +224 -0
- package/dist/ai/attachments.js.map +1 -0
- package/dist/ai/chain-of-thought.cjs +2 -0
- package/dist/ai/chain-of-thought.cjs.map +1 -0
- package/dist/ai/chain-of-thought.js +145 -0
- package/dist/ai/chain-of-thought.js.map +1 -0
- package/dist/ai/confirmation.cjs +2 -0
- package/dist/ai/confirmation.cjs.map +1 -0
- package/dist/ai/confirmation.js +109 -0
- package/dist/ai/confirmation.js.map +1 -0
- package/dist/ai/context.cjs +2 -0
- package/dist/ai/context.cjs.map +1 -0
- package/dist/ai/context.js +267 -0
- package/dist/ai/context.js.map +1 -0
- package/dist/ai/conversation.cjs +4 -0
- package/dist/ai/conversation.cjs.map +1 -0
- package/dist/ai/conversation.js +108 -0
- package/dist/ai/conversation.js.map +1 -0
- package/dist/ai/inline-citation.cjs +2 -0
- package/dist/ai/inline-citation.cjs.map +1 -0
- package/dist/ai/inline-citation.js +182 -0
- package/dist/ai/inline-citation.js.map +1 -0
- package/dist/ai/message.cjs +2 -0
- package/dist/ai/message.cjs.map +1 -0
- package/dist/ai/message.js +237 -0
- package/dist/ai/message.js.map +1 -0
- package/dist/ai/model-selector.cjs +2 -0
- package/dist/ai/model-selector.cjs.map +1 -0
- package/dist/ai/model-selector.js +77 -0
- package/dist/ai/model-selector.js.map +1 -0
- package/dist/ai/prompt-input.cjs +2 -0
- package/dist/ai/prompt-input.cjs.map +1 -0
- package/dist/ai/prompt-input.js +776 -0
- package/dist/ai/prompt-input.js.map +1 -0
- package/dist/ai/queue.cjs +2 -0
- package/dist/ai/queue.cjs.map +1 -0
- package/dist/ai/queue.js +209 -0
- package/dist/ai/queue.js.map +1 -0
- package/dist/ai/reasoning.cjs +2 -0
- package/dist/ai/reasoning.cjs.map +1 -0
- package/dist/ai/reasoning.js +129 -0
- package/dist/ai/reasoning.js.map +1 -0
- package/dist/ai/shimmer.cjs +2 -0
- package/dist/ai/shimmer.cjs.map +1 -0
- package/dist/ai/shimmer.js +49 -0
- package/dist/ai/shimmer.js.map +1 -0
- package/dist/ai/sources.cjs +2 -0
- package/dist/ai/sources.cjs.map +1 -0
- package/dist/ai/sources.js +54 -0
- package/dist/ai/sources.js.map +1 -0
- package/dist/ai/speech-input.cjs +2 -0
- package/dist/ai/speech-input.cjs.map +1 -0
- package/dist/ai/speech-input.js +123 -0
- package/dist/ai/speech-input.js.map +1 -0
- package/dist/ai/stream-status.cjs +2 -0
- package/dist/ai/stream-status.cjs.map +1 -0
- package/dist/ai/stream-status.js +108 -0
- package/dist/ai/stream-status.js.map +1 -0
- package/dist/ai/suggestion.cjs +2 -0
- package/dist/ai/suggestion.cjs.map +1 -0
- package/dist/ai/suggestion.js +38 -0
- package/dist/ai/suggestion.js.map +1 -0
- package/dist/ai/task.cjs +2 -0
- package/dist/ai/task.cjs.map +1 -0
- package/dist/ai/task.js +101 -0
- package/dist/ai/task.js.map +1 -0
- package/dist/ai/tool.cjs +2 -0
- package/dist/ai/tool.cjs.map +1 -0
- package/dist/ai/tool.js +139 -0
- package/dist/ai/tool.js.map +1 -0
- package/dist/charts/AreaPlot.cjs +2 -0
- package/dist/charts/AreaPlot.cjs.map +1 -0
- package/dist/charts/AreaPlot.js +5 -0
- package/dist/charts/AreaPlot.js.map +1 -0
- package/dist/charts/BarChart.cjs +2 -0
- package/dist/charts/BarChart.cjs.map +1 -0
- package/dist/charts/BarChart.js +5 -0
- package/dist/charts/BarChart.js.map +1 -0
- package/dist/charts/BoxPlot.cjs +2 -0
- package/dist/charts/BoxPlot.cjs.map +1 -0
- package/dist/charts/BoxPlot.js +5 -0
- package/dist/charts/BoxPlot.js.map +1 -0
- package/dist/charts/ChartTooltip.cjs +2 -0
- package/dist/charts/ChartTooltip.cjs.map +1 -0
- package/dist/charts/ChartTooltip.js +8 -0
- package/dist/charts/ChartTooltip.js.map +1 -0
- package/dist/charts/Chromatogram.cjs +2 -0
- package/dist/charts/Chromatogram.cjs.map +1 -0
- package/dist/charts/Chromatogram.js +5 -0
- package/dist/charts/Chromatogram.js.map +1 -0
- package/dist/charts/Electropherogram.cjs +2 -0
- package/dist/charts/Electropherogram.cjs.map +1 -0
- package/dist/charts/Electropherogram.js +5 -0
- package/dist/charts/Electropherogram.js.map +1 -0
- package/dist/charts/Histogram.cjs +2 -0
- package/dist/charts/Histogram.cjs.map +1 -0
- package/dist/charts/Histogram.js +5 -0
- package/dist/charts/Histogram.js.map +1 -0
- package/dist/charts/LinePlot.cjs +2 -0
- package/dist/charts/LinePlot.cjs.map +1 -0
- package/dist/charts/LinePlot.js +5 -0
- package/dist/charts/LinePlot.js.map +1 -0
- package/dist/charts/PieChart.cjs +2 -0
- package/dist/charts/PieChart.cjs.map +1 -0
- package/dist/charts/PieChart.js +5 -0
- package/dist/charts/PieChart.js.map +1 -0
- package/dist/charts/PlateMap.cjs +2 -0
- package/dist/charts/PlateMap.cjs.map +1 -0
- package/dist/charts/PlateMap.js +5 -0
- package/dist/charts/PlateMap.js.map +1 -0
- package/dist/charts/ScatterPlot.cjs +2 -0
- package/dist/charts/ScatterPlot.cjs.map +1 -0
- package/dist/charts/ScatterPlot.js +5 -0
- package/dist/charts/ScatterPlot.js.map +1 -0
- package/dist/charts/ScatterPlotInteractive.cjs +2 -0
- package/dist/charts/ScatterPlotInteractive.cjs.map +1 -0
- package/dist/charts/ScatterPlotInteractive.js +14 -0
- package/dist/charts/ScatterPlotInteractive.js.map +1 -0
- package/dist/charts/StackedChromatogram.cjs +2 -0
- package/dist/charts/StackedChromatogram.cjs.map +1 -0
- package/dist/charts/StackedChromatogram.js +7 -0
- package/dist/charts/StackedChromatogram.js.map +1 -0
- package/dist/components/ai/attachments.d.ts +54 -0
- package/dist/components/ai/chain-of-thought.d.ts +56 -0
- package/dist/components/ai/confirmation.d.ts +47 -0
- package/dist/components/ai/context.d.ts +40 -0
- package/dist/components/ai/conversation.d.ts +23 -0
- package/dist/components/ai/inline-citation.d.ts +38 -0
- package/dist/components/ai/message.d.ts +37 -0
- package/dist/components/ai/model-selector.d.ts +36 -0
- package/dist/components/ai/prompt-input.d.ts +158 -0
- package/dist/components/ai/queue.d.ts +72 -0
- package/dist/components/ai/reasoning.d.ts +26 -0
- package/dist/components/ai/shimmer.d.ts +17 -0
- package/dist/components/ai/sources.d.ts +12 -0
- package/dist/components/ai/speech-input.d.ts +54 -0
- package/dist/components/ai/stream-status.d.ts +66 -0
- package/dist/components/ai/streamdown-code-plugin.cjs +2 -0
- package/dist/components/ai/streamdown-code-plugin.cjs.map +1 -0
- package/dist/components/ai/streamdown-code-plugin.d.ts +2 -0
- package/dist/components/ai/streamdown-code-plugin.js +42 -0
- package/dist/components/ai/streamdown-code-plugin.js.map +1 -0
- package/dist/components/ai/streamdown-plugins.cjs +2 -0
- package/dist/components/ai/streamdown-plugins.cjs.map +1 -0
- package/dist/components/ai/streamdown-plugins.d.ts +2 -0
- package/dist/components/ai/streamdown-plugins.js +14 -0
- package/dist/components/ai/streamdown-plugins.js.map +1 -0
- package/dist/components/ai/suggestion.d.ts +9 -0
- package/dist/components/ai/task.d.ts +16 -0
- package/dist/components/ai/tool.d.ts +33 -0
- package/dist/components/ai/use-streamdown-plugins.cjs +2 -0
- package/dist/components/ai/use-streamdown-plugins.cjs.map +1 -0
- package/dist/components/ai/use-streamdown-plugins.d.ts +8 -0
- package/dist/components/ai/use-streamdown-plugins.js +25 -0
- package/dist/components/ai/use-streamdown-plugins.js.map +1 -0
- package/dist/components/charts/AreaPlot/AreaPlot.cjs +2 -0
- package/dist/components/charts/AreaPlot/AreaPlot.cjs.map +1 -0
- package/dist/components/charts/AreaPlot/AreaPlot.d.ts +39 -0
- package/dist/components/charts/AreaPlot/AreaPlot.js +270 -0
- package/dist/components/charts/AreaPlot/AreaPlot.js.map +1 -0
- package/dist/components/charts/AreaPlot/index.d.ts +2 -0
- package/dist/components/charts/BarChart/BarChart.cjs +2 -0
- package/dist/components/charts/BarChart/BarChart.cjs.map +1 -0
- package/dist/components/charts/BarChart/BarChart.d.ts +44 -0
- package/dist/components/charts/BarChart/BarChart.js +219 -0
- package/dist/components/charts/BarChart/BarChart.js.map +1 -0
- package/dist/components/charts/BarChart/index.d.ts +2 -0
- package/dist/components/charts/BoxPlot/BoxPlot.cjs +2 -0
- package/dist/components/charts/BoxPlot/BoxPlot.cjs.map +1 -0
- package/dist/components/charts/BoxPlot/BoxPlot.d.ts +33 -0
- package/dist/components/charts/BoxPlot/BoxPlot.js +208 -0
- package/dist/components/charts/BoxPlot/BoxPlot.js.map +1 -0
- package/dist/components/charts/BoxPlot/index.d.ts +2 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.cjs +1 -1
- package/dist/components/charts/ChartTooltip/ChartTooltip.cjs.map +1 -1
- package/dist/components/charts/ChartTooltip/ChartTooltip.d.ts +71 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.js +22 -22
- package/dist/components/charts/ChartTooltip/ChartTooltip.js.map +1 -1
- package/dist/components/charts/ChartTooltip/index.d.ts +2 -0
- package/dist/components/charts/ChartTooltip/lines.d.ts +54 -0
- package/dist/components/charts/Chromatogram/Chromatogram.cjs +1 -1
- package/dist/components/charts/Chromatogram/Chromatogram.cjs.map +1 -1
- package/dist/components/charts/Chromatogram/Chromatogram.d.ts +5 -0
- package/dist/components/charts/Chromatogram/Chromatogram.js +232 -170
- package/dist/components/charts/Chromatogram/Chromatogram.js.map +1 -1
- package/dist/components/charts/Chromatogram/annotations.cjs +2 -0
- package/dist/components/charts/Chromatogram/annotations.cjs.map +1 -0
- package/dist/components/charts/Chromatogram/annotations.d.ts +50 -0
- package/dist/components/charts/Chromatogram/annotations.js +137 -0
- package/dist/components/charts/Chromatogram/annotations.js.map +1 -0
- package/dist/components/charts/Chromatogram/boundaryMarkers.cjs +2 -0
- package/dist/components/charts/Chromatogram/boundaryMarkers.cjs.map +1 -0
- package/dist/components/charts/Chromatogram/boundaryMarkers.d.ts +14 -0
- package/dist/components/charts/Chromatogram/boundaryMarkers.js +34 -0
- package/dist/components/charts/Chromatogram/boundaryMarkers.js.map +1 -0
- package/dist/components/charts/Chromatogram/constants.cjs +2 -0
- package/dist/components/charts/Chromatogram/constants.cjs.map +1 -0
- package/dist/components/charts/Chromatogram/constants.d.ts +46 -0
- package/dist/components/charts/Chromatogram/constants.js +36 -0
- package/dist/components/charts/Chromatogram/constants.js.map +1 -0
- package/dist/components/charts/Chromatogram/dataProcessing.cjs +2 -0
- package/dist/components/charts/Chromatogram/dataProcessing.cjs.map +1 -0
- package/dist/components/charts/Chromatogram/dataProcessing.d.ts +49 -0
- package/dist/components/charts/Chromatogram/dataProcessing.js +90 -0
- package/dist/components/charts/Chromatogram/dataProcessing.js.map +1 -0
- package/dist/components/charts/Chromatogram/index.d.ts +2 -0
- package/dist/components/charts/Chromatogram/peakDetection.cjs.map +1 -0
- package/dist/components/charts/Chromatogram/peakDetection.d.ts +33 -0
- package/dist/components/charts/Chromatogram/peakDetection.js.map +1 -0
- package/dist/components/charts/Chromatogram/plotBuilder.cjs +2 -0
- package/dist/components/charts/Chromatogram/plotBuilder.cjs.map +1 -0
- package/dist/components/charts/Chromatogram/plotBuilder.d.ts +58 -0
- package/dist/components/charts/Chromatogram/plotBuilder.js +216 -0
- package/dist/components/charts/Chromatogram/plotBuilder.js.map +1 -0
- package/dist/components/charts/Chromatogram/regionOverlays.cjs +2 -0
- package/dist/components/charts/Chromatogram/regionOverlays.cjs.map +1 -0
- package/dist/components/charts/Chromatogram/regionOverlays.d.ts +9 -0
- package/dist/components/charts/Chromatogram/regionOverlays.js +26 -0
- package/dist/components/charts/Chromatogram/regionOverlays.js.map +1 -0
- package/dist/components/charts/Chromatogram/types.d.ts +258 -0
- package/dist/components/charts/Electropherogram/Electropherogram.cjs +2 -0
- package/dist/components/charts/Electropherogram/Electropherogram.cjs.map +1 -0
- package/dist/components/charts/Electropherogram/Electropherogram.d.ts +22 -0
- package/dist/components/charts/Electropherogram/Electropherogram.js +180 -0
- package/dist/components/charts/Electropherogram/Electropherogram.js.map +1 -0
- package/dist/components/charts/Electropherogram/index.d.ts +2 -0
- package/dist/components/charts/Histogram/Histogram.cjs +1 -1
- package/dist/components/charts/Histogram/Histogram.cjs.map +1 -1
- package/dist/components/charts/Histogram/Histogram.d.ts +36 -0
- package/dist/components/charts/Histogram/Histogram.js +107 -108
- package/dist/components/charts/Histogram/Histogram.js.map +1 -1
- package/dist/components/charts/Histogram/index.d.ts +2 -0
- package/dist/components/charts/LinePlot/LinePlot.cjs +2 -0
- package/dist/components/charts/LinePlot/LinePlot.cjs.map +1 -0
- package/dist/components/charts/LinePlot/LinePlot.d.ts +45 -0
- package/dist/components/charts/LinePlot/LinePlot.js +224 -0
- package/dist/components/charts/LinePlot/LinePlot.js.map +1 -0
- package/dist/components/charts/LinePlot/index.d.ts +2 -0
- package/dist/components/charts/PieChart/PieChart.cjs +1 -1
- package/dist/components/charts/PieChart/PieChart.cjs.map +1 -1
- package/dist/components/charts/PieChart/PieChart.d.ts +20 -0
- package/dist/components/charts/PieChart/PieChart.js +62 -61
- package/dist/components/charts/PieChart/PieChart.js.map +1 -1
- package/dist/components/charts/PieChart/index.d.ts +2 -0
- package/dist/components/charts/PlateMap/PlateMap.cjs +1 -1
- package/dist/components/charts/PlateMap/PlateMap.cjs.map +1 -1
- package/dist/components/charts/PlateMap/PlateMap.d.ts +29 -0
- package/dist/components/charts/PlateMap/PlateMap.js +246 -242
- package/dist/components/charts/PlateMap/PlateMap.js.map +1 -1
- package/dist/components/charts/PlateMap/constants.d.ts +75 -0
- package/dist/components/charts/PlateMap/index.d.ts +2 -0
- package/dist/components/charts/PlateMap/types.d.ts +322 -0
- package/dist/components/charts/PlateMap/utils.d.ts +133 -0
- package/dist/components/charts/ScatterPlot/ScatterPlot.cjs +2 -0
- package/dist/components/charts/ScatterPlot/ScatterPlot.cjs.map +1 -0
- package/dist/components/charts/ScatterPlot/ScatterPlot.d.ts +43 -0
- package/dist/components/charts/ScatterPlot/ScatterPlot.js +252 -0
- package/dist/components/charts/ScatterPlot/ScatterPlot.js.map +1 -0
- package/dist/components/charts/ScatterPlot/index.d.ts +2 -0
- package/dist/components/charts/ScatterPlotInteractive/ScatterPlotInteractive.cjs +2 -0
- package/dist/components/charts/ScatterPlotInteractive/ScatterPlotInteractive.cjs.map +1 -0
- package/dist/components/charts/ScatterPlotInteractive/ScatterPlotInteractive.d.ts +25 -0
- package/dist/components/charts/ScatterPlotInteractive/ScatterPlotInteractive.js +215 -0
- package/dist/components/charts/ScatterPlotInteractive/ScatterPlotInteractive.js.map +1 -0
- package/dist/components/charts/ScatterPlotInteractive/constants.cjs +2 -0
- package/dist/components/charts/ScatterPlotInteractive/constants.cjs.map +1 -0
- package/dist/components/charts/ScatterPlotInteractive/constants.d.ts +50 -0
- package/dist/components/charts/ScatterPlotInteractive/constants.js +38 -0
- package/dist/components/charts/ScatterPlotInteractive/constants.js.map +1 -0
- package/dist/components/charts/ScatterPlotInteractive/index.d.ts +3 -0
- package/dist/components/charts/ScatterPlotInteractive/types.d.ts +226 -0
- package/dist/components/charts/ScatterPlotInteractive/utils.cjs +2 -0
- package/dist/components/charts/ScatterPlotInteractive/utils.cjs.map +1 -0
- package/dist/components/charts/ScatterPlotInteractive/utils.d.ts +72 -0
- package/dist/components/charts/ScatterPlotInteractive/utils.js +261 -0
- package/dist/components/charts/ScatterPlotInteractive/utils.js.map +1 -0
- package/dist/components/charts/StackedChromatogram/StackedChromatogram.cjs +2 -0
- package/dist/components/charts/StackedChromatogram/StackedChromatogram.cjs.map +1 -0
- package/dist/components/charts/StackedChromatogram/StackedChromatogram.d.ts +3 -0
- package/dist/components/charts/StackedChromatogram/StackedChromatogram.js +40 -0
- package/dist/components/charts/StackedChromatogram/StackedChromatogram.js.map +1 -0
- package/dist/components/charts/StackedChromatogram/index.d.ts +3 -0
- package/dist/components/charts/StackedChromatogram/transforms.cjs +2 -0
- package/dist/components/charts/StackedChromatogram/transforms.cjs.map +1 -0
- package/dist/components/charts/StackedChromatogram/transforms.d.ts +9 -0
- package/dist/components/charts/StackedChromatogram/transforms.js +31 -0
- package/dist/components/charts/StackedChromatogram/transforms.js.map +1 -0
- package/dist/components/charts/StackedChromatogram/types.d.ts +26 -0
- package/dist/components/charts/plotly-loader.cjs +2 -0
- package/dist/components/charts/plotly-loader.cjs.map +1 -0
- package/dist/components/charts/plotly-loader.d.ts +29 -0
- package/dist/components/charts/plotly-loader.js +22 -0
- package/dist/components/charts/plotly-loader.js.map +1 -0
- package/dist/components/composed/AssistantLayout/AssistantLayout.cjs +2 -0
- package/dist/components/composed/AssistantLayout/AssistantLayout.cjs.map +1 -0
- package/dist/components/composed/AssistantLayout/AssistantLayout.d.ts +63 -0
- package/dist/components/composed/AssistantLayout/AssistantLayout.js +142 -0
- package/dist/components/composed/AssistantLayout/AssistantLayout.js.map +1 -0
- package/dist/components/composed/AssistantLayout/dockLayout.cjs +2 -0
- package/dist/components/composed/AssistantLayout/dockLayout.cjs.map +1 -0
- package/dist/components/composed/AssistantLayout/dockLayout.d.ts +15 -0
- package/dist/components/composed/AssistantLayout/dockLayout.js +10 -0
- package/dist/components/composed/AssistantLayout/dockLayout.js.map +1 -0
- package/dist/components/composed/AssistantLayout/index.d.ts +3 -0
- package/dist/components/composed/Chat/Chat.cjs +1 -1
- package/dist/components/composed/Chat/Chat.cjs.map +1 -1
- package/dist/components/composed/Chat/Chat.d.ts +35 -0
- package/dist/components/composed/Chat/Chat.js +28 -28
- package/dist/components/composed/Chat/Chat.js.map +1 -1
- package/dist/components/composed/Chat/index.d.ts +2 -0
- package/dist/components/composed/ConfirmDialog/ConfirmDialog.cjs +1 -1
- package/dist/components/composed/ConfirmDialog/ConfirmDialog.cjs.map +1 -1
- package/dist/components/composed/ConfirmDialog/ConfirmDialog.d.ts +23 -0
- package/dist/components/composed/ConfirmDialog/ConfirmDialog.js +33 -29
- package/dist/components/composed/ConfirmDialog/ConfirmDialog.js.map +1 -1
- package/dist/components/composed/ConfirmDialog/index.d.ts +1 -0
- package/dist/components/composed/DataAppShell/CollapseButton.cjs +2 -0
- package/dist/components/composed/DataAppShell/CollapseButton.cjs.map +1 -0
- package/dist/components/composed/DataAppShell/CollapseButton.d.ts +23 -0
- package/dist/components/composed/DataAppShell/CollapseButton.js +42 -0
- package/dist/components/composed/DataAppShell/CollapseButton.js.map +1 -0
- package/dist/components/composed/DataAppShell/DataAppShell.cjs +1 -1
- package/dist/components/composed/DataAppShell/DataAppShell.cjs.map +1 -1
- package/dist/components/composed/DataAppShell/DataAppShell.d.ts +88 -0
- package/dist/components/composed/DataAppShell/DataAppShell.js +350 -328
- package/dist/components/composed/DataAppShell/DataAppShell.js.map +1 -1
- package/dist/components/composed/DataAppShell/PrimaryNav.cjs +2 -0
- package/dist/components/composed/DataAppShell/PrimaryNav.cjs.map +1 -0
- package/dist/components/composed/DataAppShell/PrimaryNav.d.ts +64 -0
- package/dist/components/composed/DataAppShell/PrimaryNav.js +268 -0
- package/dist/components/composed/DataAppShell/PrimaryNav.js.map +1 -0
- package/dist/components/composed/DataAppShell/RightPanel.cjs +2 -0
- package/dist/components/composed/DataAppShell/RightPanel.cjs.map +1 -0
- package/dist/components/composed/DataAppShell/RightPanel.d.ts +95 -0
- package/dist/components/composed/DataAppShell/RightPanel.js +282 -0
- package/dist/components/composed/DataAppShell/RightPanel.js.map +1 -0
- package/dist/components/composed/DataAppShell/SecondaryNav.cjs +2 -0
- package/dist/components/composed/DataAppShell/SecondaryNav.cjs.map +1 -0
- package/dist/components/composed/DataAppShell/SecondaryNav.d.ts +63 -0
- package/dist/components/composed/DataAppShell/SecondaryNav.js +364 -0
- package/dist/components/composed/DataAppShell/SecondaryNav.js.map +1 -0
- package/dist/components/composed/DataAppShell/ShellContext.cjs +2 -0
- package/dist/components/composed/DataAppShell/ShellContext.cjs.map +1 -0
- package/dist/components/composed/DataAppShell/ShellContext.d.ts +20 -0
- package/dist/components/composed/DataAppShell/ShellContext.js +23 -0
- package/dist/components/composed/DataAppShell/ShellContext.js.map +1 -0
- package/dist/components/composed/DataAppShell/index.d.ts +12 -0
- package/dist/components/composed/EmptyState/EmptyState.d.ts +12 -0
- package/dist/components/composed/EmptyState/index.d.ts +2 -0
- package/dist/components/composed/FormPatterns/FormSection.cjs +1 -1
- package/dist/components/composed/FormPatterns/FormSection.cjs.map +1 -1
- package/dist/components/composed/FormPatterns/FormSection.d.ts +7 -0
- package/dist/components/composed/FormPatterns/FormSection.js +2 -2
- package/dist/components/composed/FormPatterns/index.d.ts +1 -0
- package/dist/components/composed/MoleculeStructure/MoleculeStructure.cjs +2 -0
- package/dist/components/composed/MoleculeStructure/MoleculeStructure.cjs.map +1 -0
- package/dist/components/composed/MoleculeStructure/MoleculeStructure.d.ts +43 -0
- package/dist/components/composed/MoleculeStructure/MoleculeStructure.js +87 -0
- package/dist/components/composed/MoleculeStructure/MoleculeStructure.js.map +1 -0
- package/dist/components/composed/MoleculeStructure/index.d.ts +3 -0
- package/dist/components/composed/MoleculeStructure/rdkit-loader.cjs +2 -0
- package/dist/components/composed/MoleculeStructure/rdkit-loader.cjs.map +1 -0
- package/dist/components/composed/MoleculeStructure/rdkit-loader.d.ts +104 -0
- package/dist/components/composed/MoleculeStructure/rdkit-loader.js +89 -0
- package/dist/components/composed/MoleculeStructure/rdkit-loader.js.map +1 -0
- package/dist/components/composed/MoleculeStructure/use-rdkit.cjs +2 -0
- package/dist/components/composed/MoleculeStructure/use-rdkit.cjs.map +1 -0
- package/dist/components/composed/MoleculeStructure/use-rdkit.d.ts +29 -0
- package/dist/components/composed/MoleculeStructure/use-rdkit.js +19 -0
- package/dist/components/composed/MoleculeStructure/use-rdkit.js.map +1 -0
- package/dist/components/composed/PlateMapEditor/ManifestFilterPopover.cjs +1 -1
- package/dist/components/composed/PlateMapEditor/ManifestFilterPopover.cjs.map +1 -1
- package/dist/components/composed/PlateMapEditor/ManifestFilterPopover.d.ts +12 -0
- package/dist/components/composed/PlateMapEditor/ManifestFilterPopover.js +21 -21
- package/dist/components/composed/PlateMapEditor/ManifestFilterPopover.js.map +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapActionsMenu.cjs +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapActionsMenu.cjs.map +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapActionsMenu.d.ts +22 -0
- package/dist/components/composed/PlateMapEditor/PlateMapActionsMenu.js +34 -34
- package/dist/components/composed/PlateMapEditor/PlateMapActionsMenu.js.map +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapEditor.cjs +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapEditor.cjs.map +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapEditor.d.ts +106 -0
- package/dist/components/composed/PlateMapEditor/PlateMapEditor.js +2 -2
- package/dist/components/composed/PlateMapEditor/PlateMapForm.cjs +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapForm.cjs.map +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapForm.d.ts +30 -0
- package/dist/components/composed/PlateMapEditor/PlateMapForm.js +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapGrid.cjs +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapGrid.cjs.map +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapGrid.d.ts +64 -0
- package/dist/components/composed/PlateMapEditor/PlateMapGrid.js +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapManifest.d.ts +29 -0
- package/dist/components/composed/PlateMapEditor/PlateMapPlateSelector.cjs +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapPlateSelector.cjs.map +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapPlateSelector.d.ts +19 -0
- package/dist/components/composed/PlateMapEditor/PlateMapPlateSelector.js +11 -11
- package/dist/components/composed/PlateMapEditor/PlateMapPlateSelector.js.map +1 -1
- package/dist/components/composed/PlateMapEditor/PlatePaintGrid.cjs +1 -1
- package/dist/components/composed/PlateMapEditor/PlatePaintGrid.cjs.map +1 -1
- package/dist/components/composed/PlateMapEditor/PlatePaintGrid.d.ts +73 -0
- package/dist/components/composed/PlateMapEditor/PlatePaintGrid.js +1 -1
- package/dist/components/composed/PlateMapEditor/PlatePaintGrid.js.map +1 -1
- package/dist/components/composed/PlateMapEditor/PlateZoomControl.cjs +1 -1
- package/dist/components/composed/PlateMapEditor/PlateZoomControl.cjs.map +1 -1
- package/dist/components/composed/PlateMapEditor/PlateZoomControl.d.ts +12 -0
- package/dist/components/composed/PlateMapEditor/PlateZoomControl.js +2 -2
- package/dist/components/composed/PlateMapEditor/TemplateIOPanel.cjs +1 -1
- package/dist/components/composed/PlateMapEditor/TemplateIOPanel.cjs.map +1 -1
- package/dist/components/composed/PlateMapEditor/TemplateIOPanel.d.ts +13 -0
- package/dist/components/composed/PlateMapEditor/TemplateIOPanel.js +4 -4
- package/dist/components/composed/PlateMapEditor/WellLegend.cjs +1 -1
- package/dist/components/composed/PlateMapEditor/WellLegend.cjs.map +1 -1
- package/dist/components/composed/PlateMapEditor/WellLegend.d.ts +21 -0
- package/dist/components/composed/PlateMapEditor/WellLegend.js +24 -12
- package/dist/components/composed/PlateMapEditor/WellLegend.js.map +1 -1
- package/dist/components/composed/PlateMapEditor/WellManifestTable.cjs +1 -1
- package/dist/components/composed/PlateMapEditor/WellManifestTable.cjs.map +1 -1
- package/dist/components/composed/PlateMapEditor/WellManifestTable.d.ts +46 -0
- package/dist/components/composed/PlateMapEditor/WellManifestTable.js +10 -10
- package/dist/components/composed/PlateMapEditor/WellManifestTable.js.map +1 -1
- package/dist/components/composed/PlateMapEditor/WellMetadataForm.cjs +1 -1
- package/dist/components/composed/PlateMapEditor/WellMetadataForm.cjs.map +1 -1
- package/dist/components/composed/PlateMapEditor/WellMetadataForm.d.ts +17 -0
- package/dist/components/composed/PlateMapEditor/WellMetadataForm.js +7 -7
- package/dist/components/composed/PlateMapEditor/autoFill.d.ts +26 -0
- package/dist/components/composed/PlateMapEditor/csvPlateTriage.d.ts +4 -0
- package/dist/components/composed/PlateMapEditor/helpers.d.ts +2 -0
- package/dist/components/composed/PlateMapEditor/index.d.ts +31 -0
- package/dist/components/composed/PlateMapEditor/types.d.ts +137 -0
- package/dist/components/composed/PlateMapEditor/wellGrid.d.ts +12 -0
- package/dist/components/composed/ProcessFlow/ProcessFlow.d.ts +32 -0
- package/dist/components/composed/ProcessFlow/ProcessFlow.utils.d.ts +86 -0
- package/dist/components/composed/ProcessFlow/index.d.ts +1 -0
- package/dist/components/composed/RichListItem/RichListItem.cjs +1 -1
- package/dist/components/composed/RichListItem/RichListItem.cjs.map +1 -1
- package/dist/components/composed/RichListItem/RichListItem.d.ts +22 -0
- package/dist/components/composed/RichListItem/RichListItem.js +2 -2
- package/dist/components/composed/RichListItem/index.d.ts +2 -0
- package/dist/components/composed/StatCard/StatCard.cjs +1 -1
- package/dist/components/composed/StatCard/StatCard.cjs.map +1 -1
- package/dist/components/composed/StatCard/StatCard.d.ts +11 -0
- package/dist/components/composed/StatCard/StatCard.js +1 -1
- package/dist/components/composed/StatCard/index.d.ts +1 -0
- package/dist/components/composed/TdpSearch/TdpSearch.cjs +1 -1
- package/dist/components/composed/TdpSearch/TdpSearch.cjs.map +1 -1
- package/dist/components/composed/TdpSearch/TdpSearch.d.ts +21 -0
- package/dist/components/composed/TdpSearch/TdpSearch.js +14 -13
- package/dist/components/composed/TdpSearch/TdpSearch.mocks.d.ts +5 -0
- package/dist/components/composed/TdpSearch/components/DefaultFilters.cjs +1 -1
- package/dist/components/composed/TdpSearch/components/DefaultFilters.cjs.map +1 -1
- package/dist/components/composed/TdpSearch/components/DefaultFilters.d.ts +3 -0
- package/dist/components/composed/TdpSearch/components/DefaultFilters.js +4 -4
- package/dist/components/composed/TdpSearch/components/DefaultFilters.js.map +1 -1
- package/dist/components/composed/TdpSearch/components/DefaultResults.cjs +1 -1
- package/dist/components/composed/TdpSearch/components/DefaultResults.cjs.map +1 -1
- package/dist/components/composed/TdpSearch/components/DefaultResults.d.ts +3 -0
- package/dist/components/composed/TdpSearch/components/DefaultResults.js +2 -2
- package/dist/components/composed/TdpSearch/components/DefaultSearchBar.cjs +1 -1
- package/dist/components/composed/TdpSearch/components/DefaultSearchBar.cjs.map +1 -1
- package/dist/components/composed/TdpSearch/components/DefaultSearchBar.d.ts +3 -0
- package/dist/components/composed/TdpSearch/components/DefaultSearchBar.js +2 -2
- package/dist/components/composed/TdpSearch/constants.d.ts +3 -0
- package/dist/components/composed/TdpSearch/hooks/useSearch.d.ts +2 -0
- package/dist/components/composed/TdpSearch/hooks/useTdpCredentials.d.ts +14 -0
- package/dist/components/composed/TdpSearch/index.d.ts +3 -0
- package/dist/components/composed/TdpSearch/types.d.ts +128 -0
- package/dist/components/composed/TdpSearch/utils.d.ts +3 -0
- package/dist/components/composed/TopBar/TopBar.cjs +2 -0
- package/dist/components/composed/TopBar/TopBar.cjs.map +1 -0
- package/dist/components/composed/TopBar/TopBar.d.ts +25 -0
- package/dist/components/composed/TopBar/TopBar.js +56 -0
- package/dist/components/composed/TopBar/TopBar.js.map +1 -0
- package/dist/components/composed/TopBar/index.d.ts +2 -0
- package/dist/components/composed/UserMenu/UserMenu.cjs +2 -0
- package/dist/components/composed/UserMenu/UserMenu.cjs.map +1 -0
- package/dist/components/composed/UserMenu/UserMenu.d.ts +53 -0
- package/dist/components/composed/UserMenu/UserMenu.js +99 -0
- package/dist/components/composed/UserMenu/UserMenu.js.map +1 -0
- package/dist/components/composed/UserMenu/index.d.ts +2 -0
- package/dist/components/composed/tdp-link.d.ts +110 -0
- package/dist/components/composed/tdp-url.d.ts +68 -0
- package/dist/components/ui/accordion.d.ts +7 -0
- package/dist/components/ui/alert-dialog.d.ts +18 -0
- package/dist/components/ui/alert.d.ts +10 -0
- package/dist/components/ui/aspect-ratio.d.ts +3 -0
- package/dist/components/ui/avatar.d.ts +11 -0
- package/dist/components/ui/badge.d.ts +9 -0
- package/dist/components/ui/banner.d.ts +19 -0
- package/dist/components/ui/breadcrumb.d.ts +11 -0
- package/dist/components/ui/button-group.d.ts +11 -0
- package/dist/components/ui/button.d.ts +10 -0
- package/dist/components/ui/calendar.d.ts +10 -0
- package/dist/components/ui/card.d.ts +11 -0
- package/dist/components/ui/carousel.d.ts +28 -0
- package/dist/components/ui/checkbox.d.ts +4 -0
- package/dist/components/ui/code-block.d.ts +45 -0
- package/dist/components/ui/code-editor.d.ts +18 -0
- package/dist/components/ui/collapsible.d.ts +5 -0
- package/dist/components/ui/combobox.d.ts +24 -0
- package/dist/components/ui/command.d.ts +18 -0
- package/dist/components/ui/context-menu.d.ts +31 -0
- package/dist/components/ui/data-table/data-table-column-toggle.cjs +1 -1
- package/dist/components/ui/data-table/data-table-column-toggle.cjs.map +1 -1
- package/dist/components/ui/data-table/data-table-column-toggle.d.ts +6 -0
- package/dist/components/ui/data-table/data-table-column-toggle.js +71 -63
- package/dist/components/ui/data-table/data-table-column-toggle.js.map +1 -1
- package/dist/components/ui/data-table/data-table-filter.cjs +1 -1
- package/dist/components/ui/data-table/data-table-filter.cjs.map +1 -1
- package/dist/components/ui/data-table/data-table-filter.d.ts +9 -0
- package/dist/components/ui/data-table/data-table-filter.js +26 -25
- package/dist/components/ui/data-table/data-table-filter.js.map +1 -1
- package/dist/components/ui/data-table/data-table-group.cjs +1 -1
- package/dist/components/ui/data-table/data-table-group.cjs.map +1 -1
- package/dist/components/ui/data-table/data-table-group.d.ts +9 -0
- package/dist/components/ui/data-table/data-table-group.js +18 -17
- package/dist/components/ui/data-table/data-table-group.js.map +1 -1
- package/dist/components/ui/data-table/data-table-pagination.cjs +1 -1
- package/dist/components/ui/data-table/data-table-pagination.cjs.map +1 -1
- package/dist/components/ui/data-table/data-table-pagination.d.ts +7 -0
- package/dist/components/ui/data-table/data-table-pagination.js +16 -16
- package/dist/components/ui/data-table/data-table-pagination.js.map +1 -1
- package/dist/components/ui/data-table/data-table.cjs +1 -1
- package/dist/components/ui/data-table/data-table.cjs.map +1 -1
- package/dist/components/ui/data-table/data-table.d.ts +82 -0
- package/dist/components/ui/data-table/data-table.js +191 -190
- package/dist/components/ui/data-table/data-table.js.map +1 -1
- package/dist/components/ui/data-table/index.d.ts +5 -0
- package/dist/components/ui/dialog.d.ts +18 -0
- package/dist/components/ui/dropdown-menu.d.ts +29 -0
- package/dist/components/ui/field.d.ts +24 -0
- package/dist/components/ui/hover-card.d.ts +6 -0
- package/dist/components/ui/input-group.d.ts +16 -0
- package/dist/components/ui/input.d.ts +3 -0
- package/dist/components/ui/item.d.ts +23 -0
- package/dist/components/ui/kbd.d.ts +3 -0
- package/dist/components/ui/label.d.ts +4 -0
- package/dist/components/ui/menubar.d.ts +30 -0
- package/dist/components/ui/navigation-menu.d.ts +14 -0
- package/dist/components/ui/popover.d.ts +7 -0
- package/dist/components/ui/progress.d.ts +4 -0
- package/dist/components/ui/radio-group.d.ts +5 -0
- package/dist/components/ui/resizable.d.ts +25 -0
- package/dist/components/ui/scroll-area.d.ts +5 -0
- package/dist/components/ui/select.d.ts +15 -0
- package/dist/components/ui/separator.d.ts +4 -0
- package/dist/components/ui/sheet.d.ts +14 -0
- package/dist/components/ui/sidebar.d.ts +69 -0
- package/dist/components/ui/skeleton.d.ts +2 -0
- package/dist/components/ui/slider.d.ts +4 -0
- package/dist/components/ui/snippet.d.ts +18 -0
- package/dist/components/ui/sonner.d.ts +3 -0
- package/dist/components/ui/spinner.d.ts +6 -0
- package/dist/components/ui/switch.d.ts +6 -0
- package/dist/components/ui/table.d.ts +22 -0
- package/dist/components/ui/tabs.d.ts +11 -0
- package/dist/components/ui/tetra-molecule-icon.d.ts +11 -0
- package/dist/components/ui/tetrascience-icon.d.ts +7 -0
- package/dist/components/ui/textarea.d.ts +3 -0
- package/dist/components/ui/toggle-group.d.ts +10 -0
- package/dist/components/ui/toggle.d.ts +9 -0
- package/dist/components/ui/tooltip.d.ts +7 -0
- package/dist/composed/AssistantLayout.cjs +2 -0
- package/dist/composed/AssistantLayout.cjs.map +1 -0
- package/dist/composed/AssistantLayout.js +10 -0
- package/dist/composed/AssistantLayout.js.map +1 -0
- package/dist/composed/Chat.cjs +2 -0
- package/dist/composed/Chat.cjs.map +1 -0
- package/dist/composed/Chat.js +5 -0
- package/dist/composed/Chat.js.map +1 -0
- package/dist/composed/ConfirmDialog.cjs +2 -0
- package/dist/composed/ConfirmDialog.cjs.map +1 -0
- package/dist/composed/ConfirmDialog.js +5 -0
- package/dist/composed/ConfirmDialog.js.map +1 -0
- package/dist/composed/DataAppShell.cjs +2 -0
- package/dist/composed/DataAppShell.cjs.map +1 -0
- package/dist/composed/DataAppShell.js +22 -0
- package/dist/composed/DataAppShell.js.map +1 -0
- package/dist/composed/EmptyState.cjs +2 -0
- package/dist/composed/EmptyState.cjs.map +1 -0
- package/dist/composed/EmptyState.js +5 -0
- package/dist/composed/EmptyState.js.map +1 -0
- package/dist/composed/FormPatterns.cjs +2 -0
- package/dist/composed/FormPatterns.cjs.map +1 -0
- package/dist/composed/FormPatterns.js +5 -0
- package/dist/composed/FormPatterns.js.map +1 -0
- package/dist/composed/MoleculeStructure.cjs +2 -0
- package/dist/composed/MoleculeStructure.cjs.map +1 -0
- package/dist/composed/MoleculeStructure.js +11 -0
- package/dist/composed/MoleculeStructure.js.map +1 -0
- package/dist/composed/PlateMapEditor.cjs +2 -0
- package/dist/composed/PlateMapEditor.cjs.map +1 -0
- package/dist/composed/PlateMapEditor.js +45 -0
- package/dist/composed/PlateMapEditor.js.map +1 -0
- package/dist/composed/ProcessFlow.cjs +2 -0
- package/dist/composed/ProcessFlow.cjs.map +1 -0
- package/dist/composed/ProcessFlow.js +7 -0
- package/dist/composed/ProcessFlow.js.map +1 -0
- package/dist/composed/RichListItem.cjs +2 -0
- package/dist/composed/RichListItem.cjs.map +1 -0
- package/dist/composed/RichListItem.js +6 -0
- package/dist/composed/RichListItem.js.map +1 -0
- package/dist/composed/StatCard.cjs +2 -0
- package/dist/composed/StatCard.cjs.map +1 -0
- package/dist/composed/StatCard.js +5 -0
- package/dist/composed/StatCard.js.map +1 -0
- package/dist/composed/TdpSearch.cjs +2 -0
- package/dist/composed/TdpSearch.cjs.map +1 -0
- package/dist/composed/TdpSearch.js +8 -0
- package/dist/composed/TdpSearch.js.map +1 -0
- package/dist/composed/TopBar.cjs +2 -0
- package/dist/composed/TopBar.cjs.map +1 -0
- package/dist/composed/TopBar.js +6 -0
- package/dist/composed/TopBar.js.map +1 -0
- package/dist/composed/UserMenu.cjs +2 -0
- package/dist/composed/UserMenu.cjs.map +1 -0
- package/dist/composed/UserMenu.js +7 -0
- package/dist/composed/UserMenu.js.map +1 -0
- package/dist/composed/tdp-link.cjs +2 -0
- package/dist/composed/tdp-link.cjs.map +1 -0
- package/dist/composed/tdp-link.js +84 -0
- package/dist/composed/tdp-link.js.map +1 -0
- package/dist/composed/tdp-url.cjs.map +1 -0
- package/dist/composed/tdp-url.js.map +1 -0
- package/dist/hooks/use-code-editor-theme.d.ts +34 -0
- package/dist/hooks/use-element-size.d.ts +25 -0
- package/dist/hooks/use-is-dark.d.ts +12 -0
- package/dist/hooks/use-mobile.d.ts +1 -0
- package/dist/hooks/use-plotly-theme.cjs +1 -1
- package/dist/hooks/use-plotly-theme.cjs.map +1 -1
- package/dist/hooks/use-plotly-theme.d.ts +49 -0
- package/dist/hooks/use-plotly-theme.js +4 -3
- package/dist/hooks/use-plotly-theme.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +102 -4404
- package/dist/index.js +698 -659
- package/dist/index.js.map +1 -1
- package/dist/index.tailwind.css +1 -1
- package/dist/jest-setup.cjs +4 -0
- package/dist/jest-setup.cjs.map +1 -0
- package/dist/jest-setup.d.ts +106 -0
- package/dist/jest-setup.js +218 -0
- package/dist/jest-setup.js.map +1 -0
- package/dist/lib/shiki.cjs +2 -0
- package/dist/lib/shiki.cjs.map +1 -0
- package/dist/lib/shiki.d.ts +32 -0
- package/dist/lib/shiki.js +72 -0
- package/dist/lib/shiki.js.map +1 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/server/auth/JwtTokenManager.cjs +1 -1
- package/dist/server/auth/JwtTokenManager.cjs.map +1 -1
- package/dist/server/auth/JwtTokenManager.d.ts +113 -0
- package/dist/server/auth/JwtTokenManager.js +44 -21
- package/dist/server/auth/JwtTokenManager.js.map +1 -1
- package/dist/server/auth/index.d.ts +5 -0
- package/dist/server/index.d.ts +8 -0
- package/dist/server/providers/AthenaProvider.cjs +1 -1
- package/dist/server/providers/AthenaProvider.cjs.map +1 -1
- package/dist/server/providers/AthenaProvider.d.ts +75 -0
- package/dist/server/providers/DatabricksProvider.cjs +1 -1
- package/dist/server/providers/DatabricksProvider.cjs.map +1 -1
- package/dist/server/providers/DatabricksProvider.d.ts +38 -0
- package/dist/server/providers/SnowflakeProvider.cjs +1 -1
- package/dist/server/providers/SnowflakeProvider.cjs.map +1 -1
- package/dist/server/providers/SnowflakeProvider.d.ts +36 -0
- package/dist/server/providers/buildProvider.d.ts +39 -0
- package/dist/server/providers/entries/athena.d.ts +24 -0
- package/dist/server/providers/entries/databricks.d.ts +25 -0
- package/dist/server/providers/entries/snowflake.d.ts +25 -0
- package/dist/server/providers/exceptions.d.ts +36 -0
- package/dist/server/providers/getProviderConfigurations.d.ts +45 -0
- package/dist/server/providers/index.d.ts +31 -0
- package/dist/server/providers/providerDiscovery.d.ts +81 -0
- package/dist/server/providers/types.d.ts +145 -0
- package/dist/server/search/TdpSearchManager.d.ts +40 -0
- package/dist/server/search/index.d.ts +5 -0
- package/dist/server.d.ts +17 -540
- package/dist/ui/accordion.cjs +2 -0
- package/dist/ui/accordion.cjs.map +1 -0
- package/dist/ui/accordion.js +83 -0
- package/dist/ui/accordion.js.map +1 -0
- package/dist/ui/alert-dialog.cjs +2 -0
- package/dist/ui/alert-dialog.cjs.map +1 -0
- package/dist/ui/alert-dialog.js +181 -0
- package/dist/ui/alert-dialog.js.map +1 -0
- package/dist/ui/alert.cjs +2 -0
- package/dist/ui/alert.cjs.map +1 -0
- package/dist/ui/alert.js +81 -0
- package/dist/ui/alert.js.map +1 -0
- package/dist/ui/aspect-ratio.cjs.map +1 -0
- package/dist/ui/aspect-ratio.js.map +1 -0
- package/dist/ui/avatar.cjs +2 -0
- package/dist/ui/avatar.cjs.map +1 -0
- package/dist/ui/avatar.js +107 -0
- package/dist/ui/avatar.js.map +1 -0
- package/dist/ui/badge.cjs +2 -0
- package/dist/ui/badge.cjs.map +1 -0
- package/dist/ui/badge.js +47 -0
- package/dist/ui/badge.js.map +1 -0
- package/dist/ui/banner.cjs +2 -0
- package/dist/ui/banner.cjs.map +1 -0
- package/dist/ui/banner.js +80 -0
- package/dist/ui/banner.js.map +1 -0
- package/dist/ui/breadcrumb.cjs +2 -0
- package/dist/ui/breadcrumb.cjs.map +1 -0
- package/dist/ui/breadcrumb.js +118 -0
- package/dist/ui/breadcrumb.js.map +1 -0
- package/dist/ui/button-group.cjs +2 -0
- package/dist/ui/button-group.cjs.map +1 -0
- package/dist/ui/button-group.js +77 -0
- package/dist/ui/button-group.js.map +1 -0
- package/dist/ui/button.cjs +2 -0
- package/dist/ui/button.cjs.map +1 -0
- package/dist/ui/button.js +57 -0
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/calendar.cjs +2 -0
- package/dist/ui/calendar.cjs.map +1 -0
- package/dist/ui/calendar.js +174 -0
- package/dist/ui/calendar.js.map +1 -0
- package/dist/ui/card.cjs +2 -0
- package/dist/ui/card.cjs.map +1 -0
- package/dist/ui/card.js +102 -0
- package/dist/ui/card.js.map +1 -0
- package/dist/ui/carousel.cjs +2 -0
- package/dist/ui/carousel.cjs.map +1 -0
- package/dist/ui/carousel.js +179 -0
- package/dist/ui/carousel.js.map +1 -0
- package/dist/ui/checkbox.cjs +2 -0
- package/dist/ui/checkbox.cjs.map +1 -0
- package/dist/ui/checkbox.js +35 -0
- package/dist/ui/checkbox.js.map +1 -0
- package/dist/ui/code-block.cjs +4 -0
- package/dist/ui/code-block.cjs.map +1 -0
- package/dist/ui/code-block.js +324 -0
- package/dist/ui/code-block.js.map +1 -0
- package/dist/ui/code-editor.cjs +2 -0
- package/dist/ui/code-editor.cjs.map +1 -0
- package/dist/ui/code-editor.js +106 -0
- package/dist/ui/code-editor.js.map +1 -0
- package/dist/ui/collapsible.cjs.map +1 -0
- package/dist/ui/collapsible.js.map +1 -0
- package/dist/ui/combobox.cjs +2 -0
- package/dist/ui/combobox.cjs.map +1 -0
- package/dist/ui/combobox.js +285 -0
- package/dist/ui/combobox.js.map +1 -0
- package/dist/ui/command.cjs +2 -0
- package/dist/ui/command.cjs.map +1 -0
- package/dist/ui/command.js +178 -0
- package/dist/ui/command.js.map +1 -0
- package/dist/ui/context-menu.cjs +2 -0
- package/dist/ui/context-menu.cjs.map +1 -0
- package/dist/ui/context-menu.js +236 -0
- package/dist/ui/context-menu.js.map +1 -0
- package/dist/ui/data-table.cjs +2 -0
- package/dist/ui/data-table.cjs.map +1 -0
- package/dist/ui/data-table.js +16 -0
- package/dist/ui/data-table.js.map +1 -0
- package/dist/ui/dialog.cjs +2 -0
- package/dist/ui/dialog.cjs.map +1 -0
- package/dist/ui/dialog.js +165 -0
- package/dist/ui/dialog.js.map +1 -0
- package/dist/ui/dropdown-menu.cjs +2 -0
- package/dist/ui/dropdown-menu.cjs.map +1 -0
- package/dist/ui/dropdown-menu.js +260 -0
- package/dist/ui/dropdown-menu.js.map +1 -0
- package/dist/ui/field.cjs +2 -0
- package/dist/ui/field.cjs.map +1 -0
- package/dist/ui/field.js +210 -0
- package/dist/ui/field.js.map +1 -0
- package/dist/ui/hover-card.cjs +2 -0
- package/dist/ui/hover-card.cjs.map +1 -0
- package/dist/ui/hover-card.js +39 -0
- package/dist/ui/hover-card.js.map +1 -0
- package/dist/ui/input-group.cjs +2 -0
- package/dist/ui/input-group.cjs.map +1 -0
- package/dist/ui/input-group.js +145 -0
- package/dist/ui/input-group.js.map +1 -0
- package/dist/ui/input.cjs +2 -0
- package/dist/ui/input.cjs.map +1 -0
- package/dist/ui/input.js +20 -0
- package/dist/ui/input.js.map +1 -0
- package/dist/ui/item.cjs +2 -0
- package/dist/ui/item.cjs.map +1 -0
- package/dist/ui/item.js +199 -0
- package/dist/ui/item.js.map +1 -0
- package/dist/ui/kbd.cjs +2 -0
- package/dist/ui/kbd.cjs.map +1 -0
- package/dist/ui/kbd.js +30 -0
- package/dist/ui/kbd.js.map +1 -0
- package/dist/ui/label.cjs +2 -0
- package/dist/ui/label.cjs.map +1 -0
- package/dist/ui/label.js +23 -0
- package/dist/ui/label.js.map +1 -0
- package/dist/ui/menubar.cjs +2 -0
- package/dist/ui/menubar.cjs.map +1 -0
- package/dist/ui/menubar.js +256 -0
- package/dist/ui/menubar.js.map +1 -0
- package/dist/ui/navigation-menu.cjs +2 -0
- package/dist/ui/navigation-menu.cjs.map +1 -0
- package/dist/ui/navigation-menu.js +164 -0
- package/dist/ui/navigation-menu.js.map +1 -0
- package/dist/ui/popover.cjs +2 -0
- package/dist/ui/popover.cjs.map +1 -0
- package/dist/ui/popover.js +45 -0
- package/dist/ui/popover.js.map +1 -0
- package/dist/ui/radio-group.cjs +2 -0
- package/dist/ui/radio-group.cjs.map +1 -0
- package/dist/ui/radio-group.js +45 -0
- package/dist/ui/radio-group.js.map +1 -0
- package/dist/ui/resizable.cjs +2 -0
- package/dist/ui/resizable.cjs.map +1 -0
- package/dist/ui/resizable.js +58 -0
- package/dist/ui/resizable.js.map +1 -0
- package/dist/ui/scroll-area.cjs +2 -0
- package/dist/ui/scroll-area.cjs.map +1 -0
- package/dist/ui/scroll-area.js +61 -0
- package/dist/ui/scroll-area.js.map +1 -0
- package/dist/ui/select.cjs +2 -0
- package/dist/ui/select.cjs.map +1 -0
- package/dist/ui/select.js +184 -0
- package/dist/ui/select.js.map +1 -0
- package/dist/ui/separator.cjs +2 -0
- package/dist/ui/separator.cjs.map +1 -0
- package/dist/ui/separator.js +27 -0
- package/dist/ui/separator.js.map +1 -0
- package/dist/ui/sheet.cjs +2 -0
- package/dist/ui/sheet.cjs.map +1 -0
- package/dist/ui/sheet.js +137 -0
- package/dist/ui/sheet.js.map +1 -0
- package/dist/ui/sidebar.cjs +2 -0
- package/dist/ui/sidebar.cjs.map +1 -0
- package/dist/ui/sidebar.js +579 -0
- package/dist/ui/sidebar.js.map +1 -0
- package/dist/ui/skeleton.cjs +2 -0
- package/dist/ui/skeleton.cjs.map +1 -0
- package/dist/ui/skeleton.js +24 -0
- package/dist/ui/skeleton.js.map +1 -0
- package/dist/ui/slider.cjs +2 -0
- package/dist/ui/slider.cjs.map +1 -0
- package/dist/ui/slider.js +61 -0
- package/dist/ui/slider.js.map +1 -0
- package/dist/ui/sonner.cjs +2 -0
- package/dist/ui/sonner.cjs.map +1 -0
- package/dist/ui/sonner.js +52 -0
- package/dist/ui/sonner.js.map +1 -0
- package/dist/ui/spinner.cjs +2 -0
- package/dist/ui/spinner.cjs.map +1 -0
- package/dist/ui/spinner.js +39 -0
- package/dist/ui/spinner.js.map +1 -0
- package/dist/ui/switch.cjs +2 -0
- package/dist/ui/switch.cjs.map +1 -0
- package/dist/ui/switch.js +32 -0
- package/dist/ui/switch.js.map +1 -0
- package/dist/ui/table.cjs +2 -0
- package/dist/ui/table.cjs.map +1 -0
- package/dist/ui/table.js +153 -0
- package/dist/ui/table.js.map +1 -0
- package/dist/ui/tabs.cjs +2 -0
- package/dist/ui/tabs.cjs.map +1 -0
- package/dist/ui/tabs.js +92 -0
- package/dist/ui/tabs.js.map +1 -0
- package/dist/ui/tetra-molecule-icon.cjs +2 -0
- package/dist/ui/tetra-molecule-icon.cjs.map +1 -0
- package/dist/ui/tetra-molecule-icon.js +50 -0
- package/dist/ui/tetra-molecule-icon.js.map +1 -0
- package/dist/ui/tetrascience-icon.cjs +2 -0
- package/dist/ui/tetrascience-icon.cjs.map +1 -0
- package/dist/ui/tetrascience-icon.js +47 -0
- package/dist/ui/tetrascience-icon.js.map +1 -0
- package/dist/ui/textarea.cjs +2 -0
- package/dist/ui/textarea.cjs.map +1 -0
- package/dist/ui/textarea.js +19 -0
- package/dist/ui/textarea.js.map +1 -0
- package/dist/ui/toggle-group.cjs +2 -0
- package/dist/ui/toggle-group.cjs.map +1 -0
- package/dist/ui/toggle-group.js +81 -0
- package/dist/ui/toggle-group.js.map +1 -0
- package/dist/ui/toggle.cjs +2 -0
- package/dist/ui/toggle.cjs.map +1 -0
- package/dist/ui/toggle.js +44 -0
- package/dist/ui/toggle.js.map +1 -0
- package/dist/ui/tooltip.cjs +2 -0
- package/dist/ui/tooltip.cjs.map +1 -0
- package/dist/ui/tooltip.js +56 -0
- package/dist/ui/tooltip.js.map +1 -0
- package/dist/utils/colors.d.ts +50 -0
- package/package.json +137 -24
- package/dist/athena.d.ts +0 -167
- package/dist/components/ai/attachments.cjs +0 -2
- package/dist/components/ai/attachments.cjs.map +0 -1
- package/dist/components/ai/attachments.js +0 -224
- package/dist/components/ai/attachments.js.map +0 -1
- package/dist/components/ai/chain-of-thought.cjs +0 -2
- package/dist/components/ai/chain-of-thought.cjs.map +0 -1
- package/dist/components/ai/chain-of-thought.js +0 -145
- package/dist/components/ai/chain-of-thought.js.map +0 -1
- package/dist/components/ai/confirmation.cjs +0 -2
- package/dist/components/ai/confirmation.cjs.map +0 -1
- package/dist/components/ai/confirmation.js +0 -109
- package/dist/components/ai/confirmation.js.map +0 -1
- package/dist/components/ai/context.cjs +0 -2
- package/dist/components/ai/context.cjs.map +0 -1
- package/dist/components/ai/context.js +0 -266
- package/dist/components/ai/context.js.map +0 -1
- package/dist/components/ai/conversation.cjs +0 -4
- package/dist/components/ai/conversation.cjs.map +0 -1
- package/dist/components/ai/conversation.js +0 -108
- package/dist/components/ai/conversation.js.map +0 -1
- package/dist/components/ai/inline-citation.cjs +0 -2
- package/dist/components/ai/inline-citation.cjs.map +0 -1
- package/dist/components/ai/inline-citation.js +0 -182
- package/dist/components/ai/inline-citation.js.map +0 -1
- package/dist/components/ai/message.cjs +0 -2
- package/dist/components/ai/message.cjs.map +0 -1
- package/dist/components/ai/message.js +0 -237
- package/dist/components/ai/message.js.map +0 -1
- package/dist/components/ai/model-selector.cjs +0 -2
- package/dist/components/ai/model-selector.cjs.map +0 -1
- package/dist/components/ai/model-selector.js +0 -77
- package/dist/components/ai/model-selector.js.map +0 -1
- package/dist/components/ai/prompt-input.cjs +0 -2
- package/dist/components/ai/prompt-input.cjs.map +0 -1
- package/dist/components/ai/prompt-input.js +0 -774
- package/dist/components/ai/prompt-input.js.map +0 -1
- package/dist/components/ai/queue.cjs +0 -2
- package/dist/components/ai/queue.cjs.map +0 -1
- package/dist/components/ai/queue.js +0 -209
- package/dist/components/ai/queue.js.map +0 -1
- package/dist/components/ai/reasoning.cjs +0 -2
- package/dist/components/ai/reasoning.cjs.map +0 -1
- package/dist/components/ai/reasoning.js +0 -129
- package/dist/components/ai/reasoning.js.map +0 -1
- package/dist/components/ai/shimmer.cjs +0 -2
- package/dist/components/ai/shimmer.cjs.map +0 -1
- package/dist/components/ai/shimmer.js +0 -49
- package/dist/components/ai/shimmer.js.map +0 -1
- package/dist/components/ai/sources.cjs +0 -2
- package/dist/components/ai/sources.cjs.map +0 -1
- package/dist/components/ai/sources.js +0 -54
- package/dist/components/ai/sources.js.map +0 -1
- package/dist/components/ai/speech-input.cjs +0 -2
- package/dist/components/ai/speech-input.cjs.map +0 -1
- package/dist/components/ai/speech-input.js +0 -123
- package/dist/components/ai/speech-input.js.map +0 -1
- package/dist/components/ai/stream-status.cjs +0 -2
- package/dist/components/ai/stream-status.cjs.map +0 -1
- package/dist/components/ai/stream-status.js +0 -106
- package/dist/components/ai/stream-status.js.map +0 -1
- package/dist/components/ai/suggestion.cjs +0 -2
- package/dist/components/ai/suggestion.cjs.map +0 -1
- package/dist/components/ai/suggestion.js +0 -38
- package/dist/components/ai/suggestion.js.map +0 -1
- package/dist/components/ai/task.cjs +0 -2
- package/dist/components/ai/task.cjs.map +0 -1
- package/dist/components/ai/task.js +0 -94
- package/dist/components/ai/task.js.map +0 -1
- package/dist/components/ai/tool.cjs +0 -2
- package/dist/components/ai/tool.cjs.map +0 -1
- package/dist/components/ai/tool.js +0 -143
- package/dist/components/ai/tool.js.map +0 -1
- package/dist/components/charts/AreaGraph/AreaGraph.cjs +0 -2
- package/dist/components/charts/AreaGraph/AreaGraph.cjs.map +0 -1
- package/dist/components/charts/AreaGraph/AreaGraph.js +0 -271
- package/dist/components/charts/AreaGraph/AreaGraph.js.map +0 -1
- package/dist/components/charts/BarGraph/BarGraph.cjs +0 -2
- package/dist/components/charts/BarGraph/BarGraph.cjs.map +0 -1
- package/dist/components/charts/BarGraph/BarGraph.js +0 -220
- package/dist/components/charts/BarGraph/BarGraph.js.map +0 -1
- package/dist/components/charts/Boxplot/Boxplot.cjs +0 -2
- package/dist/components/charts/Boxplot/Boxplot.cjs.map +0 -1
- package/dist/components/charts/Boxplot/Boxplot.js +0 -209
- package/dist/components/charts/Boxplot/Boxplot.js.map +0 -1
- package/dist/components/charts/ChromatogramChart/ChromatogramChart.cjs +0 -2
- package/dist/components/charts/ChromatogramChart/ChromatogramChart.cjs.map +0 -1
- package/dist/components/charts/ChromatogramChart/ChromatogramChart.js +0 -227
- package/dist/components/charts/ChromatogramChart/ChromatogramChart.js.map +0 -1
- package/dist/components/charts/ChromatogramChart/annotations.cjs +0 -2
- package/dist/components/charts/ChromatogramChart/annotations.cjs.map +0 -1
- package/dist/components/charts/ChromatogramChart/annotations.js +0 -73
- package/dist/components/charts/ChromatogramChart/annotations.js.map +0 -1
- package/dist/components/charts/ChromatogramChart/boundaryMarkers.cjs +0 -2
- package/dist/components/charts/ChromatogramChart/boundaryMarkers.cjs.map +0 -1
- package/dist/components/charts/ChromatogramChart/boundaryMarkers.js +0 -34
- package/dist/components/charts/ChromatogramChart/boundaryMarkers.js.map +0 -1
- package/dist/components/charts/ChromatogramChart/constants.cjs +0 -2
- package/dist/components/charts/ChromatogramChart/constants.cjs.map +0 -1
- package/dist/components/charts/ChromatogramChart/constants.js +0 -30
- package/dist/components/charts/ChromatogramChart/constants.js.map +0 -1
- package/dist/components/charts/ChromatogramChart/dataProcessing.cjs +0 -2
- package/dist/components/charts/ChromatogramChart/dataProcessing.cjs.map +0 -1
- package/dist/components/charts/ChromatogramChart/dataProcessing.js +0 -79
- package/dist/components/charts/ChromatogramChart/dataProcessing.js.map +0 -1
- package/dist/components/charts/ChromatogramChart/peakDetection.cjs.map +0 -1
- package/dist/components/charts/ChromatogramChart/peakDetection.js.map +0 -1
- package/dist/components/charts/DotPlot/DotPlot.cjs +0 -2
- package/dist/components/charts/DotPlot/DotPlot.cjs.map +0 -1
- package/dist/components/charts/DotPlot/DotPlot.js +0 -208
- package/dist/components/charts/DotPlot/DotPlot.js.map +0 -1
- package/dist/components/charts/Heatmap/Heatmap.cjs +0 -2
- package/dist/components/charts/Heatmap/Heatmap.cjs.map +0 -1
- package/dist/components/charts/Heatmap/Heatmap.js +0 -67
- package/dist/components/charts/Heatmap/Heatmap.js.map +0 -1
- package/dist/components/charts/LineGraph/LineGraph.cjs +0 -2
- package/dist/components/charts/LineGraph/LineGraph.cjs.map +0 -1
- package/dist/components/charts/LineGraph/LineGraph.js +0 -225
- package/dist/components/charts/LineGraph/LineGraph.js.map +0 -1
- package/dist/components/charts/ScatterGraph/ScatterGraph.cjs +0 -2
- package/dist/components/charts/ScatterGraph/ScatterGraph.cjs.map +0 -1
- package/dist/components/charts/ScatterGraph/ScatterGraph.js +0 -234
- package/dist/components/charts/ScatterGraph/ScatterGraph.js.map +0 -1
- package/dist/components/composed/tdp-link.cjs +0 -2
- package/dist/components/composed/tdp-link.cjs.map +0 -1
- package/dist/components/composed/tdp-link.js +0 -84
- package/dist/components/composed/tdp-link.js.map +0 -1
- package/dist/components/composed/tdp-url.cjs.map +0 -1
- package/dist/components/composed/tdp-url.js.map +0 -1
- package/dist/components/ui/accordion.cjs +0 -2
- package/dist/components/ui/accordion.cjs.map +0 -1
- package/dist/components/ui/accordion.js +0 -83
- package/dist/components/ui/accordion.js.map +0 -1
- package/dist/components/ui/alert-dialog.cjs +0 -2
- package/dist/components/ui/alert-dialog.cjs.map +0 -1
- package/dist/components/ui/alert-dialog.js +0 -181
- package/dist/components/ui/alert-dialog.js.map +0 -1
- package/dist/components/ui/alert.cjs +0 -2
- package/dist/components/ui/alert.cjs.map +0 -1
- package/dist/components/ui/alert.js +0 -81
- package/dist/components/ui/alert.js.map +0 -1
- package/dist/components/ui/aspect-ratio.cjs.map +0 -1
- package/dist/components/ui/aspect-ratio.js.map +0 -1
- package/dist/components/ui/avatar.cjs +0 -2
- package/dist/components/ui/avatar.cjs.map +0 -1
- package/dist/components/ui/avatar.js +0 -107
- package/dist/components/ui/avatar.js.map +0 -1
- package/dist/components/ui/badge.cjs +0 -2
- package/dist/components/ui/badge.cjs.map +0 -1
- package/dist/components/ui/badge.js +0 -47
- package/dist/components/ui/badge.js.map +0 -1
- package/dist/components/ui/banner.cjs +0 -2
- package/dist/components/ui/banner.cjs.map +0 -1
- package/dist/components/ui/banner.js +0 -80
- package/dist/components/ui/banner.js.map +0 -1
- package/dist/components/ui/breadcrumb.cjs +0 -2
- package/dist/components/ui/breadcrumb.cjs.map +0 -1
- package/dist/components/ui/breadcrumb.js +0 -118
- package/dist/components/ui/breadcrumb.js.map +0 -1
- package/dist/components/ui/button-group.cjs +0 -2
- package/dist/components/ui/button-group.cjs.map +0 -1
- package/dist/components/ui/button-group.js +0 -77
- package/dist/components/ui/button-group.js.map +0 -1
- package/dist/components/ui/button.cjs +0 -2
- package/dist/components/ui/button.cjs.map +0 -1
- package/dist/components/ui/button.js +0 -57
- package/dist/components/ui/button.js.map +0 -1
- package/dist/components/ui/calendar.cjs +0 -2
- package/dist/components/ui/calendar.cjs.map +0 -1
- package/dist/components/ui/calendar.js +0 -174
- package/dist/components/ui/calendar.js.map +0 -1
- package/dist/components/ui/card.cjs +0 -2
- package/dist/components/ui/card.cjs.map +0 -1
- package/dist/components/ui/card.js +0 -102
- package/dist/components/ui/card.js.map +0 -1
- package/dist/components/ui/carousel.cjs +0 -2
- package/dist/components/ui/carousel.cjs.map +0 -1
- package/dist/components/ui/carousel.js +0 -179
- package/dist/components/ui/carousel.js.map +0 -1
- package/dist/components/ui/checkbox.cjs +0 -2
- package/dist/components/ui/checkbox.cjs.map +0 -1
- package/dist/components/ui/checkbox.js +0 -35
- package/dist/components/ui/checkbox.js.map +0 -1
- package/dist/components/ui/code-block.cjs +0 -4
- package/dist/components/ui/code-block.cjs.map +0 -1
- package/dist/components/ui/code-block.js +0 -306
- package/dist/components/ui/code-block.js.map +0 -1
- package/dist/components/ui/code-editor.cjs +0 -2
- package/dist/components/ui/code-editor.cjs.map +0 -1
- package/dist/components/ui/code-editor.js +0 -103
- package/dist/components/ui/code-editor.js.map +0 -1
- package/dist/components/ui/collapsible.cjs.map +0 -1
- package/dist/components/ui/collapsible.js.map +0 -1
- package/dist/components/ui/combobox.cjs +0 -2
- package/dist/components/ui/combobox.cjs.map +0 -1
- package/dist/components/ui/combobox.js +0 -281
- package/dist/components/ui/combobox.js.map +0 -1
- package/dist/components/ui/command.cjs +0 -2
- package/dist/components/ui/command.cjs.map +0 -1
- package/dist/components/ui/command.js +0 -174
- package/dist/components/ui/command.js.map +0 -1
- package/dist/components/ui/context-menu.cjs +0 -2
- package/dist/components/ui/context-menu.cjs.map +0 -1
- package/dist/components/ui/context-menu.js +0 -236
- package/dist/components/ui/context-menu.js.map +0 -1
- package/dist/components/ui/dialog.cjs +0 -2
- package/dist/components/ui/dialog.cjs.map +0 -1
- package/dist/components/ui/dialog.js +0 -165
- package/dist/components/ui/dialog.js.map +0 -1
- package/dist/components/ui/drawer.cjs +0 -2
- package/dist/components/ui/drawer.cjs.map +0 -1
- package/dist/components/ui/drawer.js +0 -125
- package/dist/components/ui/drawer.js.map +0 -1
- package/dist/components/ui/dropdown-menu.cjs +0 -2
- package/dist/components/ui/dropdown-menu.cjs.map +0 -1
- package/dist/components/ui/dropdown-menu.js +0 -252
- package/dist/components/ui/dropdown-menu.js.map +0 -1
- package/dist/components/ui/field.cjs +0 -2
- package/dist/components/ui/field.cjs.map +0 -1
- package/dist/components/ui/field.js +0 -210
- package/dist/components/ui/field.js.map +0 -1
- package/dist/components/ui/hover-card.cjs +0 -2
- package/dist/components/ui/hover-card.cjs.map +0 -1
- package/dist/components/ui/hover-card.js +0 -39
- package/dist/components/ui/hover-card.js.map +0 -1
- package/dist/components/ui/input-group.cjs +0 -2
- package/dist/components/ui/input-group.cjs.map +0 -1
- package/dist/components/ui/input-group.js +0 -145
- package/dist/components/ui/input-group.js.map +0 -1
- package/dist/components/ui/input-otp.cjs +0 -2
- package/dist/components/ui/input-otp.cjs.map +0 -1
- package/dist/components/ui/input-otp.js +0 -82
- package/dist/components/ui/input-otp.js.map +0 -1
- package/dist/components/ui/input.cjs +0 -2
- package/dist/components/ui/input.cjs.map +0 -1
- package/dist/components/ui/input.js +0 -20
- package/dist/components/ui/input.js.map +0 -1
- package/dist/components/ui/item.cjs +0 -2
- package/dist/components/ui/item.cjs.map +0 -1
- package/dist/components/ui/item.js +0 -191
- package/dist/components/ui/item.js.map +0 -1
- package/dist/components/ui/kbd.cjs +0 -2
- package/dist/components/ui/kbd.cjs.map +0 -1
- package/dist/components/ui/kbd.js +0 -30
- package/dist/components/ui/kbd.js.map +0 -1
- package/dist/components/ui/label.cjs +0 -2
- package/dist/components/ui/label.cjs.map +0 -1
- package/dist/components/ui/label.js +0 -23
- package/dist/components/ui/label.js.map +0 -1
- package/dist/components/ui/menubar.cjs +0 -2
- package/dist/components/ui/menubar.cjs.map +0 -1
- package/dist/components/ui/menubar.js +0 -256
- package/dist/components/ui/menubar.js.map +0 -1
- package/dist/components/ui/navigation-menu.cjs +0 -2
- package/dist/components/ui/navigation-menu.cjs.map +0 -1
- package/dist/components/ui/navigation-menu.js +0 -164
- package/dist/components/ui/navigation-menu.js.map +0 -1
- package/dist/components/ui/popover.cjs +0 -2
- package/dist/components/ui/popover.cjs.map +0 -1
- package/dist/components/ui/popover.js +0 -45
- package/dist/components/ui/popover.js.map +0 -1
- package/dist/components/ui/radio-group.cjs +0 -2
- package/dist/components/ui/radio-group.cjs.map +0 -1
- package/dist/components/ui/radio-group.js +0 -45
- package/dist/components/ui/radio-group.js.map +0 -1
- package/dist/components/ui/resizable.cjs +0 -2
- package/dist/components/ui/resizable.cjs.map +0 -1
- package/dist/components/ui/resizable.js +0 -58
- package/dist/components/ui/resizable.js.map +0 -1
- package/dist/components/ui/scroll-area.cjs +0 -2
- package/dist/components/ui/scroll-area.cjs.map +0 -1
- package/dist/components/ui/scroll-area.js +0 -60
- package/dist/components/ui/scroll-area.js.map +0 -1
- package/dist/components/ui/select.cjs +0 -2
- package/dist/components/ui/select.cjs.map +0 -1
- package/dist/components/ui/select.js +0 -184
- package/dist/components/ui/select.js.map +0 -1
- package/dist/components/ui/separator.cjs +0 -2
- package/dist/components/ui/separator.cjs.map +0 -1
- package/dist/components/ui/separator.js +0 -27
- package/dist/components/ui/separator.js.map +0 -1
- package/dist/components/ui/sheet.cjs +0 -2
- package/dist/components/ui/sheet.cjs.map +0 -1
- package/dist/components/ui/sheet.js +0 -137
- package/dist/components/ui/sheet.js.map +0 -1
- package/dist/components/ui/sidebar.cjs +0 -2
- package/dist/components/ui/sidebar.cjs.map +0 -1
- package/dist/components/ui/sidebar.js +0 -579
- package/dist/components/ui/sidebar.js.map +0 -1
- package/dist/components/ui/skeleton.cjs +0 -2
- package/dist/components/ui/skeleton.cjs.map +0 -1
- package/dist/components/ui/skeleton.js +0 -24
- package/dist/components/ui/skeleton.js.map +0 -1
- package/dist/components/ui/slider.cjs +0 -2
- package/dist/components/ui/slider.cjs.map +0 -1
- package/dist/components/ui/slider.js +0 -60
- package/dist/components/ui/slider.js.map +0 -1
- package/dist/components/ui/sonner.cjs +0 -2
- package/dist/components/ui/sonner.cjs.map +0 -1
- package/dist/components/ui/sonner.js +0 -37
- package/dist/components/ui/sonner.js.map +0 -1
- package/dist/components/ui/spinner.cjs +0 -2
- package/dist/components/ui/spinner.cjs.map +0 -1
- package/dist/components/ui/spinner.js +0 -39
- package/dist/components/ui/spinner.js.map +0 -1
- package/dist/components/ui/switch.cjs +0 -2
- package/dist/components/ui/switch.cjs.map +0 -1
- package/dist/components/ui/switch.js +0 -32
- package/dist/components/ui/switch.js.map +0 -1
- package/dist/components/ui/table.cjs +0 -2
- package/dist/components/ui/table.cjs.map +0 -1
- package/dist/components/ui/table.js +0 -152
- package/dist/components/ui/table.js.map +0 -1
- package/dist/components/ui/tabs.cjs +0 -2
- package/dist/components/ui/tabs.cjs.map +0 -1
- package/dist/components/ui/tabs.js +0 -92
- package/dist/components/ui/tabs.js.map +0 -1
- package/dist/components/ui/tetrascience-icon.cjs +0 -2
- package/dist/components/ui/tetrascience-icon.cjs.map +0 -1
- package/dist/components/ui/tetrascience-icon.js +0 -46
- package/dist/components/ui/tetrascience-icon.js.map +0 -1
- package/dist/components/ui/textarea.cjs +0 -2
- package/dist/components/ui/textarea.cjs.map +0 -1
- package/dist/components/ui/textarea.js +0 -19
- package/dist/components/ui/textarea.js.map +0 -1
- package/dist/components/ui/toggle-group.cjs +0 -2
- package/dist/components/ui/toggle-group.cjs.map +0 -1
- package/dist/components/ui/toggle-group.js +0 -77
- package/dist/components/ui/toggle-group.js.map +0 -1
- package/dist/components/ui/toggle.cjs +0 -2
- package/dist/components/ui/toggle.cjs.map +0 -1
- package/dist/components/ui/toggle.js +0 -44
- package/dist/components/ui/toggle.js.map +0 -1
- package/dist/components/ui/tooltip.cjs +0 -2
- package/dist/components/ui/tooltip.cjs.map +0 -1
- package/dist/components/ui/tooltip.js +0 -56
- package/dist/components/ui/tooltip.js.map +0 -1
- package/dist/databricks.d.ts +0 -129
- package/dist/providers/athena.d.ts +0 -9
- package/dist/providers/databricks.d.ts +0 -9
- package/dist/providers/snowflake.d.ts +0 -9
- package/dist/snowflake.d.ts +0 -125
- /package/dist/components/charts/{ChromatogramChart → Chromatogram}/peakDetection.cjs +0 -0
- /package/dist/components/charts/{ChromatogramChart → Chromatogram}/peakDetection.js +0 -0
- /package/dist/{components/composed → composed}/tdp-url.cjs +0 -0
- /package/dist/{components/composed → composed}/tdp-url.js +0 -0
- /package/dist/{components/ui → ui}/aspect-ratio.cjs +0 -0
- /package/dist/{components/ui → ui}/aspect-ratio.js +0 -0
- /package/dist/{components/ui → ui}/collapsible.cjs +0 -0
- /package/dist/{components/ui → ui}/collapsible.js +0 -0
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { jsxs as ve, jsx as Re } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as S, useState as Se, useMemo as o, useEffect as de } from "react";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { useChartTooltip as Te } from "../ChartTooltip/ChartTooltip.js";
|
|
5
|
+
import { loadPlotly as ue, getLoadedPlotly as ge } from "../plotly-loader.js";
|
|
6
|
+
import { PLOT_CONSTANTS as ae, DEFAULT_COLOR_SCALE as _e, COLORS as he } from "./constants.js";
|
|
7
|
+
import { downsampleData as Ce, mapColors as Pe, mapShapes as we, mapSizes as Ee, calculateAxisRange as fe, generateTooltipContent as Oe, calculateRange as Ne, getPlotlyLayoutConfig as ke, getSelectionMode as Le, applySelection as Be } from "./utils.js";
|
|
8
|
+
import { usePlotlyTheme as De } from "../../../hooks/use-plotly-theme.js";
|
|
9
|
+
const me = {}, Fe = { enabled: !0 }, Xe = ({
|
|
10
|
+
data: p,
|
|
11
|
+
title: x,
|
|
12
|
+
xAxis: l = me,
|
|
13
|
+
yAxis: i = me,
|
|
14
|
+
colorMapping: n,
|
|
15
|
+
shapeMapping: A,
|
|
16
|
+
sizeMapping: V,
|
|
17
|
+
tooltip: d = Fe,
|
|
18
|
+
enableClickSelection: X = !0,
|
|
19
|
+
enableBoxSelection: T = !0,
|
|
20
|
+
enableLassoSelection: g = !0,
|
|
21
|
+
selectedIds: $,
|
|
22
|
+
onSelectionChange: q,
|
|
23
|
+
onPointClick: H,
|
|
24
|
+
downsampling: E,
|
|
25
|
+
width: O = 800,
|
|
26
|
+
height: N = 600,
|
|
27
|
+
showColorBar: J = !0,
|
|
28
|
+
className: K
|
|
29
|
+
}) => {
|
|
30
|
+
const y = S(null), Q = De(), _ = S(q), W = S(H), Y = S(/* @__PURE__ */ new Set()), h = S(!1);
|
|
31
|
+
_.current = q, W.current = H;
|
|
32
|
+
const [pe, k] = Se(/* @__PURE__ */ new Set()), Z = $ !== void 0, L = Z ? $ : pe;
|
|
33
|
+
Y.current = L, h.current = Z;
|
|
34
|
+
const M = o(() => new Set([...L].map(String)), [L]), ee = o(() => new Map(p.map((e) => [String(e.id), e.id])), [p]), t = o(() => E ? Ce(p, E) : p, [p, E]), C = o(() => Pe(t, n), [t, n]), te = o(() => we(t, A), [t, A]), ne = o(() => Ee(t, V), [t, V]), re = o(() => {
|
|
35
|
+
if (l.range) return l.range;
|
|
36
|
+
if (l.autoRange !== !1)
|
|
37
|
+
return fe(t, "x", l.autoRangePadding ?? ae.AUTO_RANGE_PADDING, l.scale);
|
|
38
|
+
}, [t, l]), oe = o(() => {
|
|
39
|
+
if (i.range) return i.range;
|
|
40
|
+
if (i.autoRange !== !1)
|
|
41
|
+
return fe(t, "y", i.autoRangePadding ?? ae.AUTO_RANGE_PADDING, i.scale);
|
|
42
|
+
}, [t, i]), a = d.enabled !== !1, P = d.native === !0, B = o(() => a ? t.map(
|
|
43
|
+
(e) => d.content ? d.content(e) : Oe(e, d.fields)
|
|
44
|
+
) : [], [t, d, a]), { bindTooltip: se, tooltipElement: ye } = Te({
|
|
45
|
+
getLines: (e) => {
|
|
46
|
+
const r = e[0]?.pointIndex;
|
|
47
|
+
return r === void 0 ? [] : (B[r] ?? "").split("<br>").filter(Boolean);
|
|
48
|
+
}
|
|
49
|
+
}), ce = o(() => n?.type === "continuous" && n.field && t.length > 0 ? t.map((e) => {
|
|
50
|
+
const r = e.metadata?.[n.field];
|
|
51
|
+
return typeof r == "number" && Number.isFinite(r) ? r : 0;
|
|
52
|
+
}) : C, [t, n, C]), D = o(() => {
|
|
53
|
+
if (n?.type === "continuous") {
|
|
54
|
+
const e = n.colorScale || _e;
|
|
55
|
+
return e;
|
|
56
|
+
}
|
|
57
|
+
}, [n]), le = o(() => {
|
|
58
|
+
const e = {
|
|
59
|
+
size: ne,
|
|
60
|
+
symbol: te,
|
|
61
|
+
// Points carry no outline; depth comes from a CSS drop-shadow
|
|
62
|
+
// (see ScatterPlotInteractive.scss). Selected points re-add a line below.
|
|
63
|
+
line: {
|
|
64
|
+
width: 0
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
if (n?.type === "continuous" && D) {
|
|
68
|
+
if (e.color = ce, e.colorscale = D, e.showscale = J, n.field) {
|
|
69
|
+
const r = n.min !== void 0 && n.max !== void 0 ? { min: n.min, max: n.max } : Ne(t, n.field);
|
|
70
|
+
e.cmin = r.min, e.cmax = r.max, e.colorbar = {
|
|
71
|
+
title: { text: n.field, side: "right" },
|
|
72
|
+
thickness: 20,
|
|
73
|
+
len: 0.7
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
} else
|
|
77
|
+
e.color = C;
|
|
78
|
+
return e;
|
|
79
|
+
}, [ne, te, n, D, ce, J, t, C]);
|
|
80
|
+
de(() => {
|
|
81
|
+
const e = y.current;
|
|
82
|
+
if (!e || t.length === 0) return;
|
|
83
|
+
const r = t.map((u) => u.x), I = t.map((u) => u.y), w = t.map((u) => String(u.id)), v = [{
|
|
84
|
+
x: r,
|
|
85
|
+
y: I,
|
|
86
|
+
ids: w,
|
|
87
|
+
mode: "markers",
|
|
88
|
+
type: "scatter",
|
|
89
|
+
marker: le,
|
|
90
|
+
// "none" keeps hover events firing for the HTML tooltip without
|
|
91
|
+
// showing Plotly's hover label; "skip" disables hover entirely
|
|
92
|
+
hoverinfo: a ? P ? "text" : "none" : "skip",
|
|
93
|
+
text: B,
|
|
94
|
+
hovertemplate: a && P ? "%{text}<extra></extra>" : void 0,
|
|
95
|
+
showlegend: !1,
|
|
96
|
+
unselected: {
|
|
97
|
+
marker: {
|
|
98
|
+
opacity: 0.3
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
selected: {
|
|
102
|
+
marker: {
|
|
103
|
+
opacity: 1,
|
|
104
|
+
line: {
|
|
105
|
+
color: he.selected,
|
|
106
|
+
width: 2
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}], G = ke({
|
|
111
|
+
title: x,
|
|
112
|
+
xAxis: l,
|
|
113
|
+
yAxis: i,
|
|
114
|
+
width: O,
|
|
115
|
+
height: N,
|
|
116
|
+
xRange: re,
|
|
117
|
+
yRange: oe,
|
|
118
|
+
enableLassoSelection: g,
|
|
119
|
+
enableBoxSelection: T,
|
|
120
|
+
theme: Q
|
|
121
|
+
}), U = {
|
|
122
|
+
responsive: !0,
|
|
123
|
+
displayModeBar: !0,
|
|
124
|
+
displaylogo: !1,
|
|
125
|
+
modeBarButtonsToAdd: [],
|
|
126
|
+
modeBarButtonsToRemove: ["toImage"]
|
|
127
|
+
};
|
|
128
|
+
T && U.modeBarButtonsToAdd?.push("select2d"), g && U.modeBarButtonsToAdd?.push("lasso2d");
|
|
129
|
+
let ie = !1, z = null;
|
|
130
|
+
return ue().then((u) => {
|
|
131
|
+
if (ie || !y.current) return;
|
|
132
|
+
u.newPlot(e, v, G, U);
|
|
133
|
+
const b = e;
|
|
134
|
+
X && b.on("plotly_click", (c) => {
|
|
135
|
+
const f = c.points[0];
|
|
136
|
+
if (f && f.data.ids) {
|
|
137
|
+
const j = f.data.ids[f.pointIndex], m = t.find((s) => String(s.id) === j);
|
|
138
|
+
if (m) {
|
|
139
|
+
W.current?.(m, c.event);
|
|
140
|
+
const s = Le(c.event), R = Be(Y.current, /* @__PURE__ */ new Set([m.id]), s);
|
|
141
|
+
h.current || k(R), _.current?.(R, s);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}), (T || g) && (b.on("plotly_selected", (c) => {
|
|
145
|
+
if (c && c.points) {
|
|
146
|
+
const f = c.points.map((s) => {
|
|
147
|
+
if (s.data.ids && s.pointIndex !== void 0) {
|
|
148
|
+
const R = s.data.ids[s.pointIndex];
|
|
149
|
+
return ee.get(R) ?? R;
|
|
150
|
+
}
|
|
151
|
+
return null;
|
|
152
|
+
}).filter((s) => s !== null), j = "replace", m = new Set(f);
|
|
153
|
+
h.current || k(m), _.current?.(m, j);
|
|
154
|
+
}
|
|
155
|
+
}), b.on("plotly_deselect", () => {
|
|
156
|
+
const c = /* @__PURE__ */ new Set();
|
|
157
|
+
h.current || k(c), _.current?.(c, "replace");
|
|
158
|
+
})), a && !P && se(e), z = e;
|
|
159
|
+
}), () => {
|
|
160
|
+
ie = !0, z && ge().purge(z);
|
|
161
|
+
};
|
|
162
|
+
}, [
|
|
163
|
+
t,
|
|
164
|
+
le,
|
|
165
|
+
l,
|
|
166
|
+
i,
|
|
167
|
+
re,
|
|
168
|
+
oe,
|
|
169
|
+
x,
|
|
170
|
+
O,
|
|
171
|
+
N,
|
|
172
|
+
d,
|
|
173
|
+
B,
|
|
174
|
+
X,
|
|
175
|
+
T,
|
|
176
|
+
g,
|
|
177
|
+
ee,
|
|
178
|
+
a,
|
|
179
|
+
P,
|
|
180
|
+
se,
|
|
181
|
+
Q
|
|
182
|
+
]), de(() => {
|
|
183
|
+
if (!y.current || t.length === 0) return;
|
|
184
|
+
let e = !1;
|
|
185
|
+
return ue().then((r) => {
|
|
186
|
+
const I = y.current;
|
|
187
|
+
if (e || !I || !I._fullLayout) return;
|
|
188
|
+
const w = I, F = t.map((v, G) => M.has(String(v.id)) ? G : null).filter((v) => v !== null);
|
|
189
|
+
F.length > 0 ? r.restyle(
|
|
190
|
+
w,
|
|
191
|
+
{
|
|
192
|
+
selectedpoints: [F]
|
|
193
|
+
},
|
|
194
|
+
[0]
|
|
195
|
+
) : r.restyle(
|
|
196
|
+
w,
|
|
197
|
+
{
|
|
198
|
+
selectedpoints: [null]
|
|
199
|
+
},
|
|
200
|
+
[0]
|
|
201
|
+
);
|
|
202
|
+
}), () => {
|
|
203
|
+
e = !0;
|
|
204
|
+
};
|
|
205
|
+
}, [M, t]);
|
|
206
|
+
const Ie = K ? `scatter-plot-interactive relative ${K}` : "scatter-plot-interactive relative";
|
|
207
|
+
return /* @__PURE__ */ ve("div", { className: Ie, children: [
|
|
208
|
+
/* @__PURE__ */ Re("div", { ref: y, className: "scatter-plot-interactive__plot", style: { width: O, height: N } }),
|
|
209
|
+
ye
|
|
210
|
+
] });
|
|
211
|
+
};
|
|
212
|
+
export {
|
|
213
|
+
Xe as ScatterPlotInteractive
|
|
214
|
+
};
|
|
215
|
+
//# sourceMappingURL=ScatterPlotInteractive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScatterPlotInteractive.js","sources":["../../../../src/components/charts/ScatterPlotInteractive/ScatterPlotInteractive.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport \"./ScatterPlotInteractive.scss\";\nimport { useChartTooltip } from \"../ChartTooltip\";\nimport { getLoadedPlotly, loadPlotly } from \"../plotly-loader\";\n\nimport { COLORS, DEFAULT_COLOR_SCALE, PLOT_CONSTANTS } from \"./constants\";\nimport {\n applySelection,\n calculateAxisRange,\n calculateRange,\n downsampleData,\n generateTooltipContent,\n getPlotlyLayoutConfig,\n getSelectionMode,\n mapColors,\n mapShapes,\n mapSizes,\n} from \"./utils\";\n\nimport type { AxisConfig, ScatterPlotInteractiveProps, SelectionMode, TooltipConfig } from \"./types\";\nimport type Plotly from \"plotly.js-dist\";\n\nimport { usePlotlyTheme } from \"@/hooks/use-plotly-theme\";\n\n// Stable default prop objects — inline defaults would create a new identity\n// on every render, retriggering the plot effect (and tearing down the\n// tooltip) whenever internal state changes\nconst DEFAULT_AXIS_CONFIG: AxisConfig = {};\nconst DEFAULT_TOOLTIP_CONFIG: TooltipConfig = { enabled: true };\n\n/**\n * ScatterPlotInteractive component for visualizing scatter plot data with advanced interactions.\n *\n * **Features:**\n * - Data-driven and static styling (color, shape, size)\n * - Interactive selection (click, box, lasso)\n * - Keyboard modifiers for click-selection modes (Shift/Ctrl)\n * - Customizable tooltips with rich content support\n * - Axis customization (ranges, log/linear scales)\n * - Performance optimizations for large datasets\n * - Selection propagation via callbacks\n *\n * **Selection Modes (click selection only):**\n * - Default click: Replace selection\n * - Shift + click: Add to selection\n * - Ctrl/Cmd + click: Remove from selection\n * - Shift + Ctrl + click: Toggle selection\n *\n * Box/lasso selection always replaces the current selection because\n * Plotly does not expose the original keyboard event for drag operations.\n */\nconst ScatterPlotInteractive: React.FC<ScatterPlotInteractiveProps> = ({\n data,\n title,\n xAxis = DEFAULT_AXIS_CONFIG,\n yAxis = DEFAULT_AXIS_CONFIG,\n colorMapping,\n shapeMapping,\n sizeMapping,\n tooltip = DEFAULT_TOOLTIP_CONFIG,\n enableClickSelection = true,\n enableBoxSelection = true,\n enableLassoSelection = true,\n selectedIds: controlledSelectedIds,\n onSelectionChange,\n onPointClick,\n downsampling,\n width = 800,\n height = 600,\n showColorBar = true,\n className,\n}) => {\n const plotRef = useRef<HTMLDivElement>(null);\n const theme = usePlotlyTheme();\n const onSelectionChangeRef = useRef(onSelectionChange);\n const onPointClickRef = useRef(onPointClick);\n const selectedIdsRef = useRef<Set<string | number>>(new Set());\n const isControlledRef = useRef(false);\n\n // Keep refs updated\n onSelectionChangeRef.current = onSelectionChange;\n onPointClickRef.current = onPointClick;\n\n // Internal selection state (only used in uncontrolled mode)\n const [internalSelectedIds, setInternalSelectedIds] = useState<Set<string | number>>(new Set());\n\n // Use controlled or uncontrolled selection\n const isControlled = controlledSelectedIds !== undefined;\n const selectedIds = isControlled ? controlledSelectedIds : internalSelectedIds;\n selectedIdsRef.current = selectedIds;\n isControlledRef.current = isControlled;\n\n // Normalize to strings so numeric IDs passed by consumers always match the\n // string IDs that Plotly stores (we always do String(p.id) when building the trace).\n const normalizedSelectedIds = useMemo(() => new Set([...selectedIds].map(String)), [selectedIds]);\n\n // Reverse-lookup: Plotly string ID → original (possibly numeric) ScatterPoint ID.\n // Used to restore original ID types when echoing selections back to consumers.\n const originalIdLookup = useMemo(() => new Map(data.map((p) => [String(p.id), p.id])), [data]);\n\n // Apply downsampling if configured\n const processedData = useMemo(() => {\n if (!downsampling) {\n return data;\n }\n return downsampleData(data, downsampling);\n }, [data, downsampling]);\n\n // Map colors, shapes, and sizes based on configuration\n const colors = useMemo(() => mapColors(processedData, colorMapping), [processedData, colorMapping]);\n\n const shapes = useMemo(() => mapShapes(processedData, shapeMapping), [processedData, shapeMapping]);\n\n const sizes = useMemo(() => mapSizes(processedData, sizeMapping), [processedData, sizeMapping]);\n\n // Calculate axis ranges\n const xRange = useMemo(() => {\n if (xAxis.range) return xAxis.range;\n if (xAxis.autoRange === false) return;\n return calculateAxisRange(processedData, \"x\", xAxis.autoRangePadding ?? PLOT_CONSTANTS.AUTO_RANGE_PADDING, xAxis.scale);\n }, [processedData, xAxis]);\n\n const yRange = useMemo(() => {\n if (yAxis.range) return yAxis.range;\n if (yAxis.autoRange === false) return;\n return calculateAxisRange(processedData, \"y\", yAxis.autoRangePadding ?? PLOT_CONSTANTS.AUTO_RANGE_PADDING, yAxis.scale);\n }, [processedData, yAxis]);\n\n const tooltipEnabled = tooltip.enabled !== false;\n const nativeTooltip = tooltip.native === true;\n\n // Build tooltip text\n const tooltipText = useMemo(() => {\n if (!tooltipEnabled) return [];\n\n return processedData.map((point) =>\n tooltip.content ? tooltip.content(point) : generateTooltipContent(point, tooltip.fields),\n );\n }, [processedData, tooltip, tooltipEnabled]);\n\n // Design-system tooltip driven by Plotly hover events\n const { bindTooltip, tooltipElement } = useChartTooltip({\n getLines: (points) => {\n const index = points[0]?.pointIndex;\n if (index === undefined) return [];\n return (tooltipText[index] ?? \"\").split(\"<br>\").filter(Boolean);\n },\n });\n\n // Prepare Plotly-compatible color data\n const plotlyColors = useMemo(() => {\n if (colorMapping?.type === \"continuous\" && colorMapping.field && processedData.length > 0) {\n // For continuous mapping, extract the numeric values\n return processedData.map((point) => {\n const value = point.metadata?.[colorMapping.field!];\n return typeof value === \"number\" && Number.isFinite(value) ? value : 0;\n });\n }\n return colors;\n }, [processedData, colorMapping, colors]);\n\n // Build colorscale for continuous mapping\n const plotlyColorscale = useMemo(() => {\n if (colorMapping?.type === \"continuous\") {\n const scale = colorMapping.colorScale || DEFAULT_COLOR_SCALE;\n return typeof scale === \"string\" ? scale : scale;\n }\n }, [colorMapping]);\n\n // Build marker configuration for Plotly\n const markerConfig = useMemo((): Partial<Plotly.PlotMarker> => {\n const config: Partial<Plotly.PlotMarker> = {\n size: sizes,\n symbol: shapes,\n // Points carry no outline; depth comes from a CSS drop-shadow\n // (see ScatterPlotInteractive.scss). Selected points re-add a line below.\n line: {\n width: 0,\n },\n };\n\n // Configure color mapping\n if (colorMapping?.type === \"continuous\" && plotlyColorscale) {\n config.color = plotlyColors as number[];\n config.colorscale = plotlyColorscale;\n config.showscale = showColorBar;\n\n if (colorMapping.field) {\n const range =\n colorMapping.min !== undefined && colorMapping.max !== undefined\n ? { min: colorMapping.min, max: colorMapping.max }\n : calculateRange(processedData, colorMapping.field);\n config.cmin = range.min;\n config.cmax = range.max;\n config.colorbar = {\n title: { text: colorMapping.field, side: \"right\" },\n thickness: 20,\n len: 0.7,\n };\n }\n } else {\n config.color = colors;\n }\n\n return config;\n }, [sizes, shapes, colorMapping, plotlyColorscale, plotlyColors, showColorBar, processedData, colors]);\n\n // Create Plotly plot\n useEffect(() => {\n const currentRef = plotRef.current;\n if (!currentRef || processedData.length === 0) return;\n\n const xValues = processedData.map((p) => p.x);\n const yValues = processedData.map((p) => p.y);\n const ids = processedData.map((p) => String(p.id));\n\n // Create base trace\n const trace: Partial<Plotly.PlotData> & {\n unselected?: { marker?: { opacity?: number } };\n selected?: { marker?: { opacity?: number; line?: { color?: string; width?: number } } };\n } = {\n x: xValues,\n y: yValues,\n ids,\n mode: \"markers\",\n type: \"scatter\",\n marker: markerConfig,\n // \"none\" keeps hover events firing for the HTML tooltip without\n // showing Plotly's hover label; \"skip\" disables hover entirely\n hoverinfo: tooltipEnabled ? (nativeTooltip ? \"text\" : \"none\") : \"skip\",\n text: tooltipText,\n hovertemplate: tooltipEnabled && nativeTooltip ? \"%{text}<extra></extra>\" : undefined,\n showlegend: false,\n unselected: {\n marker: {\n opacity: 0.3,\n },\n },\n selected: {\n marker: {\n opacity: 1,\n line: {\n color: COLORS.selected,\n width: 2,\n },\n },\n },\n };\n\n const plotData: Plotly.Data[] = [trace as Plotly.Data];\n\n // Configure layout\n const layout: Partial<Plotly.Layout> = getPlotlyLayoutConfig({\n title,\n xAxis,\n yAxis,\n width,\n height,\n xRange,\n yRange,\n enableLassoSelection,\n enableBoxSelection,\n theme,\n });\n\n const config: Partial<Plotly.Config> = {\n responsive: true,\n displayModeBar: true,\n displaylogo: false,\n modeBarButtonsToAdd: [],\n modeBarButtonsToRemove: [\"toImage\"],\n };\n\n // Add selection mode buttons if enabled\n if (enableBoxSelection) {\n config.modeBarButtonsToAdd?.push(\"select2d\" as never);\n }\n if (enableLassoSelection) {\n config.modeBarButtonsToAdd?.push(\"lasso2d\" as never);\n }\n\n // Plotly is loaded lazily so it stays out of the consumer's main chunk\n // (SW-2007); the draw is skipped if the effect re-runs or unmounts first.\n let cancelled = false;\n let drawnElement: HTMLDivElement | null = null;\n void loadPlotly().then((plotly) => {\n if (cancelled || !plotRef.current) return;\n plotly.newPlot(currentRef, plotData, layout, config);\n\n // Attach event handlers\n const plotElement = currentRef as unknown as Plotly.PlotlyHTMLElement;\n\n // Handle point click\n if (enableClickSelection) {\n plotElement.on(\"plotly_click\", (eventData: Plotly.PlotMouseEvent) => {\n const point = eventData.points[0];\n if (point && point.data.ids) {\n const clickedId = point.data.ids[point.pointIndex];\n const clickedPoint = processedData.find((p) => String(p.id) === clickedId);\n\n if (clickedPoint) {\n // Call point click handler if provided\n onPointClickRef.current?.(clickedPoint, eventData.event as MouseEvent);\n\n // Handle selection. Use the original-typed ID from the matched point so\n // numeric IDs (e.g., 123) are preserved instead of being coerced to \"123\".\n const mode = getSelectionMode(eventData.event as MouseEvent);\n const newSelection = applySelection(selectedIdsRef.current, new Set([clickedPoint.id]), mode);\n\n if (!isControlledRef.current) {\n setInternalSelectedIds(newSelection);\n }\n onSelectionChangeRef.current?.(newSelection, mode);\n }\n }\n });\n }\n\n // Handle box/lasso selection\n if (enableBoxSelection || enableLassoSelection) {\n plotElement.on(\"plotly_selected\", (eventData: Plotly.PlotSelectionEvent) => {\n if (eventData && eventData.points) {\n const selectedPointIds = eventData.points\n .map((p): string | number | null => {\n if (p.data.ids && p.pointIndex !== undefined) {\n const strId = p.data.ids[p.pointIndex] as string;\n // Restore the original ID type (string or number) via the lookup.\n return originalIdLookup.get(strId) ?? strId;\n }\n return null;\n })\n .filter((id: string | number | null): id is string | number => id !== null);\n\n // Get selection mode from keyboard state\n // Note: Plotly doesn't pass the original event, so we can't detect modifiers\n // For now, box/lasso selection always replaces\n const mode: SelectionMode = \"replace\";\n const newSelection = new Set<string | number>(selectedPointIds);\n\n if (!isControlledRef.current) {\n setInternalSelectedIds(newSelection);\n }\n onSelectionChangeRef.current?.(newSelection, mode);\n }\n });\n\n // Handle deselect (clicking on background)\n plotElement.on(\"plotly_deselect\", () => {\n const newSelection = new Set<string | number>();\n if (!isControlledRef.current) {\n setInternalSelectedIds(newSelection);\n }\n onSelectionChangeRef.current?.(newSelection, \"replace\");\n });\n }\n\n // Design-system tooltip driven by Plotly hover events\n if (tooltipEnabled && !nativeTooltip) {\n bindTooltip(currentRef);\n }\n\n // Capture ref value for cleanup\n drawnElement = currentRef;\n });\n\n return () => {\n cancelled = true;\n if (drawnElement) {\n getLoadedPlotly().purge(drawnElement);\n }\n };\n }, [\n processedData,\n markerConfig,\n xAxis,\n yAxis,\n xRange,\n yRange,\n title,\n width,\n height,\n tooltip,\n tooltipText,\n enableClickSelection,\n enableBoxSelection,\n enableLassoSelection,\n originalIdLookup,\n tooltipEnabled,\n nativeTooltip,\n bindTooltip,\n theme,\n ]);\n\n // Apply selection state to Plotly\n useEffect(() => {\n if (!plotRef.current || processedData.length === 0) return;\n\n // Wait for the lazily-loaded Plotly module: the draw effect registers its\n // loadPlotly().then first, so by the time this callback runs the plot has\n // been drawn — preserving the original \"restyle right after newPlot\"\n // ordering on initial mount.\n let cancelled = false;\n void loadPlotly().then((plotly) => {\n const currentRef = plotRef.current;\n if (cancelled || !currentRef) return;\n // Guard: skip if the chart hasn't been drawn (e.g. the draw was cancelled).\n if (!(currentRef as { _fullLayout?: unknown })._fullLayout) return;\n\n const plotElement = currentRef as unknown as Plotly.PlotlyHTMLElement;\n\n // Find indices of selected points. Use the string-normalized set to match the string IDs Plotly stores\n const selectedIndices = processedData\n .map((point, index) => (normalizedSelectedIds.has(String(point.id)) ? index : null))\n .filter((index): index is number => index !== null);\n\n // Update Plotly selection\n if (selectedIndices.length > 0) {\n plotly.restyle(\n plotElement,\n {\n selectedpoints: [selectedIndices],\n },\n [0],\n );\n } else {\n plotly.restyle(\n plotElement,\n {\n selectedpoints: [null],\n },\n [0],\n );\n }\n });\n\n return () => {\n cancelled = true;\n };\n }, [normalizedSelectedIds, processedData]);\n\n const containerClassName = className\n ? `scatter-plot-interactive relative ${className}`\n : \"scatter-plot-interactive relative\";\n\n return (\n <div className={containerClassName}>\n <div ref={plotRef} className=\"scatter-plot-interactive__plot\" style={{ width, height }} />\n {tooltipElement}\n </div>\n );\n};\n\nexport { ScatterPlotInteractive };\n"],"names":["DEFAULT_AXIS_CONFIG","DEFAULT_TOOLTIP_CONFIG","ScatterPlotInteractive","data","title","xAxis","yAxis","colorMapping","shapeMapping","sizeMapping","tooltip","enableClickSelection","enableBoxSelection","enableLassoSelection","controlledSelectedIds","onSelectionChange","onPointClick","downsampling","width","height","showColorBar","className","plotRef","useRef","theme","usePlotlyTheme","onSelectionChangeRef","onPointClickRef","selectedIdsRef","isControlledRef","internalSelectedIds","setInternalSelectedIds","useState","isControlled","selectedIds","normalizedSelectedIds","useMemo","originalIdLookup","p","processedData","downsampleData","colors","mapColors","shapes","mapShapes","sizes","mapSizes","xRange","calculateAxisRange","PLOT_CONSTANTS","yRange","tooltipEnabled","nativeTooltip","tooltipText","point","generateTooltipContent","bindTooltip","tooltipElement","useChartTooltip","points","index","plotlyColors","value","plotlyColorscale","scale","DEFAULT_COLOR_SCALE","markerConfig","config","range","calculateRange","useEffect","currentRef","xValues","yValues","ids","plotData","COLORS","layout","getPlotlyLayoutConfig","cancelled","drawnElement","loadPlotly","plotly","plotElement","eventData","clickedId","clickedPoint","mode","getSelectionMode","newSelection","applySelection","selectedPointIds","strId","id","getLoadedPlotly","selectedIndices","containerClassName","jsxs","jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("../../../hooks/use-plotly-theme.cjs"),_=require("../../../utils/colors.cjs"),O={primary:_.CHART_COLORS[0],selected:_.CHART_COLORS[3]},E=_.toPlotlyColorscale(_.CHART_DIVERGING.blueOrange),A=_.CHART_COLORS,I=8,L=[4,20],R=5e3,S={MARGIN_LEFT:80,MARGIN_RIGHT:30,MARGIN_TOP:80,MARGIN_BOTTOM:80,TITLE_FONT_SIZE:20,AXIS_TITLE_FONT_SIZE:16,AXIS_TICK_FONT_SIZE:12,LEGEND_FONT_SIZE:12,FONT_FAMILY:T.CHART_FONT_FAMILY,GRID_WIDTH:1,AXIS_LINE_WIDTH:1,AUTO_RANGE_PADDING:.1},N={ADD:"shiftKey",REMOVE:"ctrlKey",TOGGLE:"both"};exports.COLORS=O;exports.DEFAULT_CATEGORY_COLORS=A;exports.DEFAULT_COLOR_SCALE=E;exports.DEFAULT_MARKER_SIZE=I;exports.DEFAULT_MAX_POINTS=R;exports.DEFAULT_SIZE_RANGE=L;exports.PLOT_CONSTANTS=S;exports.SELECTION_MODIFIERS=N;
|
|
2
|
+
//# sourceMappingURL=constants.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.cjs","sources":["../../../../src/components/charts/ScatterPlotInteractive/constants.ts"],"sourcesContent":["import { CHART_FONT_FAMILY } from \"@/hooks/use-plotly-theme\";\nimport {\n CHART_COLORS,\n CHART_DIVERGING,\n toPlotlyColorscale,\n} from \"@/utils/colors\";\n\n/**\n * Default colors for the scatter plot. Background, grid, and axis colors\n * come from the active theme via `usePlotlyTheme`.\n */\nexport const COLORS = {\n primary: CHART_COLORS[0],\n selected: CHART_COLORS[3],\n};\n\n/**\n * Default color scale for continuous color mapping (CVD-friendly diverging ramp)\n */\nexport const DEFAULT_COLOR_SCALE: Array<[number, string]> =\n toPlotlyColorscale(CHART_DIVERGING.blueOrange);\n\n/**\n * Default category colors (cycle through these)\n */\nexport const DEFAULT_CATEGORY_COLORS = CHART_COLORS;\n\n/**\n * Default sizes\n */\nexport const DEFAULT_MARKER_SIZE = 8;\nexport const DEFAULT_SIZE_RANGE: [number, number] = [4, 20];\n\n/**\n * Default downsampling configuration\n */\nexport const DEFAULT_MAX_POINTS = 5000;\n\n/**\n * Constants for plot layout\n */\nexport const PLOT_CONSTANTS = {\n MARGIN_LEFT: 80,\n MARGIN_RIGHT: 30,\n MARGIN_TOP: 80,\n MARGIN_BOTTOM: 80,\n TITLE_FONT_SIZE: 20,\n AXIS_TITLE_FONT_SIZE: 16,\n AXIS_TICK_FONT_SIZE: 12,\n LEGEND_FONT_SIZE: 12,\n FONT_FAMILY: CHART_FONT_FAMILY,\n GRID_WIDTH: 1,\n AXIS_LINE_WIDTH: 1,\n AUTO_RANGE_PADDING: 0.1, // 10% padding\n};\n\n/**\n * Selection mode keyboard modifiers\n */\nexport const SELECTION_MODIFIERS = {\n ADD: \"shiftKey\", // Shift\n REMOVE: \"ctrlKey\", // Ctrl/Cmd\n TOGGLE: \"both\", // Shift + Ctrl/Cmd\n} as const;\n"],"names":["COLORS","CHART_COLORS","DEFAULT_COLOR_SCALE","toPlotlyColorscale","CHART_DIVERGING","DEFAULT_CATEGORY_COLORS","DEFAULT_MARKER_SIZE","DEFAULT_SIZE_RANGE","DEFAULT_MAX_POINTS","PLOT_CONSTANTS","CHART_FONT_FAMILY","SELECTION_MODIFIERS"],"mappings":"8KAWaA,EAAS,CACpB,QAASC,EAAAA,aAAa,CAAC,EACvB,SAAUA,EAAAA,aAAa,CAAC,CAC1B,EAKaC,EACXC,EAAAA,mBAAmBC,EAAAA,gBAAgB,UAAU,EAKlCC,EAA0BJ,EAAAA,aAK1BK,EAAsB,EACtBC,EAAuC,CAAC,EAAG,EAAE,EAK7CC,EAAqB,IAKrBC,EAAiB,CAC5B,YAAa,GACb,aAAc,GACd,WAAY,GACZ,cAAe,GACf,gBAAiB,GACjB,qBAAsB,GACtB,oBAAqB,GACrB,iBAAkB,GAClB,YAAaC,EAAAA,kBACb,WAAY,EACZ,gBAAiB,EACjB,mBAAoB,EACtB,EAKaC,EAAsB,CACjC,IAAK,WACL,OAAQ,UACR,OAAQ,MACV"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default colors for the scatter plot. Background, grid, and axis colors
|
|
3
|
+
* come from the active theme via `usePlotlyTheme`.
|
|
4
|
+
*/
|
|
5
|
+
export declare const COLORS: {
|
|
6
|
+
primary: string;
|
|
7
|
+
selected: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Default color scale for continuous color mapping (CVD-friendly diverging ramp)
|
|
11
|
+
*/
|
|
12
|
+
export declare const DEFAULT_COLOR_SCALE: Array<[number, string]>;
|
|
13
|
+
/**
|
|
14
|
+
* Default category colors (cycle through these)
|
|
15
|
+
*/
|
|
16
|
+
export declare const DEFAULT_CATEGORY_COLORS: readonly [string, string, string, string, string, string, string, string, string, string, string, string];
|
|
17
|
+
/**
|
|
18
|
+
* Default sizes
|
|
19
|
+
*/
|
|
20
|
+
export declare const DEFAULT_MARKER_SIZE = 8;
|
|
21
|
+
export declare const DEFAULT_SIZE_RANGE: [number, number];
|
|
22
|
+
/**
|
|
23
|
+
* Default downsampling configuration
|
|
24
|
+
*/
|
|
25
|
+
export declare const DEFAULT_MAX_POINTS = 5000;
|
|
26
|
+
/**
|
|
27
|
+
* Constants for plot layout
|
|
28
|
+
*/
|
|
29
|
+
export declare const PLOT_CONSTANTS: {
|
|
30
|
+
MARGIN_LEFT: number;
|
|
31
|
+
MARGIN_RIGHT: number;
|
|
32
|
+
MARGIN_TOP: number;
|
|
33
|
+
MARGIN_BOTTOM: number;
|
|
34
|
+
TITLE_FONT_SIZE: number;
|
|
35
|
+
AXIS_TITLE_FONT_SIZE: number;
|
|
36
|
+
AXIS_TICK_FONT_SIZE: number;
|
|
37
|
+
LEGEND_FONT_SIZE: number;
|
|
38
|
+
FONT_FAMILY: string;
|
|
39
|
+
GRID_WIDTH: number;
|
|
40
|
+
AXIS_LINE_WIDTH: number;
|
|
41
|
+
AUTO_RANGE_PADDING: number;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Selection mode keyboard modifiers
|
|
45
|
+
*/
|
|
46
|
+
export declare const SELECTION_MODIFIERS: {
|
|
47
|
+
readonly ADD: "shiftKey";
|
|
48
|
+
readonly REMOVE: "ctrlKey";
|
|
49
|
+
readonly TOGGLE: "both";
|
|
50
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CHART_FONT_FAMILY as T } from "../../../hooks/use-plotly-theme.js";
|
|
2
|
+
import { CHART_COLORS as _, toPlotlyColorscale as I, CHART_DIVERGING as E } from "../../../utils/colors.js";
|
|
3
|
+
const R = {
|
|
4
|
+
primary: _[0],
|
|
5
|
+
selected: _[3]
|
|
6
|
+
}, L = I(E.blueOrange), N = _, o = 8, S = [4, 20], t = 5e3, D = {
|
|
7
|
+
MARGIN_LEFT: 80,
|
|
8
|
+
MARGIN_RIGHT: 30,
|
|
9
|
+
MARGIN_TOP: 80,
|
|
10
|
+
MARGIN_BOTTOM: 80,
|
|
11
|
+
TITLE_FONT_SIZE: 20,
|
|
12
|
+
AXIS_TITLE_FONT_SIZE: 16,
|
|
13
|
+
AXIS_TICK_FONT_SIZE: 12,
|
|
14
|
+
LEGEND_FONT_SIZE: 12,
|
|
15
|
+
FONT_FAMILY: T,
|
|
16
|
+
GRID_WIDTH: 1,
|
|
17
|
+
AXIS_LINE_WIDTH: 1,
|
|
18
|
+
AUTO_RANGE_PADDING: 0.1
|
|
19
|
+
// 10% padding
|
|
20
|
+
}, F = {
|
|
21
|
+
ADD: "shiftKey",
|
|
22
|
+
// Shift
|
|
23
|
+
REMOVE: "ctrlKey",
|
|
24
|
+
// Ctrl/Cmd
|
|
25
|
+
TOGGLE: "both"
|
|
26
|
+
// Shift + Ctrl/Cmd
|
|
27
|
+
};
|
|
28
|
+
export {
|
|
29
|
+
R as COLORS,
|
|
30
|
+
N as DEFAULT_CATEGORY_COLORS,
|
|
31
|
+
L as DEFAULT_COLOR_SCALE,
|
|
32
|
+
o as DEFAULT_MARKER_SIZE,
|
|
33
|
+
t as DEFAULT_MAX_POINTS,
|
|
34
|
+
S as DEFAULT_SIZE_RANGE,
|
|
35
|
+
D as PLOT_CONSTANTS,
|
|
36
|
+
F as SELECTION_MODIFIERS
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/components/charts/ScatterPlotInteractive/constants.ts"],"sourcesContent":["import { CHART_FONT_FAMILY } from \"@/hooks/use-plotly-theme\";\nimport {\n CHART_COLORS,\n CHART_DIVERGING,\n toPlotlyColorscale,\n} from \"@/utils/colors\";\n\n/**\n * Default colors for the scatter plot. Background, grid, and axis colors\n * come from the active theme via `usePlotlyTheme`.\n */\nexport const COLORS = {\n primary: CHART_COLORS[0],\n selected: CHART_COLORS[3],\n};\n\n/**\n * Default color scale for continuous color mapping (CVD-friendly diverging ramp)\n */\nexport const DEFAULT_COLOR_SCALE: Array<[number, string]> =\n toPlotlyColorscale(CHART_DIVERGING.blueOrange);\n\n/**\n * Default category colors (cycle through these)\n */\nexport const DEFAULT_CATEGORY_COLORS = CHART_COLORS;\n\n/**\n * Default sizes\n */\nexport const DEFAULT_MARKER_SIZE = 8;\nexport const DEFAULT_SIZE_RANGE: [number, number] = [4, 20];\n\n/**\n * Default downsampling configuration\n */\nexport const DEFAULT_MAX_POINTS = 5000;\n\n/**\n * Constants for plot layout\n */\nexport const PLOT_CONSTANTS = {\n MARGIN_LEFT: 80,\n MARGIN_RIGHT: 30,\n MARGIN_TOP: 80,\n MARGIN_BOTTOM: 80,\n TITLE_FONT_SIZE: 20,\n AXIS_TITLE_FONT_SIZE: 16,\n AXIS_TICK_FONT_SIZE: 12,\n LEGEND_FONT_SIZE: 12,\n FONT_FAMILY: CHART_FONT_FAMILY,\n GRID_WIDTH: 1,\n AXIS_LINE_WIDTH: 1,\n AUTO_RANGE_PADDING: 0.1, // 10% padding\n};\n\n/**\n * Selection mode keyboard modifiers\n */\nexport const SELECTION_MODIFIERS = {\n ADD: \"shiftKey\", // Shift\n REMOVE: \"ctrlKey\", // Ctrl/Cmd\n TOGGLE: \"both\", // Shift + Ctrl/Cmd\n} as const;\n"],"names":["COLORS","CHART_COLORS","DEFAULT_COLOR_SCALE","toPlotlyColorscale","CHART_DIVERGING","DEFAULT_CATEGORY_COLORS","DEFAULT_MARKER_SIZE","DEFAULT_SIZE_RANGE","DEFAULT_MAX_POINTS","PLOT_CONSTANTS","CHART_FONT_FAMILY","SELECTION_MODIFIERS"],"mappings":";;AAWO,MAAMA,IAAS;AAAA,EACpB,SAASC,EAAa,CAAC;AAAA,EACvB,UAAUA,EAAa,CAAC;AAC1B,GAKaC,IACXC,EAAmBC,EAAgB,UAAU,GAKlCC,IAA0BJ,GAK1BK,IAAsB,GACtBC,IAAuC,CAAC,GAAG,EAAE,GAK7CC,IAAqB,KAKrBC,IAAiB;AAAA,EAC5B,aAAa;AAAA,EACb,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,aAAaC;AAAA,EACb,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,oBAAoB;AAAA;AACtB,GAKaC,IAAsB;AAAA,EACjC,KAAK;AAAA;AAAA,EACL,QAAQ;AAAA;AAAA,EACR,QAAQ;AAAA;AACV;"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A single data point in the scatter plot
|
|
3
|
+
*/
|
|
4
|
+
export interface ScatterPoint {
|
|
5
|
+
/** Unique identifier for the point */
|
|
6
|
+
id: string | number;
|
|
7
|
+
/** X-axis value */
|
|
8
|
+
x: number;
|
|
9
|
+
/** Y-axis value */
|
|
10
|
+
y: number;
|
|
11
|
+
/** Optional label for the point */
|
|
12
|
+
label?: string;
|
|
13
|
+
/** Additional metadata for tooltips and styling */
|
|
14
|
+
metadata?: Record<string, unknown>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Scale type for axes
|
|
18
|
+
*/
|
|
19
|
+
export type ScaleType = "linear" | "log";
|
|
20
|
+
/**
|
|
21
|
+
* Marker shape for scatter points
|
|
22
|
+
*/
|
|
23
|
+
export type MarkerShape = "circle" | "square" | "diamond" | "cross" | "x" | "triangle-up" | "triangle-down" | "star";
|
|
24
|
+
/**
|
|
25
|
+
* Selection mode for interactive selection
|
|
26
|
+
*/
|
|
27
|
+
export type SelectionMode = "replace" | "add" | "remove" | "toggle";
|
|
28
|
+
/**
|
|
29
|
+
* Color mapping configuration
|
|
30
|
+
*/
|
|
31
|
+
export interface ColorMapping {
|
|
32
|
+
/** Type of mapping: data-driven or static */
|
|
33
|
+
type: "static" | "continuous" | "categorical";
|
|
34
|
+
/** Static color value (for type: "static") */
|
|
35
|
+
value?: string;
|
|
36
|
+
/** Data field to map (for type: "continuous" | "categorical") */
|
|
37
|
+
field?: string;
|
|
38
|
+
/** Color scale for continuous mapping */
|
|
39
|
+
colorScale?: string | Array<[number, string]>;
|
|
40
|
+
/** Discrete colors for categorical mapping */
|
|
41
|
+
categoryColors?: Record<string, string>;
|
|
42
|
+
/** Min/max values for continuous mapping (auto-calculated if not provided) */
|
|
43
|
+
min?: number;
|
|
44
|
+
max?: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Shape mapping configuration
|
|
48
|
+
*/
|
|
49
|
+
export interface ShapeMapping {
|
|
50
|
+
/** Type of mapping: data-driven or static */
|
|
51
|
+
type: "static" | "categorical";
|
|
52
|
+
/** Static shape value (for type: "static") */
|
|
53
|
+
value?: MarkerShape;
|
|
54
|
+
/** Data field to map (for type: "categorical") */
|
|
55
|
+
field?: string;
|
|
56
|
+
/** Shape mapping for categorical values */
|
|
57
|
+
categoryShapes?: Record<string, MarkerShape>;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Size mapping configuration
|
|
61
|
+
*/
|
|
62
|
+
export interface SizeMapping {
|
|
63
|
+
/** Type of mapping: data-driven or static */
|
|
64
|
+
type: "static" | "continuous" | "categorical";
|
|
65
|
+
/** Static size value (for type: "static") */
|
|
66
|
+
value?: number;
|
|
67
|
+
/** Data field to map (for type: "continuous" | "categorical") */
|
|
68
|
+
field?: string;
|
|
69
|
+
/** Size range for continuous mapping */
|
|
70
|
+
sizeRange?: [number, number];
|
|
71
|
+
/** Discrete sizes for categorical mapping */
|
|
72
|
+
categorySizes?: Record<string, number>;
|
|
73
|
+
/** Min/max values for continuous mapping (auto-calculated if not provided) */
|
|
74
|
+
min?: number;
|
|
75
|
+
max?: number;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Axis configuration
|
|
79
|
+
*/
|
|
80
|
+
export interface AxisConfig {
|
|
81
|
+
/** Axis label */
|
|
82
|
+
title?: string;
|
|
83
|
+
/** Scale type (linear or log) */
|
|
84
|
+
scale?: ScaleType;
|
|
85
|
+
/** Fixed axis range [min, max] */
|
|
86
|
+
range?: [number, number];
|
|
87
|
+
/** Auto-range with optional padding percentage (0-1) */
|
|
88
|
+
autoRange?: boolean;
|
|
89
|
+
/** Padding percentage for auto-range (default: 0.1 = 10%) */
|
|
90
|
+
autoRangePadding?: number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Tooltip configuration
|
|
94
|
+
*/
|
|
95
|
+
export interface TooltipConfig {
|
|
96
|
+
/** Enable/disable tooltips */
|
|
97
|
+
enabled?: boolean;
|
|
98
|
+
/** Custom tooltip content function. Lines are separated with `<br>`. */
|
|
99
|
+
content?: (point: ScatterPoint) => string;
|
|
100
|
+
/** Fields to display in default tooltip */
|
|
101
|
+
fields?: string[];
|
|
102
|
+
/**
|
|
103
|
+
* Use Plotly's built-in hover labels instead of the theme-styled
|
|
104
|
+
* HTML tooltip rendered by the component.
|
|
105
|
+
* @default false
|
|
106
|
+
*/
|
|
107
|
+
native?: boolean;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Selection state
|
|
111
|
+
*/
|
|
112
|
+
export interface SelectionState {
|
|
113
|
+
/** Array of selected point IDs */
|
|
114
|
+
selectedIds: Set<string | number>;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Downsampling configuration for performance optimization
|
|
118
|
+
*/
|
|
119
|
+
export interface DownsamplingConfig {
|
|
120
|
+
/** Enable downsampling */
|
|
121
|
+
enabled: boolean;
|
|
122
|
+
/** Target number of points to display */
|
|
123
|
+
maxPoints?: number;
|
|
124
|
+
/** Downsampling strategy */
|
|
125
|
+
strategy?: "lttb";
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Props for ScatterPlotInteractive component
|
|
129
|
+
*/
|
|
130
|
+
export interface ScatterPlotInteractiveProps {
|
|
131
|
+
/**
|
|
132
|
+
* Array of data points to plot
|
|
133
|
+
*/
|
|
134
|
+
data: ScatterPoint[];
|
|
135
|
+
/**
|
|
136
|
+
* Chart title
|
|
137
|
+
*/
|
|
138
|
+
title?: string;
|
|
139
|
+
/**
|
|
140
|
+
* X-axis configuration
|
|
141
|
+
*/
|
|
142
|
+
xAxis?: AxisConfig;
|
|
143
|
+
/**
|
|
144
|
+
* Y-axis configuration
|
|
145
|
+
*/
|
|
146
|
+
yAxis?: AxisConfig;
|
|
147
|
+
/**
|
|
148
|
+
* Color mapping configuration
|
|
149
|
+
*/
|
|
150
|
+
colorMapping?: ColorMapping;
|
|
151
|
+
/**
|
|
152
|
+
* Shape mapping configuration
|
|
153
|
+
*/
|
|
154
|
+
shapeMapping?: ShapeMapping;
|
|
155
|
+
/**
|
|
156
|
+
* Size mapping configuration
|
|
157
|
+
*/
|
|
158
|
+
sizeMapping?: SizeMapping;
|
|
159
|
+
/**
|
|
160
|
+
* Tooltip configuration
|
|
161
|
+
*/
|
|
162
|
+
tooltip?: TooltipConfig;
|
|
163
|
+
/**
|
|
164
|
+
* Enable click selection
|
|
165
|
+
* @default true
|
|
166
|
+
*/
|
|
167
|
+
enableClickSelection?: boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Enable box selection (drag to select rectangular region)
|
|
170
|
+
* @default true
|
|
171
|
+
*/
|
|
172
|
+
enableBoxSelection?: boolean;
|
|
173
|
+
/**
|
|
174
|
+
* Enable lasso selection (freeform selection)
|
|
175
|
+
* @default true
|
|
176
|
+
*/
|
|
177
|
+
enableLassoSelection?: boolean;
|
|
178
|
+
/**
|
|
179
|
+
* Controlled selection state.
|
|
180
|
+
* If provided, component operates in controlled mode.
|
|
181
|
+
*/
|
|
182
|
+
selectedIds?: Set<string | number>;
|
|
183
|
+
/**
|
|
184
|
+
* Callback when selection changes
|
|
185
|
+
*/
|
|
186
|
+
onSelectionChange?: (selectedIds: Set<string | number>, mode: SelectionMode) => void;
|
|
187
|
+
/**
|
|
188
|
+
* Callback when a point is clicked
|
|
189
|
+
*/
|
|
190
|
+
onPointClick?: (point: ScatterPoint, event: MouseEvent) => void;
|
|
191
|
+
/**
|
|
192
|
+
* Downsampling configuration for large datasets
|
|
193
|
+
*/
|
|
194
|
+
downsampling?: DownsamplingConfig;
|
|
195
|
+
/**
|
|
196
|
+
* Chart width in pixels
|
|
197
|
+
* @default 800
|
|
198
|
+
*/
|
|
199
|
+
width?: number;
|
|
200
|
+
/**
|
|
201
|
+
* Chart height in pixels
|
|
202
|
+
* @default 600
|
|
203
|
+
*/
|
|
204
|
+
height?: number;
|
|
205
|
+
/**
|
|
206
|
+
* Show the continuous color-scale bar when using a continuous `colorMapping`.
|
|
207
|
+
* Has no effect for categorical or static mappings.
|
|
208
|
+
* @default true
|
|
209
|
+
*/
|
|
210
|
+
showColorBar?: boolean;
|
|
211
|
+
/**
|
|
212
|
+
* Custom CSS class name
|
|
213
|
+
*/
|
|
214
|
+
className?: string;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Data format for selection propagation between components
|
|
218
|
+
*/
|
|
219
|
+
export interface SelectionEvent {
|
|
220
|
+
/** Array of selected point IDs */
|
|
221
|
+
selectedIds: Set<string | number>;
|
|
222
|
+
/** Selection mode used */
|
|
223
|
+
mode: SelectionMode;
|
|
224
|
+
/** Source component identifier (optional) */
|
|
225
|
+
source?: string;
|
|
226
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./constants.cjs");function I(t,e){let r=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;for(const o of t){const l=o.metadata?.[e];typeof l=="number"&&Number.isFinite(l)&&(r=Math.min(r,l),n=Math.max(n,l))}return!Number.isFinite(r)||!Number.isFinite(n)?{min:0,max:1}:r===n?{min:r-1,max:n+1}:{min:r,max:n}}function S(t,e){const r=t.map(n=>n.metadata?.[e]).filter(n=>typeof n=="string");return[...new Set(r)].sort()}function d(t,e){if(!e||e.type==="static"){const r=e?.value||c.COLORS.primary;return new Array(t.length).fill(r)}if(e.type==="categorical"&&e.field){const r=S(t,e.field),n=e.categoryColors||{},o={};return r.forEach((l,i)=>{o[l]=n[l]||c.DEFAULT_CATEGORY_COLORS[i%c.DEFAULT_CATEGORY_COLORS.length]}),t.map(l=>{const i=l.metadata?.[e.field];return o[String(i)]||c.DEFAULT_CATEGORY_COLORS[0]})}return new Array(t.length).fill(c.COLORS.primary)}function P(t,e){if(!e||e.type==="static"){const r=e?.value||"circle";return new Array(t.length).fill(r)}if(e.type==="categorical"&&e.field){const r=S(t,e.field),n=e.categoryShapes||{},o=["circle","square","diamond","cross","x","triangle-up","triangle-down","star"],l={};return r.forEach((i,s)=>{l[i]=n[i]||o[s%o.length]}),t.map(i=>{const s=i.metadata?.[e.field];return l[String(s)]||"circle"})}return new Array(t.length).fill("circle")}function R(t,e){if(!e||e.type==="static"){const r=e?.value||c.DEFAULT_MARKER_SIZE;return new Array(t.length).fill(r)}if(e.type==="categorical"&&e.field){const r=S(t,e.field),n=e.categorySizes||{},o={};return r.forEach((l,i)=>{o[l]=n[l]||c.DEFAULT_MARKER_SIZE+i*2}),t.map(l=>{const i=l.metadata?.[e.field];return o[String(i)]||c.DEFAULT_MARKER_SIZE})}if(e.type==="continuous"&&e.field){const r=e.min!==void 0&&e.max!==void 0?{min:e.min,max:e.max}:I(t,e.field),n=e.sizeRange||c.DEFAULT_SIZE_RANGE,[o,l]=n;return t.map(i=>{const s=i.metadata?.[e.field];if(typeof s=="number"&&Number.isFinite(s)){const f=(s-r.min)/(r.max-r.min);return o+f*(l-o)}return c.DEFAULT_MARKER_SIZE})}return new Array(t.length).fill(c.DEFAULT_MARKER_SIZE)}function b(t,e){if(!e.enabled||t.length<=(e.maxPoints||c.DEFAULT_MAX_POINTS))return t;const r=e.maxPoints||c.DEFAULT_MAX_POINTS;return(e.strategy||"lttb")==="lttb"?g(t,r):t}function v(t,e,r,n){const o=r-e;if(o>0){let i=0,s=0;for(let f=e;f<r;f++)i+=t[f].x,s+=t[f].y;return{x:i/o,y:s/o}}const l=Math.max(0,Math.min(e,n-1));return{x:t[l].x,y:t[l].y}}function g(t,e){const r=t.length;if(e<=0||r===0)return[];if(e>=r)return t;if(e===1)return[t[0]];if(e===2)return[t[0],t[r-1]];const n=(r-2)/(e-2),{floor:o,abs:l,min:i}=Math,s=[t[0]];let f=0;for(let a=0;a<e-2;a++){const u=i(o((a+1)*n)+1,r-1),C=i(o((a+2)*n)+1,r),{x:E,y:x}=v(t,u,C,r),m=i(o(a*n)+1,r-1),F=i(o((a+1)*n)+1,r-1),_=t[f].x,N=t[f].y;let O=-1,A=t[m],y=m;for(let T=m;T<F;T++){const L=l((_-E)*(t[T].y-N)-(_-t[T].x)*(x-N))*.5;L>O&&(O=L,A=t[T],y=T)}s.push(A),f=y}return s.push(t[r-1]),s}function D(t,e){const r=[];if(r.push(`X: ${t.x.toFixed(2)}`),r.push(`Y: ${t.y.toFixed(2)}`),t.label&&r.push(`Label: ${t.label}`),e&&t.metadata){for(const n of e)if(n in t.metadata){const o=t.metadata[n];r.push(`${n}: ${o}`)}}else if(t.metadata&&!e)for(const[n,o]of Object.entries(t.metadata))r.push(`${n}: ${o}`);return r.join("<br>")}function h(t){const e=t.ctrlKey||t.metaKey;return t.shiftKey&&e?"toggle":t.shiftKey?"add":e?"remove":"replace"}function Y(t,e,r=.1,n="linear"){const o=n==="log";let l=1/0,i=-1/0;for(const f of t){const a=f[e];if(!Number.isFinite(a)||o&&a<=0)continue;const u=o?Math.log10(a):a;u<l&&(l=u),u>i&&(i=u)}if(!Number.isFinite(l))return[0,1];if(l===i)return[l-1,i+1];const s=i-l;return[l-s*r,i+s*r]}function w(t,e,r){const n=new Set(t);switch(r){case"replace":return new Set(e);case"add":for(const o of e)n.add(o);return n;case"remove":for(const o of e)n.delete(o);return n;case"toggle":for(const o of e)n.has(o)?n.delete(o):n.add(o);return n;default:return n}}const U=({title:t,xAxis:e,yAxis:r,width:n,height:o,xRange:l,yRange:i,enableLassoSelection:s,enableBoxSelection:f,theme:a})=>({autosize:!1,width:n,height:o,title:t?{text:t,font:{family:c.PLOT_CONSTANTS.FONT_FAMILY,size:c.PLOT_CONSTANTS.TITLE_FONT_SIZE,color:a.textColor},x:.5,xanchor:"center"}:void 0,margin:{l:c.PLOT_CONSTANTS.MARGIN_LEFT,r:c.PLOT_CONSTANTS.MARGIN_RIGHT,t:t?c.PLOT_CONSTANTS.MARGIN_TOP:c.PLOT_CONSTANTS.MARGIN_TOP-c.PLOT_CONSTANTS.TITLE_FONT_SIZE,b:c.PLOT_CONSTANTS.MARGIN_BOTTOM},xaxis:{title:{text:e.title||"",font:{family:c.PLOT_CONSTANTS.FONT_FAMILY,size:c.PLOT_CONSTANTS.AXIS_TITLE_FONT_SIZE,color:a.textSecondary}},type:e.scale==="log"?"log":"linear",range:l,autorange:!l,gridcolor:a.gridColor,linecolor:a.lineColor,linewidth:c.PLOT_CONSTANTS.AXIS_LINE_WIDTH,tickfont:{family:c.PLOT_CONSTANTS.FONT_FAMILY,size:c.PLOT_CONSTANTS.AXIS_TICK_FONT_SIZE,color:a.textColor},zeroline:!1},yaxis:{title:{text:r.title||"",font:{family:c.PLOT_CONSTANTS.FONT_FAMILY,size:c.PLOT_CONSTANTS.AXIS_TITLE_FONT_SIZE,color:a.textSecondary}},type:r.scale==="log"?"log":"linear",range:i,autorange:!i,gridcolor:a.gridColor,linecolor:a.lineColor,linewidth:c.PLOT_CONSTANTS.AXIS_LINE_WIDTH,tickfont:{family:c.PLOT_CONSTANTS.FONT_FAMILY,size:c.PLOT_CONSTANTS.AXIS_TICK_FONT_SIZE,color:a.textColor},zeroline:!1},paper_bgcolor:a.paperBg,plot_bgcolor:a.plotBg,font:{family:c.PLOT_CONSTANTS.FONT_FAMILY,color:a.textColor},hovermode:"closest",dragmode:s?"lasso":f?"select":!1});exports.applySelection=w;exports.calculateAxisRange=Y;exports.calculateRange=I;exports.downsampleData=b;exports.generateTooltipContent=D;exports.getPlotlyLayoutConfig=U;exports.getSelectionMode=h;exports.getUniqueCategories=S;exports.lttbDownsample=g;exports.mapColors=d;exports.mapShapes=P;exports.mapSizes=R;
|
|
2
|
+
//# sourceMappingURL=utils.cjs.map
|