@tetrascience-npm/tetrascience-react-ui 0.7.0-beta.108.1 → 0.7.0-beta.129.1
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 +7 -3
- package/dist/components/ai/chain-of-thought.cjs +1 -1
- package/dist/components/ai/chain-of-thought.cjs.map +1 -1
- package/dist/components/ai/chain-of-thought.js +1 -1
- package/dist/components/ai/chain-of-thought.js.map +1 -1
- package/dist/components/ai/confirmation.cjs +1 -1
- package/dist/components/ai/confirmation.cjs.map +1 -1
- package/dist/components/ai/confirmation.js +1 -1
- package/dist/components/ai/confirmation.js.map +1 -1
- package/dist/components/ai/context.cjs +1 -1
- package/dist/components/ai/context.cjs.map +1 -1
- package/dist/components/ai/context.js +36 -35
- package/dist/components/ai/context.js.map +1 -1
- package/dist/components/ai/message.cjs +1 -1
- package/dist/components/ai/message.cjs.map +1 -1
- package/dist/components/ai/message.js +68 -68
- package/dist/components/ai/message.js.map +1 -1
- package/dist/components/ai/prompt-input.cjs +1 -1
- package/dist/components/ai/prompt-input.cjs.map +1 -1
- package/dist/components/ai/prompt-input.js +4 -2
- package/dist/components/ai/prompt-input.js.map +1 -1
- package/dist/components/ai/queue.cjs +1 -1
- package/dist/components/ai/queue.cjs.map +1 -1
- package/dist/components/ai/queue.js +9 -9
- package/dist/components/ai/queue.js.map +1 -1
- package/dist/components/ai/reasoning.cjs +1 -1
- package/dist/components/ai/reasoning.cjs.map +1 -1
- package/dist/components/ai/reasoning.js +67 -67
- package/dist/components/ai/reasoning.js.map +1 -1
- package/dist/components/ai/stream-status.cjs +1 -1
- package/dist/components/ai/stream-status.cjs.map +1 -1
- package/dist/components/ai/stream-status.js +41 -39
- package/dist/components/ai/stream-status.js.map +1 -1
- 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.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.js +14 -0
- package/dist/components/ai/streamdown-plugins.js.map +1 -0
- package/dist/components/ai/task.cjs +1 -1
- package/dist/components/ai/task.cjs.map +1 -1
- package/dist/components/ai/task.js +18 -11
- package/dist/components/ai/task.js.map +1 -1
- package/dist/components/ai/tool.cjs +1 -1
- package/dist/components/ai/tool.cjs.map +1 -1
- package/dist/components/ai/tool.js +51 -55
- package/dist/components/ai/tool.js.map +1 -1
- 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.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.js +270 -0
- package/dist/components/charts/AreaPlot/AreaPlot.js.map +1 -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.js +219 -0
- package/dist/components/charts/BarChart/BarChart.js.map +1 -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.js → BoxPlot/BoxPlot.js} +78 -79
- package/dist/components/charts/BoxPlot/BoxPlot.js.map +1 -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.js +22 -22
- package/dist/components/charts/ChartTooltip/ChartTooltip.js.map +1 -1
- 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.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.js +137 -0
- package/dist/components/charts/Chromatogram/annotations.js.map +1 -0
- package/dist/components/charts/Chromatogram/boundaryMarkers.cjs.map +1 -0
- package/dist/components/charts/Chromatogram/boundaryMarkers.js.map +1 -0
- package/dist/components/charts/Chromatogram/constants.cjs.map +1 -0
- package/dist/components/charts/Chromatogram/constants.js.map +1 -0
- package/dist/components/charts/Chromatogram/dataProcessing.cjs.map +1 -0
- package/dist/components/charts/Chromatogram/dataProcessing.js.map +1 -0
- package/dist/components/charts/Chromatogram/peakDetection.cjs.map +1 -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.js +216 -0
- package/dist/components/charts/Chromatogram/plotBuilder.js.map +1 -0
- package/dist/components/charts/Chromatogram/regionOverlays.cjs.map +1 -0
- package/dist/components/charts/Chromatogram/regionOverlays.js.map +1 -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.js +180 -0
- package/dist/components/charts/Electropherogram/Electropherogram.js.map +1 -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.js +107 -108
- package/dist/components/charts/Histogram/Histogram.js.map +1 -1
- 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.js +224 -0
- package/dist/components/charts/LinePlot/LinePlot.js.map +1 -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.js +62 -61
- package/dist/components/charts/PieChart/PieChart.js.map +1 -1
- 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.js +246 -242
- package/dist/components/charts/PlateMap/PlateMap.js.map +1 -1
- 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.js +252 -0
- package/dist/components/charts/ScatterPlot/ScatterPlot.js.map +1 -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.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.js +38 -0
- package/dist/components/charts/ScatterPlotInteractive/constants.js.map +1 -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.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.js +40 -0
- package/dist/components/charts/StackedChromatogram/StackedChromatogram.js.map +1 -0
- package/dist/components/charts/StackedChromatogram/transforms.cjs.map +1 -0
- package/dist/components/charts/StackedChromatogram/transforms.js.map +1 -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.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.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.js +10 -0
- package/dist/components/composed/AssistantLayout/dockLayout.js.map +1 -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.js +23 -23
- package/dist/components/composed/Chat/Chat.js.map +1 -1
- 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.js +33 -29
- package/dist/components/composed/ConfirmDialog/ConfirmDialog.js.map +1 -1
- 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.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.js +349 -313
- 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.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.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.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.js +23 -0
- package/dist/components/composed/DataAppShell/ShellContext.js.map +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.js +87 -0
- package/dist/components/composed/MoleculeStructure/MoleculeStructure.js.map +1 -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.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.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.js +17 -17
- 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.js +33 -33
- package/dist/components/composed/PlateMapEditor/PlateMapActionsMenu.js.map +1 -1
- 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.js +7 -7
- 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.js +1 -1
- package/dist/components/composed/PlateMapEditor/PlatePaintGrid.js.map +1 -1
- 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.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.js +1 -1
- package/dist/components/composed/PlateMapEditor/WellManifestTable.js.map +1 -1
- 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.js +3 -3
- package/dist/components/composed/TdpSearch/components/DefaultFilters.js.map +1 -1
- 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.js +56 -0
- package/dist/components/composed/TopBar/TopBar.js.map +1 -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.js +99 -0
- package/dist/components/composed/UserMenu/UserMenu.js.map +1 -0
- package/dist/components/composed/tdp-link.cjs +1 -1
- package/dist/components/composed/tdp-link.cjs.map +1 -1
- package/dist/components/composed/tdp-link.js +5 -5
- package/dist/components/composed/tdp-link.js.map +1 -1
- package/dist/components/ui/alert.cjs +1 -1
- package/dist/components/ui/alert.cjs.map +1 -1
- package/dist/components/ui/alert.js +12 -12
- package/dist/components/ui/alert.js.map +1 -1
- package/dist/components/ui/badge.cjs +1 -1
- package/dist/components/ui/badge.cjs.map +1 -1
- package/dist/components/ui/badge.js +14 -14
- package/dist/components/ui/badge.js.map +1 -1
- package/dist/components/ui/banner.cjs +1 -1
- package/dist/components/ui/banner.cjs.map +1 -1
- package/dist/components/ui/banner.js +17 -17
- package/dist/components/ui/banner.js.map +1 -1
- package/dist/components/ui/button.cjs +1 -1
- package/dist/components/ui/button.cjs.map +1 -1
- package/dist/components/ui/button.js +16 -16
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/calendar.cjs +1 -1
- package/dist/components/ui/calendar.cjs.map +1 -1
- package/dist/components/ui/calendar.js +3 -3
- package/dist/components/ui/calendar.js.map +1 -1
- package/dist/components/ui/code-block.cjs +3 -3
- package/dist/components/ui/code-block.cjs.map +1 -1
- package/dist/components/ui/code-block.js +136 -118
- package/dist/components/ui/code-block.js.map +1 -1
- package/dist/components/ui/code-editor.cjs +1 -1
- package/dist/components/ui/code-editor.cjs.map +1 -1
- package/dist/components/ui/code-editor.js +14 -12
- package/dist/components/ui/code-editor.js.map +1 -1
- package/dist/components/ui/combobox.cjs +1 -1
- package/dist/components/ui/combobox.cjs.map +1 -1
- package/dist/components/ui/combobox.js +33 -29
- package/dist/components/ui/combobox.js.map +1 -1
- package/dist/components/ui/command.cjs +1 -1
- package/dist/components/ui/command.cjs.map +1 -1
- package/dist/components/ui/command.js +81 -77
- package/dist/components/ui/command.js.map +1 -1
- package/dist/components/ui/context-menu.cjs +1 -1
- package/dist/components/ui/context-menu.cjs.map +1 -1
- package/dist/components/ui/context-menu.js +13 -13
- package/dist/components/ui/context-menu.js.map +1 -1
- 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.js +70 -62
- 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.js +24 -23
- 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.js +17 -16
- 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.js +15 -15
- 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.js +191 -190
- package/dist/components/ui/data-table/data-table.js.map +1 -1
- package/dist/components/ui/dialog.cjs +1 -1
- package/dist/components/ui/dialog.cjs.map +1 -1
- package/dist/components/ui/dialog.js +1 -1
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/dropdown-menu.cjs +1 -1
- package/dist/components/ui/dropdown-menu.cjs.map +1 -1
- package/dist/components/ui/dropdown-menu.js +12 -4
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/hover-card.cjs +1 -1
- package/dist/components/ui/hover-card.cjs.map +1 -1
- package/dist/components/ui/hover-card.js +3 -3
- package/dist/components/ui/hover-card.js.map +1 -1
- package/dist/components/ui/item.cjs +1 -1
- package/dist/components/ui/item.cjs.map +1 -1
- package/dist/components/ui/item.js +44 -36
- package/dist/components/ui/item.js.map +1 -1
- package/dist/components/ui/menubar.cjs +1 -1
- package/dist/components/ui/menubar.cjs.map +1 -1
- package/dist/components/ui/menubar.js +2 -2
- package/dist/components/ui/menubar.js.map +1 -1
- package/dist/components/ui/navigation-menu.cjs +1 -1
- package/dist/components/ui/navigation-menu.cjs.map +1 -1
- package/dist/components/ui/navigation-menu.js +1 -1
- package/dist/components/ui/navigation-menu.js.map +1 -1
- package/dist/components/ui/popover.cjs +1 -1
- package/dist/components/ui/popover.cjs.map +1 -1
- package/dist/components/ui/popover.js +1 -1
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/scroll-area.cjs +1 -1
- package/dist/components/ui/scroll-area.cjs.map +1 -1
- package/dist/components/ui/scroll-area.js +1 -0
- package/dist/components/ui/scroll-area.js.map +1 -1
- package/dist/components/ui/select.cjs +1 -1
- package/dist/components/ui/select.cjs.map +1 -1
- package/dist/components/ui/select.js +1 -1
- package/dist/components/ui/select.js.map +1 -1
- package/dist/components/ui/sheet.cjs +1 -1
- package/dist/components/ui/sheet.cjs.map +1 -1
- package/dist/components/ui/sheet.js +5 -5
- package/dist/components/ui/sheet.js.map +1 -1
- package/dist/components/ui/sidebar.cjs +1 -1
- package/dist/components/ui/sidebar.cjs.map +1 -1
- package/dist/components/ui/sidebar.js +2 -2
- package/dist/components/ui/sidebar.js.map +1 -1
- package/dist/components/ui/slider.cjs +1 -1
- package/dist/components/ui/slider.cjs.map +1 -1
- package/dist/components/ui/slider.js +10 -9
- package/dist/components/ui/slider.js.map +1 -1
- package/dist/components/ui/sonner.cjs +1 -1
- package/dist/components/ui/sonner.cjs.map +1 -1
- package/dist/components/ui/sonner.js +25 -10
- package/dist/components/ui/sonner.js.map +1 -1
- package/dist/components/ui/table.cjs +1 -1
- package/dist/components/ui/table.cjs.map +1 -1
- package/dist/components/ui/table.js +1 -0
- package/dist/components/ui/table.js.map +1 -1
- package/dist/components/ui/tabs.cjs +1 -1
- package/dist/components/ui/tabs.cjs.map +1 -1
- package/dist/components/ui/tabs.js +18 -18
- package/dist/components/ui/tabs.js.map +1 -1
- package/dist/components/ui/tetra-molecule-icon.cjs +2 -0
- package/dist/components/ui/tetra-molecule-icon.cjs.map +1 -0
- package/dist/components/ui/tetra-molecule-icon.js +49 -0
- package/dist/components/ui/tetra-molecule-icon.js.map +1 -0
- package/dist/components/ui/toggle-group.cjs +1 -1
- package/dist/components/ui/toggle-group.cjs.map +1 -1
- package/dist/components/ui/toggle-group.js +35 -31
- package/dist/components/ui/toggle-group.js.map +1 -1
- 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.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 +1073 -136
- package/dist/index.js +698 -647
- package/dist/index.js.map +1 -1
- package/dist/index.tailwind.css +1 -1
- package/dist/lib/shiki.cjs +2 -0
- package/dist/lib/shiki.cjs.map +1 -0
- package/dist/lib/shiki.js +72 -0
- package/dist/lib/shiki.js.map +1 -0
- package/package.json +23 -12
- 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.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 -241
- 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 -136
- package/dist/components/charts/ChromatogramChart/annotations.js.map +0 -1
- package/dist/components/charts/ChromatogramChart/boundaryMarkers.cjs.map +0 -1
- package/dist/components/charts/ChromatogramChart/boundaryMarkers.js.map +0 -1
- package/dist/components/charts/ChromatogramChart/constants.cjs.map +0 -1
- package/dist/components/charts/ChromatogramChart/constants.js.map +0 -1
- package/dist/components/charts/ChromatogramChart/dataProcessing.cjs.map +0 -1
- 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/ChromatogramChart/plotBuilder.cjs +0 -2
- package/dist/components/charts/ChromatogramChart/plotBuilder.cjs.map +0 -1
- package/dist/components/charts/ChromatogramChart/plotBuilder.js +0 -207
- package/dist/components/charts/ChromatogramChart/plotBuilder.js.map +0 -1
- package/dist/components/charts/ChromatogramChart/regionOverlays.cjs.map +0 -1
- package/dist/components/charts/ChromatogramChart/regionOverlays.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/charts/StackedChromatogramChart/StackedChromatogramChart.cjs +0 -2
- package/dist/components/charts/StackedChromatogramChart/StackedChromatogramChart.cjs.map +0 -1
- package/dist/components/charts/StackedChromatogramChart/StackedChromatogramChart.js +0 -40
- package/dist/components/charts/StackedChromatogramChart/StackedChromatogramChart.js.map +0 -1
- package/dist/components/charts/StackedChromatogramChart/transforms.cjs.map +0 -1
- package/dist/components/charts/StackedChromatogramChart/transforms.js.map +0 -1
- /package/dist/components/charts/{ChromatogramChart → Chromatogram}/boundaryMarkers.cjs +0 -0
- /package/dist/components/charts/{ChromatogramChart → Chromatogram}/boundaryMarkers.js +0 -0
- /package/dist/components/charts/{ChromatogramChart → Chromatogram}/constants.cjs +0 -0
- /package/dist/components/charts/{ChromatogramChart → Chromatogram}/constants.js +0 -0
- /package/dist/components/charts/{ChromatogramChart → Chromatogram}/dataProcessing.cjs +0 -0
- /package/dist/components/charts/{ChromatogramChart → Chromatogram}/dataProcessing.js +0 -0
- /package/dist/components/charts/{ChromatogramChart → Chromatogram}/peakDetection.cjs +0 -0
- /package/dist/components/charts/{ChromatogramChart → Chromatogram}/peakDetection.js +0 -0
- /package/dist/components/charts/{ChromatogramChart → Chromatogram}/regionOverlays.cjs +0 -0
- /package/dist/components/charts/{ChromatogramChart → Chromatogram}/regionOverlays.js +0 -0
- /package/dist/components/charts/{StackedChromatogramChart → StackedChromatogram}/transforms.cjs +0 -0
- /package/dist/components/charts/{StackedChromatogramChart → StackedChromatogram}/transforms.js +0 -0
|
@@ -1,234 +0,0 @@
|
|
|
1
|
-
import { jsxs as G, jsx as O } from "react/jsx-runtime";
|
|
2
|
-
import g from "plotly.js-dist";
|
|
3
|
-
import { useRef as k, useMemo as m, useEffect as Y } from "react";
|
|
4
|
-
import { useChartTooltip as T } from "../ChartTooltip/ChartTooltip.js";
|
|
5
|
-
import { useElementSize as q } from "../../../hooks/use-element-size.js";
|
|
6
|
-
import { usePlotlyTheme as F } from "../../../hooks/use-plotly-theme.js";
|
|
7
|
-
import { cn as J } from "../../../lib/utils.js";
|
|
8
|
-
import { seriesColor as K } from "../../../utils/colors.js";
|
|
9
|
-
const it = ({
|
|
10
|
-
dataSeries: x,
|
|
11
|
-
width: I,
|
|
12
|
-
height: _,
|
|
13
|
-
xRange: u,
|
|
14
|
-
yRange: p,
|
|
15
|
-
xTitle: v,
|
|
16
|
-
yTitle: b,
|
|
17
|
-
title: L = "Scatter Plot"
|
|
18
|
-
}) => {
|
|
19
|
-
const a = k(null), r = F(), { bindTooltip: N, tooltipElement: j } = T({ xLabel: v, yLabel: b }), [H, A] = q(), s = I ?? A.width, c = _ ?? A.height, P = s > 0 && c > 0, W = I === void 0, D = _ === void 0, w = k({ width: s, height: c });
|
|
20
|
-
w.current = { width: s, height: c };
|
|
21
|
-
const E = k(!1), M = k({ width: 0, height: 0 }), { xMin: S, xMax: X, yMin: U, yMax: V } = m(() => {
|
|
22
|
-
let o = Number.MAX_VALUE, t = Number.MIN_VALUE, n = Number.MAX_VALUE, e = Number.MIN_VALUE;
|
|
23
|
-
x.forEach((l) => {
|
|
24
|
-
l.x.forEach((i) => {
|
|
25
|
-
o = Math.min(o, i), t = Math.max(t, i);
|
|
26
|
-
}), l.y.forEach((i) => {
|
|
27
|
-
n = Math.min(n, i), e = Math.max(e, i);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
const d = (t - o) * 0.1, y = (e - n) * 0.1;
|
|
31
|
-
return {
|
|
32
|
-
xMin: o - d,
|
|
33
|
-
xMax: t + d,
|
|
34
|
-
yMin: n - y,
|
|
35
|
-
yMax: e + y
|
|
36
|
-
};
|
|
37
|
-
}, [x]), h = m(
|
|
38
|
-
() => u || [S, X],
|
|
39
|
-
[u, S, X]
|
|
40
|
-
), f = m(
|
|
41
|
-
() => p || [U, V],
|
|
42
|
-
[p, U, V]
|
|
43
|
-
), z = m(() => {
|
|
44
|
-
const o = h[1] - h[0];
|
|
45
|
-
let t = Math.pow(10, Math.floor(Math.log10(o)));
|
|
46
|
-
o / t > 10 && (t = t * 2), o / t < 4 && (t = t / 2);
|
|
47
|
-
const n = [];
|
|
48
|
-
let e = Math.ceil(h[0] / t) * t;
|
|
49
|
-
for (; e <= h[1]; )
|
|
50
|
-
n.push(e), e += t;
|
|
51
|
-
return n;
|
|
52
|
-
}, [h]), B = m(() => {
|
|
53
|
-
const o = f[1] - f[0];
|
|
54
|
-
let t = Math.pow(10, Math.floor(Math.log10(o)));
|
|
55
|
-
o / t > 10 && (t = t * 2), o / t < 4 && (t = t / 2);
|
|
56
|
-
const n = [];
|
|
57
|
-
let e = Math.ceil(f[0] / t) * t;
|
|
58
|
-
for (; e <= f[1]; )
|
|
59
|
-
n.push(e), e += t;
|
|
60
|
-
return n;
|
|
61
|
-
}, [f]), C = m(
|
|
62
|
-
() => ({
|
|
63
|
-
tickcolor: r.tickColor,
|
|
64
|
-
ticklen: 12,
|
|
65
|
-
tickwidth: 1,
|
|
66
|
-
ticks: "outside",
|
|
67
|
-
tickfont: {
|
|
68
|
-
size: 16,
|
|
69
|
-
color: r.textColor,
|
|
70
|
-
family: "Inter, sans-serif",
|
|
71
|
-
weight: 400
|
|
72
|
-
},
|
|
73
|
-
linecolor: r.lineColor,
|
|
74
|
-
linewidth: 1,
|
|
75
|
-
position: 0,
|
|
76
|
-
zeroline: !1
|
|
77
|
-
}),
|
|
78
|
-
[r]
|
|
79
|
-
);
|
|
80
|
-
return Y(() => {
|
|
81
|
-
if (!a.current || !P) return;
|
|
82
|
-
const o = x.map((l, i) => ({
|
|
83
|
-
x: l.x,
|
|
84
|
-
y: l.y,
|
|
85
|
-
type: "scatter",
|
|
86
|
-
mode: "markers",
|
|
87
|
-
name: l.name,
|
|
88
|
-
marker: {
|
|
89
|
-
color: K(i, l.color),
|
|
90
|
-
size: 10,
|
|
91
|
-
symbol: "circle"
|
|
92
|
-
},
|
|
93
|
-
hoverinfo: "none"
|
|
94
|
-
})), t = {
|
|
95
|
-
title: {
|
|
96
|
-
text: L,
|
|
97
|
-
font: {
|
|
98
|
-
size: 32,
|
|
99
|
-
family: "Inter, sans-serif",
|
|
100
|
-
color: r.textColor
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
width: w.current.width,
|
|
104
|
-
height: w.current.height,
|
|
105
|
-
// Bottom margin reserves room for tick labels, the x-axis title, and the
|
|
106
|
-
// container-anchored bottom legend stacked beneath them.
|
|
107
|
-
margin: { l: 80, r: 30, b: 96, t: 60, pad: 10 },
|
|
108
|
-
paper_bgcolor: r.paperBg,
|
|
109
|
-
plot_bgcolor: r.plotBg,
|
|
110
|
-
font: {
|
|
111
|
-
family: "Inter, sans-serif"
|
|
112
|
-
},
|
|
113
|
-
dragmode: !1,
|
|
114
|
-
xaxis: {
|
|
115
|
-
title: {
|
|
116
|
-
text: v,
|
|
117
|
-
font: {
|
|
118
|
-
size: 16,
|
|
119
|
-
color: r.textSecondary,
|
|
120
|
-
family: "Inter, sans-serif",
|
|
121
|
-
weight: 400
|
|
122
|
-
},
|
|
123
|
-
standoff: 32
|
|
124
|
-
},
|
|
125
|
-
gridcolor: r.gridColor,
|
|
126
|
-
range: u,
|
|
127
|
-
autorange: !u,
|
|
128
|
-
tickmode: "array",
|
|
129
|
-
tickvals: z,
|
|
130
|
-
ticktext: z.map(String),
|
|
131
|
-
showgrid: !0,
|
|
132
|
-
// Reserve space for tick labels + the axis title so the bottom legend
|
|
133
|
-
// can't overlap them at small sizes (SW-2157).
|
|
134
|
-
automargin: !0,
|
|
135
|
-
...C
|
|
136
|
-
},
|
|
137
|
-
yaxis: {
|
|
138
|
-
title: {
|
|
139
|
-
text: b,
|
|
140
|
-
font: {
|
|
141
|
-
size: 16,
|
|
142
|
-
color: r.textSecondary,
|
|
143
|
-
family: "Inter, sans-serif",
|
|
144
|
-
weight: 400
|
|
145
|
-
},
|
|
146
|
-
standoff: 30
|
|
147
|
-
},
|
|
148
|
-
gridcolor: r.gridColor,
|
|
149
|
-
range: p,
|
|
150
|
-
autorange: !p,
|
|
151
|
-
tickmode: "array",
|
|
152
|
-
tickvals: B,
|
|
153
|
-
showgrid: !0,
|
|
154
|
-
automargin: !0,
|
|
155
|
-
...C
|
|
156
|
-
},
|
|
157
|
-
legend: {
|
|
158
|
-
// Anchor to the bottom of the container (not the plot area) so the
|
|
159
|
-
// legend always clears the x-axis tick labels + title — a paper-relative
|
|
160
|
-
// fractional offset collapses into the ticks at small heights (SW-2157).
|
|
161
|
-
x: 0.5,
|
|
162
|
-
y: 0,
|
|
163
|
-
xanchor: "center",
|
|
164
|
-
yanchor: "bottom",
|
|
165
|
-
yref: "container",
|
|
166
|
-
orientation: "h",
|
|
167
|
-
font: {
|
|
168
|
-
size: 16,
|
|
169
|
-
color: r.legendColor,
|
|
170
|
-
family: "Inter, sans-serif",
|
|
171
|
-
weight: 500
|
|
172
|
-
}
|
|
173
|
-
},
|
|
174
|
-
showlegend: !0,
|
|
175
|
-
hovermode: "closest"
|
|
176
|
-
}, n = {
|
|
177
|
-
// Sizing is driven from the measured container; disable Plotly's own
|
|
178
|
-
// window-resize responsiveness (it can't see container resizes).
|
|
179
|
-
responsive: !1,
|
|
180
|
-
displayModeBar: !1,
|
|
181
|
-
displaylogo: !1
|
|
182
|
-
};
|
|
183
|
-
g.newPlot(a.current, o, t, n), N(a.current);
|
|
184
|
-
const e = a.current;
|
|
185
|
-
E.current = !0, M.current = { ...w.current };
|
|
186
|
-
const d = e, y = { color: r.spikeColor, width: 2 };
|
|
187
|
-
return d.on("plotly_hover", (l) => {
|
|
188
|
-
const i = l.points[0];
|
|
189
|
-
i && g.relayout(e, {
|
|
190
|
-
shapes: [
|
|
191
|
-
{
|
|
192
|
-
type: "line",
|
|
193
|
-
xref: "x",
|
|
194
|
-
yref: "paper",
|
|
195
|
-
x0: i.x,
|
|
196
|
-
x1: i.x,
|
|
197
|
-
y0: 0,
|
|
198
|
-
y1: 1,
|
|
199
|
-
line: y,
|
|
200
|
-
layer: "below"
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
type: "line",
|
|
204
|
-
xref: "paper",
|
|
205
|
-
yref: "y",
|
|
206
|
-
x0: 0,
|
|
207
|
-
x1: 1,
|
|
208
|
-
y0: i.y,
|
|
209
|
-
y1: i.y,
|
|
210
|
-
line: y,
|
|
211
|
-
layer: "below"
|
|
212
|
-
}
|
|
213
|
-
]
|
|
214
|
-
});
|
|
215
|
-
}), d.on("plotly_unhover", () => {
|
|
216
|
-
g.relayout(e, { shapes: [] });
|
|
217
|
-
}), () => {
|
|
218
|
-
e && (g.purge(e), E.current = !1);
|
|
219
|
-
};
|
|
220
|
-
}, [x, P, u, p, v, b, L, h, f, z, B, C, r, N]), Y(() => {
|
|
221
|
-
const o = a.current;
|
|
222
|
-
!o || !E.current || s <= 0 || c <= 0 || M.current.width === s && M.current.height === c || (M.current = { width: s, height: c }, g.relayout(o, { width: s, height: c }).catch(
|
|
223
|
-
() => {
|
|
224
|
-
}
|
|
225
|
-
));
|
|
226
|
-
}, [s, c]), /* @__PURE__ */ G("div", { ref: H, className: J("relative", W && "w-full", D && "h-full"), children: [
|
|
227
|
-
/* @__PURE__ */ O("div", { ref: a, style: { width: "100%", height: "100%" } }),
|
|
228
|
-
j
|
|
229
|
-
] });
|
|
230
|
-
};
|
|
231
|
-
export {
|
|
232
|
-
it as ScatterGraph
|
|
233
|
-
};
|
|
234
|
-
//# sourceMappingURL=ScatterGraph.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterGraph.js","sources":["../../../../src/components/charts/ScatterGraph/ScatterGraph.tsx"],"sourcesContent":["import Plotly from \"plotly.js-dist\";\nimport React, { useEffect, useRef, useMemo } from \"react\";\n\nimport { useChartTooltip } from \"../ChartTooltip\";\n\nimport { useElementSize } from \"@/hooks/use-element-size\";\nimport { usePlotlyTheme } from \"@/hooks/use-plotly-theme\";\nimport { cn } from \"@/lib/utils\";\nimport { seriesColor } from \"@/utils/colors\";\n\ninterface ScatterDataPoint {\n x: number;\n y: number;\n additionalInfo?: Record<string, string | number>;\n}\n\ninterface ScatterDataSeries {\n x: number[];\n y: number[];\n name: string;\n /** Optional color override (auto-assigned from CHART_COLORS if not provided) */\n color?: string;\n}\n\ninterface ScatterGraphProps {\n dataSeries: ScatterDataSeries[];\n /**\n * Fixed width in pixels. When omitted, the chart fills its container and\n * tracks the container's width via a `ResizeObserver`.\n */\n width?: number;\n /**\n * Fixed height in pixels. When omitted, the chart fills its container and\n * tracks the container's height via a `ResizeObserver`.\n */\n height?: number;\n xRange?: [number, number];\n yRange?: [number, number];\n xTitle?: string;\n yTitle?: string;\n title?: string;\n}\n\nconst ScatterGraph: React.FC<ScatterGraphProps> = ({\n dataSeries,\n width,\n height,\n xRange,\n yRange,\n xTitle,\n yTitle,\n title = \"Scatter Plot\",\n}) => {\n const plotRef = useRef<HTMLDivElement>(null);\n const theme = usePlotlyTheme();\n const { bindTooltip, tooltipElement } = useChartTooltip({ xLabel: xTitle, yLabel: yTitle });\n\n // Omitted width/height → fill the container and track its measured size;\n // explicit pixel values override. See AreaGraph for the reference pattern.\n const [containerRef, measured] = useElementSize<HTMLDivElement>();\n const resolvedWidth = width ?? measured.width;\n const resolvedHeight = height ?? measured.height;\n const hasSize = resolvedWidth > 0 && resolvedHeight > 0;\n // Fill is per-dimension: omit width to fill the container width, omit height\n // to fill its height (so e.g. a fixed width with a container-driven height works).\n const fillWidth = width === undefined;\n const fillHeight = height === undefined;\n const sizeRef = useRef({ width: resolvedWidth, height: resolvedHeight });\n sizeRef.current = { width: resolvedWidth, height: resolvedHeight };\n const plotInitedRef = useRef(false);\n // Size last applied to the plot, so the resize effect can skip a redundant\n // relayout right after newPlot already drew at that size.\n const appliedSizeRef = useRef({ width: 0, height: 0 });\n\n const { xMin, xMax, yMin, yMax } = useMemo(() => {\n let minX = Number.MAX_VALUE;\n let maxX = Number.MIN_VALUE;\n let minY = Number.MAX_VALUE;\n let maxY = Number.MIN_VALUE;\n\n dataSeries.forEach((series) => {\n series.x.forEach((x) => {\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n });\n series.y.forEach((y) => {\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n });\n });\n\n const xPadding = (maxX - minX) * 0.1;\n const yPadding = (maxY - minY) * 0.1;\n\n return {\n xMin: minX - xPadding,\n xMax: maxX + xPadding,\n yMin: minY - yPadding,\n yMax: maxY + yPadding,\n };\n }, [dataSeries]);\n\n const effectiveXRange = useMemo(\n () => xRange || [xMin, xMax],\n [xRange, xMin, xMax],\n );\n\n const effectiveYRange = useMemo(\n () => yRange || [yMin, yMax],\n [yRange, yMin, yMax],\n );\n\n const xTicks = useMemo(() => {\n const range = effectiveXRange[1] - effectiveXRange[0];\n let step = Math.pow(10, Math.floor(Math.log10(range)));\n\n if (range / step > 10) step = step * 2;\n if (range / step < 4) step = step / 2;\n\n const ticks = [];\n let current = Math.ceil(effectiveXRange[0] / step) * step;\n while (current <= effectiveXRange[1]) {\n ticks.push(current);\n current += step;\n }\n return ticks;\n }, [effectiveXRange]);\n\n const yTicks = useMemo(() => {\n const range = effectiveYRange[1] - effectiveYRange[0];\n let step = Math.pow(10, Math.floor(Math.log10(range)));\n\n if (range / step > 10) step = step * 2;\n if (range / step < 4) step = step / 2;\n\n const ticks = [];\n let current = Math.ceil(effectiveYRange[0] / step) * step;\n while (current <= effectiveYRange[1]) {\n ticks.push(current);\n current += step;\n }\n return ticks;\n }, [effectiveYRange]);\n\n const tickOptions = useMemo(\n () => ({\n tickcolor: theme.tickColor,\n ticklen: 12,\n tickwidth: 1,\n ticks: \"outside\" as const,\n tickfont: {\n size: 16,\n color: theme.textColor,\n family: \"Inter, sans-serif\",\n weight: 400,\n },\n linecolor: theme.lineColor,\n linewidth: 1,\n position: 0,\n zeroline: false,\n }),\n [theme],\n );\n\n useEffect(() => {\n if (!plotRef.current || !hasSize) return;\n\n const plotData = dataSeries.map((series, index) => ({\n x: series.x,\n y: series.y,\n type: \"scatter\" as const,\n mode: \"markers\" as const,\n name: series.name,\n marker: {\n color: seriesColor(index, series.color),\n size: 10,\n symbol: \"circle\" as const,\n },\n hoverinfo: \"none\" as const,\n }));\n\n const layout = {\n title: {\n text: title,\n font: {\n size: 32,\n family: \"Inter, sans-serif\",\n color: theme.textColor,\n },\n },\n width: sizeRef.current.width,\n height: sizeRef.current.height,\n // Bottom margin reserves room for tick labels, the x-axis title, and the\n // container-anchored bottom legend stacked beneath them.\n margin: { l: 80, r: 30, b: 96, t: 60, pad: 10 },\n paper_bgcolor: theme.paperBg,\n plot_bgcolor: theme.plotBg,\n font: {\n family: \"Inter, sans-serif\",\n },\n dragmode: false as const,\n xaxis: {\n title: {\n text: xTitle,\n font: {\n size: 16,\n color: theme.textSecondary,\n family: \"Inter, sans-serif\",\n weight: 400,\n },\n standoff: 32,\n },\n gridcolor: theme.gridColor,\n range: xRange,\n autorange: !xRange,\n tickmode: \"array\" as const,\n tickvals: xTicks,\n ticktext: xTicks.map(String),\n showgrid: true,\n // Reserve space for tick labels + the axis title so the bottom legend\n // can't overlap them at small sizes (SW-2157).\n automargin: true,\n ...tickOptions,\n },\n yaxis: {\n title: {\n text: yTitle,\n font: {\n size: 16,\n color: theme.textSecondary,\n family: \"Inter, sans-serif\",\n weight: 400,\n },\n standoff: 30,\n },\n gridcolor: theme.gridColor,\n range: yRange,\n autorange: !yRange,\n tickmode: \"array\" as const,\n tickvals: yTicks,\n showgrid: true,\n automargin: true,\n ...tickOptions,\n },\n legend: {\n // Anchor to the bottom of the container (not the plot area) so the\n // legend always clears the x-axis tick labels + title — a paper-relative\n // fractional offset collapses into the ticks at small heights (SW-2157).\n x: 0.5,\n y: 0,\n xanchor: \"center\" as const,\n yanchor: \"bottom\" as const,\n yref: \"container\" as const,\n orientation: \"h\" as const,\n font: {\n size: 16,\n color: theme.legendColor,\n family: \"Inter, sans-serif\",\n weight: 500,\n },\n },\n showlegend: true,\n hovermode: \"closest\" as const,\n };\n\n const config = {\n // Sizing is driven from the measured container; disable Plotly's own\n // window-resize responsiveness (it can't see container resizes).\n responsive: false,\n displayModeBar: false,\n displaylogo: false,\n };\n\n Plotly.newPlot(plotRef.current, plotData, layout, config);\n bindTooltip(plotRef.current);\n\n // Capture ref value for cleanup\n const plotElement = plotRef.current;\n plotInitedRef.current = true;\n appliedSizeRef.current = { ...sizeRef.current };\n\n // Crosshair guide lines through the hovered point. Drawn as layout shapes\n // with `layer: \"below\"` so they sit behind the markers — native Plotly\n // spikelines always render on top and can't be moved behind.\n const emitter = plotElement as unknown as Plotly.PlotlyHTMLElement;\n const crosshairLine = { color: theme.spikeColor, width: 2 };\n emitter.on(\"plotly_hover\", (eventData) => {\n const point = eventData.points[0];\n if (!point) return;\n void Plotly.relayout(plotElement, {\n shapes: [\n {\n type: \"line\",\n xref: \"x\",\n yref: \"paper\",\n x0: point.x,\n x1: point.x,\n y0: 0,\n y1: 1,\n line: crosshairLine,\n layer: \"below\",\n },\n {\n type: \"line\",\n xref: \"paper\",\n yref: \"y\",\n x0: 0,\n x1: 1,\n y0: point.y,\n y1: point.y,\n line: crosshairLine,\n layer: \"below\",\n },\n ],\n });\n });\n emitter.on(\"plotly_unhover\", () => {\n void Plotly.relayout(plotElement, { shapes: [] });\n });\n\n return () => {\n if (plotElement) {\n Plotly.purge(plotElement);\n plotInitedRef.current = false;\n }\n };\n }, [dataSeries, hasSize, xRange, yRange, xTitle, yTitle, title, effectiveXRange, effectiveYRange, xTicks, yTicks, tickOptions, theme, bindTooltip]);\n\n // Resize in place when the measured/overridden size changes — cheaper than\n // recreating the plot, and it preserves the hover/crosshair event bindings.\n useEffect(() => {\n const plotElement = plotRef.current;\n if (!plotElement || !plotInitedRef.current || resolvedWidth <= 0 || resolvedHeight <= 0) {\n return;\n }\n // newPlot already drew at the current size; skip the redundant relayout\n // (it would queue an automargin redraw that can reject if we unmount first).\n if (\n appliedSizeRef.current.width === resolvedWidth &&\n appliedSizeRef.current.height === resolvedHeight\n ) {\n return;\n }\n appliedSizeRef.current = { width: resolvedWidth, height: resolvedHeight };\n // Swallow rejections from a relayout that races an unmount/purge.\n void Plotly.relayout(plotElement, { width: resolvedWidth, height: resolvedHeight }).catch(\n () => {},\n );\n }, [resolvedWidth, resolvedHeight]);\n\n return (\n <div ref={containerRef} className={cn(\"relative\", fillWidth && \"w-full\", fillHeight && \"h-full\")}>\n <div ref={plotRef} style={{ width: \"100%\", height: \"100%\" }} />\n {tooltipElement}\n </div>\n );\n};\n\nexport { ScatterGraph };\nexport type { ScatterDataPoint, ScatterDataSeries, ScatterGraphProps };\n"],"names":["ScatterGraph","dataSeries","width","height","xRange","yRange","xTitle","yTitle","title","plotRef","useRef","theme","usePlotlyTheme","bindTooltip","tooltipElement","useChartTooltip","containerRef","measured","useElementSize","resolvedWidth","resolvedHeight","hasSize","fillWidth","fillHeight","sizeRef","plotInitedRef","appliedSizeRef","xMin","xMax","yMin","yMax","useMemo","minX","maxX","minY","maxY","series","x","y","xPadding","yPadding","effectiveXRange","effectiveYRange","xTicks","range","step","ticks","current","yTicks","tickOptions","useEffect","plotData","index","seriesColor","layout","config","Plotly","plotElement","emitter","crosshairLine","eventData","point","jsxs","cn","jsx"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),c=require("react"),h=require("../ChromatogramChart/ChromatogramChart.cjs"),C=require("./transforms.cjs");function g({series:r,stackingMode:t="overlay",stackOffset:o=0,stackingOrder:e="first-on-bottom",annotations:a,...n}){const{series:s,annotations:m,yRange:i}=c.useMemo(()=>C.applyStackingTransform(r,a,t,o,e),[r,a,t,o,e]);return u.jsx(h.ChromatogramChart,{...n,series:s,annotations:m,yRange:i})}exports.StackedChromatogramChart=g;
|
|
2
|
-
//# sourceMappingURL=StackedChromatogramChart.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StackedChromatogramChart.cjs","sources":["../../../../src/components/charts/StackedChromatogramChart/StackedChromatogramChart.tsx"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport { ChromatogramChart } from \"../ChromatogramChart\";\n\nimport { applyStackingTransform } from \"./transforms\";\n\nimport type { StackedChromatogramChartProps } from \"./types\";\n\nexport function StackedChromatogramChart({\n series,\n stackingMode = \"overlay\",\n stackOffset = 0,\n stackingOrder = \"first-on-bottom\",\n annotations,\n ...restProps\n}: StackedChromatogramChartProps) {\n const {\n series: transformedSeries,\n annotations: transformedAnnotations,\n yRange,\n } = useMemo(\n () =>\n applyStackingTransform(\n series,\n annotations,\n stackingMode,\n stackOffset,\n stackingOrder\n ),\n [series, annotations, stackingMode, stackOffset, stackingOrder]\n );\n\n return (\n <ChromatogramChart\n {...restProps}\n series={transformedSeries}\n annotations={transformedAnnotations}\n yRange={yRange}\n />\n );\n}\n\nexport default StackedChromatogramChart;\n"],"names":["StackedChromatogramChart","series","stackingMode","stackOffset","stackingOrder","annotations","restProps","transformedSeries","transformedAnnotations","yRange","useMemo","applyStackingTransform","jsx","ChromatogramChart"],"mappings":"8NAQO,SAASA,EAAyB,CACvC,OAAAC,EACA,aAAAC,EAAe,UACf,YAAAC,EAAc,EACd,cAAAC,EAAgB,kBAChB,YAAAC,EACA,GAAGC,CACL,EAAkC,CAChC,KAAM,CACJ,OAAQC,EACR,YAAaC,EACb,OAAAC,CAAA,EACEC,EAAAA,QACF,IACEC,EAAAA,uBACEV,EACAI,EACAH,EACAC,EACAC,CAAA,EAEJ,CAACH,EAAQI,EAAaH,EAAcC,EAAaC,CAAa,CAAA,EAGhE,OACEQ,EAAAA,IAACC,EAAAA,kBAAA,CACE,GAAGP,EACJ,OAAQC,EACR,YAAaC,EACb,OAAAC,CAAA,CAAA,CAGN"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { jsx as f } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo as p } from "react";
|
|
3
|
-
import { ChromatogramChart as h } from "../ChromatogramChart/ChromatogramChart.js";
|
|
4
|
-
import { applyStackingTransform as C } from "./transforms.js";
|
|
5
|
-
function l({
|
|
6
|
-
series: o,
|
|
7
|
-
stackingMode: r = "overlay",
|
|
8
|
-
stackOffset: t = 0,
|
|
9
|
-
stackingOrder: m = "first-on-bottom",
|
|
10
|
-
annotations: a,
|
|
11
|
-
...n
|
|
12
|
-
}) {
|
|
13
|
-
const {
|
|
14
|
-
series: e,
|
|
15
|
-
annotations: i,
|
|
16
|
-
yRange: s
|
|
17
|
-
} = p(
|
|
18
|
-
() => C(
|
|
19
|
-
o,
|
|
20
|
-
a,
|
|
21
|
-
r,
|
|
22
|
-
t,
|
|
23
|
-
m
|
|
24
|
-
),
|
|
25
|
-
[o, a, r, t, m]
|
|
26
|
-
);
|
|
27
|
-
return /* @__PURE__ */ f(
|
|
28
|
-
h,
|
|
29
|
-
{
|
|
30
|
-
...n,
|
|
31
|
-
series: e,
|
|
32
|
-
annotations: i,
|
|
33
|
-
yRange: s
|
|
34
|
-
}
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
export {
|
|
38
|
-
l as StackedChromatogramChart
|
|
39
|
-
};
|
|
40
|
-
//# sourceMappingURL=StackedChromatogramChart.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StackedChromatogramChart.js","sources":["../../../../src/components/charts/StackedChromatogramChart/StackedChromatogramChart.tsx"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport { ChromatogramChart } from \"../ChromatogramChart\";\n\nimport { applyStackingTransform } from \"./transforms\";\n\nimport type { StackedChromatogramChartProps } from \"./types\";\n\nexport function StackedChromatogramChart({\n series,\n stackingMode = \"overlay\",\n stackOffset = 0,\n stackingOrder = \"first-on-bottom\",\n annotations,\n ...restProps\n}: StackedChromatogramChartProps) {\n const {\n series: transformedSeries,\n annotations: transformedAnnotations,\n yRange,\n } = useMemo(\n () =>\n applyStackingTransform(\n series,\n annotations,\n stackingMode,\n stackOffset,\n stackingOrder\n ),\n [series, annotations, stackingMode, stackOffset, stackingOrder]\n );\n\n return (\n <ChromatogramChart\n {...restProps}\n series={transformedSeries}\n annotations={transformedAnnotations}\n yRange={yRange}\n />\n );\n}\n\nexport default StackedChromatogramChart;\n"],"names":["StackedChromatogramChart","series","stackingMode","stackOffset","stackingOrder","annotations","restProps","transformedSeries","transformedAnnotations","yRange","useMemo","applyStackingTransform","jsx","ChromatogramChart"],"mappings":";;;;AAQO,SAASA,EAAyB;AAAA,EACvC,QAAAC;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,aAAAC,IAAc;AAAA,EACd,eAAAC,IAAgB;AAAA,EAChB,aAAAC;AAAA,EACA,GAAGC;AACL,GAAkC;AAChC,QAAM;AAAA,IACJ,QAAQC;AAAA,IACR,aAAaC;AAAA,IACb,QAAAC;AAAA,EAAA,IACEC;AAAA,IACF,MACEC;AAAA,MACEV;AAAA,MACAI;AAAA,MACAH;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAAA,IAEJ,CAACH,GAAQI,GAAaH,GAAcC,GAAaC,CAAa;AAAA,EAAA;AAGhE,SACE,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGP;AAAA,MACJ,QAAQC;AAAA,MACR,aAAaC;AAAA,MACb,QAAAC;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transforms.cjs","sources":["../../../../src/components/charts/StackedChromatogramChart/transforms.ts"],"sourcesContent":["import type { ChromatogramSeries, PeakAnnotation } from \"../ChromatogramChart\";\nimport type { StackingMode } from \"./types\";\n\ninterface TransformResult {\n series: ChromatogramSeries[];\n annotations: PeakAnnotation[];\n yRange: [number, number];\n}\n\nexport function applyStackingTransform(\n inputSeries: ChromatogramSeries[],\n inputAnnotations: PeakAnnotation[][] | undefined,\n mode: StackingMode,\n stackOffset: number,\n stackingOrder: \"first-on-bottom\" | \"first-on-top\" = \"first-on-bottom\"\n): TransformResult {\n const yValues = inputSeries.flatMap((s) => s.y);\n const yMin = Math.min(...yValues, 0);\n const yMax = Math.max(...yValues);\n const consistentYRange: [number, number] = [yMin, yMax];\n\n if (mode === \"overlay\") {\n return {\n series: inputSeries,\n annotations: inputAnnotations ? inputAnnotations.flat() : [],\n yRange: consistentYRange,\n };\n }\n\n // 'stack' mode: shift each series up by its index × stackOffset\n const N = inputSeries.length;\n const yShiftForIndex = (index: number): number =>\n stackingOrder === \"first-on-top\"\n ? (N - 1 - index) * stackOffset\n : index * stackOffset;\n\n const offsetSeries: ChromatogramSeries[] = inputSeries.map(\n (series, index) => ({\n ...series,\n y: series.y.map((yVal) => yVal + yShiftForIndex(index)),\n })\n );\n\n const offsetAnnotations: PeakAnnotation[] = [];\n if (inputAnnotations) {\n inputAnnotations.forEach((seriesAnnotations, seriesIndex) => {\n const yShift = yShiftForIndex(seriesIndex);\n seriesAnnotations.forEach((ann) => {\n offsetAnnotations.push({ ...ann, y: ann.y + yShift });\n });\n });\n }\n\n const allYValues = offsetSeries.flatMap((s) => s.y);\n const annotationYValues = offsetAnnotations.map((a) => a.y);\n const stackedYMin = Math.min(...allYValues, ...annotationYValues, 0);\n const stackedYMax = Math.max(...allYValues, ...annotationYValues);\n\n return {\n series: offsetSeries,\n annotations: offsetAnnotations,\n yRange: [stackedYMin, stackedYMax],\n };\n}\n"],"names":["applyStackingTransform","inputSeries","inputAnnotations","mode","stackOffset","stackingOrder","yValues","s","yMin","yMax","consistentYRange","N","yShiftForIndex","index","offsetSeries","series","yVal","offsetAnnotations","seriesAnnotations","seriesIndex","yShift","ann","allYValues","annotationYValues","a","stackedYMin","stackedYMax"],"mappings":"gFASO,SAASA,EACdC,EACAC,EACAC,EACAC,EACAC,EAAoD,kBACnC,CACjB,MAAMC,EAAUL,EAAY,QAASM,GAAMA,EAAE,CAAC,EACxCC,EAAO,KAAK,IAAI,GAAGF,EAAS,CAAC,EAC7BG,EAAO,KAAK,IAAI,GAAGH,CAAO,EAC1BI,EAAqC,CAACF,EAAMC,CAAI,EAEtD,GAAIN,IAAS,UACX,MAAO,CACL,OAAQF,EACR,YAAaC,EAAmBA,EAAiB,KAAA,EAAS,CAAA,EAC1D,OAAQQ,CAAA,EAKZ,MAAMC,EAAIV,EAAY,OAChBW,EAAkBC,GACtBR,IAAkB,gBACbM,EAAI,EAAIE,GAAST,EAClBS,EAAQT,EAERU,EAAqCb,EAAY,IACrD,CAACc,EAAQF,KAAW,CAClB,GAAGE,EACH,EAAGA,EAAO,EAAE,IAAKC,GAASA,EAAOJ,EAAeC,CAAK,CAAC,CAAA,EACxD,EAGII,EAAsC,CAAA,EACxCf,GACFA,EAAiB,QAAQ,CAACgB,EAAmBC,IAAgB,CAC3D,MAAMC,EAASR,EAAeO,CAAW,EACzCD,EAAkB,QAASG,GAAQ,CACjCJ,EAAkB,KAAK,CAAE,GAAGI,EAAK,EAAGA,EAAI,EAAID,EAAQ,CACtD,CAAC,CACH,CAAC,EAGH,MAAME,EAAaR,EAAa,QAASP,GAAMA,EAAE,CAAC,EAC5CgB,EAAoBN,EAAkB,IAAKO,GAAMA,EAAE,CAAC,EACpDC,EAAc,KAAK,IAAI,GAAGH,EAAY,GAAGC,EAAmB,CAAC,EAC7DG,EAAc,KAAK,IAAI,GAAGJ,EAAY,GAAGC,CAAiB,EAEhE,MAAO,CACL,OAAQT,EACR,YAAaG,EACb,OAAQ,CAACQ,EAAaC,CAAW,CAAA,CAErC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transforms.js","sources":["../../../../src/components/charts/StackedChromatogramChart/transforms.ts"],"sourcesContent":["import type { ChromatogramSeries, PeakAnnotation } from \"../ChromatogramChart\";\nimport type { StackingMode } from \"./types\";\n\ninterface TransformResult {\n series: ChromatogramSeries[];\n annotations: PeakAnnotation[];\n yRange: [number, number];\n}\n\nexport function applyStackingTransform(\n inputSeries: ChromatogramSeries[],\n inputAnnotations: PeakAnnotation[][] | undefined,\n mode: StackingMode,\n stackOffset: number,\n stackingOrder: \"first-on-bottom\" | \"first-on-top\" = \"first-on-bottom\"\n): TransformResult {\n const yValues = inputSeries.flatMap((s) => s.y);\n const yMin = Math.min(...yValues, 0);\n const yMax = Math.max(...yValues);\n const consistentYRange: [number, number] = [yMin, yMax];\n\n if (mode === \"overlay\") {\n return {\n series: inputSeries,\n annotations: inputAnnotations ? inputAnnotations.flat() : [],\n yRange: consistentYRange,\n };\n }\n\n // 'stack' mode: shift each series up by its index × stackOffset\n const N = inputSeries.length;\n const yShiftForIndex = (index: number): number =>\n stackingOrder === \"first-on-top\"\n ? (N - 1 - index) * stackOffset\n : index * stackOffset;\n\n const offsetSeries: ChromatogramSeries[] = inputSeries.map(\n (series, index) => ({\n ...series,\n y: series.y.map((yVal) => yVal + yShiftForIndex(index)),\n })\n );\n\n const offsetAnnotations: PeakAnnotation[] = [];\n if (inputAnnotations) {\n inputAnnotations.forEach((seriesAnnotations, seriesIndex) => {\n const yShift = yShiftForIndex(seriesIndex);\n seriesAnnotations.forEach((ann) => {\n offsetAnnotations.push({ ...ann, y: ann.y + yShift });\n });\n });\n }\n\n const allYValues = offsetSeries.flatMap((s) => s.y);\n const annotationYValues = offsetAnnotations.map((a) => a.y);\n const stackedYMin = Math.min(...allYValues, ...annotationYValues, 0);\n const stackedYMax = Math.max(...allYValues, ...annotationYValues);\n\n return {\n series: offsetSeries,\n annotations: offsetAnnotations,\n yRange: [stackedYMin, stackedYMax],\n };\n}\n"],"names":["applyStackingTransform","inputSeries","inputAnnotations","mode","stackOffset","stackingOrder","yValues","s","yMin","yMax","consistentYRange","N","yShiftForIndex","index","offsetSeries","series","yVal","offsetAnnotations","seriesAnnotations","seriesIndex","yShift","ann","allYValues","annotationYValues","stackedYMin","stackedYMax"],"mappings":"AASO,SAASA,EACdC,GACAC,GACAC,GACAC,GACAC,IAAoD,mBACnC;AACjB,QAAMC,IAAUL,EAAY,QAAQ,CAACM,MAAMA,EAAE,CAAC,GACxCC,IAAO,KAAK,IAAI,GAAGF,GAAS,CAAC,GAC7BG,IAAO,KAAK,IAAI,GAAGH,CAAO,GAC1BI,IAAqC,CAACF,GAAMC,CAAI;AAEtD,MAAIN,MAAS;AACX,WAAO;AAAA,MACL,QAAQF;AAAA,MACR,aAAaC,IAAmBA,EAAiB,KAAA,IAAS,CAAA;AAAA,MAC1D,QAAQQ;AAAA,IAAA;AAKZ,QAAMC,IAAIV,EAAY,QAChBW,IAAiB,CAACC,MACtBR,MAAkB,kBACbM,IAAI,IAAIE,KAAST,IAClBS,IAAQT,GAERU,IAAqCb,EAAY;AAAA,IACrD,CAACc,GAAQF,OAAW;AAAA,MAClB,GAAGE;AAAA,MACH,GAAGA,EAAO,EAAE,IAAI,CAACC,MAASA,IAAOJ,EAAeC,CAAK,CAAC;AAAA,IAAA;AAAA,EACxD,GAGII,IAAsC,CAAA;AAC5C,EAAIf,KACFA,EAAiB,QAAQ,CAACgB,GAAmBC,MAAgB;AAC3D,UAAMC,IAASR,EAAeO,CAAW;AACzC,IAAAD,EAAkB,QAAQ,CAACG,MAAQ;AACjC,MAAAJ,EAAkB,KAAK,EAAE,GAAGI,GAAK,GAAGA,EAAI,IAAID,GAAQ;AAAA,IACtD,CAAC;AAAA,EACH,CAAC;AAGH,QAAME,IAAaR,EAAa,QAAQ,CAACP,MAAMA,EAAE,CAAC,GAC5CgB,IAAoBN,EAAkB,IAAI,CAAC,MAAM,EAAE,CAAC,GACpDO,IAAc,KAAK,IAAI,GAAGF,GAAY,GAAGC,GAAmB,CAAC,GAC7DE,IAAc,KAAK,IAAI,GAAGH,GAAY,GAAGC,CAAiB;AAEhE,SAAO;AAAA,IACL,QAAQT;AAAA,IACR,aAAaG;AAAA,IACb,QAAQ,CAACO,GAAaC,CAAW;AAAA,EAAA;AAErC;"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/components/charts/{StackedChromatogramChart → StackedChromatogram}/transforms.cjs
RENAMED
|
File without changes
|
/package/dist/components/charts/{StackedChromatogramChart → StackedChromatogram}/transforms.js
RENAMED
|
File without changes
|