@mastra/playground-ui 66.0.0-alpha.4 → 66.0.0-alpha.5
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/dist/{DataList-B9g1zTOj.js → DataList-CYjnJkNE.js} +2 -2
- package/dist/{DataList-B9g1zTOj.js.map → DataList-CYjnJkNE.js.map} +1 -1
- package/dist/{DataList-B8tTs50p.cjs → DataList-D7bShtPK.cjs} +2 -2
- package/dist/{DataList-B8tTs50p.cjs.map → DataList-D7bShtPK.cjs.map} +1 -1
- package/dist/{DataPanel-BJbdOxJW.js → DataPanel-CfLkwH2X.js} +8 -9
- package/dist/DataPanel-CfLkwH2X.js.map +1 -0
- package/dist/{DataPanel-CTsaqbs3.cjs → DataPanel-Ded_OhrA.cjs} +7 -8
- package/dist/DataPanel-Ded_OhrA.cjs.map +1 -0
- package/dist/{DateTimeRangePicker-RKiDpQ_g.cjs → DateTimeRangePicker-BZrHuA3p.cjs} +2 -2
- package/dist/{DateTimeRangePicker-RKiDpQ_g.cjs.map → DateTimeRangePicker-BZrHuA3p.cjs.map} +1 -1
- package/dist/{DateTimeRangePicker-DS5G0mc_.js → DateTimeRangePicker-BdnZI6g9.js} +2 -2
- package/dist/{DateTimeRangePicker-DS5G0mc_.js.map → DateTimeRangePicker-BdnZI6g9.js.map} +1 -1
- package/dist/{LogsDataList-CF8xnmp3.js → LogsDataList-FQ921Sml.js} +2 -2
- package/dist/{LogsDataList-CF8xnmp3.js.map → LogsDataList-FQ921Sml.js.map} +1 -1
- package/dist/{LogsDataList-dOUMD2Za.cjs → LogsDataList-ia_C-bSJ.cjs} +2 -2
- package/dist/{LogsDataList-dOUMD2Za.cjs.map → LogsDataList-ia_C-bSJ.cjs.map} +1 -1
- package/dist/{MarkdownRenderer-DqzU9VvW.cjs → MarkdownRenderer-CMLH1J0C.cjs} +2 -2
- package/dist/{MarkdownRenderer-DqzU9VvW.cjs.map → MarkdownRenderer-CMLH1J0C.cjs.map} +1 -1
- package/dist/{MarkdownRenderer-DXRd7MWb.js → MarkdownRenderer-CRvDuEFW.js} +2 -2
- package/dist/{MarkdownRenderer-DXRd7MWb.js.map → MarkdownRenderer-CRvDuEFW.js.map} +1 -1
- package/dist/{MetricsCard-C7_7L_6I.cjs → MetricsCard-B7A4Daun.cjs} +3 -3
- package/dist/{MetricsCard-C7_7L_6I.cjs.map → MetricsCard-B7A4Daun.cjs.map} +1 -1
- package/dist/{MetricsCard-Di1c2kJj.js → MetricsCard-eh9P4d2i.js} +3 -3
- package/dist/{MetricsCard-Di1c2kJj.js.map → MetricsCard-eh9P4d2i.js.map} +1 -1
- package/dist/{MetricsShareList-BMF2OAI0.js → MetricsShareList-BY-4i5ng.js} +218 -68
- package/dist/MetricsShareList-BY-4i5ng.js.map +1 -0
- package/dist/{MetricsShareList-5900GzN7.cjs → MetricsShareList-BoXqQZRh.cjs} +218 -68
- package/dist/MetricsShareList-BoXqQZRh.cjs.map +1 -0
- package/dist/Toaster.css +2 -2
- package/dist/{Workflow-Dzf1_Tce.js → Workflow-BTl4BP2P.js} +2 -2
- package/dist/{Workflow-Dzf1_Tce.js.map → Workflow-BTl4BP2P.js.map} +1 -1
- package/dist/{Workflow-BhlFliTC.cjs → Workflow-C2-hqh4S.cjs} +2 -2
- package/dist/{Workflow-BhlFliTC.cjs.map → Workflow-C2-hqh4S.cjs.map} +1 -1
- package/dist/{activity-CBQX9nut.cjs → activity-B4CnOYnh.cjs} +2 -2
- package/dist/{activity-CBQX9nut.cjs.map → activity-B4CnOYnh.cjs.map} +1 -1
- package/dist/{activity-Dv351ub4.js → activity-Dc-NsOSz.js} +2 -2
- package/dist/{activity-Dv351ub4.js.map → activity-Dc-NsOSz.js.map} +1 -1
- package/dist/components/CodeBlock.cjs.js +1 -1
- package/dist/components/CodeBlock.es.js +1 -1
- package/dist/components/DataList.cjs.js +3 -3
- package/dist/components/DataList.es.js +3 -3
- package/dist/components/DataPanel.cjs.js +1 -1
- package/dist/components/DataPanel.es.js +1 -1
- package/dist/components/DateTimeRangePicker.cjs.js +1 -1
- package/dist/components/DateTimeRangePicker.es.js +1 -1
- package/dist/components/Drawer.cjs.js +78 -15
- package/dist/components/Drawer.cjs.js.map +1 -1
- package/dist/components/Drawer.es.js +78 -15
- package/dist/components/Drawer.es.js.map +1 -1
- package/dist/components/DropdownMenu.cjs.js +1 -1
- package/dist/components/DropdownMenu.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.es.js +1 -1
- package/dist/components/LogsDataList.cjs.js +2 -2
- package/dist/components/LogsDataList.es.js +2 -2
- package/dist/components/MarkdownRenderer.cjs.js +1 -1
- package/dist/components/MarkdownRenderer.es.js +1 -1
- package/dist/components/MetricsCard.cjs.js +1 -1
- package/dist/components/MetricsCard.es.js +1 -1
- package/dist/components/MetricsShareList.cjs.js +1 -1
- package/dist/components/MetricsShareList.es.js +1 -1
- package/dist/components/MetricsTable.cjs.js +143 -0
- package/dist/components/MetricsTable.cjs.js.map +1 -0
- package/dist/components/MetricsTable.d.ts +1 -0
- package/dist/components/MetricsTable.es.js +142 -0
- package/dist/components/MetricsTable.es.js.map +1 -0
- package/dist/components/PropertyFilter.cjs.js +1 -1
- package/dist/components/PropertyFilter.es.js +1 -1
- package/dist/components/SavedViews.cjs.js +1 -1
- package/dist/components/SavedViews.es.js +1 -1
- package/dist/components/ScatterPlotChart.cjs.js.map +1 -1
- package/dist/components/ScatterPlotChart.es.js.map +1 -1
- package/dist/components/SeriesMark.cjs.js +34 -0
- package/dist/components/SeriesMark.cjs.js.map +1 -0
- package/dist/components/SeriesMark.d.ts +1 -0
- package/dist/components/SeriesMark.es.js +33 -0
- package/dist/components/SeriesMark.es.js.map +1 -0
- package/dist/components/Sidebar.cjs.js +1 -1
- package/dist/components/Sidebar.es.js +1 -1
- package/dist/components/Sparkline.cjs.js +31 -0
- package/dist/components/Sparkline.cjs.js.map +1 -0
- package/dist/components/Sparkline.d.ts +1 -0
- package/dist/components/Sparkline.es.js +30 -0
- package/dist/components/Sparkline.es.js.map +1 -0
- package/dist/components/Tabs.cjs.js +2 -2
- package/dist/components/Tabs.es.js +2 -2
- package/dist/components/Workflow.cjs.js +1 -1
- package/dist/components/Workflow.es.js +1 -1
- package/dist/components/ai/activity.cjs.js +1 -1
- package/dist/components/ai/activity.es.js +1 -1
- package/dist/components/ai/plan.cjs.js +1 -1
- package/dist/components/ai/plan.es.js +1 -1
- package/dist/components/ai/tool-approval.cjs.js +1 -1
- package/dist/components/ai/tool-approval.es.js +1 -1
- package/dist/components/ai/tool-call.cjs.js +1 -1
- package/dist/components/ai/tool-call.es.js +1 -1
- package/dist/{data-list-RWcxZlIp.js → data-list-YfADUlqZ.js} +2 -3
- package/dist/{data-list-RWcxZlIp.js.map → data-list-YfADUlqZ.js.map} +1 -1
- package/dist/{data-list-BocMrXhw.cjs → data-list-jF9pJ7HH.cjs} +2 -3
- package/dist/{data-list-BocMrXhw.cjs.map → data-list-jF9pJ7HH.cjs.map} +1 -1
- package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
- package/dist/domains/chat/messages/message-row.cjs.js +2 -2
- package/dist/domains/chat/messages/message-row.es.js +2 -2
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
- package/dist/domains/chat/messages/reasoning-content.cjs.js +1 -1
- package/dist/domains/chat/messages/reasoning-content.es.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
- package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
- package/dist/domains/chat/messages/signal-badge.es.js +1 -1
- package/dist/domains/chat/messages/skill-message.cjs.js +2 -2
- package/dist/domains/chat/messages/skill-message.es.js +2 -2
- package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
- package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/file-tree-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +1 -1
- package/dist/domains/chat/tools/connect-prompt-tool.cjs.js +1 -1
- package/dist/domains/chat/tools/connect-prompt-tool.es.js +1 -1
- package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-card.es.js +1 -1
- package/dist/domains/chat/tools/tool-groups.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-groups.es.js +1 -1
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +1 -1
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +1 -1
- package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
- package/dist/domains/logs/components/log-data-panel.es.js +1 -1
- package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
- package/dist/domains/logs/components/logs-list-view.es.js +2 -2
- package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
- package/dist/domains/metrics/components/agent-runs-card.cjs.js +1 -1
- package/dist/domains/metrics/components/agent-runs-card.es.js +1 -1
- package/dist/domains/metrics/components/breakdown/breakdown-change-cell.cjs.js +23 -0
- package/dist/domains/metrics/components/breakdown/breakdown-change-cell.cjs.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-change-cell.d.ts +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-change-cell.es.js +22 -0
- package/dist/domains/metrics/components/breakdown/breakdown-change-cell.es.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-change-description.cjs.js +25 -0
- package/dist/domains/metrics/components/breakdown/breakdown-change-description.cjs.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-change-description.d.ts +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-change-description.es.js +24 -0
- package/dist/domains/metrics/components/breakdown/breakdown-change-description.es.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.cjs.js +14 -0
- package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.cjs.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.d.ts +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.es.js +13 -0
- package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.es.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-entity-tab.cjs.js +44 -0
- package/dist/domains/metrics/components/breakdown/breakdown-entity-tab.cjs.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-entity-tab.d.ts +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-entity-tab.es.js +43 -0
- package/dist/domains/metrics/components/breakdown/breakdown-entity-tab.es.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-frame.cjs.js +46 -0
- package/dist/domains/metrics/components/breakdown/breakdown-frame.cjs.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-frame.d.ts +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-frame.es.js +44 -0
- package/dist/domains/metrics/components/breakdown/breakdown-frame.es.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-models-tab.cjs.js +46 -0
- package/dist/domains/metrics/components/breakdown/breakdown-models-tab.cjs.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-models-tab.d.ts +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-models-tab.es.js +45 -0
- package/dist/domains/metrics/components/breakdown/breakdown-models-tab.es.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-projects-first.cjs.js +31 -0
- package/dist/domains/metrics/components/breakdown/breakdown-projects-first.cjs.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-projects-first.d.ts +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-projects-first.es.js +30 -0
- package/dist/domains/metrics/components/breakdown/breakdown-projects-first.es.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-tab-body.cjs.js +40 -0
- package/dist/domains/metrics/components/breakdown/breakdown-tab-body.cjs.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-tab-body.d.ts +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-tab-body.es.js +39 -0
- package/dist/domains/metrics/components/breakdown/breakdown-tab-body.es.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-table.cjs.js +197 -0
- package/dist/domains/metrics/components/breakdown/breakdown-table.cjs.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-table.d.ts +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-table.es.js +196 -0
- package/dist/domains/metrics/components/breakdown/breakdown-table.es.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-trace-tab.cjs.js +41 -0
- package/dist/domains/metrics/components/breakdown/breakdown-trace-tab.cjs.js.map +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-trace-tab.d.ts +1 -0
- package/dist/domains/metrics/components/breakdown/breakdown-trace-tab.es.js +40 -0
- package/dist/domains/metrics/components/breakdown/breakdown-trace-tab.es.js.map +1 -0
- package/dist/domains/metrics/components/breakdown-card.cjs.js +60 -0
- package/dist/domains/metrics/components/breakdown-card.cjs.js.map +1 -0
- package/dist/domains/metrics/components/breakdown-card.d.ts +1 -0
- package/dist/domains/metrics/components/breakdown-card.es.js +59 -0
- package/dist/domains/metrics/components/breakdown-card.es.js.map +1 -0
- package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
- package/dist/domains/metrics/components/chart-area.es.js +1 -1
- package/dist/domains/metrics/components/chart-card-error.cjs.js +21 -6
- package/dist/domains/metrics/components/chart-card-error.cjs.js.map +1 -1
- package/dist/domains/metrics/components/chart-card-error.es.js +22 -7
- package/dist/domains/metrics/components/chart-card-error.es.js.map +1 -1
- package/dist/domains/metrics/components/chart-card.cjs.js +28 -5
- package/dist/domains/metrics/components/chart-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/chart-card.es.js +28 -5
- package/dist/domains/metrics/components/chart-card.es.js.map +1 -1
- package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
- package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
- package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.cjs.js +121 -0
- package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.cjs.js.map +1 -0
- package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.d.ts +1 -0
- package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.es.js +118 -0
- package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.es.js.map +1 -0
- package/dist/domains/metrics/components/distinct-ids-card.cjs.js +19 -0
- package/dist/domains/metrics/components/distinct-ids-card.cjs.js.map +1 -0
- package/dist/domains/metrics/components/distinct-ids-card.d.ts +1 -0
- package/dist/domains/metrics/components/distinct-ids-card.es.js +18 -0
- package/dist/domains/metrics/components/distinct-ids-card.es.js.map +1 -0
- package/dist/domains/metrics/components/failure-rate-card.cjs.js +1 -1
- package/dist/domains/metrics/components/failure-rate-card.es.js +1 -1
- package/dist/domains/metrics/components/latency-card.cjs.js +18 -13
- package/dist/domains/metrics/components/latency-card.cjs.js.map +1 -1
- package/dist/domains/metrics/components/latency-card.es.js +18 -13
- package/dist/domains/metrics/components/latency-card.es.js.map +1 -1
- package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js +4 -1
- package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js.map +1 -1
- package/dist/domains/metrics/components/metrics-time-range-chip.es.js +4 -1
- package/dist/domains/metrics/components/metrics-time-range-chip.es.js.map +1 -1
- package/dist/domains/metrics/components/scores-card.cjs.js +1 -1
- package/dist/domains/metrics/components/scores-card.es.js +1 -1
- package/dist/domains/metrics/components/token-usage-card.cjs.js +1 -1
- package/dist/domains/metrics/components/token-usage-card.es.js +1 -1
- package/dist/domains/metrics/components/trace-aggregate-card.cjs.js +27 -0
- package/dist/domains/metrics/components/trace-aggregate-card.cjs.js.map +1 -0
- package/dist/domains/metrics/components/trace-aggregate-card.d.ts +1 -0
- package/dist/domains/metrics/components/trace-aggregate-card.es.js +26 -0
- package/dist/domains/metrics/components/trace-aggregate-card.es.js.map +1 -0
- package/dist/domains/metrics/components/trace-volume-card.cjs.js +2 -2
- package/dist/domains/metrics/components/trace-volume-card.es.js +2 -2
- package/dist/domains/metrics/components/usage-card.cjs.js +2 -2
- package/dist/domains/metrics/components/usage-card.es.js +2 -2
- package/dist/domains/metrics/components.cjs.js +6 -0
- package/dist/domains/metrics/components.es.js +4 -1
- package/dist/domains/metrics/drilldown.cjs.js +31 -3
- package/dist/domains/metrics/drilldown.cjs.js.map +1 -1
- package/dist/domains/metrics/drilldown.es.js +32 -4
- package/dist/domains/metrics/drilldown.es.js.map +1 -1
- package/dist/domains/metrics/hooks/aggregate-limiter-provider.cjs.js +22 -0
- package/dist/domains/metrics/hooks/aggregate-limiter-provider.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/aggregate-limiter-provider.d.ts +1 -0
- package/dist/domains/metrics/hooks/aggregate-limiter-provider.es.js +21 -0
- package/dist/domains/metrics/hooks/aggregate-limiter-provider.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-aggregate-limiter.cjs.js +33 -0
- package/dist/domains/metrics/hooks/use-aggregate-limiter.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-aggregate-limiter.d.ts +1 -0
- package/dist/domains/metrics/hooks/use-aggregate-limiter.es.js +30 -0
- package/dist/domains/metrics/hooks/use-aggregate-limiter.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-metrics-filters.cjs.js +4 -3
- package/dist/domains/metrics/hooks/use-metrics-filters.cjs.js.map +1 -1
- package/dist/domains/metrics/hooks/use-metrics-filters.es.js +4 -3
- package/dist/domains/metrics/hooks/use-metrics-filters.es.js.map +1 -1
- package/dist/domains/metrics/hooks/use-metrics-latency.cjs.js +22 -25
- package/dist/domains/metrics/hooks/use-metrics-latency.cjs.js.map +1 -1
- package/dist/domains/metrics/hooks/use-metrics-latency.es.js +22 -25
- package/dist/domains/metrics/hooks/use-metrics-latency.es.js.map +1 -1
- package/dist/domains/metrics/hooks/use-metrics-layout.cjs.js +12 -0
- package/dist/domains/metrics/hooks/use-metrics-layout.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-metrics-layout.d.ts +1 -0
- package/dist/domains/metrics/hooks/use-metrics-layout.es.js +11 -0
- package/dist/domains/metrics/hooks/use-metrics-layout.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-metrics-scope.cjs.js +10 -0
- package/dist/domains/metrics/hooks/use-metrics-scope.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-metrics-scope.d.ts +1 -0
- package/dist/domains/metrics/hooks/use-metrics-scope.es.js +9 -0
- package/dist/domains/metrics/hooks/use-metrics-scope.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-metrics-span-aggregate.cjs.js +49 -0
- package/dist/domains/metrics/hooks/use-metrics-span-aggregate.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-metrics-span-aggregate.d.ts +1 -0
- package/dist/domains/metrics/hooks/use-metrics-span-aggregate.es.js +47 -0
- package/dist/domains/metrics/hooks/use-metrics-span-aggregate.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-metrics-trace-aggregate.cjs.js +59 -0
- package/dist/domains/metrics/hooks/use-metrics-trace-aggregate.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-metrics-trace-aggregate.d.ts +1 -0
- package/dist/domains/metrics/hooks/use-metrics-trace-aggregate.es.js +57 -0
- package/dist/domains/metrics/hooks/use-metrics-trace-aggregate.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-metrics-usage-totals.cjs.js +42 -0
- package/dist/domains/metrics/hooks/use-metrics-usage-totals.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-metrics-usage-totals.d.ts +1 -0
- package/dist/domains/metrics/hooks/use-metrics-usage-totals.es.js +40 -0
- package/dist/domains/metrics/hooks/use-metrics-usage-totals.es.js.map +1 -0
- package/dist/domains/metrics/hooks/use-metrics.cjs.js +20 -5
- package/dist/domains/metrics/hooks/use-metrics.cjs.js.map +1 -1
- package/dist/domains/metrics/hooks/use-metrics.es.js +20 -5
- package/dist/domains/metrics/hooks/use-metrics.es.js.map +1 -1
- package/dist/domains/metrics/hooks/use-trace-retention-min-date.cjs.js +19 -0
- package/dist/domains/metrics/hooks/use-trace-retention-min-date.cjs.js.map +1 -0
- package/dist/domains/metrics/hooks/use-trace-retention-min-date.d.ts +1 -0
- package/dist/domains/metrics/hooks/use-trace-retention-min-date.es.js +18 -0
- package/dist/domains/metrics/hooks/use-trace-retention-min-date.es.js.map +1 -0
- package/dist/domains/metrics/hooks.cjs.js +7 -0
- package/dist/domains/metrics/hooks.es.js +4 -1
- package/dist/domains/metrics/lib/breakdown-table.cjs.js +144 -0
- package/dist/domains/metrics/lib/breakdown-table.cjs.js.map +1 -0
- package/dist/domains/metrics/lib/breakdown-table.d.ts +1 -0
- package/dist/domains/metrics/lib/breakdown-table.es.js +129 -0
- package/dist/domains/metrics/lib/breakdown-table.es.js.map +1 -0
- package/dist/domains/metrics/lib/breakdown.cjs.js +303 -0
- package/dist/domains/metrics/lib/breakdown.cjs.js.map +1 -0
- package/dist/domains/metrics/lib/breakdown.d.ts +1 -0
- package/dist/domains/metrics/lib/breakdown.es.js +283 -0
- package/dist/domains/metrics/lib/breakdown.es.js.map +1 -0
- package/dist/domains/metrics/lib/bucket-labels.cjs.js +17 -9
- package/dist/domains/metrics/lib/bucket-labels.cjs.js.map +1 -1
- package/dist/domains/metrics/lib/bucket-labels.es.js +17 -9
- package/dist/domains/metrics/lib/bucket-labels.es.js.map +1 -1
- package/dist/domains/metrics/lib/chart-format.cjs.js +12 -4
- package/dist/domains/metrics/lib/chart-format.cjs.js.map +1 -1
- package/dist/domains/metrics/lib/chart-format.es.js +12 -4
- package/dist/domains/metrics/lib/chart-format.es.js.map +1 -1
- package/dist/domains/metrics/lib/metrics-buckets.cjs.js +9 -4
- package/dist/domains/metrics/lib/metrics-buckets.cjs.js.map +1 -1
- package/dist/domains/metrics/lib/metrics-buckets.es.js +9 -4
- package/dist/domains/metrics/lib/metrics-buckets.es.js.map +1 -1
- package/dist/domains/metrics/lib/request-limiter.cjs.js +57 -0
- package/dist/domains/metrics/lib/request-limiter.cjs.js.map +1 -0
- package/dist/domains/metrics/lib/request-limiter.d.ts +1 -0
- package/dist/domains/metrics/lib/request-limiter.es.js +53 -0
- package/dist/domains/metrics/lib/request-limiter.es.js.map +1 -0
- package/dist/domains/metrics/lib/span-aggregate.cjs.js +67 -0
- package/dist/domains/metrics/lib/span-aggregate.cjs.js.map +1 -0
- package/dist/domains/metrics/lib/span-aggregate.d.ts +1 -0
- package/dist/domains/metrics/lib/span-aggregate.es.js +64 -0
- package/dist/domains/metrics/lib/span-aggregate.es.js.map +1 -0
- package/dist/domains/metrics/lib/time-window.cjs.js +19 -0
- package/dist/domains/metrics/lib/time-window.cjs.js.map +1 -0
- package/dist/domains/metrics/lib/time-window.d.ts +1 -0
- package/dist/domains/metrics/lib/time-window.es.js +17 -0
- package/dist/domains/metrics/lib/time-window.es.js.map +1 -0
- package/dist/domains/metrics/lib/trace-aggregate.cjs.js +108 -0
- package/dist/domains/metrics/lib/trace-aggregate.cjs.js.map +1 -0
- package/dist/domains/metrics/lib/trace-aggregate.d.ts +1 -0
- package/dist/domains/metrics/lib/trace-aggregate.es.js +103 -0
- package/dist/domains/metrics/lib/trace-aggregate.es.js.map +1 -0
- package/dist/domains/metrics/lib.cjs.js +15 -0
- package/dist/domains/metrics/lib.es.js +3 -1
- package/dist/domains/metrics.cjs.js +28 -0
- package/dist/domains/metrics.es.js +9 -1
- package/dist/domains/observability/hooks/use-list-head-poll.cjs.js +72 -0
- package/dist/domains/observability/hooks/use-list-head-poll.cjs.js.map +1 -0
- package/dist/domains/observability/hooks/use-list-head-poll.d.ts +1 -0
- package/dist/domains/observability/hooks/use-list-head-poll.es.js +69 -0
- package/dist/domains/observability/hooks/use-list-head-poll.es.js.map +1 -0
- package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js +4 -2
- package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js.map +1 -1
- package/dist/domains/observability/hooks/use-observability-list-filters.es.js +3 -1
- package/dist/domains/observability/hooks/use-observability-list-filters.es.js.map +1 -1
- package/dist/domains/observability/list-polling.cjs.js +37 -0
- package/dist/domains/observability/list-polling.cjs.js.map +1 -0
- package/dist/domains/observability/list-polling.d.ts +1 -0
- package/dist/domains/observability/list-polling.es.js +29 -0
- package/dist/domains/observability/list-polling.es.js.map +1 -0
- package/dist/domains/observability/merge-head-rows.cjs.js +56 -0
- package/dist/domains/observability/merge-head-rows.cjs.js.map +1 -0
- package/dist/domains/observability/merge-head-rows.d.ts +1 -0
- package/dist/domains/observability/merge-head-rows.es.js +55 -0
- package/dist/domains/observability/merge-head-rows.es.js.map +1 -0
- package/dist/domains/observability.cjs.js +15 -0
- package/dist/domains/observability.es.js +4 -1
- package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
- package/dist/domains/scores/components/score-data-panel.cjs.js.map +1 -1
- package/dist/domains/scores/components/score-data-panel.es.js +1 -1
- package/dist/domains/scores/components/score-data-panel.es.js.map +1 -1
- package/dist/domains/scores/components/trace-scores-list.cjs.js +2 -2
- package/dist/domains/scores/components/trace-scores-list.es.js +2 -2
- package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
- package/dist/domains/spans/components/spans-explorer-body.cjs.js +13 -5
- package/dist/domains/spans/components/spans-explorer-body.cjs.js.map +1 -1
- package/dist/domains/spans/components/spans-explorer-body.es.js +14 -6
- package/dist/domains/spans/components/spans-explorer-body.es.js.map +1 -1
- package/dist/domains/spans/hooks/use-spans-list-source.cjs.js +89 -0
- package/dist/domains/spans/hooks/use-spans-list-source.cjs.js.map +1 -0
- package/dist/domains/spans/hooks/use-spans-list-source.d.ts +1 -0
- package/dist/domains/spans/hooks/use-spans-list-source.es.js +87 -0
- package/dist/domains/spans/hooks/use-spans-list-source.es.js.map +1 -0
- package/dist/domains/spans/hooks.cjs.js +3 -0
- package/dist/domains/spans/hooks.es.js +3 -1
- package/dist/domains/spans/span-list-row.cjs.js +2 -0
- package/dist/domains/spans/span-list-row.cjs.js.map +1 -1
- package/dist/domains/spans/span-list-row.es.js +2 -0
- package/dist/domains/spans/span-list-row.es.js.map +1 -1
- package/dist/domains/threads/components/threads-explorer-body.cjs.js +3 -3
- package/dist/domains/threads/components/threads-explorer-body.cjs.js.map +1 -1
- package/dist/domains/threads/components/threads-explorer-body.es.js +4 -4
- package/dist/domains/threads/components/threads-explorer-body.es.js.map +1 -1
- package/dist/domains/threads/hooks/use-threads-list-source.cjs.js +94 -0
- package/dist/domains/threads/hooks/use-threads-list-source.cjs.js.map +1 -0
- package/dist/domains/threads/hooks/use-threads-list-source.d.ts +1 -0
- package/dist/domains/threads/hooks/use-threads-list-source.es.js +92 -0
- package/dist/domains/threads/hooks/use-threads-list-source.es.js.map +1 -0
- package/dist/domains/threads/hooks.cjs.js +3 -0
- package/dist/domains/threads/hooks.es.js +3 -1
- package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js +74 -0
- package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js.map +1 -0
- package/dist/domains/traces/components/columns-menu/columns-menu.d.ts +1 -0
- package/dist/domains/traces/components/columns-menu/columns-menu.es.js +73 -0
- package/dist/domains/traces/components/columns-menu/columns-menu.es.js.map +1 -0
- package/dist/domains/traces/components/columns-menu.cjs.js +3 -0
- package/dist/domains/traces/components/columns-menu.d.ts +1 -0
- package/dist/domains/traces/components/columns-menu.es.js +1 -0
- package/dist/domains/traces/components/feedback-thread.cjs.js +1 -1
- package/dist/domains/traces/components/feedback-thread.es.js +1 -1
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +20 -15
- package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-data-panel-view.es.js +23 -18
- package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
- package/dist/domains/traces/components/span-details-view.cjs.js +10 -2
- package/dist/domains/traces/components/span-details-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-details-view.es.js +12 -4
- package/dist/domains/traces/components/span-details-view.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/available-skills.cjs.js +35 -0
- package/dist/domains/traces/components/span-payload/available-skills.cjs.js.map +1 -0
- package/dist/domains/traces/components/span-payload/{span-signal-input.d.ts → available-skills.d.ts} +1 -1
- package/dist/domains/traces/components/span-payload/available-skills.es.js +34 -0
- package/dist/domains/traces/components/span-payload/available-skills.es.js.map +1 -0
- package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +5 -6
- package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +6 -7
- package/dist/domains/traces/components/span-payload/span-input-renderers.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +97 -9
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +98 -11
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +3 -1
- package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +17 -5
- package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +17 -6
- package/dist/domains/traces/components/span-payload/span-payload-processor.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-registry.cjs.js +90 -0
- package/dist/domains/traces/components/span-payload/span-payload-registry.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-registry.es.js +87 -2
- package/dist/domains/traces/components/span-payload/span-payload-registry.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +23 -14
- package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-section.es.js +24 -15
- package/dist/domains/traces/components/span-payload/span-payload-section.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -1
- package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +63 -10
- package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +70 -17
- package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-signal-details.cjs.js +96 -0
- package/dist/domains/traces/components/span-payload/span-signal-details.cjs.js.map +1 -0
- package/dist/domains/traces/components/span-payload/span-signal-details.d.ts +1 -0
- package/dist/domains/traces/components/span-payload/span-signal-details.es.js +95 -0
- package/dist/domains/traces/components/span-payload/span-signal-details.es.js.map +1 -0
- package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js +62 -0
- package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js.map +1 -0
- package/dist/domains/traces/components/span-payload/span-tools-section.d.ts +1 -0
- package/dist/domains/traces/components/span-payload/span-tools-section.es.js +61 -0
- package/dist/domains/traces/components/span-payload/span-tools-section.es.js.map +1 -0
- package/dist/domains/traces/components/span-payload.cjs.js +2 -1
- package/dist/domains/traces/components/span-payload.es.js +2 -2
- package/dist/domains/traces/components/span-summary-description.cjs.js +28 -21
- package/dist/domains/traces/components/span-summary-description.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-summary-description.es.js +30 -24
- package/dist/domains/traces/components/span-summary-description.es.js.map +1 -1
- package/dist/domains/traces/components/span-token-usage.cjs.js +54 -112
- package/dist/domains/traces/components/span-token-usage.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-token-usage.es.js +56 -115
- package/dist/domains/traces/components/span-token-usage.es.js.map +1 -1
- package/dist/domains/traces/components/span-token-usage.utils.cjs.js +59 -19
- package/dist/domains/traces/components/span-token-usage.utils.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-token-usage.utils.es.js +58 -19
- package/dist/domains/traces/components/span-token-usage.utils.es.js.map +1 -1
- package/dist/domains/traces/components/span-type-badge.cjs.js +15 -8
- package/dist/domains/traces/components/span-type-badge.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-type-badge.es.js +16 -9
- package/dist/domains/traces/components/span-type-badge.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js +1 -6
- package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js +1 -6
- package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.es.js +1 -1
- package/dist/domains/traces/components/timeline-timing-col.cjs.js.map +1 -1
- package/dist/domains/traces/components/timeline-timing-col.es.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +36 -35
- package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.es.js +37 -36
- package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +4 -4
- package/dist/domains/traces/components/trace-data-panel-view.es.js +4 -4
- package/dist/domains/traces/components/trace-details-view.cjs.js +1 -1
- package/dist/domains/traces/components/trace-details-view.es.js +1 -1
- package/dist/domains/traces/components/trace-error-cell.cjs.js +1 -1
- package/dist/domains/traces/components/trace-error-cell.es.js +1 -1
- package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
- package/dist/domains/traces/components/trace-id-button.es.js +1 -1
- package/dist/domains/traces/components/trace-span-panel.cjs.js +0 -4
- package/dist/domains/traces/components/trace-span-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-panel.es.js +0 -4
- package/dist/domains/traces/components/trace-span-panel.es.js.map +1 -1
- package/dist/domains/traces/components/trace-span-timeline.cjs.js +31 -36
- package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-timeline.es.js +31 -36
- package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
- package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js +25 -37
- package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-tree-skeleton.es.js +25 -37
- package/dist/domains/traces/components/trace-span-tree-skeleton.es.js.map +1 -1
- package/dist/domains/traces/components/trace-span-tree.cjs.js +19 -24
- package/dist/domains/traces/components/trace-span-tree.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-tree.es.js +19 -24
- package/dist/domains/traces/components/trace-span-tree.es.js.map +1 -1
- package/dist/domains/traces/components/trace-summary-description.cjs.js +2 -8
- package/dist/domains/traces/components/trace-summary-description.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-summary-description.es.js +2 -8
- package/dist/domains/traces/components/trace-summary-description.es.js.map +1 -1
- package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js +5 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js +5 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-body.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-body.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.cjs.js +9 -22
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.es.js +10 -23
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js +6 -3
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js +5 -4
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js +9 -9
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js +10 -10
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js +13 -5
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js +13 -5
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +14 -7
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +15 -8
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer.cjs.js +1 -0
- package/dist/domains/traces/components/traces-explorer.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-explorer.es.js +2 -2
- package/dist/domains/traces/components/traces-explorer.es.js.map +1 -1
- package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
- package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
- package/dist/domains/traces/components/traces-list-view-adapter.cjs.js +2 -1
- package/dist/domains/traces/components/traces-list-view-adapter.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view-adapter.es.js +2 -1
- package/dist/domains/traces/components/traces-list-view-adapter.es.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view.cjs.js +33 -5
- package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view.es.js +33 -5
- package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -1
- package/dist/domains/traces/components/traces-spans-switch.cjs.js +1 -1
- package/dist/domains/traces/components/traces-spans-switch.es.js +1 -1
- package/dist/domains/traces/components.cjs.js +2 -3
- package/dist/domains/traces/components.es.js +2 -3
- package/dist/domains/traces/hooks/use-trace-column-preferences.cjs.js +21 -45
- package/dist/domains/traces/hooks/use-trace-column-preferences.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-column-preferences.es.js +22 -46
- package/dist/domains/traces/hooks/use-trace-column-preferences.es.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-span-navigation.cjs.js +1 -1
- package/dist/domains/traces/hooks/use-trace-span-navigation.es.js +1 -1
- package/dist/domains/traces/hooks/use-traces-list-source.cjs.js +5 -30
- package/dist/domains/traces/hooks/use-traces-list-source.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-traces-list-source.es.js +5 -24
- package/dist/domains/traces/hooks/use-traces-list-source.es.js.map +1 -1
- package/dist/domains/traces/hooks.cjs.js +2 -2
- package/dist/domains/traces/hooks.es.js +2 -2
- package/dist/domains/traces/trace-list-columns.cjs.js +93 -5
- package/dist/domains/traces/trace-list-columns.cjs.js.map +1 -1
- package/dist/domains/traces/trace-list-columns.es.js +88 -6
- package/dist/domains/traces/trace-list-columns.es.js.map +1 -1
- package/dist/domains/traces.cjs.js +5 -6
- package/dist/domains/traces.es.js +5 -6
- package/dist/domains/workflows/components/workflow-layout.cjs.js +1 -1
- package/dist/domains/workflows/components/workflow-layout.es.js +1 -1
- package/dist/domains/workflows/components/workflow-step-detail.cjs.js +2 -2
- package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
- package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
- package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
- package/dist/domains/workflows/workflow/utils.cjs.js +1 -1
- package/dist/domains/workflows/workflow/utils.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-layout.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-layout.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-run-data.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-node-utils.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-node-utils.es.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +1 -1
- package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-markdown-preview.es.js +1 -1
- package/dist/{dropdown-menu-D4Yc17mN.cjs → dropdown-menu-C-3jXKWx.cjs} +13 -8
- package/dist/dropdown-menu-C-3jXKWx.cjs.map +1 -0
- package/dist/{dropdown-menu-Du-HKn4I.js → dropdown-menu-Caic-zHy.js} +13 -8
- package/dist/dropdown-menu-Caic-zHy.js.map +1 -0
- package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
- package/dist/ee/signals/components/entity-index-list.es.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +1 -1
- package/dist/ee/signals/sankey-signals.cjs.js +1 -1
- package/dist/ee/signals/sankey-signals.es.js +1 -1
- package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
- package/dist/ee/signals/view-mode-tab.es.js +1 -1
- package/dist/ee/topics/components/topic-trace-details-panel.cjs.js +0 -4
- package/dist/ee/topics/components/topic-trace-details-panel.cjs.js.map +1 -1
- package/dist/ee/topics/components/topic-trace-details-panel.es.js +0 -4
- package/dist/ee/topics/components/topic-trace-details-panel.es.js.map +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +1 -1
- package/dist/icons/AmazonIcon.cjs.js.map +1 -1
- package/dist/icons/AmazonIcon.es.js.map +1 -1
- package/dist/icons/AnthropicMessagesIcon.cjs.js.map +1 -1
- package/dist/icons/AnthropicMessagesIcon.es.js.map +1 -1
- package/dist/icons/GroqIcon.cjs.js.map +1 -1
- package/dist/icons/GroqIcon.es.js.map +1 -1
- package/dist/icons/XGroqIcon.cjs.js.map +1 -1
- package/dist/icons/XGroqIcon.es.js.map +1 -1
- package/dist/layout/tabbed-container.cjs.js +1 -1
- package/dist/layout/tabbed-container.es.js +1 -1
- package/dist/lib/form/dynamic-form.cjs.js.map +1 -1
- package/dist/lib/form/dynamic-form.es.js.map +1 -1
- package/dist/primitives/menu-item.cjs.js +2 -0
- package/dist/primitives/menu-item.cjs.js.map +1 -1
- package/dist/primitives/menu-item.es.js +2 -0
- package/dist/primitives/menu-item.es.js.map +1 -1
- package/dist/primitives/menu-scroll-area.cjs.js +3 -2
- package/dist/primitives/menu-scroll-area.cjs.js.map +1 -1
- package/dist/primitives/menu-scroll-area.es.js +3 -2
- package/dist/primitives/menu-scroll-area.es.js.map +1 -1
- package/dist/{property-filter-applied-BV-xR2-5.js → property-filter-applied-CC8wQtPa.js} +2 -2
- package/dist/{property-filter-applied-BV-xR2-5.js.map → property-filter-applied-CC8wQtPa.js.map} +1 -1
- package/dist/{property-filter-applied-BECMPEpj.cjs → property-filter-applied-I8Iz2j9O.cjs} +2 -2
- package/dist/{property-filter-applied-BECMPEpj.cjs.map → property-filter-applied-I8Iz2j9O.cjs.map} +1 -1
- package/dist/{span-payload-primitives-ssZCMhBJ.js → span-payload-primitives-Fi1kSYyM.js} +59 -14
- package/dist/span-payload-primitives-Fi1kSYyM.js.map +1 -0
- package/dist/{span-payload-primitives-DduIbNVu.cjs → span-payload-primitives-rxerCV7Y.cjs} +76 -13
- package/dist/span-payload-primitives-rxerCV7Y.cjs.map +1 -0
- package/dist/src/domains/metrics/components/breakdown/breakdown-change-cell.d.ts +5 -0
- package/dist/src/domains/metrics/components/breakdown/breakdown-change-description.d.ts +8 -0
- package/dist/src/domains/metrics/components/breakdown/breakdown-cost-cell.d.ts +4 -0
- package/dist/src/domains/metrics/components/breakdown/breakdown-entity-tab.d.ts +8 -0
- package/dist/src/domains/metrics/components/breakdown/breakdown-frame.d.ts +17 -0
- package/dist/src/domains/metrics/components/breakdown/breakdown-models-tab.d.ts +3 -0
- package/dist/src/domains/metrics/components/breakdown/breakdown-projects-first.d.ts +14 -0
- package/dist/src/domains/metrics/components/breakdown/breakdown-tab-body.d.ts +17 -0
- package/dist/src/domains/metrics/components/breakdown/breakdown-table.d.ts +29 -0
- package/dist/src/domains/metrics/components/breakdown/breakdown-trace-tab.d.ts +8 -0
- package/dist/src/domains/metrics/components/breakdown-card.d.ts +15 -0
- package/dist/src/domains/metrics/components/chart-card-error.d.ts +8 -2
- package/dist/src/domains/metrics/components/chart-card.d.ts +20 -2
- package/dist/src/domains/metrics/components/distinct-ids/distinct-ids-chart.d.ts +11 -0
- package/dist/src/domains/metrics/components/distinct-ids-card.d.ts +7 -0
- package/dist/src/domains/metrics/components/index.d.ts +3 -0
- package/dist/src/domains/metrics/components/latency-card.d.ts +1 -1
- package/dist/src/domains/metrics/components/trace-aggregate-card.d.ts +14 -0
- package/dist/src/domains/metrics/drilldown.d.ts +15 -0
- package/dist/src/domains/metrics/hooks/aggregate-limiter-provider.d.ts +9 -0
- package/dist/src/domains/metrics/hooks/index.d.ts +5 -2
- package/dist/src/domains/metrics/hooks/use-aggregate-limiter.d.ts +12 -0
- package/dist/src/domains/metrics/hooks/use-metrics-filters.d.ts +1 -1
- package/dist/src/domains/metrics/hooks/use-metrics-latency.d.ts +4 -3
- package/dist/src/domains/metrics/hooks/use-metrics-layout.d.ts +8 -0
- package/dist/src/domains/metrics/hooks/use-metrics-scope.d.ts +3 -0
- package/dist/src/domains/metrics/hooks/use-metrics-span-aggregate.d.ts +33 -0
- package/dist/src/domains/metrics/hooks/use-metrics-trace-aggregate.d.ts +46 -0
- package/dist/src/domains/metrics/hooks/use-metrics-usage-totals.d.ts +35 -0
- package/dist/src/domains/metrics/hooks/use-metrics.d.ts +15 -1
- package/dist/src/domains/metrics/hooks/use-trace-retention-min-date.d.ts +6 -0
- package/dist/src/domains/metrics/lib/breakdown-table.d.ts +64 -0
- package/dist/src/domains/metrics/lib/breakdown.d.ts +133 -0
- package/dist/src/domains/metrics/lib/chart-format.d.ts +4 -4
- package/dist/src/domains/metrics/lib/index.d.ts +2 -0
- package/dist/src/domains/metrics/lib/metrics-buckets.d.ts +6 -2
- package/dist/src/domains/metrics/lib/request-limiter.d.ts +27 -0
- package/dist/src/domains/metrics/lib/span-aggregate.d.ts +23 -0
- package/dist/src/domains/metrics/lib/time-window.d.ts +13 -0
- package/dist/src/domains/metrics/lib/trace-aggregate.d.ts +48 -0
- package/dist/src/domains/observability/hooks/use-list-head-poll.d.ts +40 -0
- package/dist/src/domains/observability/hooks/use-observability-list-filters.d.ts +2 -0
- package/dist/src/domains/observability/index.d.ts +5 -0
- package/dist/src/domains/observability/list-polling.d.ts +18 -0
- package/dist/src/domains/observability/merge-head-rows.d.ts +14 -0
- package/dist/src/domains/spans/hooks/index.d.ts +2 -0
- package/dist/src/domains/spans/hooks/use-spans-list-source.d.ts +66 -0
- package/dist/src/domains/threads/hooks/index.d.ts +2 -0
- package/dist/src/domains/threads/hooks/use-threads-list-source.d.ts +53 -0
- package/dist/src/domains/traces/components/columns-menu/columns-menu.d.ts +24 -0
- package/dist/src/domains/traces/components/columns-menu/index.d.ts +2 -0
- package/dist/src/domains/traces/components/index.d.ts +0 -1
- package/dist/src/domains/traces/components/span-data-panel-view.d.ts +1 -0
- package/dist/src/domains/traces/components/span-payload/available-skills.d.ts +17 -0
- package/dist/src/domains/traces/components/span-payload/index.d.ts +1 -1
- package/dist/src/domains/traces/components/span-payload/span-payload-messages.d.ts +9 -0
- package/dist/src/domains/traces/components/span-payload/span-payload-primitives.d.ts +15 -0
- package/dist/src/domains/traces/components/span-payload/span-payload-processor.d.ts +10 -1
- package/dist/src/domains/traces/components/span-payload/span-payload-registry.d.ts +51 -0
- package/dist/src/domains/traces/components/span-payload/span-payload-section.d.ts +1 -1
- package/dist/src/domains/traces/components/span-payload/span-payload-tool.d.ts +5 -2
- package/dist/src/domains/traces/components/span-payload/span-signal-details.d.ts +10 -0
- package/dist/src/domains/traces/components/span-payload/span-tools-section.d.ts +8 -0
- package/dist/src/domains/traces/components/span-summary-description.d.ts +5 -2
- package/dist/src/domains/traces/components/span-token-usage.d.ts +8 -0
- package/dist/src/domains/traces/components/span-token-usage.utils.d.ts +25 -11
- package/dist/src/domains/traces/components/span-type-badge.d.ts +4 -1
- package/dist/src/domains/traces/components/trace-columns-menu.d.ts +6 -2
- package/dist/src/domains/traces/components/trace-span-timeline.d.ts +1 -1
- package/dist/src/domains/traces/components/trace-span-tree-skeleton.d.ts +1 -1
- package/dist/src/domains/traces/components/trace-span-tree.d.ts +1 -1
- package/dist/src/domains/traces/components/traces-explorer/index.d.ts +2 -2
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-actions.d.ts +7 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-context.d.ts +12 -5
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-list-provider.d.ts +4 -4
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-root.d.ts +4 -4
- package/dist/src/domains/traces/components/traces-list-view.d.ts +9 -1
- package/dist/src/domains/traces/hooks/use-trace-column-preferences.d.ts +5 -2
- package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +0 -13
- package/dist/src/domains/traces/trace-list-columns.d.ts +19 -2
- package/dist/src/ds/components/DataList/data-list-sortable-top-cell.d.ts +3 -1
- package/dist/src/ds/components/DataPanel/data-panel-header-content.d.ts +2 -2
- package/dist/src/ds/components/Drawer/drawer.d.ts +8 -3
- package/dist/src/ds/components/DropdownMenu/dropdown-menu.d.ts +8 -3
- package/dist/src/ds/components/MetricsShareList/metrics-share-list-classes.d.ts +6 -0
- package/dist/src/ds/components/MetricsShareList/metrics-share-list-header.d.ts +2 -2
- package/dist/src/ds/components/MetricsShareList/metrics-share-list-row.d.ts +5 -3
- package/dist/src/ds/components/MetricsShareList/metrics-share-list-rows.d.ts +14 -17
- package/dist/src/ds/components/MetricsShareList/metrics-share-list-skeleton.d.ts +3 -1
- package/dist/src/ds/components/MetricsShareList/metrics-share-list-types.d.ts +37 -0
- package/dist/src/ds/components/MetricsTable/index.d.ts +2 -0
- package/dist/src/ds/components/MetricsTable/metrics-table-types.d.ts +41 -0
- package/dist/src/ds/components/MetricsTable/metrics-table.d.ts +7 -0
- package/dist/src/ds/components/SeriesMark/index.d.ts +1 -0
- package/dist/src/ds/components/SeriesMark/series-mark.d.ts +18 -0
- package/dist/src/ds/components/Sparkline/index.d.ts +1 -0
- package/dist/src/ds/components/Sparkline/sparkline.d.ts +9 -0
- package/dist/src/ds/primitives/menu-item.d.ts +2 -0
- package/dist/src/ds/primitives/menu-scroll-area.d.ts +1 -0
- package/dist/style.css +119 -12
- package/dist/{tabbed-container-DWcfHNjQ.js → tabbed-container-Bkqv61EW.js} +4 -4
- package/dist/{tabbed-container-DWcfHNjQ.js.map → tabbed-container-Bkqv61EW.js.map} +1 -1
- package/dist/{tabbed-container-CSkJaBrj.cjs → tabbed-container-DKFLulGV.cjs} +4 -4
- package/dist/{tabbed-container-CSkJaBrj.cjs.map → tabbed-container-DKFLulGV.cjs.map} +1 -1
- package/dist/{tabs-content-CsWqilvS.js → tabs-content-CDCk47md.js} +2 -2
- package/dist/{tabs-content-CsWqilvS.js.map → tabs-content-CDCk47md.js.map} +1 -1
- package/dist/{tabs-content-DgGraInW.cjs → tabs-content-DJ-d-ICe.cjs} +2 -2
- package/dist/{tabs-content-DgGraInW.cjs.map → tabs-content-DJ-d-ICe.cjs.map} +1 -1
- package/dist/{tabs-tab-DZ0ZiFEm.js → tabs-tab-BGD5YdnH.js} +3 -2
- package/dist/{tabs-tab-DZ0ZiFEm.js.map → tabs-tab-BGD5YdnH.js.map} +1 -1
- package/dist/{tabs-tab-BKc4lVRO.cjs → tabs-tab-BjqT5Xf6.cjs} +3 -2
- package/dist/{tabs-tab-BKc4lVRO.cjs.map → tabs-tab-BjqT5Xf6.cjs.map} +1 -1
- package/dist/{tool-approval-CCt8rLiR.cjs → tool-approval-BKV0gUqO.cjs} +3 -3
- package/dist/{tool-approval-CCt8rLiR.cjs.map → tool-approval-BKV0gUqO.cjs.map} +1 -1
- package/dist/{tool-approval-DzTyHCOa.js → tool-approval-CveZata3.js} +3 -3
- package/dist/{tool-approval-DzTyHCOa.js.map → tool-approval-CveZata3.js.map} +1 -1
- package/dist/{tool-call-Dp0KF2CC.cjs → tool-call-B7XLocND.cjs} +2 -2
- package/dist/{tool-call-Dp0KF2CC.cjs.map → tool-call-B7XLocND.cjs.map} +1 -1
- package/dist/{tool-call-CCDbOynR.js → tool-call-vlw4UndQ.js} +2 -2
- package/dist/{tool-call-CCDbOynR.js.map → tool-call-vlw4UndQ.js.map} +1 -1
- package/dist/{tool-card-CgBmzKVl.js → tool-card-DYBulq2F.js} +2 -2
- package/dist/{tool-card-CgBmzKVl.js.map → tool-card-DYBulq2F.js.map} +1 -1
- package/dist/{tool-card-D2Uheq9P.cjs → tool-card-DjZAuYpR.cjs} +2 -2
- package/dist/{tool-card-D2Uheq9P.cjs.map → tool-card-DjZAuYpR.cjs.map} +1 -1
- package/dist/{use-workflow-graph-runtime-PTbyPXdk.js → use-workflow-graph-runtime-BTolLtAq.js} +2 -2
- package/dist/{use-workflow-graph-runtime-PTbyPXdk.js.map → use-workflow-graph-runtime-BTolLtAq.js.map} +1 -1
- package/dist/{use-workflow-graph-runtime-Xai57aHl.cjs → use-workflow-graph-runtime-CBfWZ5Jw.cjs} +2 -2
- package/dist/{use-workflow-graph-runtime-Xai57aHl.cjs.map → use-workflow-graph-runtime-CBfWZ5Jw.cjs.map} +1 -1
- package/package.json +7 -7
- package/dist/DataPanel-BJbdOxJW.js.map +0 -1
- package/dist/DataPanel-CTsaqbs3.cjs.map +0 -1
- package/dist/MetricsShareList-5900GzN7.cjs.map +0 -1
- package/dist/MetricsShareList-BMF2OAI0.js.map +0 -1
- package/dist/domains/traces/components/span-payload/span-signal-input.cjs.js +0 -47
- package/dist/domains/traces/components/span-payload/span-signal-input.cjs.js.map +0 -1
- package/dist/domains/traces/components/span-payload/span-signal-input.es.js +0 -46
- package/dist/domains/traces/components/span-payload/span-signal-input.es.js.map +0 -1
- package/dist/domains/traces/components/span-type-legend.cjs.js +0 -51
- package/dist/domains/traces/components/span-type-legend.cjs.js.map +0 -1
- package/dist/domains/traces/components/span-type-legend.d.ts +0 -1
- package/dist/domains/traces/components/span-type-legend.es.js +0 -50
- package/dist/domains/traces/components/span-type-legend.es.js.map +0 -1
- package/dist/dropdown-menu-D4Yc17mN.cjs.map +0 -1
- package/dist/dropdown-menu-Du-HKn4I.js.map +0 -1
- package/dist/span-payload-primitives-DduIbNVu.cjs.map +0 -1
- package/dist/span-payload-primitives-ssZCMhBJ.js.map +0 -1
- package/dist/src/domains/traces/components/span-payload/span-signal-input.d.ts +0 -9
- package/dist/src/domains/traces/components/span-type-legend.d.ts +0 -8
|
@@ -10,7 +10,7 @@ import { McpServerIcon } from "./icons/McpServerIcon.es.js";
|
|
|
10
10
|
import { ProcessorIcon } from "./icons/ProcessorIcon.es.js";
|
|
11
11
|
import { ScorersIcon } from "./icons/ScorersIcon.es.js";
|
|
12
12
|
import { t as Badge } from "./Badge-aVu5iGAF.js";
|
|
13
|
-
import { C as splitColumns, S as dataListRowOuterStyles, _ as DataListCreatedCell, a as DataListSpacer, b as DataListTextCell, f as DataListRowButton, g as DataListCell, h as DataListNextPageLoading, i as DataListSubheader, l as DataListTopCellWithTooltip, m as DataListNoMatch, n as DataListTop, o as DataListSortableTopCell, p as DataListRoot, r as DataListSubHeading, s as DataListTopCell, y as DataListIdCell } from "./data-list-
|
|
13
|
+
import { C as splitColumns, S as dataListRowOuterStyles, _ as DataListCreatedCell, a as DataListSpacer, b as DataListTextCell, f as DataListRowButton, g as DataListCell, h as DataListNextPageLoading, i as DataListSubheader, l as DataListTopCellWithTooltip, m as DataListNoMatch, n as DataListTop, o as DataListSortableTopCell, p as DataListRoot, r as DataListSubHeading, s as DataListTopCell, y as DataListIdCell } from "./data-list-YfADUlqZ.js";
|
|
14
14
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
15
15
|
import { CornerDownRightIcon, DatabaseIcon, ListTreeIcon, RouteIcon, SplitIcon } from "lucide-react";
|
|
16
16
|
// src/ds/components/DataList/data-list-skeleton.tsx
|
|
@@ -313,4 +313,4 @@ var TracesDataList = Object.assign(TracesDataListRoot, {
|
|
|
313
313
|
});
|
|
314
314
|
export { DataListSkeletonRows as i, ScoresDataList as n, DataListSkeleton as r, TracesDataList as t };
|
|
315
315
|
|
|
316
|
-
//# sourceMappingURL=DataList-
|
|
316
|
+
//# sourceMappingURL=DataList-CYjnJkNE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataList-B9g1zTOj.js","names":["WorkflowIcon","_Fragment"],"sources":["../src/ds/components/DataList/data-list-skeleton.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list-cells.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list-cells.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list.tsx"],"sourcesContent":["import { DataListCell } from './data-list-cells';\nimport { DataListRoot } from './data-list-root';\nimport type { DataListFit, DataListVariant } from './data-list-root';\nimport { DataListTop } from './data-list-top';\nimport { DataListTopCell } from './data-list-top-cell';\nimport { dataListRowOuterStyles, splitColumns } from './shared';\nimport { cn } from '@/lib/utils';\n\nconst widths = ['75%', '50%', '65%', '90%', '60%', '80%'] as const;\nconst headerWidths = ['3rem', '5rem', '4rem', '3.5rem', '4.5rem', '3rem'] as const;\n\nexport type DataListSkeletonProps = {\n columns?: string;\n numberOfRows?: number;\n fit?: DataListFit;\n variant?: DataListVariant;\n};\n\nfunction SkeletonBar({ width, className }: { width: string; className?: string }) {\n return (\n <div\n className={cn('h-4 animate-pulse rounded-lg bg-(--data-list-background) text-transparent select-none', className)}\n style={{ width }}\n />\n );\n}\n\nexport type DataListSkeletonRowsProps = {\n columnCount: number;\n numberOfRows?: number;\n};\n\n/**\n * Placeholder rows only, for lists that keep their real root and header while\n * loading (e.g. virtualized lists that must keep the same scroll container).\n */\nexport function DataListSkeletonRows({ columnCount, numberOfRows = 3 }: DataListSkeletonRowsProps) {\n const getPseudoRandomWidth = (rowIdx: number, colIdx: number) => {\n const index = (rowIdx + colIdx + columnCount + numberOfRows) % widths.length;\n return widths[index] ?? widths[0];\n };\n\n return Array.from({ length: numberOfRows }).map((_, rowIdx) => (\n <div key={rowIdx} className={cn('data-list-cells grid grid-cols-subgrid gap-4 px-3', ...dataListRowOuterStyles)}>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListCell key={colIdx}>\n <SkeletonBar width={getPseudoRandomWidth(rowIdx, colIdx)} />\n </DataListCell>\n ))}\n </div>\n ));\n}\n\n/**\n * Loading placeholder mirroring the real list: same root, a sticky header\n * band with one placeholder label per column, then rows of placeholder cells.\n */\nexport function DataListSkeleton({\n columns = 'auto 1fr auto auto',\n numberOfRows = 3,\n fit,\n variant,\n}: DataListSkeletonProps) {\n const columnParts = splitColumns(columns);\n const columnCount = columnParts.length;\n const skeletonColumns = columnParts.map(col => (col === 'auto' ? 'minmax(6rem, auto)' : col)).join(' ');\n\n return (\n <DataListRoot columns={skeletonColumns} fit={fit} variant={variant}>\n <DataListTop>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListTopCell key={colIdx}>\n <SkeletonBar width={headerWidths[colIdx % headerWidths.length] ?? headerWidths[0]} className=\"h-3\" />\n </DataListTopCell>\n ))}\n </DataListTop>\n <DataListSkeletonRows columnCount={columnCount} numberOfRows={numberOfRows} />\n </DataListRoot>\n );\n}\n","import { DataListCell } from '../data-list-cells';\nimport { Txt } from '@/ds/components/Txt';\nimport { formatDate } from '@/utils/date-format';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\n// ---------------------------------------------------------------------------\n// DateCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListDateCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListDateCell({ timestamp }: ScoresDataListDateCellProps) {\n return <DataListCell className=\"text-muted-foreground\">{formatDate(timestamp, 'date') ?? '-'}</DataListCell>;\n}\n\n// ---------------------------------------------------------------------------\n// TimeCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListTimeCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListTimeCell({ timestamp }: ScoresDataListTimeCellProps) {\n return (\n <DataListCell className=\"text-body-sm text-muted-foreground\">{formatDate(timestamp, 'time') ?? '-'}</DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListInputCellProps {\n input?: unknown;\n}\n\nexport function ScoresDataListInputCell({ input }: ScoresDataListInputCellProps) {\n const display = input != null ? JSON.stringify(input) : '-';\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListEntityCellProps {\n entityId?: string | null;\n}\n\nexport function ScoresDataListEntityCell({ entityId }: ScoresDataListEntityCellProps) {\n const display = entityId || '-';\n return (\n <DataListCell>\n <Txt as=\"span\" variant=\"body-sm\" className=\"block max-w-full min-w-0 truncate\" title={display}>\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// ScoreCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListScoreCellProps {\n score?: unknown;\n}\n\nexport function ScoresDataListScoreCell({ score }: ScoresDataListScoreCellProps) {\n const display = score == null ? '-' : typeof score === 'object' ? JSON.stringify(score) : String(score);\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell } from '../data-list-top-cell';\nimport {\n ScoresDataListDateCell,\n ScoresDataListTimeCell,\n ScoresDataListInputCell,\n ScoresDataListEntityCell,\n ScoresDataListScoreCell,\n} from './scores-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as TracesDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as TracesDataList\nfunction ScoresDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const ScoresDataList = Object.assign(ScoresDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n NextPageLoading: DataListNextPageLoading,\n DateCell: ScoresDataListDateCell,\n TimeCell: ScoresDataListTimeCell,\n InputCell: ScoresDataListInputCell,\n EntityCell: ScoresDataListEntityCell,\n ScoreCell: ScoresDataListScoreCell,\n});\n","import { CornerDownRightIcon, DatabaseIcon, ListTreeIcon, RouteIcon, SplitIcon } from 'lucide-react';\nimport type { ComponentType, SVGProps } from 'react';\nimport { DataListCell, DataListTextCell } from '../data-list-cells';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\nimport { McpServerIcon } from '@/ds/icons/McpServerIcon';\nimport { MemoryIcon } from '@/ds/icons/MemoryIcon';\nimport { ProcessorIcon } from '@/ds/icons/ProcessorIcon';\nimport { ScorersIcon } from '@/ds/icons/ScorersIcon';\nimport { ToolsIcon } from '@/ds/icons/ToolsIcon';\nimport { WorkflowIcon } from '@/ds/icons/WorkflowIcon';\nimport { cn } from '@/lib/utils';\n\n// ---------------------------------------------------------------------------\n// NameCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListNameCellProps {\n name?: string | null;\n /** `null`/missing → root span (Trace). Set → nested span (Subtrace). Drives the leading level icon. */\n parentSpanId?: string | null;\n /** When true, the leading level icon is wrapped in a Trace/Subtrace tooltip. Off by default —\n * only meaningful in branches mode, where rows mix root traces and subtraces. */\n showLevelTooltip?: boolean;\n}\n\nexport function TracesDataListNameCell({ name, parentSpanId, showLevelTooltip }: TracesDataListNameCellProps) {\n const isRoot = parentSpanId == null;\n const Icon = isRoot ? ListTreeIcon : CornerDownRightIcon;\n const label = isRoot ? 'Trace' : 'Subtrace';\n const icon = (\n <span aria-label={label} className=\"inline-flex shrink-0\">\n <Icon className={cn('size-4 shrink-0', isRoot ? 'text-muted-foreground' : 'text-placeholder')} aria-hidden />\n </span>\n );\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2 text-body-sm text-muted-foreground\">\n {showLevelTooltip ? (\n <Tooltip>\n <TooltipTrigger asChild>{icon}</TooltipTrigger>\n <TooltipContent>{label}</TooltipContent>\n </Tooltip>\n ) : (\n icon\n )}\n <span className=\"min-w-0 truncate\">{name || '-'}</span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListInputCellProps {\n input?: string | null;\n}\n\nexport function TracesDataListInputCell({ input }: TracesDataListInputCellProps) {\n return <DataListTextCell font=\"mono\">{input || '-'}</DataListTextCell>;\n}\n\n// ---------------------------------------------------------------------------\n// OutputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListOutputCellProps {\n output?: string;\n /** Shown instead of `output`, in the error color, when `status` is `'error'`. */\n error?: string;\n status?: string | null;\n}\n\nexport function TracesDataListOutputCell({ output, error, status }: TracesDataListOutputCellProps) {\n const failed = status === 'error';\n const errorColor = failed ? 'text-destructive-foreground' : undefined;\n return (\n <DataListTextCell font=\"mono\" className={errorColor}>\n {(failed ? error : output) || '-'}\n </DataListTextCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// TypeCell\n// ---------------------------------------------------------------------------\n\ntype EntityTypeDisplay = { label: string; Icon: ComponentType<SVGProps<SVGSVGElement>> };\n\n// Keys are lowercase `EntityType` enum values (plus legacy `workflow`).\nconst ENTITY_TYPE_DISPLAY: Record<string, EntityTypeDisplay> = {\n agent: { label: 'Agent', Icon: AgentIcon },\n workflow: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_run: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_step: { label: 'Step', Icon: WorkflowIcon },\n tool: { label: 'Tool', Icon: ToolsIcon },\n scorer: { label: 'Scorer', Icon: ScorersIcon },\n classifier: { label: 'Classifier', Icon: SplitIcon },\n memory: { label: 'Memory', Icon: MemoryIcon },\n mcp_server: { label: 'MCP Server', Icon: McpServerIcon },\n input_processor: { label: 'Processor', Icon: ProcessorIcon },\n input_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n tool_result_processor: { label: 'Processor', Icon: ProcessorIcon },\n rag_ingestion: { label: 'RAG', Icon: DatabaseIcon },\n trajectory: { label: 'Trajectory', Icon: RouteIcon },\n};\n\nexport interface TracesDataListTypeCellProps {\n entityType?: string | null;\n}\n\nexport function TracesDataListTypeCell({ entityType }: TracesDataListTypeCellProps) {\n const display = entityType ? ENTITY_TYPE_DISPLAY[entityType.toLowerCase()] : undefined;\n\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2\">\n {display ? (\n <>\n <display.Icon className=\"size-3.5 shrink-0 text-placeholder\" aria-hidden />\n <Txt as=\"span\" variant=\"body-sm\" className=\"min-w-0 truncate\">\n {display.label}\n </Txt>\n </>\n ) : (\n '-'\n )}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// StatusCell\n// ---------------------------------------------------------------------------\n\nconst UNSET_STATUS_CONFIG: { label: string; variant: BadgeVariant } = { label: '-', variant: 'neutral' };\n\nconst STATUS_CONFIG: Record<string, { label: string; variant: BadgeVariant }> = {\n completed: { label: 'OK', variant: 'success' },\n ok: { label: 'OK', variant: 'success' },\n success: { label: 'OK', variant: 'success' },\n error: { label: 'ERR', variant: 'destructive' },\n running: { label: 'RUN', variant: 'neutral' },\n unset: UNSET_STATUS_CONFIG,\n};\n\nexport interface TracesDataListStatusCellProps {\n status?: string | null;\n}\n\nexport function TracesDataListStatusCell({ status }: TracesDataListStatusCellProps) {\n const key = (status ?? 'unset').toLowerCase();\n const config = STATUS_CONFIG[key] ?? UNSET_STATUS_CONFIG;\n\n return (\n <DataListCell>\n <Badge size=\"xs\" variant={config.variant}>\n {config.label}\n </Badge>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListCreatedCell, DataListIdCell } from '../data-list-cells';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListSpacer } from '../data-list-spacer';\nimport { DataListSubheader } from '../data-list-subheader';\nimport { DataListSubHeading } from '../data-list-subheading';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell, DataListTopCellWithTooltip } from '../data-list-top-cell';\nimport {\n TracesDataListNameCell,\n TracesDataListInputCell,\n TracesDataListOutputCell,\n TracesDataListTypeCell,\n TracesDataListStatusCell,\n} from './traces-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as ScoresDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as ScoresDataList\nfunction TracesDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const TracesDataList = Object.assign(TracesDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n IdCell: DataListIdCell,\n CreatedCell: DataListCreatedCell,\n NameCell: TracesDataListNameCell,\n InputCell: TracesDataListInputCell,\n OutputCell: TracesDataListOutputCell,\n TypeCell: TracesDataListTypeCell,\n StatusCell: TracesDataListStatusCell,\n NextPageLoading: DataListNextPageLoading,\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataList-CYjnJkNE.js","names":["WorkflowIcon","_Fragment"],"sources":["../src/ds/components/DataList/data-list-skeleton.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list-cells.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list-cells.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list.tsx"],"sourcesContent":["import { DataListCell } from './data-list-cells';\nimport { DataListRoot } from './data-list-root';\nimport type { DataListFit, DataListVariant } from './data-list-root';\nimport { DataListTop } from './data-list-top';\nimport { DataListTopCell } from './data-list-top-cell';\nimport { dataListRowOuterStyles, splitColumns } from './shared';\nimport { cn } from '@/lib/utils';\n\nconst widths = ['75%', '50%', '65%', '90%', '60%', '80%'] as const;\nconst headerWidths = ['3rem', '5rem', '4rem', '3.5rem', '4.5rem', '3rem'] as const;\n\nexport type DataListSkeletonProps = {\n columns?: string;\n numberOfRows?: number;\n fit?: DataListFit;\n variant?: DataListVariant;\n};\n\nfunction SkeletonBar({ width, className }: { width: string; className?: string }) {\n return (\n <div\n className={cn('h-4 animate-pulse rounded-lg bg-(--data-list-background) text-transparent select-none', className)}\n style={{ width }}\n />\n );\n}\n\nexport type DataListSkeletonRowsProps = {\n columnCount: number;\n numberOfRows?: number;\n};\n\n/**\n * Placeholder rows only, for lists that keep their real root and header while\n * loading (e.g. virtualized lists that must keep the same scroll container).\n */\nexport function DataListSkeletonRows({ columnCount, numberOfRows = 3 }: DataListSkeletonRowsProps) {\n const getPseudoRandomWidth = (rowIdx: number, colIdx: number) => {\n const index = (rowIdx + colIdx + columnCount + numberOfRows) % widths.length;\n return widths[index] ?? widths[0];\n };\n\n return Array.from({ length: numberOfRows }).map((_, rowIdx) => (\n <div key={rowIdx} className={cn('data-list-cells grid grid-cols-subgrid gap-4 px-3', ...dataListRowOuterStyles)}>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListCell key={colIdx}>\n <SkeletonBar width={getPseudoRandomWidth(rowIdx, colIdx)} />\n </DataListCell>\n ))}\n </div>\n ));\n}\n\n/**\n * Loading placeholder mirroring the real list: same root, a sticky header\n * band with one placeholder label per column, then rows of placeholder cells.\n */\nexport function DataListSkeleton({\n columns = 'auto 1fr auto auto',\n numberOfRows = 3,\n fit,\n variant,\n}: DataListSkeletonProps) {\n const columnParts = splitColumns(columns);\n const columnCount = columnParts.length;\n const skeletonColumns = columnParts.map(col => (col === 'auto' ? 'minmax(6rem, auto)' : col)).join(' ');\n\n return (\n <DataListRoot columns={skeletonColumns} fit={fit} variant={variant}>\n <DataListTop>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListTopCell key={colIdx}>\n <SkeletonBar width={headerWidths[colIdx % headerWidths.length] ?? headerWidths[0]} className=\"h-3\" />\n </DataListTopCell>\n ))}\n </DataListTop>\n <DataListSkeletonRows columnCount={columnCount} numberOfRows={numberOfRows} />\n </DataListRoot>\n );\n}\n","import { DataListCell } from '../data-list-cells';\nimport { Txt } from '@/ds/components/Txt';\nimport { formatDate } from '@/utils/date-format';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\n// ---------------------------------------------------------------------------\n// DateCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListDateCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListDateCell({ timestamp }: ScoresDataListDateCellProps) {\n return <DataListCell className=\"text-muted-foreground\">{formatDate(timestamp, 'date') ?? '-'}</DataListCell>;\n}\n\n// ---------------------------------------------------------------------------\n// TimeCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListTimeCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListTimeCell({ timestamp }: ScoresDataListTimeCellProps) {\n return (\n <DataListCell className=\"text-body-sm text-muted-foreground\">{formatDate(timestamp, 'time') ?? '-'}</DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListInputCellProps {\n input?: unknown;\n}\n\nexport function ScoresDataListInputCell({ input }: ScoresDataListInputCellProps) {\n const display = input != null ? JSON.stringify(input) : '-';\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListEntityCellProps {\n entityId?: string | null;\n}\n\nexport function ScoresDataListEntityCell({ entityId }: ScoresDataListEntityCellProps) {\n const display = entityId || '-';\n return (\n <DataListCell>\n <Txt as=\"span\" variant=\"body-sm\" className=\"block max-w-full min-w-0 truncate\" title={display}>\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// ScoreCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListScoreCellProps {\n score?: unknown;\n}\n\nexport function ScoresDataListScoreCell({ score }: ScoresDataListScoreCellProps) {\n const display = score == null ? '-' : typeof score === 'object' ? JSON.stringify(score) : String(score);\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell } from '../data-list-top-cell';\nimport {\n ScoresDataListDateCell,\n ScoresDataListTimeCell,\n ScoresDataListInputCell,\n ScoresDataListEntityCell,\n ScoresDataListScoreCell,\n} from './scores-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as TracesDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as TracesDataList\nfunction ScoresDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const ScoresDataList = Object.assign(ScoresDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n NextPageLoading: DataListNextPageLoading,\n DateCell: ScoresDataListDateCell,\n TimeCell: ScoresDataListTimeCell,\n InputCell: ScoresDataListInputCell,\n EntityCell: ScoresDataListEntityCell,\n ScoreCell: ScoresDataListScoreCell,\n});\n","import { CornerDownRightIcon, DatabaseIcon, ListTreeIcon, RouteIcon, SplitIcon } from 'lucide-react';\nimport type { ComponentType, SVGProps } from 'react';\nimport { DataListCell, DataListTextCell } from '../data-list-cells';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\nimport { McpServerIcon } from '@/ds/icons/McpServerIcon';\nimport { MemoryIcon } from '@/ds/icons/MemoryIcon';\nimport { ProcessorIcon } from '@/ds/icons/ProcessorIcon';\nimport { ScorersIcon } from '@/ds/icons/ScorersIcon';\nimport { ToolsIcon } from '@/ds/icons/ToolsIcon';\nimport { WorkflowIcon } from '@/ds/icons/WorkflowIcon';\nimport { cn } from '@/lib/utils';\n\n// ---------------------------------------------------------------------------\n// NameCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListNameCellProps {\n name?: string | null;\n /** `null`/missing → root span (Trace). Set → nested span (Subtrace). Drives the leading level icon. */\n parentSpanId?: string | null;\n /** When true, the leading level icon is wrapped in a Trace/Subtrace tooltip. Off by default —\n * only meaningful in branches mode, where rows mix root traces and subtraces. */\n showLevelTooltip?: boolean;\n}\n\nexport function TracesDataListNameCell({ name, parentSpanId, showLevelTooltip }: TracesDataListNameCellProps) {\n const isRoot = parentSpanId == null;\n const Icon = isRoot ? ListTreeIcon : CornerDownRightIcon;\n const label = isRoot ? 'Trace' : 'Subtrace';\n const icon = (\n <span aria-label={label} className=\"inline-flex shrink-0\">\n <Icon className={cn('size-4 shrink-0', isRoot ? 'text-muted-foreground' : 'text-placeholder')} aria-hidden />\n </span>\n );\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2 text-body-sm text-muted-foreground\">\n {showLevelTooltip ? (\n <Tooltip>\n <TooltipTrigger asChild>{icon}</TooltipTrigger>\n <TooltipContent>{label}</TooltipContent>\n </Tooltip>\n ) : (\n icon\n )}\n <span className=\"min-w-0 truncate\">{name || '-'}</span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListInputCellProps {\n input?: string | null;\n}\n\nexport function TracesDataListInputCell({ input }: TracesDataListInputCellProps) {\n return <DataListTextCell font=\"mono\">{input || '-'}</DataListTextCell>;\n}\n\n// ---------------------------------------------------------------------------\n// OutputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListOutputCellProps {\n output?: string;\n /** Shown instead of `output`, in the error color, when `status` is `'error'`. */\n error?: string;\n status?: string | null;\n}\n\nexport function TracesDataListOutputCell({ output, error, status }: TracesDataListOutputCellProps) {\n const failed = status === 'error';\n const errorColor = failed ? 'text-destructive-foreground' : undefined;\n return (\n <DataListTextCell font=\"mono\" className={errorColor}>\n {(failed ? error : output) || '-'}\n </DataListTextCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// TypeCell\n// ---------------------------------------------------------------------------\n\ntype EntityTypeDisplay = { label: string; Icon: ComponentType<SVGProps<SVGSVGElement>> };\n\n// Keys are lowercase `EntityType` enum values (plus legacy `workflow`).\nconst ENTITY_TYPE_DISPLAY: Record<string, EntityTypeDisplay> = {\n agent: { label: 'Agent', Icon: AgentIcon },\n workflow: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_run: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_step: { label: 'Step', Icon: WorkflowIcon },\n tool: { label: 'Tool', Icon: ToolsIcon },\n scorer: { label: 'Scorer', Icon: ScorersIcon },\n classifier: { label: 'Classifier', Icon: SplitIcon },\n memory: { label: 'Memory', Icon: MemoryIcon },\n mcp_server: { label: 'MCP Server', Icon: McpServerIcon },\n input_processor: { label: 'Processor', Icon: ProcessorIcon },\n input_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n tool_result_processor: { label: 'Processor', Icon: ProcessorIcon },\n rag_ingestion: { label: 'RAG', Icon: DatabaseIcon },\n trajectory: { label: 'Trajectory', Icon: RouteIcon },\n};\n\nexport interface TracesDataListTypeCellProps {\n entityType?: string | null;\n}\n\nexport function TracesDataListTypeCell({ entityType }: TracesDataListTypeCellProps) {\n const display = entityType ? ENTITY_TYPE_DISPLAY[entityType.toLowerCase()] : undefined;\n\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2\">\n {display ? (\n <>\n <display.Icon className=\"size-3.5 shrink-0 text-placeholder\" aria-hidden />\n <Txt as=\"span\" variant=\"body-sm\" className=\"min-w-0 truncate\">\n {display.label}\n </Txt>\n </>\n ) : (\n '-'\n )}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// StatusCell\n// ---------------------------------------------------------------------------\n\nconst UNSET_STATUS_CONFIG: { label: string; variant: BadgeVariant } = { label: '-', variant: 'neutral' };\n\nconst STATUS_CONFIG: Record<string, { label: string; variant: BadgeVariant }> = {\n completed: { label: 'OK', variant: 'success' },\n ok: { label: 'OK', variant: 'success' },\n success: { label: 'OK', variant: 'success' },\n error: { label: 'ERR', variant: 'destructive' },\n running: { label: 'RUN', variant: 'neutral' },\n unset: UNSET_STATUS_CONFIG,\n};\n\nexport interface TracesDataListStatusCellProps {\n status?: string | null;\n}\n\nexport function TracesDataListStatusCell({ status }: TracesDataListStatusCellProps) {\n const key = (status ?? 'unset').toLowerCase();\n const config = STATUS_CONFIG[key] ?? UNSET_STATUS_CONFIG;\n\n return (\n <DataListCell>\n <Badge size=\"xs\" variant={config.variant}>\n {config.label}\n </Badge>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListCreatedCell, DataListIdCell } from '../data-list-cells';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListSpacer } from '../data-list-spacer';\nimport { DataListSubheader } from '../data-list-subheader';\nimport { DataListSubHeading } from '../data-list-subheading';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell, DataListTopCellWithTooltip } from '../data-list-top-cell';\nimport {\n TracesDataListNameCell,\n TracesDataListInputCell,\n TracesDataListOutputCell,\n TracesDataListTypeCell,\n TracesDataListStatusCell,\n} from './traces-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as ScoresDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as ScoresDataList\nfunction TracesDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const TracesDataList = Object.assign(TracesDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n IdCell: DataListIdCell,\n CreatedCell: DataListCreatedCell,\n NameCell: TracesDataListNameCell,\n InputCell: TracesDataListInputCell,\n OutputCell: TracesDataListOutputCell,\n TypeCell: TracesDataListTypeCell,\n StatusCell: TracesDataListStatusCell,\n NextPageLoading: DataListNextPageLoading,\n});\n"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ const require_icons_McpServerIcon = require("./icons/McpServerIcon.cjs.js");
|
|
|
10
10
|
const require_icons_ProcessorIcon = require("./icons/ProcessorIcon.cjs.js");
|
|
11
11
|
const require_icons_ScorersIcon = require("./icons/ScorersIcon.cjs.js");
|
|
12
12
|
const require_Badge = require("./Badge-DZ6r6bcw.cjs");
|
|
13
|
-
const require_data_list = require("./data-list-
|
|
13
|
+
const require_data_list = require("./data-list-jF9pJ7HH.cjs");
|
|
14
14
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
15
15
|
let lucide_react = require("lucide-react");
|
|
16
16
|
// src/ds/components/DataList/data-list-skeleton.tsx
|
|
@@ -336,4 +336,4 @@ Object.defineProperty(exports, "TracesDataList", {
|
|
|
336
336
|
}
|
|
337
337
|
});
|
|
338
338
|
|
|
339
|
-
//# sourceMappingURL=DataList-
|
|
339
|
+
//# sourceMappingURL=DataList-D7bShtPK.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataList-B8tTs50p.cjs","names":["cn","dataListRowOuterStyles","DataListCell","splitColumns","DataListRoot","DataListTop","DataListTopCell","DataListCell","formatDate","Txt","DataListRoot","DataListTop","DataListTopCell","DataListSortableTopCell","DataListRowButton","DataListNoMatch","DataListNextPageLoading","ListTreeIcon","CornerDownRightIcon","cn","DataListCell","Tooltip","TooltipTrigger","TooltipContent","DataListTextCell","AgentIcon","WorkflowIcon","ToolsIcon","ScorersIcon","SplitIcon","MemoryIcon","McpServerIcon","ProcessorIcon","DatabaseIcon","RouteIcon","_Fragment","Txt","Badge","DataListRoot","DataListTop","DataListTopCell","DataListSortableTopCell","DataListTopCellWithTooltip","DataListRowButton","DataListNoMatch","DataListSubheader","DataListSubHeading","DataListSpacer","DataListIdCell","DataListCreatedCell","DataListNextPageLoading"],"sources":["../src/ds/components/DataList/data-list-skeleton.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list-cells.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list-cells.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list.tsx"],"sourcesContent":["import { DataListCell } from './data-list-cells';\nimport { DataListRoot } from './data-list-root';\nimport type { DataListFit, DataListVariant } from './data-list-root';\nimport { DataListTop } from './data-list-top';\nimport { DataListTopCell } from './data-list-top-cell';\nimport { dataListRowOuterStyles, splitColumns } from './shared';\nimport { cn } from '@/lib/utils';\n\nconst widths = ['75%', '50%', '65%', '90%', '60%', '80%'] as const;\nconst headerWidths = ['3rem', '5rem', '4rem', '3.5rem', '4.5rem', '3rem'] as const;\n\nexport type DataListSkeletonProps = {\n columns?: string;\n numberOfRows?: number;\n fit?: DataListFit;\n variant?: DataListVariant;\n};\n\nfunction SkeletonBar({ width, className }: { width: string; className?: string }) {\n return (\n <div\n className={cn('h-4 animate-pulse rounded-lg bg-(--data-list-background) text-transparent select-none', className)}\n style={{ width }}\n />\n );\n}\n\nexport type DataListSkeletonRowsProps = {\n columnCount: number;\n numberOfRows?: number;\n};\n\n/**\n * Placeholder rows only, for lists that keep their real root and header while\n * loading (e.g. virtualized lists that must keep the same scroll container).\n */\nexport function DataListSkeletonRows({ columnCount, numberOfRows = 3 }: DataListSkeletonRowsProps) {\n const getPseudoRandomWidth = (rowIdx: number, colIdx: number) => {\n const index = (rowIdx + colIdx + columnCount + numberOfRows) % widths.length;\n return widths[index] ?? widths[0];\n };\n\n return Array.from({ length: numberOfRows }).map((_, rowIdx) => (\n <div key={rowIdx} className={cn('data-list-cells grid grid-cols-subgrid gap-4 px-3', ...dataListRowOuterStyles)}>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListCell key={colIdx}>\n <SkeletonBar width={getPseudoRandomWidth(rowIdx, colIdx)} />\n </DataListCell>\n ))}\n </div>\n ));\n}\n\n/**\n * Loading placeholder mirroring the real list: same root, a sticky header\n * band with one placeholder label per column, then rows of placeholder cells.\n */\nexport function DataListSkeleton({\n columns = 'auto 1fr auto auto',\n numberOfRows = 3,\n fit,\n variant,\n}: DataListSkeletonProps) {\n const columnParts = splitColumns(columns);\n const columnCount = columnParts.length;\n const skeletonColumns = columnParts.map(col => (col === 'auto' ? 'minmax(6rem, auto)' : col)).join(' ');\n\n return (\n <DataListRoot columns={skeletonColumns} fit={fit} variant={variant}>\n <DataListTop>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListTopCell key={colIdx}>\n <SkeletonBar width={headerWidths[colIdx % headerWidths.length] ?? headerWidths[0]} className=\"h-3\" />\n </DataListTopCell>\n ))}\n </DataListTop>\n <DataListSkeletonRows columnCount={columnCount} numberOfRows={numberOfRows} />\n </DataListRoot>\n );\n}\n","import { DataListCell } from '../data-list-cells';\nimport { Txt } from '@/ds/components/Txt';\nimport { formatDate } from '@/utils/date-format';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\n// ---------------------------------------------------------------------------\n// DateCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListDateCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListDateCell({ timestamp }: ScoresDataListDateCellProps) {\n return <DataListCell className=\"text-muted-foreground\">{formatDate(timestamp, 'date') ?? '-'}</DataListCell>;\n}\n\n// ---------------------------------------------------------------------------\n// TimeCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListTimeCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListTimeCell({ timestamp }: ScoresDataListTimeCellProps) {\n return (\n <DataListCell className=\"text-body-sm text-muted-foreground\">{formatDate(timestamp, 'time') ?? '-'}</DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListInputCellProps {\n input?: unknown;\n}\n\nexport function ScoresDataListInputCell({ input }: ScoresDataListInputCellProps) {\n const display = input != null ? JSON.stringify(input) : '-';\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListEntityCellProps {\n entityId?: string | null;\n}\n\nexport function ScoresDataListEntityCell({ entityId }: ScoresDataListEntityCellProps) {\n const display = entityId || '-';\n return (\n <DataListCell>\n <Txt as=\"span\" variant=\"body-sm\" className=\"block max-w-full min-w-0 truncate\" title={display}>\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// ScoreCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListScoreCellProps {\n score?: unknown;\n}\n\nexport function ScoresDataListScoreCell({ score }: ScoresDataListScoreCellProps) {\n const display = score == null ? '-' : typeof score === 'object' ? JSON.stringify(score) : String(score);\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell } from '../data-list-top-cell';\nimport {\n ScoresDataListDateCell,\n ScoresDataListTimeCell,\n ScoresDataListInputCell,\n ScoresDataListEntityCell,\n ScoresDataListScoreCell,\n} from './scores-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as TracesDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as TracesDataList\nfunction ScoresDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const ScoresDataList = Object.assign(ScoresDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n NextPageLoading: DataListNextPageLoading,\n DateCell: ScoresDataListDateCell,\n TimeCell: ScoresDataListTimeCell,\n InputCell: ScoresDataListInputCell,\n EntityCell: ScoresDataListEntityCell,\n ScoreCell: ScoresDataListScoreCell,\n});\n","import { CornerDownRightIcon, DatabaseIcon, ListTreeIcon, RouteIcon, SplitIcon } from 'lucide-react';\nimport type { ComponentType, SVGProps } from 'react';\nimport { DataListCell, DataListTextCell } from '../data-list-cells';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\nimport { McpServerIcon } from '@/ds/icons/McpServerIcon';\nimport { MemoryIcon } from '@/ds/icons/MemoryIcon';\nimport { ProcessorIcon } from '@/ds/icons/ProcessorIcon';\nimport { ScorersIcon } from '@/ds/icons/ScorersIcon';\nimport { ToolsIcon } from '@/ds/icons/ToolsIcon';\nimport { WorkflowIcon } from '@/ds/icons/WorkflowIcon';\nimport { cn } from '@/lib/utils';\n\n// ---------------------------------------------------------------------------\n// NameCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListNameCellProps {\n name?: string | null;\n /** `null`/missing → root span (Trace). Set → nested span (Subtrace). Drives the leading level icon. */\n parentSpanId?: string | null;\n /** When true, the leading level icon is wrapped in a Trace/Subtrace tooltip. Off by default —\n * only meaningful in branches mode, where rows mix root traces and subtraces. */\n showLevelTooltip?: boolean;\n}\n\nexport function TracesDataListNameCell({ name, parentSpanId, showLevelTooltip }: TracesDataListNameCellProps) {\n const isRoot = parentSpanId == null;\n const Icon = isRoot ? ListTreeIcon : CornerDownRightIcon;\n const label = isRoot ? 'Trace' : 'Subtrace';\n const icon = (\n <span aria-label={label} className=\"inline-flex shrink-0\">\n <Icon className={cn('size-4 shrink-0', isRoot ? 'text-muted-foreground' : 'text-placeholder')} aria-hidden />\n </span>\n );\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2 text-body-sm text-muted-foreground\">\n {showLevelTooltip ? (\n <Tooltip>\n <TooltipTrigger asChild>{icon}</TooltipTrigger>\n <TooltipContent>{label}</TooltipContent>\n </Tooltip>\n ) : (\n icon\n )}\n <span className=\"min-w-0 truncate\">{name || '-'}</span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListInputCellProps {\n input?: string | null;\n}\n\nexport function TracesDataListInputCell({ input }: TracesDataListInputCellProps) {\n return <DataListTextCell font=\"mono\">{input || '-'}</DataListTextCell>;\n}\n\n// ---------------------------------------------------------------------------\n// OutputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListOutputCellProps {\n output?: string;\n /** Shown instead of `output`, in the error color, when `status` is `'error'`. */\n error?: string;\n status?: string | null;\n}\n\nexport function TracesDataListOutputCell({ output, error, status }: TracesDataListOutputCellProps) {\n const failed = status === 'error';\n const errorColor = failed ? 'text-destructive-foreground' : undefined;\n return (\n <DataListTextCell font=\"mono\" className={errorColor}>\n {(failed ? error : output) || '-'}\n </DataListTextCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// TypeCell\n// ---------------------------------------------------------------------------\n\ntype EntityTypeDisplay = { label: string; Icon: ComponentType<SVGProps<SVGSVGElement>> };\n\n// Keys are lowercase `EntityType` enum values (plus legacy `workflow`).\nconst ENTITY_TYPE_DISPLAY: Record<string, EntityTypeDisplay> = {\n agent: { label: 'Agent', Icon: AgentIcon },\n workflow: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_run: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_step: { label: 'Step', Icon: WorkflowIcon },\n tool: { label: 'Tool', Icon: ToolsIcon },\n scorer: { label: 'Scorer', Icon: ScorersIcon },\n classifier: { label: 'Classifier', Icon: SplitIcon },\n memory: { label: 'Memory', Icon: MemoryIcon },\n mcp_server: { label: 'MCP Server', Icon: McpServerIcon },\n input_processor: { label: 'Processor', Icon: ProcessorIcon },\n input_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n tool_result_processor: { label: 'Processor', Icon: ProcessorIcon },\n rag_ingestion: { label: 'RAG', Icon: DatabaseIcon },\n trajectory: { label: 'Trajectory', Icon: RouteIcon },\n};\n\nexport interface TracesDataListTypeCellProps {\n entityType?: string | null;\n}\n\nexport function TracesDataListTypeCell({ entityType }: TracesDataListTypeCellProps) {\n const display = entityType ? ENTITY_TYPE_DISPLAY[entityType.toLowerCase()] : undefined;\n\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2\">\n {display ? (\n <>\n <display.Icon className=\"size-3.5 shrink-0 text-placeholder\" aria-hidden />\n <Txt as=\"span\" variant=\"body-sm\" className=\"min-w-0 truncate\">\n {display.label}\n </Txt>\n </>\n ) : (\n '-'\n )}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// StatusCell\n// ---------------------------------------------------------------------------\n\nconst UNSET_STATUS_CONFIG: { label: string; variant: BadgeVariant } = { label: '-', variant: 'neutral' };\n\nconst STATUS_CONFIG: Record<string, { label: string; variant: BadgeVariant }> = {\n completed: { label: 'OK', variant: 'success' },\n ok: { label: 'OK', variant: 'success' },\n success: { label: 'OK', variant: 'success' },\n error: { label: 'ERR', variant: 'destructive' },\n running: { label: 'RUN', variant: 'neutral' },\n unset: UNSET_STATUS_CONFIG,\n};\n\nexport interface TracesDataListStatusCellProps {\n status?: string | null;\n}\n\nexport function TracesDataListStatusCell({ status }: TracesDataListStatusCellProps) {\n const key = (status ?? 'unset').toLowerCase();\n const config = STATUS_CONFIG[key] ?? UNSET_STATUS_CONFIG;\n\n return (\n <DataListCell>\n <Badge size=\"xs\" variant={config.variant}>\n {config.label}\n </Badge>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListCreatedCell, DataListIdCell } from '../data-list-cells';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListSpacer } from '../data-list-spacer';\nimport { DataListSubheader } from '../data-list-subheader';\nimport { DataListSubHeading } from '../data-list-subheading';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell, DataListTopCellWithTooltip } from '../data-list-top-cell';\nimport {\n TracesDataListNameCell,\n TracesDataListInputCell,\n TracesDataListOutputCell,\n TracesDataListTypeCell,\n TracesDataListStatusCell,\n} from './traces-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as ScoresDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as ScoresDataList\nfunction TracesDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const TracesDataList = Object.assign(TracesDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n IdCell: DataListIdCell,\n CreatedCell: DataListCreatedCell,\n NameCell: TracesDataListNameCell,\n InputCell: TracesDataListInputCell,\n OutputCell: TracesDataListOutputCell,\n TypeCell: TracesDataListTypeCell,\n StatusCell: TracesDataListStatusCell,\n NextPageLoading: DataListNextPageLoading,\n});\n"],"mappings":";;;;;;;;;;;;;;;;AAQA,IAAM,SAAS;CAAC;CAAO;CAAO;CAAO;CAAO;CAAO;AAAK;AACxD,IAAM,eAAe;CAAC;CAAQ;CAAQ;CAAQ;CAAU;CAAU;AAAM;AASxE,SAAS,YAAY,EAAE,OAAO,aAAoD;CAChF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,WAAWA,cAAAA,GAAG,yFAAyF,SAAS;EAChH,OAAO,EAAE,MAAM;CAChB,CAAA;AAEL;;;;;AAWA,SAAgB,qBAAqB,EAAE,aAAa,eAAe,KAAgC;CACjG,MAAM,wBAAwB,QAAgB,WAAmB;EAE/D,OAAO,QADQ,SAAS,SAAS,cAAc,gBAAgB,OAAO,WAC9C,OAAO;CACjC;CAEA,OAAO,MAAM,KAAK,EAAE,QAAQ,aAAa,CAAC,CAAC,CAAC,KAAK,GAAG,WAClD,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EAAkB,WAAWA,cAAAA,GAAG,qDAAqD,GAAGC,kBAAAA,sBAAsB;EAC3G,UAAA,MAAM,KAAK,EAAE,QAAQ,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,WAC3C,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD,EAAa,OAAO,qBAAqB,QAAQ,MAAM,EAAI,CAAA,EAC/C,GAFK,MAEL,CACf;CACE,GANK,MAML,CACN;AACH;;;;;AAMA,SAAgB,iBAAiB,EAC/B,UAAU,sBACV,eAAe,GACf,KACA,WACwB;CACxB,MAAM,cAAcC,kBAAAA,aAAa,OAAO;CACxC,MAAM,cAAc,YAAY;CAChC,MAAM,kBAAkB,YAAY,KAAI,QAAQ,QAAQ,SAAS,uBAAuB,GAAI,CAAC,CAAC,KAAK,GAAG;CAEtG,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,kBAAAA,cAAD;EAAc,SAAS;EAAsB;EAAc;EAA3D,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,aAAD,EAAA,UACG,MAAM,KAAK,EAAE,QAAQ,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,WAC3C,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,iBAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD;GAAa,OAAO,aAAa,SAAS,aAAa,WAAW,aAAa;GAAI,WAAU;EAAO,CAAA,EACrF,GAFK,MAEL,CAClB,EACU,CAAA,GACb,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAD;GAAmC;GAA2B;EAAe,CAAA,CACjE;;AAElB;;AC/DA,SAAgB,uBAAuB,EAAE,aAA0C;CACjF,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,cAAD;EAAc,WAAU;EAAyB,UAAAC,0BAAAA,WAAW,WAAW,MAAM,KAAK;CAAkB,CAAA;AAC7G;AAUA,SAAgB,uBAAuB,EAAE,aAA0C;CACjF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACD,kBAAAA,cAAD;EAAc,WAAU;EAAsC,UAAAC,0BAAAA,WAAW,WAAW,MAAM,KAAK;CAAkB,CAAA;AAErH;AAUA,SAAgB,wBAAwB,EAAE,SAAuC;CAC/E,MAAM,UAAU,SAAS,OAAO,KAAK,UAAU,KAAK,IAAI;CACxD,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACD,kBAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACE,YAAAA,KAAD;EACE,IAAG;EACH,SAAQ;EACR,MAAK;EACL,MAAK;EACL,WAAU;EACV,OAAO;EAEN,UAAA;CACE,CAAA,EACO,CAAA;AAElB;AAUA,SAAgB,yBAAyB,EAAE,YAA2C;CACpF,MAAM,UAAU,YAAY;CAC5B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACF,kBAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACE,YAAAA,KAAD;EAAK,IAAG;EAAO,SAAQ;EAAU,WAAU;EAAoC,OAAO;EACnF,UAAA;CACE,CAAA,EACO,CAAA;AAElB;AAUA,SAAgB,wBAAwB,EAAE,SAAuC;CAC/E,MAAM,UAAU,SAAS,OAAO,MAAM,OAAO,UAAU,WAAW,KAAK,UAAU,KAAK,IAAI,OAAO,KAAK;CACtG,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACF,kBAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACE,YAAAA,KAAD;EACE,IAAG;EACH,SAAQ;EACR,MAAK;EACL,MAAK;EACL,WAAU;EACV,OAAO;EAEN,UAAA;CACE,CAAA,EACO,CAAA;AAElB;;ACrFA,SAAS,mBAAmB,OAA4C;CACtE,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,cAAD,EAAc,GAAI,MAAQ,CAAA;AACnC;AAEA,IAAa,iBAAiB,OAAO,OAAO,oBAAoB;CAC9D,KAAKC,kBAAAA;CACL,SAASC,kBAAAA;CACT,iBAAiBC,kBAAAA;CACjB,WAAWC,kBAAAA;CACX,SAASC,kBAAAA;CACT,iBAAiBC,kBAAAA;CACjB,UAAU;CACV,UAAU;CACV,WAAW;CACX,YAAY;CACZ,WAAW;AACb,CAAC;;ACLD,SAAgB,uBAAuB,EAAE,MAAM,cAAc,oBAAiD;CAC5G,MAAM,SAAS,gBAAgB;CAC/B,MAAM,OAAO,SAASC,aAAAA,eAAeC,aAAAA;CACrC,MAAM,QAAQ,SAAS,UAAU;CACjC,MAAM,OACJ,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EAAM,cAAY;EAAO,WAAU;EACjC,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;GAAM,WAAWC,cAAAA,GAAG,mBAAmB,SAAS,0BAA0B,kBAAkB;GAAG,eAAA;EAAa,CAAA;CACxG,CAAA;CAER,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,kBAAAA,cAAD;EAAc,WAAU;EAAxB,UAAA,CACG,mBACC,iBAAA,GAAA,kBAAA,KAAA,CAACC,gBAAAA,SAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,gBAAD;GAAgB,SAAA;GAAS,UAAA;EAAqB,CAAA,GAC9C,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,gBAAD,EAAA,UAAiB,MAAsB,CAAA,CAChC,EAAA,CAAA,IAET,MAEF,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,WAAU;GAAoB,UAAA,QAAQ;EAAU,CAAA,CAC1C;;AAElB;AAUA,SAAgB,wBAAwB,EAAE,SAAuC;CAC/E,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,kBAAD;EAAkB,MAAK;EAAQ,UAAA,SAAS;CAAsB,CAAA;AACvE;AAaA,SAAgB,yBAAyB,EAAE,QAAQ,OAAO,UAAyC;CACjG,MAAM,SAAS,WAAW;CAE1B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,kBAAAA,kBAAD;EAAkB,MAAK;EAAO,WAFb,SAAS,gCAAgC,KAAA;EAGtD,WAAA,SAAS,QAAQ,WAAW;CACd,CAAA;AAEtB;AASA,IAAM,sBAAyD;CAC7D,OAAO;EAAE,OAAO;EAAS,MAAMC,wBAAAA;CAAU;CACzC,UAAU;EAAE,OAAO;EAAY,MAAMC,2BAAAA;CAAa;CAClD,cAAc;EAAE,OAAO;EAAY,MAAMA,2BAAAA;CAAa;CACtD,eAAe;EAAE,OAAO;EAAQ,MAAMA,2BAAAA;CAAa;CACnD,MAAM;EAAE,OAAO;EAAQ,MAAMC,wBAAAA;CAAU;CACvC,QAAQ;EAAE,OAAO;EAAU,MAAMC,0BAAAA;CAAY;CAC7C,YAAY;EAAE,OAAO;EAAc,MAAMC,aAAAA;CAAU;CACnD,QAAQ;EAAE,OAAO;EAAU,MAAMC,yBAAAA;CAAW;CAC5C,YAAY;EAAE,OAAO;EAAc,MAAMC,4BAAAA;CAAc;CACvD,iBAAiB;EAAE,OAAO;EAAa,MAAMC,4BAAAA;CAAc;CAC3D,sBAAsB;EAAE,OAAO;EAAa,MAAMA,4BAAAA;CAAc;CAChE,kBAAkB;EAAE,OAAO;EAAa,MAAMA,4BAAAA;CAAc;CAC5D,uBAAuB;EAAE,OAAO;EAAa,MAAMA,4BAAAA;CAAc;CACjE,uBAAuB;EAAE,OAAO;EAAa,MAAMA,4BAAAA;CAAc;CACjE,eAAe;EAAE,OAAO;EAAO,MAAMC,aAAAA;CAAa;CAClD,YAAY;EAAE,OAAO;EAAc,MAAMC,aAAAA;CAAU;AACrD;AAMA,SAAgB,uBAAuB,EAAE,cAA2C;CAClF,MAAM,UAAU,aAAa,oBAAoB,WAAW,YAAY,KAAK,KAAA;CAE7E,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACd,kBAAAA,cAAD;EAAc,WAAU;EACrB,UAAA,UACC,iBAAA,GAAA,kBAAA,KAAA,CAAAe,kBAAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAQ,MAAT;GAAc,WAAU;GAAqC,eAAA;EAAa,CAAA,GAC1E,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;GAAK,IAAG;GAAO,SAAQ;GAAU,WAAU;GACxC,UAAA,QAAQ;EACN,CAAA,CACL,EAAA,CAAA,IAEF;CAEU,CAAA;AAElB;AAMA,IAAM,sBAAgE;CAAE,OAAO;CAAK,SAAS;AAAU;AAEvG,IAAM,gBAA0E;CAC9E,WAAW;EAAE,OAAO;EAAM,SAAS;CAAU;CAC7C,IAAI;EAAE,OAAO;EAAM,SAAS;CAAU;CACtC,SAAS;EAAE,OAAO;EAAM,SAAS;CAAU;CAC3C,OAAO;EAAE,OAAO;EAAO,SAAS;CAAc;CAC9C,SAAS;EAAE,OAAO;EAAO,SAAS;CAAU;CAC5C,OAAO;AACT;AAMA,SAAgB,yBAAyB,EAAE,UAAyC;CAElF,MAAM,SAAS,eADF,UAAU,QAAA,CAAS,YACH,MAAQ;CAErC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAChB,kBAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACiB,cAAAA,OAAD;EAAO,MAAK;EAAK,SAAS,OAAO;EAC9B,UAAA,OAAO;CACH,CAAA,EACK,CAAA;AAElB;;AC/IA,SAAS,mBAAmB,OAA4C;CACtE,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,cAAD,EAAc,GAAI,MAAQ,CAAA;AACnC;AAEA,IAAa,iBAAiB,OAAO,OAAO,oBAAoB;CAC9D,KAAKC,kBAAAA;CACL,SAASC,kBAAAA;CACT,iBAAiBC,kBAAAA;CACjB,oBAAoBC,kBAAAA;CACpB,WAAWC,kBAAAA;CACX,SAASC,kBAAAA;CACT,WAAWC,kBAAAA;CACX,YAAYC,kBAAAA;CACZ,QAAQC,kBAAAA;CACR,QAAQC,kBAAAA;CACR,aAAaC,kBAAAA;CACb,UAAU;CACV,WAAW;CACX,YAAY;CACZ,UAAU;CACV,YAAY;CACZ,iBAAiBC,kBAAAA;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"DataList-D7bShtPK.cjs","names":["cn","dataListRowOuterStyles","DataListCell","splitColumns","DataListRoot","DataListTop","DataListTopCell","DataListCell","formatDate","Txt","DataListRoot","DataListTop","DataListTopCell","DataListSortableTopCell","DataListRowButton","DataListNoMatch","DataListNextPageLoading","ListTreeIcon","CornerDownRightIcon","cn","DataListCell","Tooltip","TooltipTrigger","TooltipContent","DataListTextCell","AgentIcon","WorkflowIcon","ToolsIcon","ScorersIcon","SplitIcon","MemoryIcon","McpServerIcon","ProcessorIcon","DatabaseIcon","RouteIcon","_Fragment","Txt","Badge","DataListRoot","DataListTop","DataListTopCell","DataListSortableTopCell","DataListTopCellWithTooltip","DataListRowButton","DataListNoMatch","DataListSubheader","DataListSubHeading","DataListSpacer","DataListIdCell","DataListCreatedCell","DataListNextPageLoading"],"sources":["../src/ds/components/DataList/data-list-skeleton.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list-cells.tsx","../src/ds/components/DataList/ScoresDataList/scores-data-list.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list-cells.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list.tsx"],"sourcesContent":["import { DataListCell } from './data-list-cells';\nimport { DataListRoot } from './data-list-root';\nimport type { DataListFit, DataListVariant } from './data-list-root';\nimport { DataListTop } from './data-list-top';\nimport { DataListTopCell } from './data-list-top-cell';\nimport { dataListRowOuterStyles, splitColumns } from './shared';\nimport { cn } from '@/lib/utils';\n\nconst widths = ['75%', '50%', '65%', '90%', '60%', '80%'] as const;\nconst headerWidths = ['3rem', '5rem', '4rem', '3.5rem', '4.5rem', '3rem'] as const;\n\nexport type DataListSkeletonProps = {\n columns?: string;\n numberOfRows?: number;\n fit?: DataListFit;\n variant?: DataListVariant;\n};\n\nfunction SkeletonBar({ width, className }: { width: string; className?: string }) {\n return (\n <div\n className={cn('h-4 animate-pulse rounded-lg bg-(--data-list-background) text-transparent select-none', className)}\n style={{ width }}\n />\n );\n}\n\nexport type DataListSkeletonRowsProps = {\n columnCount: number;\n numberOfRows?: number;\n};\n\n/**\n * Placeholder rows only, for lists that keep their real root and header while\n * loading (e.g. virtualized lists that must keep the same scroll container).\n */\nexport function DataListSkeletonRows({ columnCount, numberOfRows = 3 }: DataListSkeletonRowsProps) {\n const getPseudoRandomWidth = (rowIdx: number, colIdx: number) => {\n const index = (rowIdx + colIdx + columnCount + numberOfRows) % widths.length;\n return widths[index] ?? widths[0];\n };\n\n return Array.from({ length: numberOfRows }).map((_, rowIdx) => (\n <div key={rowIdx} className={cn('data-list-cells grid grid-cols-subgrid gap-4 px-3', ...dataListRowOuterStyles)}>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListCell key={colIdx}>\n <SkeletonBar width={getPseudoRandomWidth(rowIdx, colIdx)} />\n </DataListCell>\n ))}\n </div>\n ));\n}\n\n/**\n * Loading placeholder mirroring the real list: same root, a sticky header\n * band with one placeholder label per column, then rows of placeholder cells.\n */\nexport function DataListSkeleton({\n columns = 'auto 1fr auto auto',\n numberOfRows = 3,\n fit,\n variant,\n}: DataListSkeletonProps) {\n const columnParts = splitColumns(columns);\n const columnCount = columnParts.length;\n const skeletonColumns = columnParts.map(col => (col === 'auto' ? 'minmax(6rem, auto)' : col)).join(' ');\n\n return (\n <DataListRoot columns={skeletonColumns} fit={fit} variant={variant}>\n <DataListTop>\n {Array.from({ length: columnCount }).map((_, colIdx) => (\n <DataListTopCell key={colIdx}>\n <SkeletonBar width={headerWidths[colIdx % headerWidths.length] ?? headerWidths[0]} className=\"h-3\" />\n </DataListTopCell>\n ))}\n </DataListTop>\n <DataListSkeletonRows columnCount={columnCount} numberOfRows={numberOfRows} />\n </DataListRoot>\n );\n}\n","import { DataListCell } from '../data-list-cells';\nimport { Txt } from '@/ds/components/Txt';\nimport { formatDate } from '@/utils/date-format';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\n// ---------------------------------------------------------------------------\n// DateCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListDateCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListDateCell({ timestamp }: ScoresDataListDateCellProps) {\n return <DataListCell className=\"text-muted-foreground\">{formatDate(timestamp, 'date') ?? '-'}</DataListCell>;\n}\n\n// ---------------------------------------------------------------------------\n// TimeCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListTimeCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListTimeCell({ timestamp }: ScoresDataListTimeCellProps) {\n return (\n <DataListCell className=\"text-body-sm text-muted-foreground\">{formatDate(timestamp, 'time') ?? '-'}</DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListInputCellProps {\n input?: unknown;\n}\n\nexport function ScoresDataListInputCell({ input }: ScoresDataListInputCellProps) {\n const display = input != null ? JSON.stringify(input) : '-';\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListEntityCellProps {\n entityId?: string | null;\n}\n\nexport function ScoresDataListEntityCell({ entityId }: ScoresDataListEntityCellProps) {\n const display = entityId || '-';\n return (\n <DataListCell>\n <Txt as=\"span\" variant=\"body-sm\" className=\"block max-w-full min-w-0 truncate\" title={display}>\n {display}\n </Txt>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// ScoreCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListScoreCellProps {\n score?: unknown;\n}\n\nexport function ScoresDataListScoreCell({ score }: ScoresDataListScoreCellProps) {\n const display = score == null ? '-' : typeof score === 'object' ? JSON.stringify(score) : String(score);\n return (\n <DataListCell>\n <Txt\n as=\"span\"\n variant=\"body-sm\"\n tone=\"muted\"\n font=\"mono\"\n className=\"block max-w-full min-w-0 truncate\"\n title={display}\n >\n {display}\n </Txt>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell } from '../data-list-top-cell';\nimport {\n ScoresDataListDateCell,\n ScoresDataListTimeCell,\n ScoresDataListInputCell,\n ScoresDataListEntityCell,\n ScoresDataListScoreCell,\n} from './scores-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as TracesDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as TracesDataList\nfunction ScoresDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const ScoresDataList = Object.assign(ScoresDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n NextPageLoading: DataListNextPageLoading,\n DateCell: ScoresDataListDateCell,\n TimeCell: ScoresDataListTimeCell,\n InputCell: ScoresDataListInputCell,\n EntityCell: ScoresDataListEntityCell,\n ScoreCell: ScoresDataListScoreCell,\n});\n","import { CornerDownRightIcon, DatabaseIcon, ListTreeIcon, RouteIcon, SplitIcon } from 'lucide-react';\nimport type { ComponentType, SVGProps } from 'react';\nimport { DataListCell, DataListTextCell } from '../data-list-cells';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\nimport { McpServerIcon } from '@/ds/icons/McpServerIcon';\nimport { MemoryIcon } from '@/ds/icons/MemoryIcon';\nimport { ProcessorIcon } from '@/ds/icons/ProcessorIcon';\nimport { ScorersIcon } from '@/ds/icons/ScorersIcon';\nimport { ToolsIcon } from '@/ds/icons/ToolsIcon';\nimport { WorkflowIcon } from '@/ds/icons/WorkflowIcon';\nimport { cn } from '@/lib/utils';\n\n// ---------------------------------------------------------------------------\n// NameCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListNameCellProps {\n name?: string | null;\n /** `null`/missing → root span (Trace). Set → nested span (Subtrace). Drives the leading level icon. */\n parentSpanId?: string | null;\n /** When true, the leading level icon is wrapped in a Trace/Subtrace tooltip. Off by default —\n * only meaningful in branches mode, where rows mix root traces and subtraces. */\n showLevelTooltip?: boolean;\n}\n\nexport function TracesDataListNameCell({ name, parentSpanId, showLevelTooltip }: TracesDataListNameCellProps) {\n const isRoot = parentSpanId == null;\n const Icon = isRoot ? ListTreeIcon : CornerDownRightIcon;\n const label = isRoot ? 'Trace' : 'Subtrace';\n const icon = (\n <span aria-label={label} className=\"inline-flex shrink-0\">\n <Icon className={cn('size-4 shrink-0', isRoot ? 'text-muted-foreground' : 'text-placeholder')} aria-hidden />\n </span>\n );\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2 text-body-sm text-muted-foreground\">\n {showLevelTooltip ? (\n <Tooltip>\n <TooltipTrigger asChild>{icon}</TooltipTrigger>\n <TooltipContent>{label}</TooltipContent>\n </Tooltip>\n ) : (\n icon\n )}\n <span className=\"min-w-0 truncate\">{name || '-'}</span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListInputCellProps {\n input?: string | null;\n}\n\nexport function TracesDataListInputCell({ input }: TracesDataListInputCellProps) {\n return <DataListTextCell font=\"mono\">{input || '-'}</DataListTextCell>;\n}\n\n// ---------------------------------------------------------------------------\n// OutputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListOutputCellProps {\n output?: string;\n /** Shown instead of `output`, in the error color, when `status` is `'error'`. */\n error?: string;\n status?: string | null;\n}\n\nexport function TracesDataListOutputCell({ output, error, status }: TracesDataListOutputCellProps) {\n const failed = status === 'error';\n const errorColor = failed ? 'text-destructive-foreground' : undefined;\n return (\n <DataListTextCell font=\"mono\" className={errorColor}>\n {(failed ? error : output) || '-'}\n </DataListTextCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// TypeCell\n// ---------------------------------------------------------------------------\n\ntype EntityTypeDisplay = { label: string; Icon: ComponentType<SVGProps<SVGSVGElement>> };\n\n// Keys are lowercase `EntityType` enum values (plus legacy `workflow`).\nconst ENTITY_TYPE_DISPLAY: Record<string, EntityTypeDisplay> = {\n agent: { label: 'Agent', Icon: AgentIcon },\n workflow: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_run: { label: 'Workflow', Icon: WorkflowIcon },\n workflow_step: { label: 'Step', Icon: WorkflowIcon },\n tool: { label: 'Tool', Icon: ToolsIcon },\n scorer: { label: 'Scorer', Icon: ScorersIcon },\n classifier: { label: 'Classifier', Icon: SplitIcon },\n memory: { label: 'Memory', Icon: MemoryIcon },\n mcp_server: { label: 'MCP Server', Icon: McpServerIcon },\n input_processor: { label: 'Processor', Icon: ProcessorIcon },\n input_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_processor: { label: 'Processor', Icon: ProcessorIcon },\n output_step_processor: { label: 'Processor', Icon: ProcessorIcon },\n tool_result_processor: { label: 'Processor', Icon: ProcessorIcon },\n rag_ingestion: { label: 'RAG', Icon: DatabaseIcon },\n trajectory: { label: 'Trajectory', Icon: RouteIcon },\n};\n\nexport interface TracesDataListTypeCellProps {\n entityType?: string | null;\n}\n\nexport function TracesDataListTypeCell({ entityType }: TracesDataListTypeCellProps) {\n const display = entityType ? ENTITY_TYPE_DISPLAY[entityType.toLowerCase()] : undefined;\n\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2\">\n {display ? (\n <>\n <display.Icon className=\"size-3.5 shrink-0 text-placeholder\" aria-hidden />\n <Txt as=\"span\" variant=\"body-sm\" className=\"min-w-0 truncate\">\n {display.label}\n </Txt>\n </>\n ) : (\n '-'\n )}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// StatusCell\n// ---------------------------------------------------------------------------\n\nconst UNSET_STATUS_CONFIG: { label: string; variant: BadgeVariant } = { label: '-', variant: 'neutral' };\n\nconst STATUS_CONFIG: Record<string, { label: string; variant: BadgeVariant }> = {\n completed: { label: 'OK', variant: 'success' },\n ok: { label: 'OK', variant: 'success' },\n success: { label: 'OK', variant: 'success' },\n error: { label: 'ERR', variant: 'destructive' },\n running: { label: 'RUN', variant: 'neutral' },\n unset: UNSET_STATUS_CONFIG,\n};\n\nexport interface TracesDataListStatusCellProps {\n status?: string | null;\n}\n\nexport function TracesDataListStatusCell({ status }: TracesDataListStatusCellProps) {\n const key = (status ?? 'unset').toLowerCase();\n const config = STATUS_CONFIG[key] ?? UNSET_STATUS_CONFIG;\n\n return (\n <DataListCell>\n <Badge size=\"xs\" variant={config.variant}>\n {config.label}\n </Badge>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListCreatedCell, DataListIdCell } from '../data-list-cells';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSortableTopCell } from '../data-list-sortable-top-cell';\nimport { DataListSpacer } from '../data-list-spacer';\nimport { DataListSubheader } from '../data-list-subheader';\nimport { DataListSubHeading } from '../data-list-subheading';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell, DataListTopCellWithTooltip } from '../data-list-top-cell';\nimport {\n TracesDataListNameCell,\n TracesDataListInputCell,\n TracesDataListOutputCell,\n TracesDataListTypeCell,\n TracesDataListStatusCell,\n} from './traces-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as ScoresDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as ScoresDataList\nfunction TracesDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const TracesDataList = Object.assign(TracesDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n IdCell: DataListIdCell,\n CreatedCell: DataListCreatedCell,\n NameCell: TracesDataListNameCell,\n InputCell: TracesDataListInputCell,\n OutputCell: TracesDataListOutputCell,\n TypeCell: TracesDataListTypeCell,\n StatusCell: TracesDataListStatusCell,\n NextPageLoading: DataListNextPageLoading,\n});\n"],"mappings":";;;;;;;;;;;;;;;;AAQA,IAAM,SAAS;CAAC;CAAO;CAAO;CAAO;CAAO;CAAO;AAAK;AACxD,IAAM,eAAe;CAAC;CAAQ;CAAQ;CAAQ;CAAU;CAAU;AAAM;AASxE,SAAS,YAAY,EAAE,OAAO,aAAoD;CAChF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,WAAWA,cAAAA,GAAG,yFAAyF,SAAS;EAChH,OAAO,EAAE,MAAM;CAChB,CAAA;AAEL;;;;;AAWA,SAAgB,qBAAqB,EAAE,aAAa,eAAe,KAAgC;CACjG,MAAM,wBAAwB,QAAgB,WAAmB;EAE/D,OAAO,QADQ,SAAS,SAAS,cAAc,gBAAgB,OAAO,WAC9C,OAAO;CACjC;CAEA,OAAO,MAAM,KAAK,EAAE,QAAQ,aAAa,CAAC,CAAC,CAAC,KAAK,GAAG,WAClD,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EAAkB,WAAWA,cAAAA,GAAG,qDAAqD,GAAGC,kBAAAA,sBAAsB;EAC3G,UAAA,MAAM,KAAK,EAAE,QAAQ,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,WAC3C,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD,EAAa,OAAO,qBAAqB,QAAQ,MAAM,EAAI,CAAA,EAC/C,GAFK,MAEL,CACf;CACE,GANK,MAML,CACN;AACH;;;;;AAMA,SAAgB,iBAAiB,EAC/B,UAAU,sBACV,eAAe,GACf,KACA,WACwB;CACxB,MAAM,cAAcC,kBAAAA,aAAa,OAAO;CACxC,MAAM,cAAc,YAAY;CAChC,MAAM,kBAAkB,YAAY,KAAI,QAAQ,QAAQ,SAAS,uBAAuB,GAAI,CAAC,CAAC,KAAK,GAAG;CAEtG,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,kBAAAA,cAAD;EAAc,SAAS;EAAsB;EAAc;EAA3D,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,aAAD,EAAA,UACG,MAAM,KAAK,EAAE,QAAQ,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,WAC3C,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,iBAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD;GAAa,OAAO,aAAa,SAAS,aAAa,WAAW,aAAa;GAAI,WAAU;EAAO,CAAA,EACrF,GAFK,MAEL,CAClB,EACU,CAAA,GACb,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAD;GAAmC;GAA2B;EAAe,CAAA,CACjE;;AAElB;;AC/DA,SAAgB,uBAAuB,EAAE,aAA0C;CACjF,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,cAAD;EAAc,WAAU;EAAyB,UAAAC,0BAAAA,WAAW,WAAW,MAAM,KAAK;CAAkB,CAAA;AAC7G;AAUA,SAAgB,uBAAuB,EAAE,aAA0C;CACjF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACD,kBAAAA,cAAD;EAAc,WAAU;EAAsC,UAAAC,0BAAAA,WAAW,WAAW,MAAM,KAAK;CAAkB,CAAA;AAErH;AAUA,SAAgB,wBAAwB,EAAE,SAAuC;CAC/E,MAAM,UAAU,SAAS,OAAO,KAAK,UAAU,KAAK,IAAI;CACxD,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACD,kBAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACE,YAAAA,KAAD;EACE,IAAG;EACH,SAAQ;EACR,MAAK;EACL,MAAK;EACL,WAAU;EACV,OAAO;EAEN,UAAA;CACE,CAAA,EACO,CAAA;AAElB;AAUA,SAAgB,yBAAyB,EAAE,YAA2C;CACpF,MAAM,UAAU,YAAY;CAC5B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACF,kBAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACE,YAAAA,KAAD;EAAK,IAAG;EAAO,SAAQ;EAAU,WAAU;EAAoC,OAAO;EACnF,UAAA;CACE,CAAA,EACO,CAAA;AAElB;AAUA,SAAgB,wBAAwB,EAAE,SAAuC;CAC/E,MAAM,UAAU,SAAS,OAAO,MAAM,OAAO,UAAU,WAAW,KAAK,UAAU,KAAK,IAAI,OAAO,KAAK;CACtG,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACF,kBAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACE,YAAAA,KAAD;EACE,IAAG;EACH,SAAQ;EACR,MAAK;EACL,MAAK;EACL,WAAU;EACV,OAAO;EAEN,UAAA;CACE,CAAA,EACO,CAAA;AAElB;;ACrFA,SAAS,mBAAmB,OAA4C;CACtE,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,cAAD,EAAc,GAAI,MAAQ,CAAA;AACnC;AAEA,IAAa,iBAAiB,OAAO,OAAO,oBAAoB;CAC9D,KAAKC,kBAAAA;CACL,SAASC,kBAAAA;CACT,iBAAiBC,kBAAAA;CACjB,WAAWC,kBAAAA;CACX,SAASC,kBAAAA;CACT,iBAAiBC,kBAAAA;CACjB,UAAU;CACV,UAAU;CACV,WAAW;CACX,YAAY;CACZ,WAAW;AACb,CAAC;;ACLD,SAAgB,uBAAuB,EAAE,MAAM,cAAc,oBAAiD;CAC5G,MAAM,SAAS,gBAAgB;CAC/B,MAAM,OAAO,SAASC,aAAAA,eAAeC,aAAAA;CACrC,MAAM,QAAQ,SAAS,UAAU;CACjC,MAAM,OACJ,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EAAM,cAAY;EAAO,WAAU;EACjC,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;GAAM,WAAWC,cAAAA,GAAG,mBAAmB,SAAS,0BAA0B,kBAAkB;GAAG,eAAA;EAAa,CAAA;CACxG,CAAA;CAER,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,kBAAAA,cAAD;EAAc,WAAU;EAAxB,UAAA,CACG,mBACC,iBAAA,GAAA,kBAAA,KAAA,CAACC,gBAAAA,SAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,gBAAD;GAAgB,SAAA;GAAS,UAAA;EAAqB,CAAA,GAC9C,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,gBAAD,EAAA,UAAiB,MAAsB,CAAA,CAChC,EAAA,CAAA,IAET,MAEF,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,WAAU;GAAoB,UAAA,QAAQ;EAAU,CAAA,CAC1C;;AAElB;AAUA,SAAgB,wBAAwB,EAAE,SAAuC;CAC/E,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,kBAAD;EAAkB,MAAK;EAAQ,UAAA,SAAS;CAAsB,CAAA;AACvE;AAaA,SAAgB,yBAAyB,EAAE,QAAQ,OAAO,UAAyC;CACjG,MAAM,SAAS,WAAW;CAE1B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,kBAAAA,kBAAD;EAAkB,MAAK;EAAO,WAFb,SAAS,gCAAgC,KAAA;EAGtD,WAAA,SAAS,QAAQ,WAAW;CACd,CAAA;AAEtB;AASA,IAAM,sBAAyD;CAC7D,OAAO;EAAE,OAAO;EAAS,MAAMC,wBAAAA;CAAU;CACzC,UAAU;EAAE,OAAO;EAAY,MAAMC,2BAAAA;CAAa;CAClD,cAAc;EAAE,OAAO;EAAY,MAAMA,2BAAAA;CAAa;CACtD,eAAe;EAAE,OAAO;EAAQ,MAAMA,2BAAAA;CAAa;CACnD,MAAM;EAAE,OAAO;EAAQ,MAAMC,wBAAAA;CAAU;CACvC,QAAQ;EAAE,OAAO;EAAU,MAAMC,0BAAAA;CAAY;CAC7C,YAAY;EAAE,OAAO;EAAc,MAAMC,aAAAA;CAAU;CACnD,QAAQ;EAAE,OAAO;EAAU,MAAMC,yBAAAA;CAAW;CAC5C,YAAY;EAAE,OAAO;EAAc,MAAMC,4BAAAA;CAAc;CACvD,iBAAiB;EAAE,OAAO;EAAa,MAAMC,4BAAAA;CAAc;CAC3D,sBAAsB;EAAE,OAAO;EAAa,MAAMA,4BAAAA;CAAc;CAChE,kBAAkB;EAAE,OAAO;EAAa,MAAMA,4BAAAA;CAAc;CAC5D,uBAAuB;EAAE,OAAO;EAAa,MAAMA,4BAAAA;CAAc;CACjE,uBAAuB;EAAE,OAAO;EAAa,MAAMA,4BAAAA;CAAc;CACjE,eAAe;EAAE,OAAO;EAAO,MAAMC,aAAAA;CAAa;CAClD,YAAY;EAAE,OAAO;EAAc,MAAMC,aAAAA;CAAU;AACrD;AAMA,SAAgB,uBAAuB,EAAE,cAA2C;CAClF,MAAM,UAAU,aAAa,oBAAoB,WAAW,YAAY,KAAK,KAAA;CAE7E,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACd,kBAAAA,cAAD;EAAc,WAAU;EACrB,UAAA,UACC,iBAAA,GAAA,kBAAA,KAAA,CAAAe,kBAAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAQ,MAAT;GAAc,WAAU;GAAqC,eAAA;EAAa,CAAA,GAC1E,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;GAAK,IAAG;GAAO,SAAQ;GAAU,WAAU;GACxC,UAAA,QAAQ;EACN,CAAA,CACL,EAAA,CAAA,IAEF;CAEU,CAAA;AAElB;AAMA,IAAM,sBAAgE;CAAE,OAAO;CAAK,SAAS;AAAU;AAEvG,IAAM,gBAA0E;CAC9E,WAAW;EAAE,OAAO;EAAM,SAAS;CAAU;CAC7C,IAAI;EAAE,OAAO;EAAM,SAAS;CAAU;CACtC,SAAS;EAAE,OAAO;EAAM,SAAS;CAAU;CAC3C,OAAO;EAAE,OAAO;EAAO,SAAS;CAAc;CAC9C,SAAS;EAAE,OAAO;EAAO,SAAS;CAAU;CAC5C,OAAO;AACT;AAMA,SAAgB,yBAAyB,EAAE,UAAyC;CAElF,MAAM,SAAS,eADF,UAAU,QAAA,CAAS,YACH,MAAQ;CAErC,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAChB,kBAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACiB,cAAAA,OAAD;EAAO,MAAK;EAAK,SAAS,OAAO;EAC9B,UAAA,OAAO;CACH,CAAA,EACK,CAAA;AAElB;;AC/IA,SAAS,mBAAmB,OAA4C;CACtE,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,cAAD,EAAc,GAAI,MAAQ,CAAA;AACnC;AAEA,IAAa,iBAAiB,OAAO,OAAO,oBAAoB;CAC9D,KAAKC,kBAAAA;CACL,SAASC,kBAAAA;CACT,iBAAiBC,kBAAAA;CACjB,oBAAoBC,kBAAAA;CACpB,WAAWC,kBAAAA;CACX,SAASC,kBAAAA;CACT,WAAWC,kBAAAA;CACX,YAAYC,kBAAAA;CACZ,QAAQC,kBAAAA;CACR,QAAQC,kBAAAA;CACR,aAAaC,kBAAAA;CACb,UAAU;CACV,WAAW;CACX,YAAY;CACZ,UAAU;CACV,YAAY;CACZ,iBAAiBC,kBAAAA;AACnB,CAAC"}
|
|
@@ -15,7 +15,7 @@ import { t as Spinner } from "./spinner-CnLgLj9R.js";
|
|
|
15
15
|
import { t as DataPanelSectionHeading } from "./data-panel-section-heading-X3tHNMV1.js";
|
|
16
16
|
import { t as DataCodeSection } from "./DataCodeSection-Bztq-SaU.js";
|
|
17
17
|
import * as React$1 from "react";
|
|
18
|
-
import { Children, createContext, useContext, useState } from "react";
|
|
18
|
+
import { Children, Fragment, createContext, useContext, useState } from "react";
|
|
19
19
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
20
20
|
import { ArrowDownIcon, ArrowLeftIcon, ArrowUpIcon, XIcon } from "lucide-react";
|
|
21
21
|
import { Drawer } from "@base-ui/react/drawer";
|
|
@@ -35,7 +35,7 @@ function DataPanelCloseButton({ onClick, tooltip = "Close panel", label = "Close
|
|
|
35
35
|
var DataPanelVariantContext = createContext("drawer");
|
|
36
36
|
var useDataPanelVariant = () => useContext(DataPanelVariantContext);
|
|
37
37
|
// src/ds/components/DataPanel/data-panel-content.tsx
|
|
38
|
-
var CONTENT_CLASSES = "min-h-0 flex-1 overflow-y-auto
|
|
38
|
+
var CONTENT_CLASSES = "min-h-0 flex-1 overflow-y-auto p-2";
|
|
39
39
|
function DataPanelContent({ children, ref, className }) {
|
|
40
40
|
if (useDataPanelVariant() === "inline") return /* @__PURE__ */ jsx("div", {
|
|
41
41
|
ref,
|
|
@@ -91,17 +91,16 @@ function DataPanelHeaderActions({ children }) {
|
|
|
91
91
|
}
|
|
92
92
|
// src/ds/components/DataPanel/data-panel-header-content.tsx
|
|
93
93
|
/**
|
|
94
|
-
* Left block of a `DataPanel.Header`: heading followed inline by optional `Metadata`,
|
|
95
|
-
* A vertical separator is rendered between
|
|
94
|
+
* Left block of a `DataPanel.Header`: heading followed inline by optional blocks such as `Metadata`,
|
|
95
|
+
* truncated when too long. A vertical separator is rendered between consecutive blocks.
|
|
96
96
|
*/
|
|
97
97
|
function DataPanelHeaderContent({ children }) {
|
|
98
|
-
|
|
99
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
98
|
+
return /* @__PURE__ */ jsx("div", {
|
|
100
99
|
className: "flex min-w-0 flex-1 items-center gap-1 overflow-hidden",
|
|
101
|
-
children:
|
|
100
|
+
children: Children.toArray(children).map((child, index) => /* @__PURE__ */ jsxs(Fragment, { children: [index > 0 && /* @__PURE__ */ jsx("div", {
|
|
102
101
|
"aria-hidden": "true",
|
|
103
102
|
className: "mx-1 h-4 w-px shrink-0 bg-border-strong"
|
|
104
|
-
}),
|
|
103
|
+
}), child] }, index))
|
|
105
104
|
});
|
|
106
105
|
}
|
|
107
106
|
// src/ds/components/DataPanel/data-panel-heading.tsx
|
|
@@ -290,4 +289,4 @@ var DataPanel = Object.assign(DataPanelRoot, {
|
|
|
290
289
|
});
|
|
291
290
|
export { DataPanel as t };
|
|
292
291
|
|
|
293
|
-
//# sourceMappingURL=DataPanel-
|
|
292
|
+
//# sourceMappingURL=DataPanel-CfLkwH2X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataPanel-CfLkwH2X.js","names":["DrawerPrimitive","_Fragment","React","DrawerPrimitive"],"sources":["../src/ds/components/DataPanel/data-panel-close-button.tsx","../src/ds/components/DataPanel/data-panel-context.tsx","../src/ds/components/DataPanel/data-panel-content.tsx","../src/ds/components/DataPanel/data-panel-copy-id.tsx","../src/ds/components/DataPanel/data-panel-header.tsx","../src/ds/components/DataPanel/data-panel-header-actions.tsx","../src/ds/components/DataPanel/data-panel-header-content.tsx","../src/ds/components/DataPanel/data-panel-heading.tsx","../src/ds/components/DataPanel/data-panel-loading-data.tsx","../src/ds/components/DataPanel/data-panel-metadata.tsx","../src/ds/components/DataPanel/data-panel-next-prev-nav.tsx","../src/ds/components/DataPanel/data-panel-no-data.tsx","../src/ds/components/DataPanel/data-panel-root.tsx","../src/ds/components/DataPanel/data-panel.tsx"],"sourcesContent":["import { ArrowLeftIcon, XIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport type { ButtonProps } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelCloseButtonProps {\n onClick: () => void;\n tooltip?: string;\n /** Accessible name; override it when the arrow leads somewhere other than \"closed\" (e.g. back to a parent view). */\n label?: string;\n /**\n * `arrow` (default) is the leading \"leave this panel\" control, rendered first in the header.\n * `x` dismisses a nested column in place and belongs in `HeaderActions`, on the right.\n */\n icon?: 'arrow' | 'x';\n className?: string;\n variant?: ButtonProps['variant'];\n}\n\nexport function DataPanelCloseButton({\n onClick,\n tooltip = 'Close panel',\n label = 'Close panel',\n icon = 'arrow',\n className,\n variant = 'ghost',\n}: DataPanelCloseButtonProps) {\n return (\n <Button\n size=\"icon-sm\"\n variant={variant}\n onClick={onClick}\n aria-label={label}\n tooltip={tooltip}\n className={cn('shrink-0', className)}\n >\n {icon === 'x' ? <XIcon /> : <ArrowLeftIcon />}\n </Button>\n );\n}\n","import { createContext, useContext } from 'react';\n\nexport type DataPanelVariant = 'drawer' | 'inline';\n\n// Defaults to `drawer` so sub-components rendered outside a `DataPanel` keep their historical behavior.\nexport const DataPanelVariantContext = createContext<DataPanelVariant>('drawer');\n\nexport const useDataPanelVariant = () => useContext(DataPanelVariantContext);\n","import { Drawer as DrawerPrimitive } from '@base-ui/react/drawer';\nimport type { ReactNode, Ref } from 'react';\n\nimport { useDataPanelVariant } from './data-panel-context';\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelContentProps {\n children: ReactNode;\n ref?: Ref<HTMLDivElement>;\n /** Layout overrides (e.g. padding) for the scroll container. */\n className?: string;\n}\n\nconst CONTENT_CLASSES = 'min-h-0 flex-1 overflow-y-auto p-2';\n\n// In the drawer variant, `DrawerPrimitive.Content` marks the region as swipe-exempt\n// so scrolling or selecting text inside the panel body doesn't start a\n// swipe-to-dismiss. The inline variant has no drawer, so a plain div is enough.\nexport function DataPanelContent({ children, ref, className }: DataPanelContentProps) {\n const variant = useDataPanelVariant();\n\n if (variant === 'inline') {\n return (\n <div ref={ref} className={cn(CONTENT_CLASSES, className)}>\n {children}\n </div>\n );\n }\n\n return (\n <DrawerPrimitive.Content ref={ref} className={cn(CONTENT_CLASSES, className)}>\n {children}\n </DrawerPrimitive.Content>\n );\n}\n","import { useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { useCopyToClipboard } from '@/hooks/use-copy-to-clipboard';\nimport { truncateString } from '@/lib/truncate-string';\n\nexport interface DataPanelCopyIdProps {\n id: string;\n /** Characters kept when the id is truncated. Defaults to 12. */\n maxLength?: number;\n /** Append `…` to a truncated id. Defaults to true. */\n ellipsis?: boolean;\n /** Leading icon (bare SVG) naming what the id identifies. */\n icon?: React.ReactNode;\n}\n\n/**\n * Truncated identifier rendered inline in a `DataPanel.Heading`; clicking copies the full value.\n */\nexport function DataPanelCopyId({ id, maxLength = 12, ellipsis = true, icon }: DataPanelCopyIdProps) {\n const { isCopied, handleCopy } = useCopyToClipboard({ text: id, showToast: false });\n const [open, setOpen] = useState(false);\n\n return (\n <Tooltip open={isCopied || open} onOpenChange={setOpen}>\n <TooltipTrigger\n render={\n <Button type=\"button\" variant=\"ghost\" size=\"sm\" icon={icon} onClick={handleCopy}>\n {ellipsis ? truncateString(id, maxLength) : id.slice(0, maxLength)}\n </Button>\n }\n />\n <TooltipContent>{isCopied ? 'Copied to clipboard' : 'Copy to clipboard'}</TooltipContent>\n </Tooltip>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataPanelHeaderProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataPanelHeader({ className, children }: DataPanelHeaderProps) {\n return (\n <div\n className={cn(\n // Same box as the app `Header`. Leading `CloseButton`, then the heading\n // (+ inline metadata via `HeaderContent`), then `HeaderActions` pushed to the right edge.\n // `flex-wrap` drops the actions onto a second row when the panel is too narrow for one.\n // `gap-0.5` is the slight gap between the close arrow and the heading.\n // `py-1` keeps 28px controls + border within the 40px min height, so the divider\n // lines up with an adjacent app `Header` instead of sitting 1px lower.\n 'flex min-h-header-default w-full flex-wrap items-center gap-0.5 px-2 py-1',\n // Bottom border only when something follows the header (i.e. the panel is expanded).\n // When the panel is collapsed and the header is the only child, the border auto-hides.\n // Same edge color as the app `Header` it docks beside.\n 'not-last:border-b not-last:border-surface-rim',\n className,\n )}\n >\n {children}\n </div>\n );\n}\n","export interface DataPanelHeaderActionsProps {\n children: React.ReactNode;\n}\n\n/**\n * Right-side action slot of a `DataPanel.Header`. Mirrors `HeaderAction` with `gap-2`\n * (these are `size=\"sm\"` controls, like the page header actions) and wraps when the panel is too narrow.\n */\nexport function DataPanelHeaderActions({ children }: DataPanelHeaderActionsProps) {\n return <div className=\"ml-auto flex min-w-0 flex-wrap items-center justify-end gap-2 self-center\">{children}</div>;\n}\n","import { Children, Fragment } from 'react';\n\nexport interface DataPanelHeaderContentProps {\n children: React.ReactNode;\n}\n\n/**\n * Left block of a `DataPanel.Header`: heading followed inline by optional blocks such as `Metadata`,\n * truncated when too long. A vertical separator is rendered between consecutive blocks.\n */\nexport function DataPanelHeaderContent({ children }: DataPanelHeaderContentProps) {\n return (\n <div className=\"flex min-w-0 flex-1 items-center gap-1 overflow-hidden\">\n {Children.toArray(children).map((child, index) => (\n <Fragment key={index}>\n {index > 0 && <div aria-hidden=\"true\" className=\"mx-1 h-4 w-px shrink-0 bg-border-strong\" />}\n {child}\n </Fragment>\n ))}\n </div>\n );\n}\n","import { controlSizeClasses } from '@/ds/primitives/control-size';\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelHeadingProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataPanelHeading({ className, children }: DataPanelHeadingProps) {\n return (\n <h3\n className={cn(\n // Same recipe as a current `Crumb` in the page header, with tight horizontal spacing:\n // inline children like `TraceIdButton` carry their own padding, so `gap-1` + `px-1`\n // is enough to keep the title close to the leading close arrow and the inline metadata.\n // `shrink-0`: the heading keeps its text; the inline `Metadata` row is what gets clipped.\n 'inline-flex max-w-full min-w-0 shrink-0 items-center gap-1 rounded-full px-1',\n controlSizeClasses.sm,\n 'cursor-default text-foreground [&>b]:text-caption [&>b]:text-muted-foreground',\n className,\n )}\n >\n {children}\n </h3>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Spinner } from '@/ds/components/Spinner';\n\nexport interface DataPanelLoadingDataProps {\n children?: ReactNode;\n}\n\nexport function DataPanelLoadingData({ children }: DataPanelLoadingDataProps) {\n return (\n <div className=\"flex min-h-32 items-center justify-center gap-2 px-3 py-4 text-caption text-placeholder\">\n <Spinner size=\"sm\" variant=\"pulse\" className=\"text-placeholder\" /> {children ?? 'Loading...'}\n </div>\n );\n}\n","import { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { controlSizeClasses } from '@/ds/primitives/control-size';\nimport { controlStateColorTransition, transitions } from '@/ds/primitives/transitions';\nimport { quietTextHover } from '@/ds/primitives/typography';\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelMetadataProps {\n children: React.ReactNode;\n}\n\n/** Row of `Meta` pills next to a `DataPanel.Heading`. Never wraps; overflowing pills are clipped. */\nexport function DataPanelMetadata({ children }: DataPanelMetadataProps) {\n return <ul className=\"flex min-w-0 flex-nowrap items-center gap-0.5 overflow-hidden\">{children}</ul>;\n}\n\nexport interface DataPanelMetaProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children' | 'title'> {\n /** Element/component to render as (e.g. a router `Link`). Defaults to `span`. */\n as?: React.ElementType;\n href?: string;\n to?: string;\n /** Prefix icon (bare SVG). */\n icon?: React.ReactNode;\n /** Shown on hover/focus; for a static (non-link) meta a string tooltip also becomes the accessible name. */\n tooltip?: React.ReactNode;\n children: React.ReactNode;\n 'data-testid'?: string;\n}\n\nexport function DataPanelMeta({ as, icon, tooltip, children, className, ...props }: DataPanelMetaProps) {\n const Root = as ?? 'span';\n const isInteractive = Boolean(as || props.href || props.to || props.onClick);\n\n const hasTooltip = tooltip != null;\n const root = (\n <Root\n aria-label={!isInteractive && typeof tooltip === 'string' ? tooltip : undefined}\n tabIndex={!isInteractive && hasTooltip ? 0 : undefined}\n className={cn(\n // Same box as a `size=\"sm\"` ghost `Button` (e.g. `TraceIdButton`), so pills line up\n // with the heading and the trace ID on the same header row.\n 'inline-flex min-w-0 items-center gap-1.5 overflow-hidden rounded-full px-2',\n controlSizeClasses.sm,\n controlStateColorTransition,\n isInteractive\n ? cn(quietTextHover, 'cursor-pointer hover:bg-fill-subtle active:bg-fill')\n : cn('text-muted-foreground', hasTooltip && 'cursor-help'),\n className,\n )}\n {...props}\n >\n {icon && (\n <Icon size=\"xs\" className={cn('shrink-0 opacity-50 group-hover:opacity-100', transitions.opacity)}>\n {icon}\n </Icon>\n )}\n <span className=\"min-w-0 truncate\">{children}</span>\n </Root>\n );\n\n return (\n <li className=\"group flex h-control-sm min-w-0 shrink-0 items-center\">\n {!hasTooltip ? (\n root\n ) : (\n <Tooltip>\n <TooltipTrigger render={root} />\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n )}\n </li>\n );\n}\n","import { ArrowDownIcon, ArrowUpIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport type { ButtonProps } from '@/ds/components/Button';\n\nexport interface DataPanelNextPrevNavProps {\n onPrevious?: () => void;\n onNext?: () => void;\n previousLabel?: string;\n nextLabel?: string;\n variant?: ButtonProps['variant'];\n}\n\n/** Two independent previous/next buttons, laid out by the parent `HeaderActions` gap. */\nexport function DataPanelNextPrevNav({\n onPrevious,\n onNext,\n previousLabel = 'Go to previous',\n nextLabel = 'Go to next',\n variant = 'ghost',\n}: DataPanelNextPrevNavProps) {\n return (\n <>\n <Button size=\"icon-sm\" variant={variant} tooltip={previousLabel} onClick={onPrevious} disabled={!onPrevious}>\n <ArrowUpIcon />\n </Button>\n <Button size=\"icon-sm\" variant={variant} tooltip={nextLabel} onClick={onNext} disabled={!onNext}>\n <ArrowDownIcon />\n </Button>\n </>\n );\n}\n","import { Txt } from '@/ds/components/Txt';\nexport interface DataPanelNoDataProps {\n children?: React.ReactNode;\n}\n\nexport function DataPanelNoData({ children }: DataPanelNoDataProps) {\n return (\n <Txt variant=\"caption\" tone=\"faint\" className=\"px-3 py-4\">\n {children ?? 'No data found.'}\n </Txt>\n );\n}\n","import { Drawer as DrawerPrimitive } from '@base-ui/react/drawer';\nimport * as React from 'react';\n\nimport { DataPanelVariantContext } from './data-panel-context';\nimport { PortalContainerProvider } from '@/ds/primitives/portal-container';\nimport { frameFillStyle, frameSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\n// `drawer-popup` / `drawer-backdrop` carry the slide + fade transitions.\nimport '../Drawer/drawer.css';\n\ninterface DataPanelBaseProps {\n /** Accessible name (screen-reader only; the visible title comes from `DataPanel.Heading`). */\n title: string;\n /** Accessible description (screen-reader only). */\n description?: string;\n children: React.ReactNode;\n className?: string;\n}\n\nexport interface DataPanelDrawerProps extends DataPanelBaseProps {\n /** `drawer` (default): a modal side drawer portaled to the right edge of the page. */\n variant?: 'drawer';\n /** Whether the drawer is shown. */\n open: boolean;\n /** Called when the user dismisses the panel (close button, Escape, backdrop, swipe). */\n onClose?: () => void;\n /**\n * Elevation level when several sibling panels are open at once (not nested in\n * the React tree, so Base UI's own stacking doesn't apply). A deeper panel is\n * narrower so the one beneath peeks out on the left. Siblings stack in mount\n * order: render the deeper panel after the shallower one.\n */\n depth?: 1 | 2 | 3;\n /**\n * Drawer width. `md` (default) is a narrow detail panel whose width shrinks\n * with `depth`. `half`/`wide`/`full` are for multi-column content (e.g. the\n * trace panel); each `depth` level trims them by a small fixed amount so a\n * same-size parent still peeks out beneath. Changing `size` while open\n * animates the width.\n */\n size?: 'md' | 'half' | 'wide' | 'full';\n}\n\nexport interface DataPanelInlineProps extends DataPanelBaseProps {\n /**\n * `inline`: the panel card is rendered where it is mounted, in the normal\n * document flow (no portal, backdrop, focus trap or dismissal gestures).\n * Mount/unmount it to show/hide it. It fills its container's height, so give\n * the parent a bounded height for `DataPanel.Content` to scroll.\n */\n variant: 'inline';\n open?: never;\n onClose?: never;\n depth?: never;\n size?: never;\n}\n\nexport type DataPanelProps = DataPanelDrawerProps | DataPanelInlineProps;\n\n// The edge comes from the surface's `--surface-rim` inset (no CSS border), like `MainCard`.\n// `p-px` reserves that rim pixel so the header divider doesn't paint over it.\nconst CARD_CLASSES = 'flex max-h-full w-full flex-col overflow-hidden p-px';\n\nconst DEPTH_WIDTH = { 1: 'w-xl', 2: 'w-lg', 3: 'w-md' } as const;\nconst SIZE_WIDTH = { half: 'w-1/2', wide: 'w-4/5', full: 'w-full' } as const;\nconst SIZE_PERCENT = { half: '50%', wide: '80%', full: '100%' } as const;\n// Each extra depth level trims a stacked non-`md` panel so the parent peeks out beneath it.\nconst DEPTH_PEEK_REM = 1.5;\n\nexport function DataPanelRoot(props: DataPanelProps) {\n if (props.variant === 'inline') {\n return <DataPanelInline {...props} />;\n }\n return <DataPanelDrawer {...props} />;\n}\n\nfunction DataPanelInline({ title, description, children, className }: DataPanelInlineProps) {\n const descriptionId = React.useId();\n\n return (\n <DataPanelVariantContext.Provider value=\"inline\">\n <section\n data-slot=\"data-panel\"\n data-variant=\"inline\"\n aria-label={title}\n aria-describedby={description ? descriptionId : undefined}\n // Inline, the card docks beside the app frame, so it shares the frame's rounding.\n className={cn(CARD_CLASSES, frameSurfaceStyle, 'h-full min-h-0 rounded-studio-frame', className)}\n >\n {description && (\n <span id={descriptionId} className=\"sr-only\">\n {description}\n </span>\n )}\n {children}\n </section>\n </DataPanelVariantContext.Provider>\n );\n}\n\nfunction DataPanelDrawer({\n open,\n onClose,\n title,\n description,\n depth = 1,\n size = 'md',\n children,\n className,\n}: DataPanelDrawerProps) {\n // Swipe-exempt mount point for nested popups (Select, DropdownMenu, …) so they\n // stay inside Base UI's modal focus region and don't start a drawer swipe on\n // pointerdown. Same pattern as `SideDialogRoot`; see `portal-container.tsx`.\n const [portalHost, setPortalHost] = React.useState<HTMLDivElement | null>(null);\n\n return (\n <DataPanelVariantContext.Provider value=\"drawer\">\n <DrawerPrimitive.Root\n open={open}\n onOpenChange={nextOpen => {\n if (!nextOpen) onClose?.();\n }}\n swipeDirection=\"right\"\n >\n <DrawerPrimitive.Portal>\n {/* Lighter than the shared `--scrim`: a side panel should keep the page beneath readable. */}\n <DrawerPrimitive.Backdrop className=\"drawer-backdrop fixed inset-0 z-50 bg-scrim/30\" />\n <DrawerPrimitive.Viewport className=\"fixed inset-0 z-50\">\n <DrawerPrimitive.Popup\n data-slot=\"data-panel-popup\"\n data-depth={depth}\n data-size={size}\n className={cn(\n 'drawer-popup fixed inset-y-0 right-0 z-50 flex max-w-full p-4 outline-none',\n size === 'md' ? DEPTH_WIDTH[depth] : SIZE_WIDTH[size],\n )}\n style={\n size !== 'md' && depth > 1\n ? { width: `calc(${SIZE_PERCENT[size]} - ${(depth - 1) * DEPTH_PEEK_REM}rem)` }\n : undefined\n }\n >\n {/* Not a heading: the visible `DataPanel.Heading` already is one; this only names the dialog. */}\n <DrawerPrimitive.Title render={<span />} className=\"sr-only\">\n {title}\n </DrawerPrimitive.Title>\n {description && (\n <DrawerPrimitive.Description className=\"sr-only\">{description}</DrawerPrimitive.Description>\n )}\n\n <DrawerPrimitive.Content render={<div ref={setPortalHost} className=\"absolute\" />} />\n\n <PortalContainerProvider container={portalHost}>\n {/* Whole card is swipe-exempt: pointerdown on tabs/buttons/text must not start a dismiss gesture. */}\n <DrawerPrimitive.Content\n render={<section />}\n className={cn(CARD_CLASSES, frameFillStyle, 'rounded-xl shadow-overlay', className)}\n >\n {children}\n </DrawerPrimitive.Content>\n </PortalContainerProvider>\n </DrawerPrimitive.Popup>\n </DrawerPrimitive.Viewport>\n </DrawerPrimitive.Portal>\n </DrawerPrimitive.Root>\n </DataPanelVariantContext.Provider>\n );\n}\n","import { DataPanelCloseButton } from './data-panel-close-button';\nimport { DataPanelContent } from './data-panel-content';\nimport { DataPanelCopyId } from './data-panel-copy-id';\nimport { DataPanelHeader } from './data-panel-header';\nimport { DataPanelHeaderActions } from './data-panel-header-actions';\nimport { DataPanelHeaderContent } from './data-panel-header-content';\nimport { DataPanelHeading } from './data-panel-heading';\nimport { DataPanelLoadingData } from './data-panel-loading-data';\nimport { DataPanelMeta, DataPanelMetadata } from './data-panel-metadata';\nimport { DataPanelNextPrevNav } from './data-panel-next-prev-nav';\nimport { DataPanelNoData } from './data-panel-no-data';\nimport { DataPanelRoot } from './data-panel-root';\nimport { DataPanelSectionHeading } from './data-panel-section-heading';\nimport { DataCodeSection } from '@/ds/components/DataCodeSection';\n\nexport const DataPanel = Object.assign(DataPanelRoot, {\n Header: DataPanelHeader,\n HeaderContent: DataPanelHeaderContent,\n HeaderActions: DataPanelHeaderActions,\n Heading: DataPanelHeading,\n Metadata: DataPanelMetadata,\n Meta: DataPanelMeta,\n CloseButton: DataPanelCloseButton,\n CopyId: DataPanelCopyId,\n NextPrevNav: DataPanelNextPrevNav,\n LoadingData: DataPanelLoadingData,\n NoData: DataPanelNoData,\n Content: DataPanelContent,\n CodeSection: DataCodeSection,\n SectionHeading: DataPanelSectionHeading,\n});\n"],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ function DataPanelCloseButton({ onClick, tooltip = "Close panel", label = "Close
|
|
|
36
36
|
var DataPanelVariantContext = (0, react.createContext)("drawer");
|
|
37
37
|
var useDataPanelVariant = () => (0, react.useContext)(DataPanelVariantContext);
|
|
38
38
|
// src/ds/components/DataPanel/data-panel-content.tsx
|
|
39
|
-
var CONTENT_CLASSES = "min-h-0 flex-1 overflow-y-auto
|
|
39
|
+
var CONTENT_CLASSES = "min-h-0 flex-1 overflow-y-auto p-2";
|
|
40
40
|
function DataPanelContent({ children, ref, className }) {
|
|
41
41
|
if (useDataPanelVariant() === "inline") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
42
42
|
ref,
|
|
@@ -92,17 +92,16 @@ function DataPanelHeaderActions({ children }) {
|
|
|
92
92
|
}
|
|
93
93
|
// src/ds/components/DataPanel/data-panel-header-content.tsx
|
|
94
94
|
/**
|
|
95
|
-
* Left block of a `DataPanel.Header`: heading followed inline by optional `Metadata`,
|
|
96
|
-
* A vertical separator is rendered between
|
|
95
|
+
* Left block of a `DataPanel.Header`: heading followed inline by optional blocks such as `Metadata`,
|
|
96
|
+
* truncated when too long. A vertical separator is rendered between consecutive blocks.
|
|
97
97
|
*/
|
|
98
98
|
function DataPanelHeaderContent({ children }) {
|
|
99
|
-
|
|
100
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
99
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
101
100
|
className: "flex min-w-0 flex-1 items-center gap-1 overflow-hidden",
|
|
102
|
-
children:
|
|
101
|
+
children: react.Children.toArray(children).map((child, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react.Fragment, { children: [index > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
103
102
|
"aria-hidden": "true",
|
|
104
103
|
className: "mx-1 h-4 w-px shrink-0 bg-border-strong"
|
|
105
|
-
}),
|
|
104
|
+
}), child] }, index))
|
|
106
105
|
});
|
|
107
106
|
}
|
|
108
107
|
// src/ds/components/DataPanel/data-panel-heading.tsx
|
|
@@ -296,4 +295,4 @@ Object.defineProperty(exports, "DataPanel", {
|
|
|
296
295
|
}
|
|
297
296
|
});
|
|
298
297
|
|
|
299
|
-
//# sourceMappingURL=DataPanel-
|
|
298
|
+
//# sourceMappingURL=DataPanel-Ded_OhrA.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataPanel-Ded_OhrA.cjs","names":["Button","cn","XIcon","ArrowLeftIcon","createContext","useContext","cn","DrawerPrimitive","useCopyToClipboard","useState","Tooltip","TooltipTrigger","Button","truncateString","TooltipContent","cn","Children","Fragment","cn","controlSizeClasses","Spinner","cn","controlSizeClasses","controlStateColorTransition","quietTextHover","Icon","transitions","Tooltip","TooltipTrigger","TooltipContent","_Fragment","Button","ArrowUpIcon","ArrowDownIcon","Txt","React","cn","frameSurfaceStyle","DrawerPrimitive","PortalContainerProvider","frameFillStyle","DataCodeSection","DataPanelSectionHeading"],"sources":["../src/ds/components/DataPanel/data-panel-close-button.tsx","../src/ds/components/DataPanel/data-panel-context.tsx","../src/ds/components/DataPanel/data-panel-content.tsx","../src/ds/components/DataPanel/data-panel-copy-id.tsx","../src/ds/components/DataPanel/data-panel-header.tsx","../src/ds/components/DataPanel/data-panel-header-actions.tsx","../src/ds/components/DataPanel/data-panel-header-content.tsx","../src/ds/components/DataPanel/data-panel-heading.tsx","../src/ds/components/DataPanel/data-panel-loading-data.tsx","../src/ds/components/DataPanel/data-panel-metadata.tsx","../src/ds/components/DataPanel/data-panel-next-prev-nav.tsx","../src/ds/components/DataPanel/data-panel-no-data.tsx","../src/ds/components/DataPanel/data-panel-root.tsx","../src/ds/components/DataPanel/data-panel.tsx"],"sourcesContent":["import { ArrowLeftIcon, XIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport type { ButtonProps } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelCloseButtonProps {\n onClick: () => void;\n tooltip?: string;\n /** Accessible name; override it when the arrow leads somewhere other than \"closed\" (e.g. back to a parent view). */\n label?: string;\n /**\n * `arrow` (default) is the leading \"leave this panel\" control, rendered first in the header.\n * `x` dismisses a nested column in place and belongs in `HeaderActions`, on the right.\n */\n icon?: 'arrow' | 'x';\n className?: string;\n variant?: ButtonProps['variant'];\n}\n\nexport function DataPanelCloseButton({\n onClick,\n tooltip = 'Close panel',\n label = 'Close panel',\n icon = 'arrow',\n className,\n variant = 'ghost',\n}: DataPanelCloseButtonProps) {\n return (\n <Button\n size=\"icon-sm\"\n variant={variant}\n onClick={onClick}\n aria-label={label}\n tooltip={tooltip}\n className={cn('shrink-0', className)}\n >\n {icon === 'x' ? <XIcon /> : <ArrowLeftIcon />}\n </Button>\n );\n}\n","import { createContext, useContext } from 'react';\n\nexport type DataPanelVariant = 'drawer' | 'inline';\n\n// Defaults to `drawer` so sub-components rendered outside a `DataPanel` keep their historical behavior.\nexport const DataPanelVariantContext = createContext<DataPanelVariant>('drawer');\n\nexport const useDataPanelVariant = () => useContext(DataPanelVariantContext);\n","import { Drawer as DrawerPrimitive } from '@base-ui/react/drawer';\nimport type { ReactNode, Ref } from 'react';\n\nimport { useDataPanelVariant } from './data-panel-context';\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelContentProps {\n children: ReactNode;\n ref?: Ref<HTMLDivElement>;\n /** Layout overrides (e.g. padding) for the scroll container. */\n className?: string;\n}\n\nconst CONTENT_CLASSES = 'min-h-0 flex-1 overflow-y-auto p-2';\n\n// In the drawer variant, `DrawerPrimitive.Content` marks the region as swipe-exempt\n// so scrolling or selecting text inside the panel body doesn't start a\n// swipe-to-dismiss. The inline variant has no drawer, so a plain div is enough.\nexport function DataPanelContent({ children, ref, className }: DataPanelContentProps) {\n const variant = useDataPanelVariant();\n\n if (variant === 'inline') {\n return (\n <div ref={ref} className={cn(CONTENT_CLASSES, className)}>\n {children}\n </div>\n );\n }\n\n return (\n <DrawerPrimitive.Content ref={ref} className={cn(CONTENT_CLASSES, className)}>\n {children}\n </DrawerPrimitive.Content>\n );\n}\n","import { useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { useCopyToClipboard } from '@/hooks/use-copy-to-clipboard';\nimport { truncateString } from '@/lib/truncate-string';\n\nexport interface DataPanelCopyIdProps {\n id: string;\n /** Characters kept when the id is truncated. Defaults to 12. */\n maxLength?: number;\n /** Append `…` to a truncated id. Defaults to true. */\n ellipsis?: boolean;\n /** Leading icon (bare SVG) naming what the id identifies. */\n icon?: React.ReactNode;\n}\n\n/**\n * Truncated identifier rendered inline in a `DataPanel.Heading`; clicking copies the full value.\n */\nexport function DataPanelCopyId({ id, maxLength = 12, ellipsis = true, icon }: DataPanelCopyIdProps) {\n const { isCopied, handleCopy } = useCopyToClipboard({ text: id, showToast: false });\n const [open, setOpen] = useState(false);\n\n return (\n <Tooltip open={isCopied || open} onOpenChange={setOpen}>\n <TooltipTrigger\n render={\n <Button type=\"button\" variant=\"ghost\" size=\"sm\" icon={icon} onClick={handleCopy}>\n {ellipsis ? truncateString(id, maxLength) : id.slice(0, maxLength)}\n </Button>\n }\n />\n <TooltipContent>{isCopied ? 'Copied to clipboard' : 'Copy to clipboard'}</TooltipContent>\n </Tooltip>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataPanelHeaderProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataPanelHeader({ className, children }: DataPanelHeaderProps) {\n return (\n <div\n className={cn(\n // Same box as the app `Header`. Leading `CloseButton`, then the heading\n // (+ inline metadata via `HeaderContent`), then `HeaderActions` pushed to the right edge.\n // `flex-wrap` drops the actions onto a second row when the panel is too narrow for one.\n // `gap-0.5` is the slight gap between the close arrow and the heading.\n // `py-1` keeps 28px controls + border within the 40px min height, so the divider\n // lines up with an adjacent app `Header` instead of sitting 1px lower.\n 'flex min-h-header-default w-full flex-wrap items-center gap-0.5 px-2 py-1',\n // Bottom border only when something follows the header (i.e. the panel is expanded).\n // When the panel is collapsed and the header is the only child, the border auto-hides.\n // Same edge color as the app `Header` it docks beside.\n 'not-last:border-b not-last:border-surface-rim',\n className,\n )}\n >\n {children}\n </div>\n );\n}\n","export interface DataPanelHeaderActionsProps {\n children: React.ReactNode;\n}\n\n/**\n * Right-side action slot of a `DataPanel.Header`. Mirrors `HeaderAction` with `gap-2`\n * (these are `size=\"sm\"` controls, like the page header actions) and wraps when the panel is too narrow.\n */\nexport function DataPanelHeaderActions({ children }: DataPanelHeaderActionsProps) {\n return <div className=\"ml-auto flex min-w-0 flex-wrap items-center justify-end gap-2 self-center\">{children}</div>;\n}\n","import { Children, Fragment } from 'react';\n\nexport interface DataPanelHeaderContentProps {\n children: React.ReactNode;\n}\n\n/**\n * Left block of a `DataPanel.Header`: heading followed inline by optional blocks such as `Metadata`,\n * truncated when too long. A vertical separator is rendered between consecutive blocks.\n */\nexport function DataPanelHeaderContent({ children }: DataPanelHeaderContentProps) {\n return (\n <div className=\"flex min-w-0 flex-1 items-center gap-1 overflow-hidden\">\n {Children.toArray(children).map((child, index) => (\n <Fragment key={index}>\n {index > 0 && <div aria-hidden=\"true\" className=\"mx-1 h-4 w-px shrink-0 bg-border-strong\" />}\n {child}\n </Fragment>\n ))}\n </div>\n );\n}\n","import { controlSizeClasses } from '@/ds/primitives/control-size';\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelHeadingProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataPanelHeading({ className, children }: DataPanelHeadingProps) {\n return (\n <h3\n className={cn(\n // Same recipe as a current `Crumb` in the page header, with tight horizontal spacing:\n // inline children like `TraceIdButton` carry their own padding, so `gap-1` + `px-1`\n // is enough to keep the title close to the leading close arrow and the inline metadata.\n // `shrink-0`: the heading keeps its text; the inline `Metadata` row is what gets clipped.\n 'inline-flex max-w-full min-w-0 shrink-0 items-center gap-1 rounded-full px-1',\n controlSizeClasses.sm,\n 'cursor-default text-foreground [&>b]:text-caption [&>b]:text-muted-foreground',\n className,\n )}\n >\n {children}\n </h3>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Spinner } from '@/ds/components/Spinner';\n\nexport interface DataPanelLoadingDataProps {\n children?: ReactNode;\n}\n\nexport function DataPanelLoadingData({ children }: DataPanelLoadingDataProps) {\n return (\n <div className=\"flex min-h-32 items-center justify-center gap-2 px-3 py-4 text-caption text-placeholder\">\n <Spinner size=\"sm\" variant=\"pulse\" className=\"text-placeholder\" /> {children ?? 'Loading...'}\n </div>\n );\n}\n","import { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { controlSizeClasses } from '@/ds/primitives/control-size';\nimport { controlStateColorTransition, transitions } from '@/ds/primitives/transitions';\nimport { quietTextHover } from '@/ds/primitives/typography';\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelMetadataProps {\n children: React.ReactNode;\n}\n\n/** Row of `Meta` pills next to a `DataPanel.Heading`. Never wraps; overflowing pills are clipped. */\nexport function DataPanelMetadata({ children }: DataPanelMetadataProps) {\n return <ul className=\"flex min-w-0 flex-nowrap items-center gap-0.5 overflow-hidden\">{children}</ul>;\n}\n\nexport interface DataPanelMetaProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children' | 'title'> {\n /** Element/component to render as (e.g. a router `Link`). Defaults to `span`. */\n as?: React.ElementType;\n href?: string;\n to?: string;\n /** Prefix icon (bare SVG). */\n icon?: React.ReactNode;\n /** Shown on hover/focus; for a static (non-link) meta a string tooltip also becomes the accessible name. */\n tooltip?: React.ReactNode;\n children: React.ReactNode;\n 'data-testid'?: string;\n}\n\nexport function DataPanelMeta({ as, icon, tooltip, children, className, ...props }: DataPanelMetaProps) {\n const Root = as ?? 'span';\n const isInteractive = Boolean(as || props.href || props.to || props.onClick);\n\n const hasTooltip = tooltip != null;\n const root = (\n <Root\n aria-label={!isInteractive && typeof tooltip === 'string' ? tooltip : undefined}\n tabIndex={!isInteractive && hasTooltip ? 0 : undefined}\n className={cn(\n // Same box as a `size=\"sm\"` ghost `Button` (e.g. `TraceIdButton`), so pills line up\n // with the heading and the trace ID on the same header row.\n 'inline-flex min-w-0 items-center gap-1.5 overflow-hidden rounded-full px-2',\n controlSizeClasses.sm,\n controlStateColorTransition,\n isInteractive\n ? cn(quietTextHover, 'cursor-pointer hover:bg-fill-subtle active:bg-fill')\n : cn('text-muted-foreground', hasTooltip && 'cursor-help'),\n className,\n )}\n {...props}\n >\n {icon && (\n <Icon size=\"xs\" className={cn('shrink-0 opacity-50 group-hover:opacity-100', transitions.opacity)}>\n {icon}\n </Icon>\n )}\n <span className=\"min-w-0 truncate\">{children}</span>\n </Root>\n );\n\n return (\n <li className=\"group flex h-control-sm min-w-0 shrink-0 items-center\">\n {!hasTooltip ? (\n root\n ) : (\n <Tooltip>\n <TooltipTrigger render={root} />\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n )}\n </li>\n );\n}\n","import { ArrowDownIcon, ArrowUpIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport type { ButtonProps } from '@/ds/components/Button';\n\nexport interface DataPanelNextPrevNavProps {\n onPrevious?: () => void;\n onNext?: () => void;\n previousLabel?: string;\n nextLabel?: string;\n variant?: ButtonProps['variant'];\n}\n\n/** Two independent previous/next buttons, laid out by the parent `HeaderActions` gap. */\nexport function DataPanelNextPrevNav({\n onPrevious,\n onNext,\n previousLabel = 'Go to previous',\n nextLabel = 'Go to next',\n variant = 'ghost',\n}: DataPanelNextPrevNavProps) {\n return (\n <>\n <Button size=\"icon-sm\" variant={variant} tooltip={previousLabel} onClick={onPrevious} disabled={!onPrevious}>\n <ArrowUpIcon />\n </Button>\n <Button size=\"icon-sm\" variant={variant} tooltip={nextLabel} onClick={onNext} disabled={!onNext}>\n <ArrowDownIcon />\n </Button>\n </>\n );\n}\n","import { Txt } from '@/ds/components/Txt';\nexport interface DataPanelNoDataProps {\n children?: React.ReactNode;\n}\n\nexport function DataPanelNoData({ children }: DataPanelNoDataProps) {\n return (\n <Txt variant=\"caption\" tone=\"faint\" className=\"px-3 py-4\">\n {children ?? 'No data found.'}\n </Txt>\n );\n}\n","import { Drawer as DrawerPrimitive } from '@base-ui/react/drawer';\nimport * as React from 'react';\n\nimport { DataPanelVariantContext } from './data-panel-context';\nimport { PortalContainerProvider } from '@/ds/primitives/portal-container';\nimport { frameFillStyle, frameSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\n// `drawer-popup` / `drawer-backdrop` carry the slide + fade transitions.\nimport '../Drawer/drawer.css';\n\ninterface DataPanelBaseProps {\n /** Accessible name (screen-reader only; the visible title comes from `DataPanel.Heading`). */\n title: string;\n /** Accessible description (screen-reader only). */\n description?: string;\n children: React.ReactNode;\n className?: string;\n}\n\nexport interface DataPanelDrawerProps extends DataPanelBaseProps {\n /** `drawer` (default): a modal side drawer portaled to the right edge of the page. */\n variant?: 'drawer';\n /** Whether the drawer is shown. */\n open: boolean;\n /** Called when the user dismisses the panel (close button, Escape, backdrop, swipe). */\n onClose?: () => void;\n /**\n * Elevation level when several sibling panels are open at once (not nested in\n * the React tree, so Base UI's own stacking doesn't apply). A deeper panel is\n * narrower so the one beneath peeks out on the left. Siblings stack in mount\n * order: render the deeper panel after the shallower one.\n */\n depth?: 1 | 2 | 3;\n /**\n * Drawer width. `md` (default) is a narrow detail panel whose width shrinks\n * with `depth`. `half`/`wide`/`full` are for multi-column content (e.g. the\n * trace panel); each `depth` level trims them by a small fixed amount so a\n * same-size parent still peeks out beneath. Changing `size` while open\n * animates the width.\n */\n size?: 'md' | 'half' | 'wide' | 'full';\n}\n\nexport interface DataPanelInlineProps extends DataPanelBaseProps {\n /**\n * `inline`: the panel card is rendered where it is mounted, in the normal\n * document flow (no portal, backdrop, focus trap or dismissal gestures).\n * Mount/unmount it to show/hide it. It fills its container's height, so give\n * the parent a bounded height for `DataPanel.Content` to scroll.\n */\n variant: 'inline';\n open?: never;\n onClose?: never;\n depth?: never;\n size?: never;\n}\n\nexport type DataPanelProps = DataPanelDrawerProps | DataPanelInlineProps;\n\n// The edge comes from the surface's `--surface-rim` inset (no CSS border), like `MainCard`.\n// `p-px` reserves that rim pixel so the header divider doesn't paint over it.\nconst CARD_CLASSES = 'flex max-h-full w-full flex-col overflow-hidden p-px';\n\nconst DEPTH_WIDTH = { 1: 'w-xl', 2: 'w-lg', 3: 'w-md' } as const;\nconst SIZE_WIDTH = { half: 'w-1/2', wide: 'w-4/5', full: 'w-full' } as const;\nconst SIZE_PERCENT = { half: '50%', wide: '80%', full: '100%' } as const;\n// Each extra depth level trims a stacked non-`md` panel so the parent peeks out beneath it.\nconst DEPTH_PEEK_REM = 1.5;\n\nexport function DataPanelRoot(props: DataPanelProps) {\n if (props.variant === 'inline') {\n return <DataPanelInline {...props} />;\n }\n return <DataPanelDrawer {...props} />;\n}\n\nfunction DataPanelInline({ title, description, children, className }: DataPanelInlineProps) {\n const descriptionId = React.useId();\n\n return (\n <DataPanelVariantContext.Provider value=\"inline\">\n <section\n data-slot=\"data-panel\"\n data-variant=\"inline\"\n aria-label={title}\n aria-describedby={description ? descriptionId : undefined}\n // Inline, the card docks beside the app frame, so it shares the frame's rounding.\n className={cn(CARD_CLASSES, frameSurfaceStyle, 'h-full min-h-0 rounded-studio-frame', className)}\n >\n {description && (\n <span id={descriptionId} className=\"sr-only\">\n {description}\n </span>\n )}\n {children}\n </section>\n </DataPanelVariantContext.Provider>\n );\n}\n\nfunction DataPanelDrawer({\n open,\n onClose,\n title,\n description,\n depth = 1,\n size = 'md',\n children,\n className,\n}: DataPanelDrawerProps) {\n // Swipe-exempt mount point for nested popups (Select, DropdownMenu, …) so they\n // stay inside Base UI's modal focus region and don't start a drawer swipe on\n // pointerdown. Same pattern as `SideDialogRoot`; see `portal-container.tsx`.\n const [portalHost, setPortalHost] = React.useState<HTMLDivElement | null>(null);\n\n return (\n <DataPanelVariantContext.Provider value=\"drawer\">\n <DrawerPrimitive.Root\n open={open}\n onOpenChange={nextOpen => {\n if (!nextOpen) onClose?.();\n }}\n swipeDirection=\"right\"\n >\n <DrawerPrimitive.Portal>\n {/* Lighter than the shared `--scrim`: a side panel should keep the page beneath readable. */}\n <DrawerPrimitive.Backdrop className=\"drawer-backdrop fixed inset-0 z-50 bg-scrim/30\" />\n <DrawerPrimitive.Viewport className=\"fixed inset-0 z-50\">\n <DrawerPrimitive.Popup\n data-slot=\"data-panel-popup\"\n data-depth={depth}\n data-size={size}\n className={cn(\n 'drawer-popup fixed inset-y-0 right-0 z-50 flex max-w-full p-4 outline-none',\n size === 'md' ? DEPTH_WIDTH[depth] : SIZE_WIDTH[size],\n )}\n style={\n size !== 'md' && depth > 1\n ? { width: `calc(${SIZE_PERCENT[size]} - ${(depth - 1) * DEPTH_PEEK_REM}rem)` }\n : undefined\n }\n >\n {/* Not a heading: the visible `DataPanel.Heading` already is one; this only names the dialog. */}\n <DrawerPrimitive.Title render={<span />} className=\"sr-only\">\n {title}\n </DrawerPrimitive.Title>\n {description && (\n <DrawerPrimitive.Description className=\"sr-only\">{description}</DrawerPrimitive.Description>\n )}\n\n <DrawerPrimitive.Content render={<div ref={setPortalHost} className=\"absolute\" />} />\n\n <PortalContainerProvider container={portalHost}>\n {/* Whole card is swipe-exempt: pointerdown on tabs/buttons/text must not start a dismiss gesture. */}\n <DrawerPrimitive.Content\n render={<section />}\n className={cn(CARD_CLASSES, frameFillStyle, 'rounded-xl shadow-overlay', className)}\n >\n {children}\n </DrawerPrimitive.Content>\n </PortalContainerProvider>\n </DrawerPrimitive.Popup>\n </DrawerPrimitive.Viewport>\n </DrawerPrimitive.Portal>\n </DrawerPrimitive.Root>\n </DataPanelVariantContext.Provider>\n );\n}\n","import { DataPanelCloseButton } from './data-panel-close-button';\nimport { DataPanelContent } from './data-panel-content';\nimport { DataPanelCopyId } from './data-panel-copy-id';\nimport { DataPanelHeader } from './data-panel-header';\nimport { DataPanelHeaderActions } from './data-panel-header-actions';\nimport { DataPanelHeaderContent } from './data-panel-header-content';\nimport { DataPanelHeading } from './data-panel-heading';\nimport { DataPanelLoadingData } from './data-panel-loading-data';\nimport { DataPanelMeta, DataPanelMetadata } from './data-panel-metadata';\nimport { DataPanelNextPrevNav } from './data-panel-next-prev-nav';\nimport { DataPanelNoData } from './data-panel-no-data';\nimport { DataPanelRoot } from './data-panel-root';\nimport { DataPanelSectionHeading } from './data-panel-section-heading';\nimport { DataCodeSection } from '@/ds/components/DataCodeSection';\n\nexport const DataPanel = Object.assign(DataPanelRoot, {\n Header: DataPanelHeader,\n HeaderContent: DataPanelHeaderContent,\n HeaderActions: DataPanelHeaderActions,\n Heading: DataPanelHeading,\n Metadata: DataPanelMetadata,\n Meta: DataPanelMeta,\n CloseButton: DataPanelCloseButton,\n CopyId: DataPanelCopyId,\n NextPrevNav: DataPanelNextPrevNav,\n LoadingData: DataPanelLoadingData,\n NoData: DataPanelNoData,\n Content: DataPanelContent,\n CodeSection: DataCodeSection,\n SectionHeading: DataPanelSectionHeading,\n});\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_utils = require("./utils-uDc1ofX1.cjs");
|
|
2
2
|
const require_Button = require("./Button-YQRflC47.cjs");
|
|
3
3
|
const require_Txt = require("./Txt-BnoSqxKE.cjs");
|
|
4
|
-
const require_dropdown_menu = require("./dropdown-menu-
|
|
4
|
+
const require_dropdown_menu = require("./dropdown-menu-C-3jXKWx.cjs");
|
|
5
5
|
const require_components_Field = require("./components/Field.cjs.js");
|
|
6
6
|
const require_popover = require("./popover-BJqa6Hz6.cjs");
|
|
7
7
|
const require_components_DateTimePicker = require("./components/DateTimePicker.cjs.js");
|
|
@@ -283,4 +283,4 @@ Object.defineProperty(exports, "DateTimeRangePicker", {
|
|
|
283
283
|
}
|
|
284
284
|
});
|
|
285
285
|
|
|
286
|
-
//# sourceMappingURL=DateTimeRangePicker-
|
|
286
|
+
//# sourceMappingURL=DateTimeRangePicker-BZrHuA3p.cjs.map
|