@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,108 @@
|
|
|
1
|
+
import { jsx as e, jsxs as m, Fragment as v } from "react/jsx-runtime";
|
|
2
|
+
import { DownloadIcon as k, ArrowDownIcon as g } from "lucide-react";
|
|
3
|
+
import { useCallback as d } from "react";
|
|
4
|
+
import { StickToBottom as u, useStickToBottomContext as C } from "use-stick-to-bottom";
|
|
5
|
+
import { Button as p } from "../ui/button.js";
|
|
6
|
+
import { cn as l } from "../lib/utils.js";
|
|
7
|
+
const T = ({ className: o, ...t }) => /* @__PURE__ */ e(
|
|
8
|
+
u,
|
|
9
|
+
{
|
|
10
|
+
className: l("relative flex-1 overflow-y-hidden", o),
|
|
11
|
+
initial: "smooth",
|
|
12
|
+
resize: "smooth",
|
|
13
|
+
role: "log",
|
|
14
|
+
...t
|
|
15
|
+
}
|
|
16
|
+
), U = ({
|
|
17
|
+
className: o,
|
|
18
|
+
...t
|
|
19
|
+
}) => /* @__PURE__ */ e(
|
|
20
|
+
u.Content,
|
|
21
|
+
{
|
|
22
|
+
className: l("flex flex-col gap-8 p-4", o),
|
|
23
|
+
...t
|
|
24
|
+
}
|
|
25
|
+
), D = ({
|
|
26
|
+
className: o,
|
|
27
|
+
title: t = "No messages yet",
|
|
28
|
+
description: n = "Start a conversation to see messages here",
|
|
29
|
+
icon: r,
|
|
30
|
+
children: a,
|
|
31
|
+
...c
|
|
32
|
+
}) => /* @__PURE__ */ e(
|
|
33
|
+
"div",
|
|
34
|
+
{
|
|
35
|
+
className: l(
|
|
36
|
+
"flex size-full flex-col items-center justify-center gap-3 p-8 text-center",
|
|
37
|
+
o
|
|
38
|
+
),
|
|
39
|
+
...c,
|
|
40
|
+
children: a ?? /* @__PURE__ */ m(v, { children: [
|
|
41
|
+
r && /* @__PURE__ */ e("div", { className: "text-muted-foreground", children: r }),
|
|
42
|
+
/* @__PURE__ */ m("div", { className: "space-y-1", children: [
|
|
43
|
+
/* @__PURE__ */ e("h3", { className: "font-medium text-sm", children: t }),
|
|
44
|
+
n && /* @__PURE__ */ e("p", { className: "text-muted-foreground text-sm", children: n })
|
|
45
|
+
] })
|
|
46
|
+
] })
|
|
47
|
+
}
|
|
48
|
+
), R = ({
|
|
49
|
+
className: o,
|
|
50
|
+
...t
|
|
51
|
+
}) => {
|
|
52
|
+
const { isAtBottom: n, scrollToBottom: r } = C(), a = d(() => {
|
|
53
|
+
r();
|
|
54
|
+
}, [r]);
|
|
55
|
+
return !n && /* @__PURE__ */ e(
|
|
56
|
+
p,
|
|
57
|
+
{
|
|
58
|
+
className: l(
|
|
59
|
+
"absolute bottom-4 left-[50%] translate-x-[-50%] rounded-full dark:bg-background dark:hover:bg-accent",
|
|
60
|
+
o
|
|
61
|
+
),
|
|
62
|
+
onClick: a,
|
|
63
|
+
size: "icon",
|
|
64
|
+
type: "button",
|
|
65
|
+
variant: "outline",
|
|
66
|
+
...t,
|
|
67
|
+
children: /* @__PURE__ */ e(g, { className: "size-4" })
|
|
68
|
+
}
|
|
69
|
+
);
|
|
70
|
+
}, N = (o) => o.parts.filter((t) => t.type === "text").map((t) => t.text).join(""), f = (o) => `**${o.role.charAt(0).toUpperCase() + o.role.slice(1)}:** ${N(o)}`, w = (o, t = f) => o.map((n, r) => t(n, r)).join(`
|
|
71
|
+
|
|
72
|
+
`), A = ({
|
|
73
|
+
messages: o,
|
|
74
|
+
filename: t = "conversation.md",
|
|
75
|
+
formatMessage: n = f,
|
|
76
|
+
className: r,
|
|
77
|
+
children: a,
|
|
78
|
+
...c
|
|
79
|
+
}) => {
|
|
80
|
+
const b = d(() => {
|
|
81
|
+
const h = w(o, n), x = new Blob([h], { type: "text/markdown" }), i = URL.createObjectURL(x), s = document.createElement("a");
|
|
82
|
+
s.href = i, s.download = t, document.body.append(s), s.click(), s.remove(), URL.revokeObjectURL(i);
|
|
83
|
+
}, [o, t, n]);
|
|
84
|
+
return /* @__PURE__ */ e(
|
|
85
|
+
p,
|
|
86
|
+
{
|
|
87
|
+
className: l(
|
|
88
|
+
"absolute top-4 right-4 rounded-full dark:bg-background dark:hover:bg-accent",
|
|
89
|
+
r
|
|
90
|
+
),
|
|
91
|
+
onClick: b,
|
|
92
|
+
size: "icon",
|
|
93
|
+
type: "button",
|
|
94
|
+
variant: "outline",
|
|
95
|
+
...c,
|
|
96
|
+
children: a ?? /* @__PURE__ */ e(k, { className: "size-4" })
|
|
97
|
+
}
|
|
98
|
+
);
|
|
99
|
+
};
|
|
100
|
+
export {
|
|
101
|
+
T as Conversation,
|
|
102
|
+
U as ConversationContent,
|
|
103
|
+
A as ConversationDownload,
|
|
104
|
+
D as ConversationEmptyState,
|
|
105
|
+
R as ConversationScrollButton,
|
|
106
|
+
w as messagesToMarkdown
|
|
107
|
+
};
|
|
108
|
+
//# sourceMappingURL=conversation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation.js","sources":["../../src/components/ai/conversation.tsx"],"sourcesContent":["import { ArrowDownIcon, DownloadIcon } from \"lucide-react\";\nimport { useCallback } from \"react\";\nimport { StickToBottom, useStickToBottomContext } from \"use-stick-to-bottom\";\n\nimport type { UIMessage } from \"ai\";\nimport type { ComponentProps } from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { cn } from \"@/lib/utils\";\n\nexport type ConversationProps = ComponentProps<typeof StickToBottom>;\n\nexport const Conversation = ({ className, ...props }: ConversationProps) => (\n <StickToBottom\n className={cn(\"relative flex-1 overflow-y-hidden\", className)}\n initial=\"smooth\"\n resize=\"smooth\"\n role=\"log\"\n {...props}\n />\n);\n\nexport type ConversationContentProps = ComponentProps<\n typeof StickToBottom.Content\n>;\n\nexport const ConversationContent = ({\n className,\n ...props\n}: ConversationContentProps) => (\n <StickToBottom.Content\n className={cn(\"flex flex-col gap-8 p-4\", className)}\n {...props}\n />\n);\n\nexport type ConversationEmptyStateProps = ComponentProps<\"div\"> & {\n title?: string;\n description?: string;\n icon?: React.ReactNode;\n};\n\nexport const ConversationEmptyState = ({\n className,\n title = \"No messages yet\",\n description = \"Start a conversation to see messages here\",\n icon,\n children,\n ...props\n}: ConversationEmptyStateProps) => (\n <div\n className={cn(\n \"flex size-full flex-col items-center justify-center gap-3 p-8 text-center\",\n className\n )}\n {...props}\n >\n {children ?? (\n <>\n {icon && <div className=\"text-muted-foreground\">{icon}</div>}\n <div className=\"space-y-1\">\n <h3 className=\"font-medium text-sm\">{title}</h3>\n {description && (\n <p className=\"text-muted-foreground text-sm\">{description}</p>\n )}\n </div>\n </>\n )}\n </div>\n);\n\nexport type ConversationScrollButtonProps = ComponentProps<typeof Button>;\n\nexport const ConversationScrollButton = ({\n className,\n ...props\n}: ConversationScrollButtonProps) => {\n const { isAtBottom, scrollToBottom } = useStickToBottomContext();\n\n const handleScrollToBottom = useCallback(() => {\n scrollToBottom();\n }, [scrollToBottom]);\n\n return (\n !isAtBottom && (\n <Button\n className={cn(\n \"absolute bottom-4 left-[50%] translate-x-[-50%] rounded-full dark:bg-background dark:hover:bg-accent\",\n className\n )}\n onClick={handleScrollToBottom}\n size=\"icon\"\n type=\"button\"\n variant=\"outline\"\n {...props}\n >\n <ArrowDownIcon className=\"size-4\" />\n </Button>\n )\n );\n};\n\nconst getMessageText = (message: UIMessage): string =>\n message.parts\n .filter((part) => part.type === \"text\")\n .map((part) => part.text)\n .join(\"\");\n\nexport type ConversationDownloadProps = Omit<\n ComponentProps<typeof Button>,\n \"onClick\"\n> & {\n messages: UIMessage[];\n filename?: string;\n formatMessage?: (message: UIMessage, index: number) => string;\n};\n\nconst defaultFormatMessage = (message: UIMessage): string => {\n const roleLabel =\n message.role.charAt(0).toUpperCase() + message.role.slice(1);\n return `**${roleLabel}:** ${getMessageText(message)}`;\n};\n\nexport const messagesToMarkdown = (\n messages: UIMessage[],\n formatMessage: (\n message: UIMessage,\n index: number\n ) => string = defaultFormatMessage\n): string => messages.map((msg, i) => formatMessage(msg, i)).join(\"\\n\\n\");\n\nexport const ConversationDownload = ({\n messages,\n filename = \"conversation.md\",\n formatMessage = defaultFormatMessage,\n className,\n children,\n ...props\n}: ConversationDownloadProps) => {\n const handleDownload = useCallback(() => {\n const markdown = messagesToMarkdown(messages, formatMessage);\n const blob = new Blob([markdown], { type: \"text/markdown\" });\n const url = URL.createObjectURL(blob);\n const link = document.createElement(\"a\");\n link.href = url;\n link.download = filename;\n document.body.append(link);\n link.click();\n link.remove();\n URL.revokeObjectURL(url);\n }, [messages, filename, formatMessage]);\n\n return (\n <Button\n className={cn(\n \"absolute top-4 right-4 rounded-full dark:bg-background dark:hover:bg-accent\",\n className\n )}\n onClick={handleDownload}\n size=\"icon\"\n type=\"button\"\n variant=\"outline\"\n {...props}\n >\n {children ?? <DownloadIcon className=\"size-4\" />}\n </Button>\n );\n};\n"],"names":["Conversation","className","props","jsx","StickToBottom","cn","ConversationContent","ConversationEmptyState","title","description","icon","children","jsxs","Fragment","ConversationScrollButton","isAtBottom","scrollToBottom","useStickToBottomContext","handleScrollToBottom","useCallback","Button","ArrowDownIcon","getMessageText","message","part","defaultFormatMessage","messagesToMarkdown","messages","formatMessage","msg","i","ConversationDownload","filename","handleDownload","markdown","blob","url","link","DownloadIcon"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),x=require("lucide-react"),o=require("react"),p=require("../ui/badge.cjs"),u=require("../ui/carousel.cjs"),C=require("../ui/hover-card.cjs"),s=require("../lib/utils.cjs"),h=({className:e,...t})=>n.jsx("span",{className:s.cn("group inline items-center gap-1",e),...t}),j=({className:e,...t})=>n.jsx("span",{className:s.cn("transition-colors group-hover:bg-accent",e),...t}),f=e=>{try{return new URL(e).hostname}catch{return e}},N=e=>n.jsx(C.HoverCard,{closeDelay:0,openDelay:0,...e}),b=({sources:e,className:t,...i})=>n.jsx(C.HoverCardTrigger,{asChild:!0,children:n.jsx(p.Badge,{className:s.cn("ml-1 rounded-full",t),variant:"secondary",...i,children:e[0]?n.jsxs(n.Fragment,{children:[f(e[0])," ",e.length>1&&`+${e.length-1}`]}):"unknown"})}),v=({className:e,...t})=>n.jsx(C.HoverCardContent,{className:s.cn("relative w-80 p-0",e),...t}),m=o.createContext(void 0),d=()=>o.useContext(m),y=({className:e,children:t,...i})=>{const[a,r]=o.useState();return n.jsx(m.Provider,{value:a,children:n.jsx(u.Carousel,{className:s.cn("w-full",e),setApi:r,...i,children:t})})},k=e=>n.jsx(u.CarouselContent,{...e}),S=({className:e,...t})=>n.jsx(u.CarouselItem,{className:s.cn("w-full space-y-2 p-4 pl-8",e),...t}),q=({className:e,...t})=>n.jsx("div",{className:s.cn("flex items-center justify-between gap-2 rounded-t-md bg-secondary p-2",e),...t}),w=({children:e,className:t,...i})=>{const a=d(),[r,c]=o.useState(0),[I,g]=o.useState(0),l=o.useCallback(()=>{a&&(g(a.scrollSnapList().length),c(a.selectedScrollSnap()+1))},[a]);return o.useEffect(()=>{if(a)return l(),a.on("select",l),()=>{a.off("select",l)}},[a,l]),n.jsx("div",{className:s.cn("flex flex-1 items-center justify-end px-3 py-1 text-muted-foreground text-xs",t),...i,children:e??`${r}/${I}`})},H=({className:e,...t})=>{const i=d(),a=o.useCallback(()=>{i&&i.scrollPrev()},[i]);return n.jsx("button",{"aria-label":"Previous",className:s.cn("shrink-0",e),onClick:a,type:"button",...t,children:n.jsx(x.ArrowLeftIcon,{className:"size-4 text-muted-foreground"})})},P=({className:e,...t})=>{const i=d(),a=o.useCallback(()=>{i&&i.scrollNext()},[i]);return n.jsx("button",{"aria-label":"Next",className:s.cn("shrink-0",e),onClick:a,type:"button",...t,children:n.jsx(x.ArrowRightIcon,{className:"size-4 text-muted-foreground"})})},T=({title:e,url:t,description:i,className:a,children:r,...c})=>n.jsxs("div",{className:s.cn("space-y-1",a),...c,children:[e&&n.jsx("h4",{className:"truncate font-medium text-sm leading-tight",children:e}),t&&n.jsx("p",{className:"truncate break-all text-muted-foreground text-xs",children:t}),i&&n.jsx("p",{className:"line-clamp-3 text-muted-foreground text-sm leading-relaxed",children:i}),r]}),A=({children:e,className:t,...i})=>n.jsx("blockquote",{className:s.cn("border-muted border-l-2 pl-3 text-muted-foreground text-sm italic",t),...i,children:e});exports.InlineCitation=h;exports.InlineCitationCard=N;exports.InlineCitationCardBody=v;exports.InlineCitationCardTrigger=b;exports.InlineCitationCarousel=y;exports.InlineCitationCarouselContent=k;exports.InlineCitationCarouselHeader=q;exports.InlineCitationCarouselIndex=w;exports.InlineCitationCarouselItem=S;exports.InlineCitationCarouselNext=P;exports.InlineCitationCarouselPrev=H;exports.InlineCitationQuote=A;exports.InlineCitationSource=T;exports.InlineCitationText=j;
|
|
2
|
+
//# sourceMappingURL=inline-citation.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-citation.cjs","sources":["../../src/components/ai/inline-citation.tsx"],"sourcesContent":["import { ArrowLeftIcon, ArrowRightIcon } from \"lucide-react\";\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useState,\n} from \"react\";\n\nimport type { CarouselApi } from \"@/components/ui/carousel\";\nimport type { ComponentProps } from \"react\";\n\nimport { Badge } from \"@/components/ui/badge\";\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n} from \"@/components/ui/carousel\";\nimport {\n HoverCard,\n HoverCardContent,\n HoverCardTrigger,\n} from \"@/components/ui/hover-card\";\nimport { cn } from \"@/lib/utils\";\n\n\n\n\nexport type InlineCitationProps = ComponentProps<\"span\">;\n\nexport const InlineCitation = ({\n className,\n ...props\n}: InlineCitationProps) => (\n <span\n className={cn(\"group inline items-center gap-1\", className)}\n {...props}\n />\n);\n\nexport type InlineCitationTextProps = ComponentProps<\"span\">;\n\nexport const InlineCitationText = ({\n className,\n ...props\n}: InlineCitationTextProps) => (\n <span\n className={cn(\"transition-colors group-hover:bg-accent\", className)}\n {...props}\n />\n);\n\nconst getHostname = (source: string) => {\n try {\n return new URL(source).hostname;\n } catch {\n return source;\n }\n};\n\nexport type InlineCitationCardProps = ComponentProps<typeof HoverCard>;\n\nexport const InlineCitationCard = (props: InlineCitationCardProps) => (\n <HoverCard closeDelay={0} openDelay={0} {...props} />\n);\n\nexport type InlineCitationCardTriggerProps = ComponentProps<typeof Badge> & {\n sources: string[];\n};\n\nexport const InlineCitationCardTrigger = ({\n sources,\n className,\n ...props\n}: InlineCitationCardTriggerProps) => (\n <HoverCardTrigger asChild>\n <Badge\n className={cn(\"ml-1 rounded-full\", className)}\n variant=\"secondary\"\n {...props}\n >\n {sources[0] ? (\n <>\n {getHostname(sources[0])}{\" \"}\n {sources.length > 1 && `+${sources.length - 1}`}\n </>\n ) : (\n \"unknown\"\n )}\n </Badge>\n </HoverCardTrigger>\n);\n\nexport type InlineCitationCardBodyProps = ComponentProps<\"div\">;\n\nexport const InlineCitationCardBody = ({\n className,\n ...props\n}: InlineCitationCardBodyProps) => (\n <HoverCardContent className={cn(\"relative w-80 p-0\", className)} {...props} />\n);\n\nconst CarouselApiContext = createContext<CarouselApi | undefined>(undefined);\n\nconst useCarouselApi = () => {\n return useContext(CarouselApiContext);\n};\n\nexport type InlineCitationCarouselProps = ComponentProps<typeof Carousel>;\n\nexport const InlineCitationCarousel = ({\n className,\n children,\n ...props\n}: InlineCitationCarouselProps) => {\n const [api, setApi] = useState<CarouselApi>();\n\n return (\n <CarouselApiContext.Provider value={api}>\n <Carousel className={cn(\"w-full\", className)} setApi={setApi} {...props}>\n {children}\n </Carousel>\n </CarouselApiContext.Provider>\n );\n};\n\nexport type InlineCitationCarouselContentProps = ComponentProps<\"div\">;\n\nexport const InlineCitationCarouselContent = (\n props: InlineCitationCarouselContentProps\n) => <CarouselContent {...props} />;\n\nexport type InlineCitationCarouselItemProps = ComponentProps<\"div\">;\n\nexport const InlineCitationCarouselItem = ({\n className,\n ...props\n}: InlineCitationCarouselItemProps) => (\n <CarouselItem\n className={cn(\"w-full space-y-2 p-4 pl-8\", className)}\n {...props}\n />\n);\n\nexport type InlineCitationCarouselHeaderProps = ComponentProps<\"div\">;\n\nexport const InlineCitationCarouselHeader = ({\n className,\n ...props\n}: InlineCitationCarouselHeaderProps) => (\n <div\n className={cn(\n \"flex items-center justify-between gap-2 rounded-t-md bg-secondary p-2\",\n className\n )}\n {...props}\n />\n);\n\nexport type InlineCitationCarouselIndexProps = ComponentProps<\"div\">;\n\nexport const InlineCitationCarouselIndex = ({\n children,\n className,\n ...props\n}: InlineCitationCarouselIndexProps) => {\n const api = useCarouselApi();\n const [current, setCurrent] = useState(0);\n const [count, setCount] = useState(0);\n\n const syncState = useCallback(() => {\n if (!api) {\n return;\n }\n setCount(api.scrollSnapList().length);\n setCurrent(api.selectedScrollSnap() + 1);\n }, [api]);\n\n useEffect(() => {\n if (!api) {\n return;\n }\n\n syncState();\n\n api.on(\"select\", syncState);\n\n return () => {\n api.off(\"select\", syncState);\n };\n }, [api, syncState]);\n\n return (\n <div\n className={cn(\n \"flex flex-1 items-center justify-end px-3 py-1 text-muted-foreground text-xs\",\n className\n )}\n {...props}\n >\n {children ?? `${current}/${count}`}\n </div>\n );\n};\n\nexport type InlineCitationCarouselPrevProps = ComponentProps<\"button\">;\n\nexport const InlineCitationCarouselPrev = ({\n className,\n ...props\n}: InlineCitationCarouselPrevProps) => {\n const api = useCarouselApi();\n\n const handleClick = useCallback(() => {\n if (api) {\n api.scrollPrev();\n }\n }, [api]);\n\n return (\n <button\n aria-label=\"Previous\"\n className={cn(\"shrink-0\", className)}\n onClick={handleClick}\n type=\"button\"\n {...props}\n >\n <ArrowLeftIcon className=\"size-4 text-muted-foreground\" />\n </button>\n );\n};\n\nexport type InlineCitationCarouselNextProps = ComponentProps<\"button\">;\n\nexport const InlineCitationCarouselNext = ({\n className,\n ...props\n}: InlineCitationCarouselNextProps) => {\n const api = useCarouselApi();\n\n const handleClick = useCallback(() => {\n if (api) {\n api.scrollNext();\n }\n }, [api]);\n\n return (\n <button\n aria-label=\"Next\"\n className={cn(\"shrink-0\", className)}\n onClick={handleClick}\n type=\"button\"\n {...props}\n >\n <ArrowRightIcon className=\"size-4 text-muted-foreground\" />\n </button>\n );\n};\n\nexport type InlineCitationSourceProps = ComponentProps<\"div\"> & {\n title?: string;\n url?: string;\n description?: string;\n};\n\nexport const InlineCitationSource = ({\n title,\n url,\n description,\n className,\n children,\n ...props\n}: InlineCitationSourceProps) => (\n <div className={cn(\"space-y-1\", className)} {...props}>\n {title && (\n <h4 className=\"truncate font-medium text-sm leading-tight\">{title}</h4>\n )}\n {url && (\n <p className=\"truncate break-all text-muted-foreground text-xs\">{url}</p>\n )}\n {description && (\n <p className=\"line-clamp-3 text-muted-foreground text-sm leading-relaxed\">\n {description}\n </p>\n )}\n {children}\n </div>\n);\n\nexport type InlineCitationQuoteProps = ComponentProps<\"blockquote\">;\n\nexport const InlineCitationQuote = ({\n children,\n className,\n ...props\n}: InlineCitationQuoteProps) => (\n <blockquote\n className={cn(\n \"border-muted border-l-2 pl-3 text-muted-foreground text-sm italic\",\n className\n )}\n {...props}\n >\n {children}\n </blockquote>\n);\n"],"names":["InlineCitation","className","props","jsx","cn","InlineCitationText","getHostname","source","InlineCitationCard","HoverCard","InlineCitationCardTrigger","sources","HoverCardTrigger","Badge","jsxs","Fragment","InlineCitationCardBody","HoverCardContent","CarouselApiContext","createContext","useCarouselApi","useContext","InlineCitationCarousel","children","api","setApi","useState","Carousel","InlineCitationCarouselContent","CarouselContent","InlineCitationCarouselItem","CarouselItem","InlineCitationCarouselHeader","InlineCitationCarouselIndex","current","setCurrent","count","setCount","syncState","useCallback","useEffect","InlineCitationCarouselPrev","handleClick","ArrowLeftIcon","InlineCitationCarouselNext","ArrowRightIcon","InlineCitationSource","title","url","description","InlineCitationQuote"],"mappings":"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"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { jsx as n, jsxs as m, Fragment as x } from "react/jsx-runtime";
|
|
2
|
+
import { ArrowRightIcon as g, ArrowLeftIcon as h } from "lucide-react";
|
|
3
|
+
import { createContext as N, useState as c, useCallback as u, useEffect as I, useContext as v } from "react";
|
|
4
|
+
import { Badge as b } from "../ui/badge.js";
|
|
5
|
+
import { Carousel as y, CarouselContent as k, CarouselItem as w } from "../ui/carousel.js";
|
|
6
|
+
import { HoverCard as S, HoverCardContent as A, HoverCardTrigger as H } from "../ui/hover-card.js";
|
|
7
|
+
import { cn as a } from "../lib/utils.js";
|
|
8
|
+
const R = ({
|
|
9
|
+
className: e,
|
|
10
|
+
...t
|
|
11
|
+
}) => /* @__PURE__ */ n(
|
|
12
|
+
"span",
|
|
13
|
+
{
|
|
14
|
+
className: a("group inline items-center gap-1", e),
|
|
15
|
+
...t
|
|
16
|
+
}
|
|
17
|
+
), q = ({
|
|
18
|
+
className: e,
|
|
19
|
+
...t
|
|
20
|
+
}) => /* @__PURE__ */ n(
|
|
21
|
+
"span",
|
|
22
|
+
{
|
|
23
|
+
className: a("transition-colors group-hover:bg-accent", e),
|
|
24
|
+
...t
|
|
25
|
+
}
|
|
26
|
+
), j = (e) => {
|
|
27
|
+
try {
|
|
28
|
+
return new URL(e).hostname;
|
|
29
|
+
} catch {
|
|
30
|
+
return e;
|
|
31
|
+
}
|
|
32
|
+
}, E = (e) => /* @__PURE__ */ n(S, { closeDelay: 0, openDelay: 0, ...e }), F = ({
|
|
33
|
+
sources: e,
|
|
34
|
+
className: t,
|
|
35
|
+
...o
|
|
36
|
+
}) => /* @__PURE__ */ n(H, { asChild: !0, children: /* @__PURE__ */ n(
|
|
37
|
+
b,
|
|
38
|
+
{
|
|
39
|
+
className: a("ml-1 rounded-full", t),
|
|
40
|
+
variant: "secondary",
|
|
41
|
+
...o,
|
|
42
|
+
children: e[0] ? /* @__PURE__ */ m(x, { children: [
|
|
43
|
+
j(e[0]),
|
|
44
|
+
" ",
|
|
45
|
+
e.length > 1 && `+${e.length - 1}`
|
|
46
|
+
] }) : "unknown"
|
|
47
|
+
}
|
|
48
|
+
) }), Q = ({
|
|
49
|
+
className: e,
|
|
50
|
+
...t
|
|
51
|
+
}) => /* @__PURE__ */ n(A, { className: a("relative w-80 p-0", e), ...t }), C = N(void 0), d = () => v(C), U = ({
|
|
52
|
+
className: e,
|
|
53
|
+
children: t,
|
|
54
|
+
...o
|
|
55
|
+
}) => {
|
|
56
|
+
const [r, s] = c();
|
|
57
|
+
return /* @__PURE__ */ n(C.Provider, { value: r, children: /* @__PURE__ */ n(y, { className: a("w-full", e), setApi: s, ...o, children: t }) });
|
|
58
|
+
}, G = (e) => /* @__PURE__ */ n(k, { ...e }), J = ({
|
|
59
|
+
className: e,
|
|
60
|
+
...t
|
|
61
|
+
}) => /* @__PURE__ */ n(
|
|
62
|
+
w,
|
|
63
|
+
{
|
|
64
|
+
className: a("w-full space-y-2 p-4 pl-8", e),
|
|
65
|
+
...t
|
|
66
|
+
}
|
|
67
|
+
), K = ({
|
|
68
|
+
className: e,
|
|
69
|
+
...t
|
|
70
|
+
}) => /* @__PURE__ */ n(
|
|
71
|
+
"div",
|
|
72
|
+
{
|
|
73
|
+
className: a(
|
|
74
|
+
"flex items-center justify-between gap-2 rounded-t-md bg-secondary p-2",
|
|
75
|
+
e
|
|
76
|
+
),
|
|
77
|
+
...t
|
|
78
|
+
}
|
|
79
|
+
), M = ({
|
|
80
|
+
children: e,
|
|
81
|
+
className: t,
|
|
82
|
+
...o
|
|
83
|
+
}) => {
|
|
84
|
+
const r = d(), [s, i] = c(0), [p, f] = c(0), l = u(() => {
|
|
85
|
+
r && (f(r.scrollSnapList().length), i(r.selectedScrollSnap() + 1));
|
|
86
|
+
}, [r]);
|
|
87
|
+
return I(() => {
|
|
88
|
+
if (r)
|
|
89
|
+
return l(), r.on("select", l), () => {
|
|
90
|
+
r.off("select", l);
|
|
91
|
+
};
|
|
92
|
+
}, [r, l]), /* @__PURE__ */ n(
|
|
93
|
+
"div",
|
|
94
|
+
{
|
|
95
|
+
className: a(
|
|
96
|
+
"flex flex-1 items-center justify-end px-3 py-1 text-muted-foreground text-xs",
|
|
97
|
+
t
|
|
98
|
+
),
|
|
99
|
+
...o,
|
|
100
|
+
children: e ?? `${s}/${p}`
|
|
101
|
+
}
|
|
102
|
+
);
|
|
103
|
+
}, O = ({
|
|
104
|
+
className: e,
|
|
105
|
+
...t
|
|
106
|
+
}) => {
|
|
107
|
+
const o = d(), r = u(() => {
|
|
108
|
+
o && o.scrollPrev();
|
|
109
|
+
}, [o]);
|
|
110
|
+
return /* @__PURE__ */ n(
|
|
111
|
+
"button",
|
|
112
|
+
{
|
|
113
|
+
"aria-label": "Previous",
|
|
114
|
+
className: a("shrink-0", e),
|
|
115
|
+
onClick: r,
|
|
116
|
+
type: "button",
|
|
117
|
+
...t,
|
|
118
|
+
children: /* @__PURE__ */ n(h, { className: "size-4 text-muted-foreground" })
|
|
119
|
+
}
|
|
120
|
+
);
|
|
121
|
+
}, V = ({
|
|
122
|
+
className: e,
|
|
123
|
+
...t
|
|
124
|
+
}) => {
|
|
125
|
+
const o = d(), r = u(() => {
|
|
126
|
+
o && o.scrollNext();
|
|
127
|
+
}, [o]);
|
|
128
|
+
return /* @__PURE__ */ n(
|
|
129
|
+
"button",
|
|
130
|
+
{
|
|
131
|
+
"aria-label": "Next",
|
|
132
|
+
className: a("shrink-0", e),
|
|
133
|
+
onClick: r,
|
|
134
|
+
type: "button",
|
|
135
|
+
...t,
|
|
136
|
+
children: /* @__PURE__ */ n(g, { className: "size-4 text-muted-foreground" })
|
|
137
|
+
}
|
|
138
|
+
);
|
|
139
|
+
}, W = ({
|
|
140
|
+
title: e,
|
|
141
|
+
url: t,
|
|
142
|
+
description: o,
|
|
143
|
+
className: r,
|
|
144
|
+
children: s,
|
|
145
|
+
...i
|
|
146
|
+
}) => /* @__PURE__ */ m("div", { className: a("space-y-1", r), ...i, children: [
|
|
147
|
+
e && /* @__PURE__ */ n("h4", { className: "truncate font-medium text-sm leading-tight", children: e }),
|
|
148
|
+
t && /* @__PURE__ */ n("p", { className: "truncate break-all text-muted-foreground text-xs", children: t }),
|
|
149
|
+
o && /* @__PURE__ */ n("p", { className: "line-clamp-3 text-muted-foreground text-sm leading-relaxed", children: o }),
|
|
150
|
+
s
|
|
151
|
+
] }), X = ({
|
|
152
|
+
children: e,
|
|
153
|
+
className: t,
|
|
154
|
+
...o
|
|
155
|
+
}) => /* @__PURE__ */ n(
|
|
156
|
+
"blockquote",
|
|
157
|
+
{
|
|
158
|
+
className: a(
|
|
159
|
+
"border-muted border-l-2 pl-3 text-muted-foreground text-sm italic",
|
|
160
|
+
t
|
|
161
|
+
),
|
|
162
|
+
...o,
|
|
163
|
+
children: e
|
|
164
|
+
}
|
|
165
|
+
);
|
|
166
|
+
export {
|
|
167
|
+
R as InlineCitation,
|
|
168
|
+
E as InlineCitationCard,
|
|
169
|
+
Q as InlineCitationCardBody,
|
|
170
|
+
F as InlineCitationCardTrigger,
|
|
171
|
+
U as InlineCitationCarousel,
|
|
172
|
+
G as InlineCitationCarouselContent,
|
|
173
|
+
K as InlineCitationCarouselHeader,
|
|
174
|
+
M as InlineCitationCarouselIndex,
|
|
175
|
+
J as InlineCitationCarouselItem,
|
|
176
|
+
V as InlineCitationCarouselNext,
|
|
177
|
+
O as InlineCitationCarouselPrev,
|
|
178
|
+
X as InlineCitationQuote,
|
|
179
|
+
W as InlineCitationSource,
|
|
180
|
+
q as InlineCitationText
|
|
181
|
+
};
|
|
182
|
+
//# sourceMappingURL=inline-citation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-citation.js","sources":["../../src/components/ai/inline-citation.tsx"],"sourcesContent":["import { ArrowLeftIcon, ArrowRightIcon } from \"lucide-react\";\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useState,\n} from \"react\";\n\nimport type { CarouselApi } from \"@/components/ui/carousel\";\nimport type { ComponentProps } from \"react\";\n\nimport { Badge } from \"@/components/ui/badge\";\nimport {\n Carousel,\n CarouselContent,\n CarouselItem,\n} from \"@/components/ui/carousel\";\nimport {\n HoverCard,\n HoverCardContent,\n HoverCardTrigger,\n} from \"@/components/ui/hover-card\";\nimport { cn } from \"@/lib/utils\";\n\n\n\n\nexport type InlineCitationProps = ComponentProps<\"span\">;\n\nexport const InlineCitation = ({\n className,\n ...props\n}: InlineCitationProps) => (\n <span\n className={cn(\"group inline items-center gap-1\", className)}\n {...props}\n />\n);\n\nexport type InlineCitationTextProps = ComponentProps<\"span\">;\n\nexport const InlineCitationText = ({\n className,\n ...props\n}: InlineCitationTextProps) => (\n <span\n className={cn(\"transition-colors group-hover:bg-accent\", className)}\n {...props}\n />\n);\n\nconst getHostname = (source: string) => {\n try {\n return new URL(source).hostname;\n } catch {\n return source;\n }\n};\n\nexport type InlineCitationCardProps = ComponentProps<typeof HoverCard>;\n\nexport const InlineCitationCard = (props: InlineCitationCardProps) => (\n <HoverCard closeDelay={0} openDelay={0} {...props} />\n);\n\nexport type InlineCitationCardTriggerProps = ComponentProps<typeof Badge> & {\n sources: string[];\n};\n\nexport const InlineCitationCardTrigger = ({\n sources,\n className,\n ...props\n}: InlineCitationCardTriggerProps) => (\n <HoverCardTrigger asChild>\n <Badge\n className={cn(\"ml-1 rounded-full\", className)}\n variant=\"secondary\"\n {...props}\n >\n {sources[0] ? (\n <>\n {getHostname(sources[0])}{\" \"}\n {sources.length > 1 && `+${sources.length - 1}`}\n </>\n ) : (\n \"unknown\"\n )}\n </Badge>\n </HoverCardTrigger>\n);\n\nexport type InlineCitationCardBodyProps = ComponentProps<\"div\">;\n\nexport const InlineCitationCardBody = ({\n className,\n ...props\n}: InlineCitationCardBodyProps) => (\n <HoverCardContent className={cn(\"relative w-80 p-0\", className)} {...props} />\n);\n\nconst CarouselApiContext = createContext<CarouselApi | undefined>(undefined);\n\nconst useCarouselApi = () => {\n return useContext(CarouselApiContext);\n};\n\nexport type InlineCitationCarouselProps = ComponentProps<typeof Carousel>;\n\nexport const InlineCitationCarousel = ({\n className,\n children,\n ...props\n}: InlineCitationCarouselProps) => {\n const [api, setApi] = useState<CarouselApi>();\n\n return (\n <CarouselApiContext.Provider value={api}>\n <Carousel className={cn(\"w-full\", className)} setApi={setApi} {...props}>\n {children}\n </Carousel>\n </CarouselApiContext.Provider>\n );\n};\n\nexport type InlineCitationCarouselContentProps = ComponentProps<\"div\">;\n\nexport const InlineCitationCarouselContent = (\n props: InlineCitationCarouselContentProps\n) => <CarouselContent {...props} />;\n\nexport type InlineCitationCarouselItemProps = ComponentProps<\"div\">;\n\nexport const InlineCitationCarouselItem = ({\n className,\n ...props\n}: InlineCitationCarouselItemProps) => (\n <CarouselItem\n className={cn(\"w-full space-y-2 p-4 pl-8\", className)}\n {...props}\n />\n);\n\nexport type InlineCitationCarouselHeaderProps = ComponentProps<\"div\">;\n\nexport const InlineCitationCarouselHeader = ({\n className,\n ...props\n}: InlineCitationCarouselHeaderProps) => (\n <div\n className={cn(\n \"flex items-center justify-between gap-2 rounded-t-md bg-secondary p-2\",\n className\n )}\n {...props}\n />\n);\n\nexport type InlineCitationCarouselIndexProps = ComponentProps<\"div\">;\n\nexport const InlineCitationCarouselIndex = ({\n children,\n className,\n ...props\n}: InlineCitationCarouselIndexProps) => {\n const api = useCarouselApi();\n const [current, setCurrent] = useState(0);\n const [count, setCount] = useState(0);\n\n const syncState = useCallback(() => {\n if (!api) {\n return;\n }\n setCount(api.scrollSnapList().length);\n setCurrent(api.selectedScrollSnap() + 1);\n }, [api]);\n\n useEffect(() => {\n if (!api) {\n return;\n }\n\n syncState();\n\n api.on(\"select\", syncState);\n\n return () => {\n api.off(\"select\", syncState);\n };\n }, [api, syncState]);\n\n return (\n <div\n className={cn(\n \"flex flex-1 items-center justify-end px-3 py-1 text-muted-foreground text-xs\",\n className\n )}\n {...props}\n >\n {children ?? `${current}/${count}`}\n </div>\n );\n};\n\nexport type InlineCitationCarouselPrevProps = ComponentProps<\"button\">;\n\nexport const InlineCitationCarouselPrev = ({\n className,\n ...props\n}: InlineCitationCarouselPrevProps) => {\n const api = useCarouselApi();\n\n const handleClick = useCallback(() => {\n if (api) {\n api.scrollPrev();\n }\n }, [api]);\n\n return (\n <button\n aria-label=\"Previous\"\n className={cn(\"shrink-0\", className)}\n onClick={handleClick}\n type=\"button\"\n {...props}\n >\n <ArrowLeftIcon className=\"size-4 text-muted-foreground\" />\n </button>\n );\n};\n\nexport type InlineCitationCarouselNextProps = ComponentProps<\"button\">;\n\nexport const InlineCitationCarouselNext = ({\n className,\n ...props\n}: InlineCitationCarouselNextProps) => {\n const api = useCarouselApi();\n\n const handleClick = useCallback(() => {\n if (api) {\n api.scrollNext();\n }\n }, [api]);\n\n return (\n <button\n aria-label=\"Next\"\n className={cn(\"shrink-0\", className)}\n onClick={handleClick}\n type=\"button\"\n {...props}\n >\n <ArrowRightIcon className=\"size-4 text-muted-foreground\" />\n </button>\n );\n};\n\nexport type InlineCitationSourceProps = ComponentProps<\"div\"> & {\n title?: string;\n url?: string;\n description?: string;\n};\n\nexport const InlineCitationSource = ({\n title,\n url,\n description,\n className,\n children,\n ...props\n}: InlineCitationSourceProps) => (\n <div className={cn(\"space-y-1\", className)} {...props}>\n {title && (\n <h4 className=\"truncate font-medium text-sm leading-tight\">{title}</h4>\n )}\n {url && (\n <p className=\"truncate break-all text-muted-foreground text-xs\">{url}</p>\n )}\n {description && (\n <p className=\"line-clamp-3 text-muted-foreground text-sm leading-relaxed\">\n {description}\n </p>\n )}\n {children}\n </div>\n);\n\nexport type InlineCitationQuoteProps = ComponentProps<\"blockquote\">;\n\nexport const InlineCitationQuote = ({\n children,\n className,\n ...props\n}: InlineCitationQuoteProps) => (\n <blockquote\n className={cn(\n \"border-muted border-l-2 pl-3 text-muted-foreground text-sm italic\",\n className\n )}\n {...props}\n >\n {children}\n </blockquote>\n);\n"],"names":["InlineCitation","className","props","jsx","cn","InlineCitationText","getHostname","source","InlineCitationCard","HoverCard","InlineCitationCardTrigger","sources","HoverCardTrigger","Badge","jsxs","Fragment","InlineCitationCardBody","HoverCardContent","CarouselApiContext","createContext","useCarouselApi","useContext","InlineCitationCarousel","children","api","setApi","useState","Carousel","InlineCitationCarouselContent","CarouselContent","InlineCitationCarouselItem","CarouselItem","InlineCitationCarouselHeader","InlineCitationCarouselIndex","current","setCurrent","count","setCount","syncState","useCallback","useEffect","InlineCitationCarouselPrev","handleClick","ArrowLeftIcon","InlineCitationCarouselNext","ArrowRightIcon","InlineCitationSource","title","url","description","InlineCitationQuote"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),M=require("lucide-react"),c=require("react"),w=require("streamdown"),C=require("../components/ai/use-streamdown-plugins.cjs"),m=require("../ui/button.cjs"),f=require("../ui/button-group.cjs"),d=require("../ui/tooltip.cjs"),i=require("../lib/utils.cjs"),N=({className:e,from:s,...n})=>t.jsx("div",{className:i.cn("group flex w-full max-w-[95%] flex-col gap-2",s==="user"?"is-user ml-auto justify-end":"is-assistant",e),...n}),y=({children:e,className:s,...n})=>t.jsx("div",{className:i.cn("is-user:dark flex w-fit min-w-0 max-w-full flex-col gap-2 overflow-hidden text-sm","group-[.is-user]:ml-auto group-[.is-user]:rounded-lg group-[.is-user]:bg-secondary group-[.is-user]:px-4 group-[.is-user]:py-3 group-[.is-user]:text-foreground","group-[.is-assistant]:text-foreground",s),...n,children:e}),T=({className:e,children:s,...n})=>t.jsx("div",{className:i.cn("flex items-center gap-1",e),...n,children:s}),P=({tooltip:e,children:s,label:n,variant:a="ghost",size:r="icon-sm",...u})=>{const o=t.jsxs(m.Button,{size:r,type:"button",variant:a,...u,children:[s,t.jsx("span",{className:"sr-only",children:n||e})]});return e?t.jsx(d.TooltipProvider,{children:t.jsxs(d.Tooltip,{children:[t.jsx(d.TooltipTrigger,{asChild:!0,children:o}),t.jsx(d.TooltipContent,{children:t.jsx("p",{children:e})})]})}):o},b=c.createContext(null),g=()=>{const e=c.useContext(b);if(!e)throw new Error("MessageBranch components must be used within MessageBranch");return e},q=({defaultBranch:e=0,onBranchChange:s,className:n,...a})=>{const[r,u]=c.useState(e),[o,x]=c.useState([]),h=c.useCallback(l=>{u(l),s?.(l)},[s]),p=c.useCallback(()=>{const l=r>0?r-1:o.length-1;h(l)},[r,o.length,h]),B=c.useCallback(()=>{const l=r<o.length-1?r+1:0;h(l)},[r,o.length,h]),v=c.useMemo(()=>({branches:o,currentBranch:r,goToNext:B,goToPrevious:p,setBranches:x,totalBranches:o.length}),[o,r,B,p]);return t.jsx(b.Provider,{value:v,children:t.jsx("div",{className:i.cn("grid w-full gap-2 [&>div]:pb-0",n),...a})})},A=({children:e,...s})=>{const{currentBranch:n,setBranches:a,branches:r}=g(),u=c.useMemo(()=>Array.isArray(e)?e:[e],[e]);return c.useEffect(()=>{r.length!==u.length&&a(u)},[u,r,a]),u.map((o,x)=>t.jsx("div",{className:i.cn("grid gap-2 overflow-hidden [&>div]:pb-0",x===n?"block":"hidden"),...s,children:o},o.key))},S=({className:e,...s})=>{const{totalBranches:n}=g();return n<=1?null:t.jsx(f.ButtonGroup,{className:i.cn("[&>*:not(:first-child)]:rounded-l-md [&>*:not(:last-child)]:rounded-r-md",e),orientation:"horizontal",...s})},k=({children:e,...s})=>{const{goToPrevious:n,totalBranches:a}=g();return t.jsx(m.Button,{"aria-label":"Previous branch",disabled:a<=1,onClick:n,size:"icon-sm",type:"button",variant:"ghost",...s,children:e??t.jsx(M.ChevronLeftIcon,{size:14})})},R=({children:e,...s})=>{const{goToNext:n,totalBranches:a}=g();return t.jsx(m.Button,{"aria-label":"Next branch",disabled:a<=1,onClick:n,size:"icon-sm",type:"button",variant:"ghost",...s,children:e??t.jsx(M.ChevronRightIcon,{size:14})})},z=({className:e,...s})=>{const{currentBranch:n,totalBranches:a}=g();return t.jsx(f.ButtonGroupText,{className:i.cn("border-none bg-transparent text-muted-foreground shadow-none",e),...s,children:`${n+1} of ${a}`})},j=c.memo(({className:e,...s})=>{const n=C.useStreamdownPlugins();return t.jsx(w.Streamdown,{className:i.cn("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",e),plugins:n,...s})},(e,s)=>e.children===s.children&&s.isAnimating===e.isAnimating);j.displayName="MessageResponse";const G=({className:e,children:s,...n})=>t.jsx("div",{className:i.cn("mt-4 flex w-full items-center justify-between gap-4",e),...n,children:s});exports.Message=N;exports.MessageAction=P;exports.MessageActions=T;exports.MessageBranch=q;exports.MessageBranchContent=A;exports.MessageBranchNext=R;exports.MessageBranchPage=z;exports.MessageBranchPrevious=k;exports.MessageBranchSelector=S;exports.MessageContent=y;exports.MessageResponse=j;exports.MessageToolbar=G;
|
|
2
|
+
//# sourceMappingURL=message.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.cjs","sources":["../../src/components/ai/message.tsx"],"sourcesContent":["import { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\nimport {\n createContext,\n memo,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { Streamdown } from \"streamdown\";\n\nimport { useStreamdownPlugins } from \"./use-streamdown-plugins\";\n\nimport type { UIMessage } from \"ai\";\nimport type { ComponentProps, HTMLAttributes, ReactElement } from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n ButtonGroup,\n ButtonGroupText,\n} from \"@/components/ui/button-group\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport { cn } from \"@/lib/utils\";\n\nexport type MessageProps = HTMLAttributes<HTMLDivElement> & {\n from: UIMessage[\"role\"];\n};\n\nexport const Message = ({ className, from, ...props }: MessageProps) => (\n <div\n className={cn(\n \"group flex w-full max-w-[95%] flex-col gap-2\",\n from === \"user\" ? \"is-user ml-auto justify-end\" : \"is-assistant\",\n className\n )}\n {...props}\n />\n);\n\nexport type MessageContentProps = HTMLAttributes<HTMLDivElement>;\n\nexport const MessageContent = ({\n children,\n className,\n ...props\n}: MessageContentProps) => (\n <div\n className={cn(\n \"is-user:dark flex w-fit min-w-0 max-w-full flex-col gap-2 overflow-hidden text-sm\",\n \"group-[.is-user]:ml-auto group-[.is-user]:rounded-lg group-[.is-user]:bg-secondary group-[.is-user]:px-4 group-[.is-user]:py-3 group-[.is-user]:text-foreground\",\n \"group-[.is-assistant]:text-foreground\",\n className\n )}\n {...props}\n >\n {children}\n </div>\n);\n\nexport type MessageActionsProps = ComponentProps<\"div\">;\n\nexport const MessageActions = ({\n className,\n children,\n ...props\n}: MessageActionsProps) => (\n <div className={cn(\"flex items-center gap-1\", className)} {...props}>\n {children}\n </div>\n);\n\nexport type MessageActionProps = ComponentProps<typeof Button> & {\n tooltip?: string;\n label?: string;\n};\n\nexport const MessageAction = ({\n tooltip,\n children,\n label,\n variant = \"ghost\",\n size = \"icon-sm\",\n ...props\n}: MessageActionProps) => {\n const button = (\n <Button size={size} type=\"button\" variant={variant} {...props}>\n {children}\n <span className=\"sr-only\">{label || tooltip}</span>\n </Button>\n );\n\n if (tooltip) {\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent>\n <p>{tooltip}</p>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n }\n\n return button;\n};\n\ninterface MessageBranchContextType {\n currentBranch: number;\n totalBranches: number;\n goToPrevious: () => void;\n goToNext: () => void;\n branches: ReactElement[];\n setBranches: (branches: ReactElement[]) => void;\n}\n\nconst MessageBranchContext = createContext<MessageBranchContextType | null>(\n null\n);\n\nconst useMessageBranch = () => {\n const context = useContext(MessageBranchContext);\n\n if (!context) {\n throw new Error(\n \"MessageBranch components must be used within MessageBranch\"\n );\n }\n\n return context;\n};\n\nexport type MessageBranchProps = HTMLAttributes<HTMLDivElement> & {\n defaultBranch?: number;\n onBranchChange?: (branchIndex: number) => void;\n};\n\nexport const MessageBranch = ({\n defaultBranch = 0,\n onBranchChange,\n className,\n ...props\n}: MessageBranchProps) => {\n const [currentBranch, setCurrentBranch] = useState(defaultBranch);\n const [branches, setBranches] = useState<ReactElement[]>([]);\n\n const handleBranchChange = useCallback(\n (newBranch: number) => {\n setCurrentBranch(newBranch);\n onBranchChange?.(newBranch);\n },\n [onBranchChange]\n );\n\n const goToPrevious = useCallback(() => {\n const newBranch =\n currentBranch > 0 ? currentBranch - 1 : branches.length - 1;\n handleBranchChange(newBranch);\n }, [currentBranch, branches.length, handleBranchChange]);\n\n const goToNext = useCallback(() => {\n const newBranch =\n currentBranch < branches.length - 1 ? currentBranch + 1 : 0;\n handleBranchChange(newBranch);\n }, [currentBranch, branches.length, handleBranchChange]);\n\n const contextValue = useMemo<MessageBranchContextType>(\n () => ({\n branches,\n currentBranch,\n goToNext,\n goToPrevious,\n setBranches,\n totalBranches: branches.length,\n }),\n [branches, currentBranch, goToNext, goToPrevious]\n );\n\n return (\n <MessageBranchContext.Provider value={contextValue}>\n <div\n className={cn(\"grid w-full gap-2 [&>div]:pb-0\", className)}\n {...props}\n />\n </MessageBranchContext.Provider>\n );\n};\n\nexport type MessageBranchContentProps = HTMLAttributes<HTMLDivElement>;\n\nexport const MessageBranchContent = ({\n children,\n ...props\n}: MessageBranchContentProps) => {\n const { currentBranch, setBranches, branches } = useMessageBranch();\n const childrenArray = useMemo(\n () => (Array.isArray(children) ? children : [children]),\n [children]\n );\n\n // Use useEffect to update branches when they change\n useEffect(() => {\n if (branches.length !== childrenArray.length) {\n setBranches(childrenArray);\n }\n }, [childrenArray, branches, setBranches]);\n\n return childrenArray.map((branch, index) => (\n <div\n className={cn(\n \"grid gap-2 overflow-hidden [&>div]:pb-0\",\n index === currentBranch ? \"block\" : \"hidden\"\n )}\n key={branch.key}\n {...props}\n >\n {branch}\n </div>\n ));\n};\n\nexport type MessageBranchSelectorProps = ComponentProps<typeof ButtonGroup>;\n\nexport const MessageBranchSelector = ({\n className,\n ...props\n}: MessageBranchSelectorProps) => {\n const { totalBranches } = useMessageBranch();\n\n // Don't render if there's only one branch\n if (totalBranches <= 1) {\n return null;\n }\n\n return (\n <ButtonGroup\n className={cn(\n \"[&>*:not(:first-child)]:rounded-l-md [&>*:not(:last-child)]:rounded-r-md\",\n className\n )}\n orientation=\"horizontal\"\n {...props}\n />\n );\n};\n\nexport type MessageBranchPreviousProps = ComponentProps<typeof Button>;\n\nexport const MessageBranchPrevious = ({\n children,\n ...props\n}: MessageBranchPreviousProps) => {\n const { goToPrevious, totalBranches } = useMessageBranch();\n\n return (\n <Button\n aria-label=\"Previous branch\"\n disabled={totalBranches <= 1}\n onClick={goToPrevious}\n size=\"icon-sm\"\n type=\"button\"\n variant=\"ghost\"\n {...props}\n >\n {children ?? <ChevronLeftIcon size={14} />}\n </Button>\n );\n};\n\nexport type MessageBranchNextProps = ComponentProps<typeof Button>;\n\nexport const MessageBranchNext = ({\n children,\n ...props\n}: MessageBranchNextProps) => {\n const { goToNext, totalBranches } = useMessageBranch();\n\n return (\n <Button\n aria-label=\"Next branch\"\n disabled={totalBranches <= 1}\n onClick={goToNext}\n size=\"icon-sm\"\n type=\"button\"\n variant=\"ghost\"\n {...props}\n >\n {children ?? <ChevronRightIcon size={14} />}\n </Button>\n );\n};\n\nexport type MessageBranchPageProps = HTMLAttributes<HTMLSpanElement>;\n\nexport const MessageBranchPage = ({\n className,\n ...props\n}: MessageBranchPageProps) => {\n const { currentBranch, totalBranches } = useMessageBranch();\n\n return (\n <ButtonGroupText\n className={cn(\n \"border-none bg-transparent text-muted-foreground shadow-none\",\n className\n )}\n {...props}\n >\n {`${currentBranch + 1} of ${totalBranches}`}\n </ButtonGroupText>\n );\n};\n\nexport type MessageResponseProps = ComponentProps<typeof Streamdown>;\n\nexport const MessageResponse = memo(\n ({ className, ...props }: MessageResponseProps) => {\n // Plugins load lazily (SW-2007): markdown streams in immediately and\n // code/math/mermaid rendering upgrades in place once the chunk arrives.\n const plugins = useStreamdownPlugins();\n\n return (\n <Streamdown\n className={cn(\n \"size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0\",\n className\n )}\n plugins={plugins}\n {...props}\n />\n );\n },\n (prevProps, nextProps) =>\n prevProps.children === nextProps.children &&\n nextProps.isAnimating === prevProps.isAnimating\n);\n\nMessageResponse.displayName = \"MessageResponse\";\n\nexport type MessageToolbarProps = ComponentProps<\"div\">;\n\nexport const MessageToolbar = ({\n className,\n children,\n ...props\n}: MessageToolbarProps) => (\n <div\n className={cn(\n \"mt-4 flex w-full items-center justify-between gap-4\",\n className\n )}\n {...props}\n >\n {children}\n </div>\n);\n"],"names":["Message","className","from","props","jsx","cn","MessageContent","children","MessageActions","MessageAction","tooltip","label","variant","size","button","Button","TooltipProvider","jsxs","Tooltip","TooltipTrigger","TooltipContent","MessageBranchContext","createContext","useMessageBranch","context","useContext","MessageBranch","defaultBranch","onBranchChange","currentBranch","setCurrentBranch","useState","branches","setBranches","handleBranchChange","useCallback","newBranch","goToPrevious","goToNext","contextValue","useMemo","MessageBranchContent","childrenArray","useEffect","branch","index","MessageBranchSelector","totalBranches","ButtonGroup","MessageBranchPrevious","ChevronLeftIcon","MessageBranchNext","ChevronRightIcon","MessageBranchPage","ButtonGroupText","MessageResponse","memo","plugins","useStreamdownPlugins","Streamdown","prevProps","nextProps","MessageToolbar"],"mappings":"kXAkCaA,EAAU,CAAC,CAAE,UAAAC,EAAW,KAAAC,EAAM,GAAGC,KAC5CC,EAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GACT,+CACAH,IAAS,OAAS,8BAAgC,eAClDD,CAAA,EAED,GAAGE,CAAA,CACN,EAKWG,EAAiB,CAAC,CAC7B,SAAAC,EACA,UAAAN,EACA,GAAGE,CACL,IACEC,EAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GACT,oFACA,kKACA,wCACAJ,CAAA,EAED,GAAGE,EAEH,SAAAI,CAAA,CACH,EAKWC,EAAiB,CAAC,CAC7B,UAAAP,EACA,SAAAM,EACA,GAAGJ,CACL,IACEC,EAAAA,IAAC,OAAI,UAAWC,EAAAA,GAAG,0BAA2BJ,CAAS,EAAI,GAAGE,EAC3D,SAAAI,CAAA,CACH,EAQWE,EAAgB,CAAC,CAC5B,QAAAC,EACA,SAAAH,EACA,MAAAI,EACA,QAAAC,EAAU,QACV,KAAAC,EAAO,UACP,GAAGV,CACL,IAA0B,CACxB,MAAMW,SACHC,EAAAA,OAAA,CAAO,KAAAF,EAAY,KAAK,SAAS,QAAAD,EAAmB,GAAGT,EACrD,SAAA,CAAAI,EACDH,EAAAA,IAAC,OAAA,CAAK,UAAU,UAAW,YAASM,CAAA,CAAQ,CAAA,EAC9C,EAGF,OAAIA,EAEAN,EAAAA,IAACY,EAAAA,gBAAA,CACC,SAAAC,EAAAA,KAACC,EAAAA,QAAA,CACC,SAAA,CAAAd,EAAAA,IAACe,EAAAA,eAAA,CAAe,QAAO,GAAE,SAAAL,EAAO,EAChCV,MAACgB,EAAAA,eAAA,CACC,SAAAhB,EAAAA,IAAC,IAAA,CAAG,WAAQ,CAAA,CACd,CAAA,CAAA,CACF,CAAA,CACF,EAIGU,CACT,EAWMO,EAAuBC,EAAAA,cAC3B,IACF,EAEMC,EAAmB,IAAM,CAC7B,MAAMC,EAAUC,EAAAA,WAAWJ,CAAoB,EAE/C,GAAI,CAACG,EACH,MAAM,IAAI,MACR,4DAAA,EAIJ,OAAOA,CACT,EAOaE,EAAgB,CAAC,CAC5B,cAAAC,EAAgB,EAChB,eAAAC,EACA,UAAA3B,EACA,GAAGE,CACL,IAA0B,CACxB,KAAM,CAAC0B,EAAeC,CAAgB,EAAIC,EAAAA,SAASJ,CAAa,EAC1D,CAACK,EAAUC,CAAW,EAAIF,EAAAA,SAAyB,CAAA,CAAE,EAErDG,EAAqBC,EAAAA,YACxBC,GAAsB,CACrBN,EAAiBM,CAAS,EAC1BR,IAAiBQ,CAAS,CAC5B,EACA,CAACR,CAAc,CAAA,EAGXS,EAAeF,EAAAA,YAAY,IAAM,CACrC,MAAMC,EACJP,EAAgB,EAAIA,EAAgB,EAAIG,EAAS,OAAS,EAC5DE,EAAmBE,CAAS,CAC9B,EAAG,CAACP,EAAeG,EAAS,OAAQE,CAAkB,CAAC,EAEjDI,EAAWH,EAAAA,YAAY,IAAM,CACjC,MAAMC,EACJP,EAAgBG,EAAS,OAAS,EAAIH,EAAgB,EAAI,EAC5DK,EAAmBE,CAAS,CAC9B,EAAG,CAACP,EAAeG,EAAS,OAAQE,CAAkB,CAAC,EAEjDK,EAAeC,EAAAA,QACnB,KAAO,CACL,SAAAR,EACA,cAAAH,EACA,SAAAS,EACA,aAAAD,EACA,YAAAJ,EACA,cAAeD,EAAS,MAAA,GAE1B,CAACA,EAAUH,EAAeS,EAAUD,CAAY,CAAA,EAGlD,OACEjC,EAAAA,IAACiB,EAAqB,SAArB,CAA8B,MAAOkB,EACpC,SAAAnC,EAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GAAG,iCAAkCJ,CAAS,EACxD,GAAGE,CAAA,CAAA,EAER,CAEJ,EAIasC,EAAuB,CAAC,CACnC,SAAAlC,EACA,GAAGJ,CACL,IAAiC,CAC/B,KAAM,CAAE,cAAA0B,EAAe,YAAAI,EAAa,SAAAD,CAAA,EAAaT,EAAA,EAC3CmB,EAAgBF,EAAAA,QACpB,IAAO,MAAM,QAAQjC,CAAQ,EAAIA,EAAW,CAACA,CAAQ,EACrD,CAACA,CAAQ,CAAA,EAIXoC,OAAAA,EAAAA,UAAU,IAAM,CACVX,EAAS,SAAWU,EAAc,QACpCT,EAAYS,CAAa,CAE7B,EAAG,CAACA,EAAeV,EAAUC,CAAW,CAAC,EAElCS,EAAc,IAAI,CAACE,EAAQC,IAChCzC,EAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GACT,0CACAwC,IAAUhB,EAAgB,QAAU,QAAA,EAGrC,GAAG1B,EAEH,SAAAyC,CAAA,EAHIA,EAAO,GAAA,CAKf,CACH,EAIaE,EAAwB,CAAC,CACpC,UAAA7C,EACA,GAAGE,CACL,IAAkC,CAChC,KAAM,CAAE,cAAA4C,CAAA,EAAkBxB,EAAA,EAG1B,OAAIwB,GAAiB,EACZ,KAIP3C,EAAAA,IAAC4C,EAAAA,YAAA,CACC,UAAW3C,EAAAA,GACT,2EACAJ,CAAA,EAEF,YAAY,aACX,GAAGE,CAAA,CAAA,CAGV,EAIa8C,EAAwB,CAAC,CACpC,SAAA1C,EACA,GAAGJ,CACL,IAAkC,CAChC,KAAM,CAAE,aAAAkC,EAAc,cAAAU,CAAA,EAAkBxB,EAAA,EAExC,OACEnB,EAAAA,IAACW,EAAAA,OAAA,CACC,aAAW,kBACX,SAAUgC,GAAiB,EAC3B,QAASV,EACT,KAAK,UACL,KAAK,SACL,QAAQ,QACP,GAAGlC,EAEH,SAAAI,GAAYH,EAAAA,IAAC8C,EAAAA,gBAAA,CAAgB,KAAM,EAAA,CAAI,CAAA,CAAA,CAG9C,EAIaC,EAAoB,CAAC,CAChC,SAAA5C,EACA,GAAGJ,CACL,IAA8B,CAC5B,KAAM,CAAE,SAAAmC,EAAU,cAAAS,CAAA,EAAkBxB,EAAA,EAEpC,OACEnB,EAAAA,IAACW,EAAAA,OAAA,CACC,aAAW,cACX,SAAUgC,GAAiB,EAC3B,QAAST,EACT,KAAK,UACL,KAAK,SACL,QAAQ,QACP,GAAGnC,EAEH,SAAAI,GAAYH,EAAAA,IAACgD,EAAAA,iBAAA,CAAiB,KAAM,EAAA,CAAI,CAAA,CAAA,CAG/C,EAIaC,EAAoB,CAAC,CAChC,UAAApD,EACA,GAAGE,CACL,IAA8B,CAC5B,KAAM,CAAE,cAAA0B,EAAe,cAAAkB,CAAA,EAAkBxB,EAAA,EAEzC,OACEnB,EAAAA,IAACkD,EAAAA,gBAAA,CACC,UAAWjD,EAAAA,GACT,+DACAJ,CAAA,EAED,GAAGE,EAEH,SAAA,GAAG0B,EAAgB,CAAC,OAAOkB,CAAa,EAAA,CAAA,CAG/C,EAIaQ,EAAkBC,EAAAA,KAC7B,CAAC,CAAE,UAAAvD,EAAW,GAAGE,KAAkC,CAGjD,MAAMsD,EAAUC,EAAAA,qBAAA,EAEhB,OACEtD,EAAAA,IAACuD,EAAAA,WAAA,CACC,UAAWtD,EAAAA,GACT,yDACAJ,CAAA,EAEF,QAAAwD,EACC,GAAGtD,CAAA,CAAA,CAGV,EACA,CAACyD,EAAWC,IACVD,EAAU,WAAaC,EAAU,UACjCA,EAAU,cAAgBD,EAAU,WACxC,EAEAL,EAAgB,YAAc,kBAIvB,MAAMO,EAAiB,CAAC,CAC7B,UAAA7D,EACA,SAAAM,EACA,GAAGJ,CACL,IACEC,EAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GACT,sDACAJ,CAAA,EAED,GAAGE,EAEH,SAAAI,CAAA,CACH"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { jsx as n, jsxs as x } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronRightIcon as w, ChevronLeftIcon as N } from "lucide-react";
|
|
3
|
+
import { createContext as y, memo as C, useState as B, useCallback as g, useMemo as b, useEffect as T, useContext as A } from "react";
|
|
4
|
+
import { Streamdown as k } from "streamdown";
|
|
5
|
+
import { useStreamdownPlugins as z } from "../components/ai/use-streamdown-plugins.js";
|
|
6
|
+
import { Button as m } from "../ui/button.js";
|
|
7
|
+
import { ButtonGroupText as P, ButtonGroup as j } from "../ui/button-group.js";
|
|
8
|
+
import { TooltipProvider as S, Tooltip as R, TooltipTrigger as E, TooltipContent as G } from "../ui/tooltip.js";
|
|
9
|
+
import { cn as c } from "../lib/utils.js";
|
|
10
|
+
const O = ({ className: e, from: s, ...t }) => /* @__PURE__ */ n(
|
|
11
|
+
"div",
|
|
12
|
+
{
|
|
13
|
+
className: c(
|
|
14
|
+
"group flex w-full max-w-[95%] flex-col gap-2",
|
|
15
|
+
s === "user" ? "is-user ml-auto justify-end" : "is-assistant",
|
|
16
|
+
e
|
|
17
|
+
),
|
|
18
|
+
...t
|
|
19
|
+
}
|
|
20
|
+
), Q = ({
|
|
21
|
+
children: e,
|
|
22
|
+
className: s,
|
|
23
|
+
...t
|
|
24
|
+
}) => /* @__PURE__ */ n(
|
|
25
|
+
"div",
|
|
26
|
+
{
|
|
27
|
+
className: c(
|
|
28
|
+
"is-user:dark flex w-fit min-w-0 max-w-full flex-col gap-2 overflow-hidden text-sm",
|
|
29
|
+
"group-[.is-user]:ml-auto group-[.is-user]:rounded-lg group-[.is-user]:bg-secondary group-[.is-user]:px-4 group-[.is-user]:py-3 group-[.is-user]:text-foreground",
|
|
30
|
+
"group-[.is-assistant]:text-foreground",
|
|
31
|
+
s
|
|
32
|
+
),
|
|
33
|
+
...t,
|
|
34
|
+
children: e
|
|
35
|
+
}
|
|
36
|
+
), U = ({
|
|
37
|
+
className: e,
|
|
38
|
+
children: s,
|
|
39
|
+
...t
|
|
40
|
+
}) => /* @__PURE__ */ n("div", { className: c("flex items-center gap-1", e), ...t, children: s }), W = ({
|
|
41
|
+
tooltip: e,
|
|
42
|
+
children: s,
|
|
43
|
+
label: t,
|
|
44
|
+
variant: a = "ghost",
|
|
45
|
+
size: r = "icon-sm",
|
|
46
|
+
...i
|
|
47
|
+
}) => {
|
|
48
|
+
const o = /* @__PURE__ */ x(m, { size: r, type: "button", variant: a, ...i, children: [
|
|
49
|
+
s,
|
|
50
|
+
/* @__PURE__ */ n("span", { className: "sr-only", children: t || e })
|
|
51
|
+
] });
|
|
52
|
+
return e ? /* @__PURE__ */ n(S, { children: /* @__PURE__ */ x(R, { children: [
|
|
53
|
+
/* @__PURE__ */ n(E, { asChild: !0, children: o }),
|
|
54
|
+
/* @__PURE__ */ n(G, { children: /* @__PURE__ */ n("p", { children: e }) })
|
|
55
|
+
] }) }) : o;
|
|
56
|
+
}, v = y(
|
|
57
|
+
null
|
|
58
|
+
), u = () => {
|
|
59
|
+
const e = A(v);
|
|
60
|
+
if (!e)
|
|
61
|
+
throw new Error(
|
|
62
|
+
"MessageBranch components must be used within MessageBranch"
|
|
63
|
+
);
|
|
64
|
+
return e;
|
|
65
|
+
}, X = ({
|
|
66
|
+
defaultBranch: e = 0,
|
|
67
|
+
onBranchChange: s,
|
|
68
|
+
className: t,
|
|
69
|
+
...a
|
|
70
|
+
}) => {
|
|
71
|
+
const [r, i] = B(e), [o, d] = B([]), h = g(
|
|
72
|
+
(l) => {
|
|
73
|
+
i(l), s?.(l);
|
|
74
|
+
},
|
|
75
|
+
[s]
|
|
76
|
+
), p = g(() => {
|
|
77
|
+
const l = r > 0 ? r - 1 : o.length - 1;
|
|
78
|
+
h(l);
|
|
79
|
+
}, [r, o.length, h]), f = g(() => {
|
|
80
|
+
const l = r < o.length - 1 ? r + 1 : 0;
|
|
81
|
+
h(l);
|
|
82
|
+
}, [r, o.length, h]), M = b(
|
|
83
|
+
() => ({
|
|
84
|
+
branches: o,
|
|
85
|
+
currentBranch: r,
|
|
86
|
+
goToNext: f,
|
|
87
|
+
goToPrevious: p,
|
|
88
|
+
setBranches: d,
|
|
89
|
+
totalBranches: o.length
|
|
90
|
+
}),
|
|
91
|
+
[o, r, f, p]
|
|
92
|
+
);
|
|
93
|
+
return /* @__PURE__ */ n(v.Provider, { value: M, children: /* @__PURE__ */ n(
|
|
94
|
+
"div",
|
|
95
|
+
{
|
|
96
|
+
className: c("grid w-full gap-2 [&>div]:pb-0", t),
|
|
97
|
+
...a
|
|
98
|
+
}
|
|
99
|
+
) });
|
|
100
|
+
}, Y = ({
|
|
101
|
+
children: e,
|
|
102
|
+
...s
|
|
103
|
+
}) => {
|
|
104
|
+
const { currentBranch: t, setBranches: a, branches: r } = u(), i = b(
|
|
105
|
+
() => Array.isArray(e) ? e : [e],
|
|
106
|
+
[e]
|
|
107
|
+
);
|
|
108
|
+
return T(() => {
|
|
109
|
+
r.length !== i.length && a(i);
|
|
110
|
+
}, [i, r, a]), i.map((o, d) => /* @__PURE__ */ n(
|
|
111
|
+
"div",
|
|
112
|
+
{
|
|
113
|
+
className: c(
|
|
114
|
+
"grid gap-2 overflow-hidden [&>div]:pb-0",
|
|
115
|
+
d === t ? "block" : "hidden"
|
|
116
|
+
),
|
|
117
|
+
...s,
|
|
118
|
+
children: o
|
|
119
|
+
},
|
|
120
|
+
o.key
|
|
121
|
+
));
|
|
122
|
+
}, Z = ({
|
|
123
|
+
className: e,
|
|
124
|
+
...s
|
|
125
|
+
}) => {
|
|
126
|
+
const { totalBranches: t } = u();
|
|
127
|
+
return t <= 1 ? null : /* @__PURE__ */ n(
|
|
128
|
+
j,
|
|
129
|
+
{
|
|
130
|
+
className: c(
|
|
131
|
+
"[&>*:not(:first-child)]:rounded-l-md [&>*:not(:last-child)]:rounded-r-md",
|
|
132
|
+
e
|
|
133
|
+
),
|
|
134
|
+
orientation: "horizontal",
|
|
135
|
+
...s
|
|
136
|
+
}
|
|
137
|
+
);
|
|
138
|
+
}, _ = ({
|
|
139
|
+
children: e,
|
|
140
|
+
...s
|
|
141
|
+
}) => {
|
|
142
|
+
const { goToPrevious: t, totalBranches: a } = u();
|
|
143
|
+
return /* @__PURE__ */ n(
|
|
144
|
+
m,
|
|
145
|
+
{
|
|
146
|
+
"aria-label": "Previous branch",
|
|
147
|
+
disabled: a <= 1,
|
|
148
|
+
onClick: t,
|
|
149
|
+
size: "icon-sm",
|
|
150
|
+
type: "button",
|
|
151
|
+
variant: "ghost",
|
|
152
|
+
...s,
|
|
153
|
+
children: e ?? /* @__PURE__ */ n(N, { size: 14 })
|
|
154
|
+
}
|
|
155
|
+
);
|
|
156
|
+
}, ee = ({
|
|
157
|
+
children: e,
|
|
158
|
+
...s
|
|
159
|
+
}) => {
|
|
160
|
+
const { goToNext: t, totalBranches: a } = u();
|
|
161
|
+
return /* @__PURE__ */ n(
|
|
162
|
+
m,
|
|
163
|
+
{
|
|
164
|
+
"aria-label": "Next branch",
|
|
165
|
+
disabled: a <= 1,
|
|
166
|
+
onClick: t,
|
|
167
|
+
size: "icon-sm",
|
|
168
|
+
type: "button",
|
|
169
|
+
variant: "ghost",
|
|
170
|
+
...s,
|
|
171
|
+
children: e ?? /* @__PURE__ */ n(w, { size: 14 })
|
|
172
|
+
}
|
|
173
|
+
);
|
|
174
|
+
}, se = ({
|
|
175
|
+
className: e,
|
|
176
|
+
...s
|
|
177
|
+
}) => {
|
|
178
|
+
const { currentBranch: t, totalBranches: a } = u();
|
|
179
|
+
return /* @__PURE__ */ n(
|
|
180
|
+
P,
|
|
181
|
+
{
|
|
182
|
+
className: c(
|
|
183
|
+
"border-none bg-transparent text-muted-foreground shadow-none",
|
|
184
|
+
e
|
|
185
|
+
),
|
|
186
|
+
...s,
|
|
187
|
+
children: `${t + 1} of ${a}`
|
|
188
|
+
}
|
|
189
|
+
);
|
|
190
|
+
}, I = C(
|
|
191
|
+
({ className: e, ...s }) => {
|
|
192
|
+
const t = z();
|
|
193
|
+
return /* @__PURE__ */ n(
|
|
194
|
+
k,
|
|
195
|
+
{
|
|
196
|
+
className: c(
|
|
197
|
+
"size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",
|
|
198
|
+
e
|
|
199
|
+
),
|
|
200
|
+
plugins: t,
|
|
201
|
+
...s
|
|
202
|
+
}
|
|
203
|
+
);
|
|
204
|
+
},
|
|
205
|
+
(e, s) => e.children === s.children && s.isAnimating === e.isAnimating
|
|
206
|
+
);
|
|
207
|
+
I.displayName = "MessageResponse";
|
|
208
|
+
const te = ({
|
|
209
|
+
className: e,
|
|
210
|
+
children: s,
|
|
211
|
+
...t
|
|
212
|
+
}) => /* @__PURE__ */ n(
|
|
213
|
+
"div",
|
|
214
|
+
{
|
|
215
|
+
className: c(
|
|
216
|
+
"mt-4 flex w-full items-center justify-between gap-4",
|
|
217
|
+
e
|
|
218
|
+
),
|
|
219
|
+
...t,
|
|
220
|
+
children: s
|
|
221
|
+
}
|
|
222
|
+
);
|
|
223
|
+
export {
|
|
224
|
+
O as Message,
|
|
225
|
+
W as MessageAction,
|
|
226
|
+
U as MessageActions,
|
|
227
|
+
X as MessageBranch,
|
|
228
|
+
Y as MessageBranchContent,
|
|
229
|
+
ee as MessageBranchNext,
|
|
230
|
+
se as MessageBranchPage,
|
|
231
|
+
_ as MessageBranchPrevious,
|
|
232
|
+
Z as MessageBranchSelector,
|
|
233
|
+
Q as MessageContent,
|
|
234
|
+
I as MessageResponse,
|
|
235
|
+
te as MessageToolbar
|
|
236
|
+
};
|
|
237
|
+
//# sourceMappingURL=message.js.map
|