@mastra/playground-ui 56.0.0-alpha.9 → 56.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -16
- package/dist/Badge-BEeYtjmv.cjs +125 -0
- package/dist/Badge-BEeYtjmv.cjs.map +1 -0
- package/dist/Badge-TD55_qZJ.js +123 -0
- package/dist/Badge-TD55_qZJ.js.map +1 -0
- package/dist/Button-CVewl8nT.cjs +202 -0
- package/dist/Button-CVewl8nT.cjs.map +1 -0
- package/dist/Button-cWcBEd-G.js +198 -0
- package/dist/Button-cWcBEd-G.js.map +1 -0
- package/dist/Card-D0kFp9j9.cjs +101 -0
- package/dist/Card-D0kFp9j9.cjs.map +1 -0
- package/dist/Card-DEvGFj-Z.js +74 -0
- package/dist/Card-DEvGFj-Z.js.map +1 -0
- package/dist/CommandPalette.css +9 -10
- package/dist/EmptyState-CdRjFB06.cjs +33 -0
- package/dist/EmptyState-CdRjFB06.cjs.map +1 -0
- package/dist/EmptyState-UWXhBp5U.js +31 -0
- package/dist/EmptyState-UWXhBp5U.js.map +1 -0
- package/dist/ErrorState-B3uTRAEd.cjs +16 -0
- package/dist/ErrorState-B3uTRAEd.cjs.map +1 -0
- package/dist/ErrorState-DqRx8Dw_.js +14 -0
- package/dist/ErrorState-DqRx8Dw_.js.map +1 -0
- package/dist/Notice-Ah-84yi6.js +89 -0
- package/dist/Notice-Ah-84yi6.js.map +1 -0
- package/dist/Notice-Cjti0e0j.cjs +91 -0
- package/dist/Notice-Cjti0e0j.cjs.map +1 -0
- package/dist/PermissionDenied-B6TSGolC.js +22 -0
- package/dist/PermissionDenied-B6TSGolC.js.map +1 -0
- package/dist/PermissionDenied-Dz5qXpQj.cjs +24 -0
- package/dist/PermissionDenied-Dz5qXpQj.cjs.map +1 -0
- package/dist/SessionExpired-Bq5LcsDu.js +45 -0
- package/dist/SessionExpired-Bq5LcsDu.js.map +1 -0
- package/dist/SessionExpired-CF0BGNo_.cjs +47 -0
- package/dist/SessionExpired-CF0BGNo_.cjs.map +1 -0
- package/dist/Txt-B4-2nLaI.cjs +38 -0
- package/dist/Txt-B4-2nLaI.cjs.map +1 -0
- package/dist/Txt-DTh3Pa_a.js +36 -0
- package/dist/Txt-DTh3Pa_a.js.map +1 -0
- package/dist/activity-B8TfxRNU.js +49 -0
- package/dist/activity-B8TfxRNU.js.map +1 -0
- package/dist/activity-BYMLNb0G.cjs +52 -0
- package/dist/activity-BYMLNb0G.cjs.map +1 -0
- package/dist/activity.css +1 -1
- package/dist/arrival-BWQZUZFQ.cjs +22 -0
- package/dist/arrival-BWQZUZFQ.cjs.map +1 -0
- package/dist/arrival-RmSek4Iq.js +19 -0
- package/dist/arrival-RmSek4Iq.js.map +1 -0
- package/dist/ask-user-CS2e6Re4.cjs +147 -0
- package/dist/ask-user-CS2e6Re4.cjs.map +1 -0
- package/dist/ask-user-gS3Y1bCc.js +138 -0
- package/dist/ask-user-gS3Y1bCc.js.map +1 -0
- package/dist/buttons-group-BiLEV_Ak.cjs +101 -0
- package/dist/buttons-group-BiLEV_Ak.cjs.map +1 -0
- package/dist/buttons-group-CaA7KAWf.js +78 -0
- package/dist/buttons-group-CaA7KAWf.js.map +1 -0
- package/dist/buttons-group.css +135 -0
- package/dist/chart-tooltip-84fl_3Wc.js +17 -0
- package/dist/chart-tooltip-84fl_3Wc.js.map +1 -0
- package/dist/chart-tooltip-DX6vs_Tc.cjs +19 -0
- package/dist/chart-tooltip-DX6vs_Tc.cjs.map +1 -0
- package/dist/chat-notification-4OuPNhtu.js +107 -0
- package/dist/chat-notification-4OuPNhtu.js.map +1 -0
- package/dist/chat-notification-CPrlBwP_.cjs +111 -0
- package/dist/chat-notification-CPrlBwP_.cjs.map +1 -0
- package/dist/chat-signal-B_T2DSzo.cjs +42 -0
- package/dist/chat-signal-B_T2DSzo.cjs.map +1 -0
- package/dist/chat-signal-CG5-vy21.js +40 -0
- package/dist/chat-signal-CG5-vy21.js.map +1 -0
- package/dist/checkbox-CI8JtZKS.cjs +100 -0
- package/dist/checkbox-CI8JtZKS.cjs.map +1 -0
- package/dist/checkbox-CQedzgsi.js +79 -0
- package/dist/checkbox-CQedzgsi.js.map +1 -0
- package/dist/cn-65Adrsfj.js +3286 -0
- package/dist/cn-65Adrsfj.js.map +1 -0
- package/dist/cn-DG0X1KEP.cjs +3289 -0
- package/dist/cn-DG0X1KEP.cjs.map +1 -0
- package/dist/code-block-CSqjpBvb.js +86 -0
- package/dist/code-block-CSqjpBvb.js.map +1 -0
- package/dist/code-block-Cd4u7Bo9.cjs +88 -0
- package/dist/code-block-Cd4u7Bo9.cjs.map +1 -0
- package/dist/code-diff-C5uY-3Hz.js +145 -0
- package/dist/code-diff-C5uY-3Hz.js.map +1 -0
- package/dist/code-diff-DBtbPe9D.cjs +147 -0
- package/dist/code-diff-DBtbPe9D.cjs.map +1 -0
- package/dist/code-editor-DgY7d8kg.cjs +494 -0
- package/dist/code-editor-DgY7d8kg.cjs.map +1 -0
- package/dist/code-editor-vCt7l9Bl.js +486 -0
- package/dist/code-editor-vCt7l9Bl.js.map +1 -0
- package/dist/collapsible-B2uUy8w5.js +57 -0
- package/dist/collapsible-B2uUy8w5.js.map +1 -0
- package/dist/collapsible-BvrI6XnN.cjs +61 -0
- package/dist/collapsible-BvrI6XnN.cjs.map +1 -0
- package/dist/combobox-BWM3VH-n.cjs +203 -0
- package/dist/combobox-BWM3VH-n.cjs.map +1 -0
- package/dist/combobox-D7xJFZuO.js +182 -0
- package/dist/combobox-D7xJFZuO.js.map +1 -0
- package/dist/combobox-styles-CRebmeht.js +94 -0
- package/dist/combobox-styles-CRebmeht.js.map +1 -0
- package/dist/combobox-styles-DYlNNjKC.cjs +98 -0
- package/dist/combobox-styles-DYlNNjKC.cjs.map +1 -0
- package/dist/command-DuT06mTw.cjs +211 -0
- package/dist/command-DuT06mTw.cjs.map +1 -0
- package/dist/command-jRiL1vXM.js +182 -0
- package/dist/command-jRiL1vXM.js.map +1 -0
- package/dist/components/Activity.cjs.js +1 -1
- package/dist/components/Activity.es.js +1 -1
- package/dist/components/AlertDialog.cjs.js +16 -7
- package/dist/components/AlertDialog.cjs.js.map +1 -1
- package/dist/components/AlertDialog.es.js +16 -7
- package/dist/components/AlertDialog.es.js.map +1 -1
- package/dist/components/Arrival.cjs.js +1 -1
- package/dist/components/Arrival.es.js +1 -1
- package/dist/components/Avatar.cjs.js +9 -8
- package/dist/components/Avatar.cjs.js.map +1 -1
- package/dist/components/Avatar.es.js +10 -9
- package/dist/components/Avatar.es.js.map +1 -1
- package/dist/components/Badge.cjs.js +1 -1
- package/dist/components/Badge.es.js +1 -1
- package/dist/components/BrandLoader.cjs.js +2 -2
- package/dist/components/BrandLoader.cjs.js.map +1 -1
- package/dist/components/BrandLoader.es.js +2 -2
- package/dist/components/BrandLoader.es.js.map +1 -1
- package/dist/components/Breadcrumb.cjs.js +8 -7
- package/dist/components/Breadcrumb.cjs.js.map +1 -1
- package/dist/components/Breadcrumb.es.js +9 -8
- package/dist/components/Breadcrumb.es.js.map +1 -1
- package/dist/components/Button.cjs.js +2 -2
- package/dist/components/Button.es.js +3 -3
- package/dist/components/ButtonsGroup.cjs.js +1 -2
- package/dist/components/ButtonsGroup.cjs.js.map +1 -1
- package/dist/components/ButtonsGroup.es.js +1 -1
- package/dist/components/Card.cjs.js +1 -1
- package/dist/components/Card.es.js +1 -1
- package/dist/components/ChartTooltip.cjs.js +10 -0
- package/dist/components/ChartTooltip.cjs.js.map +1 -0
- package/dist/components/ChartTooltip.d.ts +2 -0
- package/dist/components/ChartTooltip.es.js +2 -0
- package/dist/components/ChartTooltip.es.js.map +1 -0
- package/dist/components/ChatShell.cjs.js +4 -4
- package/dist/components/ChatShell.cjs.js.map +1 -1
- package/dist/components/ChatShell.es.js +4 -4
- package/dist/components/ChatShell.es.js.map +1 -1
- package/dist/components/Checkbox.cjs.js +1 -1
- package/dist/components/Checkbox.es.js +1 -1
- package/dist/components/ClampedText.cjs.js +4 -4
- package/dist/components/ClampedText.cjs.js.map +1 -1
- package/dist/components/ClampedText.es.js +4 -4
- package/dist/components/ClampedText.es.js.map +1 -1
- package/dist/components/CodeBlock.cjs.js +1 -1
- package/dist/components/CodeBlock.es.js +1 -1
- package/dist/components/CodeDiff.cjs.js +1 -1
- package/dist/components/CodeDiff.es.js +1 -1
- package/dist/components/CodeEditor.cjs.js +1 -1
- package/dist/components/CodeEditor.es.js +1 -1
- package/dist/components/Collapsible.cjs.js +1 -1
- package/dist/components/Collapsible.es.js +1 -1
- package/dist/components/Columns.cjs.js +4 -4
- package/dist/components/Columns.cjs.js.map +1 -1
- package/dist/components/Columns.es.js +4 -4
- package/dist/components/Columns.es.js.map +1 -1
- package/dist/components/Combobox.cjs.js +2 -2
- package/dist/components/Combobox.es.js +2 -2
- package/dist/components/Command.cjs.js +1 -1
- package/dist/components/Command.es.js +1 -1
- package/dist/components/CommandPalette.cjs.js +51 -24
- package/dist/components/CommandPalette.cjs.js.map +1 -1
- package/dist/components/CommandPalette.es.js +51 -24
- package/dist/components/CommandPalette.es.js.map +1 -1
- package/dist/components/Comment.cjs.js +40 -36
- package/dist/components/Comment.cjs.js.map +1 -1
- package/dist/components/Comment.es.js +41 -37
- package/dist/components/Comment.es.js.map +1 -1
- package/dist/components/Composer.cjs.js +8 -8
- package/dist/components/Composer.cjs.js.map +1 -1
- package/dist/components/Composer.es.js +8 -8
- package/dist/components/Composer.es.js.map +1 -1
- package/dist/components/ContextMenu.cjs.js +2 -2
- package/dist/components/ContextMenu.cjs.js.map +1 -1
- package/dist/components/ContextMenu.es.js +2 -2
- package/dist/components/ContextMenu.es.js.map +1 -1
- package/dist/components/CopyButton.cjs.js +1 -1
- package/dist/components/CopyButton.es.js +1 -1
- package/dist/components/DataCodeSection.cjs.js +1 -1
- package/dist/components/DataCodeSection.es.js +1 -1
- package/dist/components/DataDetailsPanel.cjs.js +46 -30
- package/dist/components/DataDetailsPanel.cjs.js.map +1 -1
- package/dist/components/DataDetailsPanel.es.js +46 -30
- package/dist/components/DataDetailsPanel.es.js.map +1 -1
- package/dist/components/DataFilter.cjs.js +5 -5
- package/dist/components/DataFilter.cjs.js.map +1 -1
- package/dist/components/DataFilter.es.js +5 -5
- package/dist/components/DataFilter.es.js.map +1 -1
- package/dist/components/DataKeysAndValues.cjs.js +1 -1
- package/dist/components/DataKeysAndValues.es.js +1 -1
- package/dist/components/DataList.cjs.js +11 -10
- package/dist/components/DataList.cjs.js.map +1 -1
- package/dist/components/DataList.es.js +11 -10
- package/dist/components/DataList.es.js.map +1 -1
- package/dist/components/DataPanel.cjs.js +1 -1
- package/dist/components/DataPanel.es.js +1 -1
- package/dist/components/DateRangeTimeline.cjs.js +25 -22
- package/dist/components/DateRangeTimeline.cjs.js.map +1 -1
- package/dist/components/DateRangeTimeline.es.js +25 -22
- package/dist/components/DateRangeTimeline.es.js.map +1 -1
- package/dist/components/DateTimePicker.cjs.js +10 -23
- package/dist/components/DateTimePicker.cjs.js.map +1 -1
- package/dist/components/DateTimePicker.es.js +11 -24
- package/dist/components/DateTimePicker.es.js.map +1 -1
- package/dist/components/DateTimeRangePicker.cjs.js +1 -1
- package/dist/components/DateTimeRangePicker.es.js +1 -1
- package/dist/components/Dialog.cjs.js +4 -4
- package/dist/components/Dialog.cjs.js.map +1 -1
- package/dist/components/Dialog.es.js +5 -5
- package/dist/components/Dialog.es.js.map +1 -1
- package/dist/components/Drawer.cjs.js +1 -1
- package/dist/components/Drawer.es.js +1 -1
- package/dist/components/DropdownMenu.cjs.js +1 -1
- package/dist/components/DropdownMenu.es.js +1 -1
- package/dist/components/EmptyState.cjs.js +1 -1
- package/dist/components/EmptyState.es.js +1 -1
- package/dist/components/Entity.cjs.js +9 -7
- package/dist/components/Entity.cjs.js.map +1 -1
- package/dist/components/Entity.es.js +9 -7
- package/dist/components/Entity.es.js.map +1 -1
- package/dist/components/EntityHeader.cjs.js +4 -4
- package/dist/components/EntityHeader.cjs.js.map +1 -1
- package/dist/components/EntityHeader.es.js +4 -4
- package/dist/components/EntityHeader.es.js.map +1 -1
- package/dist/components/Entry.cjs.js +2 -2
- package/dist/components/Entry.cjs.js.map +1 -1
- package/dist/components/Entry.es.js +2 -2
- package/dist/components/Entry.es.js.map +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +21 -18
- package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
- package/dist/components/EnvironmentVariablesEditor.es.js +21 -18
- package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
- package/dist/components/ErrorBoundary.cjs.js +10 -9
- package/dist/components/ErrorBoundary.cjs.js.map +1 -1
- package/dist/components/ErrorBoundary.es.js +10 -9
- package/dist/components/ErrorBoundary.es.js.map +1 -1
- package/dist/components/ErrorState.cjs.js +1 -1
- package/dist/components/ErrorState.es.js +1 -1
- package/dist/components/FilterBar.cjs.js +224 -226
- package/dist/components/FilterBar.cjs.js.map +1 -1
- package/dist/components/FilterBar.es.js +228 -230
- package/dist/components/FilterBar.es.js.map +1 -1
- package/dist/components/FormFieldBlocks.cjs.js +52 -5
- package/dist/components/FormFieldBlocks.cjs.js.map +1 -1
- package/dist/components/FormFieldBlocks.es.js +54 -8
- package/dist/components/FormFieldBlocks.es.js.map +1 -1
- package/dist/components/Header.cjs.js +4 -4
- package/dist/components/Header.cjs.js.map +1 -1
- package/dist/components/Header.es.js +4 -4
- package/dist/components/Header.es.js.map +1 -1
- package/dist/components/HorizontalBars.cjs.js +1 -1
- package/dist/components/HorizontalBars.es.js +1 -1
- package/dist/components/HoverCard.cjs.js +1 -1
- package/dist/components/HoverCard.es.js +1 -1
- package/dist/components/Input.cjs.js +1 -1
- package/dist/components/Input.es.js +1 -1
- package/dist/components/InputGroup.cjs.js +1 -1
- package/dist/components/InputGroup.es.js +1 -1
- package/dist/components/IntegrationDialog.cjs.js +9 -10
- package/dist/components/IntegrationDialog.cjs.js.map +1 -1
- package/dist/components/IntegrationDialog.es.js +9 -10
- package/dist/components/IntegrationDialog.es.js.map +1 -1
- package/dist/components/ItemList.cjs.js +33 -24
- package/dist/components/ItemList.cjs.js.map +1 -1
- package/dist/components/ItemList.es.js +33 -24
- package/dist/components/ItemList.es.js.map +1 -1
- package/dist/components/JSONSchemaForm.cjs.js +14 -14
- package/dist/components/JSONSchemaForm.cjs.js.map +1 -1
- package/dist/components/JSONSchemaForm.es.js +14 -14
- package/dist/components/JSONSchemaForm.es.js.map +1 -1
- package/dist/components/Kbd.cjs.js +1 -1
- package/dist/components/Kbd.es.js +1 -1
- package/dist/components/KeyValueList.cjs.js +11 -11
- package/dist/components/KeyValueList.cjs.js.map +1 -1
- package/dist/components/KeyValueList.es.js +11 -11
- package/dist/components/KeyValueList.es.js.map +1 -1
- package/dist/components/Label.cjs.js +1 -1
- package/dist/components/Label.es.js +1 -1
- package/dist/components/ListSearch.cjs.js +1 -1
- package/dist/components/ListSearch.es.js +1 -1
- package/dist/components/Logo.cjs.js +2 -2
- package/dist/components/Logo.cjs.js.map +1 -1
- package/dist/components/Logo.es.js +2 -2
- package/dist/components/Logo.es.js.map +1 -1
- package/dist/components/LogsDataList.cjs.js +2 -2
- package/dist/components/LogsDataList.es.js +2 -2
- package/dist/components/MainContent.cjs.js +1 -1
- package/dist/components/MainContent.es.js +1 -1
- package/dist/components/MainHeader.cjs.js +18 -16
- package/dist/components/MainHeader.cjs.js.map +1 -1
- package/dist/components/MainHeader.es.js +18 -16
- package/dist/components/MainHeader.es.js.map +1 -1
- package/dist/components/MainSidebar.cjs.js +3 -3
- package/dist/components/MainSidebar.cjs.js.map +1 -1
- package/dist/components/MainSidebar.es.js +4 -4
- package/dist/components/MainSidebar.es.js.map +1 -1
- package/dist/components/MarkdownRenderer.cjs.js +1 -1
- package/dist/components/MarkdownRenderer.es.js +1 -1
- package/dist/components/Message.cjs.js +3 -3
- package/dist/components/Message.cjs.js.map +1 -1
- package/dist/components/Message.es.js +4 -4
- package/dist/components/Message.es.js.map +1 -1
- package/dist/components/MessageScroller.cjs.js +1 -1
- package/dist/components/MessageScroller.es.js +1 -1
- package/dist/components/MetricsCard.cjs.js +1 -1
- package/dist/components/MetricsCard.es.js +1 -1
- package/dist/components/MetricsFlexGrid.cjs.js +1 -1
- package/dist/components/MetricsFlexGrid.es.js +1 -1
- package/dist/components/MetricsKpiCard.cjs.js +1 -1
- package/dist/components/MetricsKpiCard.es.js +1 -1
- package/dist/components/MetricsLineChart.cjs.js +1 -1
- package/dist/components/MetricsLineChart.es.js +1 -1
- package/dist/components/Notice.cjs.js +1 -1
- package/dist/components/Notice.es.js +1 -1
- package/dist/components/PageHeader.cjs.js +1 -1
- package/dist/components/PageHeader.es.js +1 -1
- package/dist/components/PageLayout.cjs.js +2 -2
- package/dist/components/PageLayout.es.js +2 -2
- package/dist/components/PendingIndicator.cjs.js +2 -2
- package/dist/components/PendingIndicator.cjs.js.map +1 -1
- package/dist/components/PendingIndicator.es.js +2 -2
- package/dist/components/PendingIndicator.es.js.map +1 -1
- package/dist/components/PermissionDenied.cjs.js +1 -1
- package/dist/components/PermissionDenied.es.js +1 -1
- package/dist/components/Popover.cjs.js +1 -1
- package/dist/components/Popover.es.js +1 -1
- package/dist/components/PrevNextNav.cjs.js +1 -1
- package/dist/components/PrevNextNav.es.js +1 -1
- package/dist/components/PropertyFilter.cjs.js +19 -15
- package/dist/components/PropertyFilter.cjs.js.map +1 -1
- package/dist/components/PropertyFilter.es.js +20 -16
- package/dist/components/PropertyFilter.es.js.map +1 -1
- package/dist/components/PullRequestIcon.cjs.js +2 -2
- package/dist/components/PullRequestIcon.cjs.js.map +1 -1
- package/dist/components/PullRequestIcon.es.js +2 -2
- package/dist/components/PullRequestIcon.es.js.map +1 -1
- package/dist/components/RadioGroup.cjs.js +3 -18
- package/dist/components/RadioGroup.cjs.js.map +1 -1
- package/dist/components/RadioGroup.es.js +3 -18
- package/dist/components/RadioGroup.es.js.map +1 -1
- package/dist/components/RuleBuilder.cjs.js +37 -24
- package/dist/components/RuleBuilder.cjs.js.map +1 -1
- package/dist/components/RuleBuilder.es.js +37 -24
- package/dist/components/RuleBuilder.es.js.map +1 -1
- package/dist/components/SankeyChart.cjs.js +1 -1
- package/dist/components/SankeyChart.es.js +1 -1
- package/dist/components/ScatterPlotChart.cjs.js +23 -16
- package/dist/components/ScatterPlotChart.cjs.js.map +1 -1
- package/dist/components/ScatterPlotChart.es.js +21 -14
- package/dist/components/ScatterPlotChart.es.js.map +1 -1
- package/dist/components/ScrollArea.cjs.js +1 -1
- package/dist/components/ScrollArea.es.js +1 -1
- package/dist/components/Section.cjs.js +1 -1
- package/dist/components/Section.es.js +1 -1
- package/dist/components/SectionCard.cjs.js +5 -16
- package/dist/components/SectionCard.cjs.js.map +1 -1
- package/dist/components/SectionCard.es.js +5 -16
- package/dist/components/SectionCard.es.js.map +1 -1
- package/dist/components/Sections.cjs.js +1 -1
- package/dist/components/Sections.es.js +1 -1
- package/dist/components/Select.cjs.js +1 -1
- package/dist/components/Select.es.js +1 -1
- package/dist/components/SessionExpired.cjs.js +1 -1
- package/dist/components/SessionExpired.es.js +1 -1
- package/dist/components/SettingsLayout.cjs.js +1 -1
- package/dist/components/SettingsLayout.es.js +1 -1
- package/dist/components/SettingsRow.cjs.js +1 -1
- package/dist/components/SettingsRow.es.js +1 -1
- package/dist/components/Shimmer.cjs.js +1 -1
- package/dist/components/Shimmer.es.js +1 -1
- package/dist/components/SideDialog.cjs.js +31 -27
- package/dist/components/SideDialog.cjs.js.map +1 -1
- package/dist/components/SideDialog.es.js +31 -27
- package/dist/components/SideDialog.es.js.map +1 -1
- package/dist/components/Skeleton.cjs.js +1 -1
- package/dist/components/Skeleton.es.js +1 -1
- package/dist/components/Slider.cjs.js +1 -1
- package/dist/components/Slider.es.js +1 -1
- package/dist/components/Spinner.cjs.js +1 -1
- package/dist/components/Spinner.es.js +1 -1
- package/dist/components/StatusIndicators.cjs.js +11 -11
- package/dist/components/StatusIndicators.cjs.js.map +1 -1
- package/dist/components/StatusIndicators.es.js +11 -11
- package/dist/components/StatusIndicators.es.js.map +1 -1
- package/dist/components/Steps.cjs.js +19 -21
- package/dist/components/Steps.cjs.js.map +1 -1
- package/dist/components/Steps.es.js +19 -21
- package/dist/components/Steps.es.js.map +1 -1
- package/dist/components/Switch.cjs.js +1 -1
- package/dist/components/Switch.es.js +1 -1
- package/dist/components/Table.cjs.js +15 -15
- package/dist/components/Table.cjs.js.map +1 -1
- package/dist/components/Table.es.js +15 -15
- package/dist/components/Table.es.js.map +1 -1
- package/dist/components/Tabs.cjs.js +3 -3
- package/dist/components/Tabs.es.js +3 -3
- package/dist/components/Text.cjs.js +1 -1
- package/dist/components/Text.es.js +1 -1
- package/dist/components/Textarea.cjs.js +1 -1
- package/dist/components/Textarea.es.js +1 -1
- package/dist/components/ThemeToggle.cjs.js +8 -6
- package/dist/components/ThemeToggle.cjs.js.map +1 -1
- package/dist/components/ThemeToggle.es.js +8 -6
- package/dist/components/ThemeToggle.es.js.map +1 -1
- package/dist/components/ThreadList.cjs.js +8 -7
- package/dist/components/ThreadList.cjs.js.map +1 -1
- package/dist/components/ThreadList.es.js +8 -7
- package/dist/components/ThreadList.es.js.map +1 -1
- package/dist/components/ThreadRail.cjs.js +1 -1
- package/dist/components/ThreadRail.es.js +1 -1
- package/dist/components/Toaster.cjs.js +1 -1
- package/dist/components/Toaster.es.js +1 -1
- package/dist/components/TokenBudget.cjs.js +9 -9
- package/dist/components/TokenBudget.cjs.js.map +1 -1
- package/dist/components/TokenBudget.es.js +9 -9
- package/dist/components/TokenBudget.es.js.map +1 -1
- package/dist/components/Tooltip.cjs.js +1 -1
- package/dist/components/Tooltip.es.js +1 -1
- package/dist/components/Tree.cjs.js +12 -12
- package/dist/components/Tree.cjs.js.map +1 -1
- package/dist/components/Tree.es.js +12 -12
- package/dist/components/Tree.es.js.map +1 -1
- package/dist/components/Truncate.cjs.js +4 -4
- package/dist/components/Truncate.es.js +4 -4
- package/dist/components/Txt.cjs.js +1 -1
- package/dist/components/Txt.es.js +1 -1
- package/dist/components/Workflow.cjs.js +114 -83
- package/dist/components/Workflow.cjs.js.map +1 -1
- package/dist/components/Workflow.es.js +114 -83
- package/dist/components/Workflow.es.js.map +1 -1
- package/dist/components/ai/ask-user.cjs.js +1 -1
- package/dist/components/ai/ask-user.es.js +1 -1
- package/dist/components/ai/chat-event.cjs.js +9 -9
- package/dist/components/ai/chat-event.cjs.js.map +1 -1
- package/dist/components/ai/chat-event.es.js +10 -10
- package/dist/components/ai/chat-event.es.js.map +1 -1
- package/dist/components/ai/plan.cjs.js +16 -15
- package/dist/components/ai/plan.cjs.js.map +1 -1
- package/dist/components/ai/plan.es.js +16 -15
- package/dist/components/ai/plan.es.js.map +1 -1
- package/dist/components/ai/task-list.cjs.js +15 -14
- package/dist/components/ai/task-list.cjs.js.map +1 -1
- package/dist/components/ai/task-list.es.js +15 -14
- package/dist/components/ai/task-list.es.js.map +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 +15 -15
- package/dist/components/ai/tool-call.cjs.js.map +1 -1
- package/dist/components/ai/tool-call.es.js +16 -16
- package/dist/components/ai/tool-call.es.js.map +1 -1
- package/dist/components/fluid-hover-highlight.cjs.js +1 -1
- package/dist/components/fluid-hover-highlight.es.js +1 -1
- package/dist/composer-BUoRnMDd.cjs +156 -0
- package/dist/composer-BUoRnMDd.cjs.map +1 -0
- package/dist/composer-CEL1glw7.js +148 -0
- package/dist/composer-CEL1glw7.js.map +1 -0
- package/dist/composer.css +6 -6
- package/dist/copy-button-2cwdZ3dW.js +36 -0
- package/dist/copy-button-2cwdZ3dW.js.map +1 -0
- package/dist/copy-button-BbDBpBMl.cjs +38 -0
- package/dist/copy-button-BbDBpBMl.cjs.map +1 -0
- package/dist/data-code-section-DKz9Okaz.js +367 -0
- package/dist/data-code-section-DKz9Okaz.js.map +1 -0
- package/dist/data-code-section-qujvEc6j.cjs +369 -0
- package/dist/data-code-section-qujvEc6j.cjs.map +1 -0
- package/dist/data-keys-and-values-4pYpSbqS.cjs +126 -0
- package/dist/data-keys-and-values-4pYpSbqS.cjs.map +1 -0
- package/dist/data-keys-and-values-j0NVKPOl.js +124 -0
- package/dist/data-keys-and-values-j0NVKPOl.js.map +1 -0
- package/dist/data-list-CypPKOQ_.cjs +125 -0
- package/dist/data-list-CypPKOQ_.cjs.map +1 -0
- package/dist/data-list-DnSdaRES.js +121 -0
- package/dist/data-list-DnSdaRES.js.map +1 -0
- package/dist/data-list-skeleton-ADXw-opu.cjs +38 -0
- package/dist/data-list-skeleton-ADXw-opu.cjs.map +1 -0
- package/dist/data-list-skeleton-D7-glFuk.js +36 -0
- package/dist/data-list-skeleton-D7-glFuk.js.map +1 -0
- package/dist/data-list-spacer-DRHNUeeP.js +200 -0
- package/dist/data-list-spacer-DRHNUeeP.js.map +1 -0
- package/dist/data-list-spacer-EWo65MrK.cjs +209 -0
- package/dist/data-list-spacer-EWo65MrK.cjs.map +1 -0
- package/dist/data-list-top-DLwt_Sv-.js +367 -0
- package/dist/data-list-top-DLwt_Sv-.js.map +1 -0
- package/dist/data-list-top-RK_yX6z8.cjs +392 -0
- package/dist/data-list-top-RK_yX6z8.cjs.map +1 -0
- package/dist/data-panel-CWZJKBeW.cjs +270 -0
- package/dist/data-panel-CWZJKBeW.cjs.map +1 -0
- package/dist/data-panel-CWjgS1Gh.js +250 -0
- package/dist/data-panel-CWjgS1Gh.js.map +1 -0
- package/dist/data-panel-section-heading-CXD1skJD.js +21 -0
- package/dist/data-panel-section-heading-CXD1skJD.js.map +1 -0
- package/dist/data-panel-section-heading-V86Awzqg.cjs +23 -0
- package/dist/data-panel-section-heading-V86Awzqg.cjs.map +1 -0
- package/dist/date-picker-DgWTsiJ7.js +53 -0
- package/dist/date-picker-DgWTsiJ7.js.map +1 -0
- package/dist/date-picker-dRZF8frf.cjs +55 -0
- package/dist/date-picker-dRZF8frf.cjs.map +1 -0
- package/dist/date-time-range-picker-BcjLbkGu.js +178 -0
- package/dist/date-time-range-picker-BcjLbkGu.js.map +1 -0
- package/dist/date-time-range-picker-C6hjZswK.cjs +180 -0
- package/dist/date-time-range-picker-C6hjZswK.cjs.map +1 -0
- package/dist/dialog-DRpMek34.js +246 -0
- package/dist/dialog-DRpMek34.js.map +1 -0
- package/dist/dialog-Dm33cZqt.cjs +280 -0
- package/dist/dialog-Dm33cZqt.cjs.map +1 -0
- package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
- package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
- package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +2 -2
- package/dist/domains/chat/attachments/composer-attachment-list.es.js +2 -2
- package/dist/domains/chat/attachments/composer-attachment.cjs.js +5 -4
- package/dist/domains/chat/attachments/composer-attachment.cjs.js.map +1 -1
- package/dist/domains/chat/attachments/composer-attachment.es.js +5 -4
- package/dist/domains/chat/attachments/composer-attachment.es.js.map +1 -1
- package/dist/domains/chat/components/badge-wrapper.cjs.js +2 -2
- package/dist/domains/chat/components/badge-wrapper.es.js +2 -2
- package/dist/domains/chat/components/loading-badge.cjs.js +3 -3
- package/dist/domains/chat/components/loading-badge.cjs.js.map +1 -1
- package/dist/domains/chat/components/loading-badge.es.js +3 -3
- package/dist/domains/chat/components/loading-badge.es.js.map +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +9 -9
- package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js.map +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +9 -9
- package/dist/domains/chat/components/network-choice-metadata-dialog.es.js.map +1 -1
- package/dist/domains/chat/components/section-label.cjs.js +2 -2
- package/dist/domains/chat/components/section-label.cjs.js.map +1 -1
- package/dist/domains/chat/components/section-label.es.js +2 -2
- package/dist/domains/chat/components/section-label.es.js.map +1 -1
- 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-streaming-line.cjs.js +6 -5
- package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js.map +1 -1
- package/dist/domains/chat/messages/reasoning-streaming-line.es.js +6 -5
- package/dist/domains/chat/messages/reasoning-streaming-line.es.js.map +1 -1
- package/dist/domains/chat/messages/reasoning.cjs.js +8 -29
- package/dist/domains/chat/messages/reasoning.cjs.js.map +1 -1
- package/dist/domains/chat/messages/reasoning.es.js +9 -30
- package/dist/domains/chat/messages/reasoning.es.js.map +1 -1
- package/dist/domains/chat/messages/renderers/message-text.cjs.js +4 -4
- package/dist/domains/chat/messages/renderers/message-text.es.js +4 -4
- package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/status-renderers.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/system-reminder-badge.cjs.js +7 -7
- package/dist/domains/chat/messages/system-reminder-badge.cjs.js.map +1 -1
- package/dist/domains/chat/messages/system-reminder-badge.es.js +7 -7
- package/dist/domains/chat/messages/system-reminder-badge.es.js.map +1 -1
- package/dist/domains/chat/messages/tripwire-notice.cjs.js +4 -4
- package/dist/domains/chat/messages/tripwire-notice.cjs.js.map +1 -1
- package/dist/domains/chat/messages/tripwire-notice.es.js +4 -4
- package/dist/domains/chat/messages/tripwire-notice.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +5 -5
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js +5 -5
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +36 -36
- package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +36 -36
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +14 -14
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.es.js +14 -14
- package/dist/domains/chat/tools/badges/observation-renderer.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js +1 -1
- package/dist/domains/logs/components/log-details-view.cjs.js +11 -11
- package/dist/domains/logs/components/log-details-view.cjs.js.map +1 -1
- package/dist/domains/logs/components/log-details-view.es.js +11 -11
- package/dist/domains/logs/components/log-details-view.es.js.map +1 -1
- package/dist/domains/logs/components/logs-error-content.cjs.js +4 -4
- package/dist/domains/logs/components/logs-error-content.es.js +4 -4
- package/dist/domains/logs/components/logs-layout.cjs.js +1 -1
- package/dist/domains/logs/components/logs-layout.es.js +1 -1
- package/dist/domains/logs/components/logs-list-view.cjs.js +6 -4
- package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
- package/dist/domains/logs/components/logs-list-view.es.js +6 -4
- package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
- package/dist/domains/logs/components/logs-toolbar.cjs.js +2 -2
- package/dist/domains/logs/components/logs-toolbar.es.js +2 -2
- package/dist/domains/logs/components/no-logs-info.cjs.js +2 -2
- package/dist/domains/logs/components/no-logs-info.es.js +2 -2
- package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +1 -1
- package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js +1 -1
- package/dist/domains/logs/hooks/use-logs.cjs.js +7 -3
- package/dist/domains/logs/hooks/use-logs.cjs.js.map +1 -1
- package/dist/domains/logs/hooks/use-logs.es.js +7 -3
- package/dist/domains/logs/hooks/use-logs.es.js.map +1 -1
- package/dist/domains/memory/components/flame-graph.cjs.js +24 -23
- package/dist/domains/memory/components/flame-graph.cjs.js.map +1 -1
- package/dist/domains/memory/components/flame-graph.es.js +24 -23
- package/dist/domains/memory/components/flame-graph.es.js.map +1 -1
- package/dist/domains/memory/components/memory-studio-panel.cjs.js +7 -7
- package/dist/domains/memory/components/memory-studio-panel.cjs.js.map +1 -1
- package/dist/domains/memory/components/memory-studio-panel.es.js +7 -7
- package/dist/domains/memory/components/memory-studio-panel.es.js.map +1 -1
- package/dist/domains/memory/components/observation-detail-view.cjs.js +29 -29
- package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
- package/dist/domains/memory/components/observation-detail-view.es.js +29 -29
- package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
- package/dist/domains/memory/components/thread-context-progress.cjs.js +5 -5
- package/dist/domains/memory/components/thread-context-progress.cjs.js.map +1 -1
- package/dist/domains/memory/components/thread-context-progress.es.js +5 -5
- package/dist/domains/memory/components/thread-context-progress.es.js.map +1 -1
- package/dist/domains/metrics/components/bar-list.cjs.js +10 -10
- package/dist/domains/metrics/components/bar-list.cjs.js.map +1 -1
- package/dist/domains/metrics/components/bar-list.es.js +10 -10
- package/dist/domains/metrics/components/bar-list.es.js.map +1 -1
- package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
- package/dist/domains/metrics/components/card-action-buttons.es.js +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/kpi-card-view.cjs.js +1 -1
- package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
- package/dist/domains/metrics/components/latency-card-view.cjs.js +5 -5
- package/dist/domains/metrics/components/latency-card-view.es.js +5 -5
- package/dist/domains/metrics/components/memory-card-view.cjs.js +7 -7
- package/dist/domains/metrics/components/memory-card-view.cjs.js.map +1 -1
- package/dist/domains/metrics/components/memory-card-view.es.js +7 -7
- package/dist/domains/metrics/components/memory-card-view.es.js.map +1 -1
- package/dist/domains/metrics/components/metrics-utils.cjs.js +8 -11
- package/dist/domains/metrics/components/metrics-utils.cjs.js.map +1 -1
- package/dist/domains/metrics/components/metrics-utils.es.js +8 -11
- package/dist/domains/metrics/components/metrics-utils.es.js.map +1 -1
- package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +3 -3
- package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js.map +1 -1
- package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +3 -3
- package/dist/domains/metrics/components/model-usage-cost-card-view.es.js.map +1 -1
- package/dist/domains/metrics/components/scores-card-view.cjs.js +7 -7
- package/dist/domains/metrics/components/scores-card-view.cjs.js.map +1 -1
- package/dist/domains/metrics/components/scores-card-view.es.js +7 -7
- package/dist/domains/metrics/components/scores-card-view.es.js.map +1 -1
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +5 -5
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +5 -5
- package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +5 -5
- package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +5 -5
- package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +5 -5
- package/dist/domains/metrics/components/traces-volume-card-view.es.js +5 -5
- package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
- package/dist/domains/traces/components/no-traces-info.es.js +1 -1
- package/dist/domains/traces/components/shared.cjs.js +11 -11
- package/dist/domains/traces/components/shared.cjs.js.map +1 -1
- package/dist/domains/traces/components/shared.es.js +11 -11
- package/dist/domains/traces/components/shared.es.js.map +1 -1
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +8 -8
- package/dist/domains/traces/components/span-data-panel-view.es.js +8 -8
- package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
- package/dist/domains/traces/components/span-details-view.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +4 -4
- 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 +4 -4
- 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 +6 -15
- 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 +6 -15
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +4 -2
- package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-json.es.js +4 -2
- package/dist/domains/traces/components/span-payload/span-payload-json.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +7 -7
- 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 +7 -7
- 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 -2
- package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
- package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
- package/dist/domains/traces/components/span-summary-description.es.js +1 -1
- package/dist/domains/traces/components/span-timeline-row.cjs.js +9 -9
- package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-timeline-row.es.js +9 -9
- package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -1
- package/dist/domains/traces/components/span-timing-hover-card.cjs.js +5 -5
- package/dist/domains/traces/components/span-timing-hover-card.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-timing-hover-card.es.js +5 -5
- package/dist/domains/traces/components/span-timing-hover-card.es.js.map +1 -1
- package/dist/domains/traces/components/span-token-usage.cjs.js +40 -46
- package/dist/domains/traces/components/span-token-usage.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-token-usage.es.js +40 -46
- package/dist/domains/traces/components/span-token-usage.es.js.map +1 -1
- package/dist/domains/traces/components/span-type-legend.cjs.js +1 -1
- package/dist/domains/traces/components/span-type-legend.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +3 -3
- package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +3 -3
- package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +7 -7
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +7 -7
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-rail.cjs.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-rail.es.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js +2 -2
- 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 +2 -2
- 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 +3 -3
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +3 -3
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js.map +1 -1
- package/dist/domains/traces/components/timeline-name-col.cjs.js +9 -12
- package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
- package/dist/domains/traces/components/timeline-name-col.es.js +9 -12
- package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
- package/dist/domains/traces/components/timeline-structure-sign.cjs.js +3 -3
- package/dist/domains/traces/components/timeline-structure-sign.cjs.js.map +1 -1
- package/dist/domains/traces/components/timeline-structure-sign.es.js +3 -3
- package/dist/domains/traces/components/timeline-structure-sign.es.js.map +1 -1
- package/dist/domains/traces/components/timeline-timing-col.cjs.js +7 -7
- package/dist/domains/traces/components/timeline-timing-col.cjs.js.map +1 -1
- package/dist/domains/traces/components/timeline-timing-col.es.js +7 -7
- package/dist/domains/traces/components/timeline-timing-col.es.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +52 -22
- package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.es.js +54 -24
- package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +17 -18
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.es.js +17 -18
- package/dist/domains/traces/components/trace-data-panel-view.es.js.map +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-keys-and-values.cjs.js +2 -2
- package/dist/domains/traces/components/trace-keys-and-values.es.js +2 -2
- package/dist/domains/traces/components/trace-span-timeline.cjs.js +1 -1
- package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-timeline.es.js +1 -1
- package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
- package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js +2 -2
- package/dist/domains/traces/components/trace-span-tree-skeleton.es.js +2 -2
- package/dist/domains/traces/components/trace-span-tree.cjs.js +1 -1
- package/dist/domains/traces/components/trace-span-tree.es.js +1 -1
- package/dist/domains/traces/components/trace-status-value.cjs.js +2 -2
- package/dist/domains/traces/components/trace-status-value.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-status-value.es.js +2 -2
- package/dist/domains/traces/components/trace-status-value.es.js.map +1 -1
- package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
- package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js +5 -12
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.es.js +5 -12
- package/dist/domains/traces/components/trace-time-range-chip.es.js.map +1 -1
- package/dist/domains/traces/components/traces-error-content.cjs.js +3 -3
- package/dist/domains/traces/components/traces-error-content.es.js +3 -3
- package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +2 -2
- package/dist/domains/traces/components/traces-list-mode-toggle.es.js +2 -2
- package/dist/domains/traces/components/traces-list-view-adapter.cjs.js +6 -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 +6 -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 +69 -9
- package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view.es.js +70 -10
- package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +4 -4
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js +4 -4
- package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
- package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +1 -1
- package/dist/domains/traces/hooks/use-download-trace-json.es.js +1 -1
- package/dist/domains/traces/hooks/use-trace-column-preferences.cjs.js +13 -0
- 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 +13 -0
- package/dist/domains/traces/hooks/use-trace-column-preferences.es.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.cjs.js +11 -13
- package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.es.js +11 -14
- package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.es.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-query.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-query.es.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +1 -5
- package/dist/domains/traces/hooks/use-trace-url-state.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-url-state.es.js +2 -6
- package/dist/domains/traces/hooks/use-trace-url-state.es.js.map +1 -1
- package/dist/domains/traces/trace-filters.cjs.js +172 -43
- package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
- package/dist/domains/traces/trace-filters.es.js +172 -46
- package/dist/domains/traces/trace-filters.es.js.map +1 -1
- package/dist/domains/traces/trace-list-columns.cjs.js +42 -6
- package/dist/domains/traces/trace-list-columns.cjs.js.map +1 -1
- package/dist/domains/traces/trace-list-columns.es.js +39 -7
- package/dist/domains/traces/trace-list-columns.es.js.map +1 -1
- package/dist/domains/traces/trace-query-filters.cjs.js +113 -28
- package/dist/domains/traces/trace-query-filters.cjs.js.map +1 -1
- package/dist/domains/traces/trace-query-filters.es.js +110 -29
- package/dist/domains/traces/trace-query-filters.es.js.map +1 -1
- package/dist/domains/traces.cjs.js +7 -0
- package/dist/domains/traces.cjs.js.map +1 -1
- package/dist/domains/traces.es.js +2 -2
- package/dist/drawer-BL5shtHH.cjs +369 -0
- package/dist/drawer-BL5shtHH.cjs.map +1 -0
- package/dist/drawer-Bv2DRY8E.js +329 -0
- package/dist/drawer-Bv2DRY8E.js.map +1 -0
- package/dist/drawer.css +10 -0
- package/dist/dropdown-menu-DL0MzjEb.js +222 -0
- package/dist/dropdown-menu-DL0MzjEb.js.map +1 -0
- package/dist/dropdown-menu-DNRCA4Gj.cjs +243 -0
- package/dist/dropdown-menu-DNRCA4Gj.cjs.map +1 -0
- package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +11 -12
- package/dist/ee/signals/components/entity-index-compact-grid.cjs.js.map +1 -1
- package/dist/ee/signals/components/entity-index-compact-grid.es.js +11 -12
- package/dist/ee/signals/components/entity-index-compact-grid.es.js.map +1 -1
- package/dist/ee/signals/components/entity-index-list.cjs.js +2 -2
- package/dist/ee/signals/components/entity-index-list.es.js +2 -2
- package/dist/ee/signals/components/signals-empty-state.cjs.js +53 -48
- package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -1
- package/dist/ee/signals/components/signals-empty-state.es.js +53 -48
- package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +2 -2
- package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +2 -2
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +12 -12
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +12 -12
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
- package/dist/ee/signals/examples-pager.cjs.js +2 -2
- package/dist/ee/signals/examples-pager.cjs.js.map +1 -1
- package/dist/ee/signals/examples-pager.es.js +2 -2
- package/dist/ee/signals/examples-pager.es.js.map +1 -1
- package/dist/ee/signals/flow-card.cjs.js +7 -7
- package/dist/ee/signals/flow-card.cjs.js.map +1 -1
- package/dist/ee/signals/flow-card.es.js +7 -7
- package/dist/ee/signals/flow-card.es.js.map +1 -1
- package/dist/ee/signals/lifeline-point.cjs.js +3 -2
- package/dist/ee/signals/lifeline-point.cjs.js.map +1 -1
- package/dist/ee/signals/lifeline-point.es.js +3 -2
- package/dist/ee/signals/lifeline-point.es.js.map +1 -1
- package/dist/ee/signals/lifeline-row.cjs.js +11 -4
- package/dist/ee/signals/lifeline-row.cjs.js.map +1 -1
- package/dist/ee/signals/lifeline-row.es.js +11 -4
- package/dist/ee/signals/lifeline-row.es.js.map +1 -1
- package/dist/ee/signals/noise-detail-panel.cjs.js +31 -12
- package/dist/ee/signals/noise-detail-panel.cjs.js.map +1 -1
- package/dist/ee/signals/noise-detail-panel.es.js +31 -12
- package/dist/ee/signals/noise-detail-panel.es.js.map +1 -1
- package/dist/ee/signals/sankey-signals.cjs.js +5 -5
- package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
- package/dist/ee/signals/sankey-signals.es.js +5 -5
- package/dist/ee/signals/sankey-signals.es.js.map +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +29 -19
- package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js.map +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +29 -19
- package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
- package/dist/ee/signals/settings/trace-signal-settings.cjs.js +16 -16
- package/dist/ee/signals/settings/trace-signal-settings.cjs.js.map +1 -1
- package/dist/ee/signals/settings/trace-signal-settings.es.js +16 -16
- package/dist/ee/signals/settings/trace-signal-settings.es.js.map +1 -1
- package/dist/ee/signals/signal-delta-column.cjs.js +8 -8
- package/dist/ee/signals/signal-delta-column.cjs.js.map +1 -1
- package/dist/ee/signals/signal-delta-column.es.js +8 -8
- package/dist/ee/signals/signal-delta-column.es.js.map +1 -1
- package/dist/ee/signals/signal-lifelines.cjs.js +3 -3
- package/dist/ee/signals/signal-lifelines.cjs.js.map +1 -1
- package/dist/ee/signals/signal-lifelines.es.js +3 -3
- package/dist/ee/signals/signal-lifelines.es.js.map +1 -1
- package/dist/ee/signals/signals-error-state.cjs.js +4 -4
- package/dist/ee/signals/signals-error-state.cjs.js.map +1 -1
- package/dist/ee/signals/signals-error-state.es.js +4 -4
- package/dist/ee/signals/signals-error-state.es.js.map +1 -1
- package/dist/ee/signals/signals-loading-skeleton.cjs.js +2 -2
- package/dist/ee/signals/signals-loading-skeleton.cjs.js.map +1 -1
- package/dist/ee/signals/signals-loading-skeleton.es.js +2 -2
- package/dist/ee/signals/signals-loading-skeleton.es.js.map +1 -1
- package/dist/ee/signals/snapshot-timeline.cjs.js +5 -5
- package/dist/ee/signals/snapshot-timeline.cjs.js.map +1 -1
- package/dist/ee/signals/snapshot-timeline.es.js +5 -5
- package/dist/ee/signals/snapshot-timeline.es.js.map +1 -1
- package/dist/ee/signals/sortable-signal-headers.cjs.js +12 -4
- package/dist/ee/signals/sortable-signal-headers.cjs.js.map +1 -1
- package/dist/ee/signals/sortable-signal-headers.es.js +12 -4
- package/dist/ee/signals/sortable-signal-headers.es.js.map +1 -1
- package/dist/ee/signals/theme-compare-sparkline.cjs.js +1 -1
- package/dist/ee/signals/theme-compare-sparkline.cjs.js.map +1 -1
- package/dist/ee/signals/theme-compare-sparkline.es.js +1 -1
- package/dist/ee/signals/theme-compare-sparkline.es.js.map +1 -1
- package/dist/ee/signals/theme-compare.cjs.js +5 -5
- package/dist/ee/signals/theme-compare.cjs.js.map +1 -1
- package/dist/ee/signals/theme-compare.es.js +5 -5
- package/dist/ee/signals/theme-compare.es.js.map +1 -1
- package/dist/ee/signals/theme-detail-panel.cjs.js +25 -20
- package/dist/ee/signals/theme-detail-panel.cjs.js.map +1 -1
- package/dist/ee/signals/theme-detail-panel.es.js +25 -20
- package/dist/ee/signals/theme-detail-panel.es.js.map +1 -1
- package/dist/ee/signals/theme-filter-banner.cjs.js +3 -3
- package/dist/ee/signals/theme-filter-banner.cjs.js.map +1 -1
- package/dist/ee/signals/theme-filter-banner.es.js +3 -3
- package/dist/ee/signals/theme-filter-banner.es.js.map +1 -1
- package/dist/ee/signals/theme-lifelines.cjs.js +1 -1
- package/dist/ee/signals/theme-lifelines.cjs.js.map +1 -1
- package/dist/ee/signals/theme-lifelines.es.js +1 -1
- package/dist/ee/signals/theme-lifelines.es.js.map +1 -1
- package/dist/ee/signals/theme-trend-chart.cjs.js +2 -2
- package/dist/ee/signals/theme-trend-chart.cjs.js.map +1 -1
- package/dist/ee/signals/theme-trend-chart.es.js +2 -2
- package/dist/ee/signals/theme-trend-chart.es.js.map +1 -1
- package/dist/ee/signals/trace-insight-view.cjs.js +23 -21
- package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -1
- package/dist/ee/signals/trace-insight-view.es.js +23 -21
- package/dist/ee/signals/trace-insight-view.es.js.map +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js +11 -8
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js.map +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.es.js +11 -8
- package/dist/ee/signals/trace-intelligence-explainer.es.js.map +1 -1
- package/dist/ee/signals/view-mode-tab.cjs.js +4 -4
- package/dist/ee/signals/view-mode-tab.cjs.js.map +1 -1
- package/dist/ee/signals/view-mode-tab.es.js +4 -4
- package/dist/ee/signals/view-mode-tab.es.js.map +1 -1
- package/dist/ee/topics/components/topic-trace-details-panel.cjs.js +1 -1
- package/dist/ee/topics/components/topic-trace-details-panel.es.js +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +4 -4
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js.map +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +4 -4
- package/dist/ee/topics/components/topic-trace-summary-list.es.js.map +1 -1
- package/dist/ee/topics/components/topics-layout.cjs.js +2 -2
- package/dist/ee/topics/components/topics-layout.cjs.js.map +1 -1
- package/dist/ee/topics/components/topics-layout.es.js +2 -2
- package/dist/ee/topics/components/topics-layout.es.js.map +1 -1
- package/dist/field-block-DWkbNcsV.js +96 -0
- package/dist/field-block-DWkbNcsV.js.map +1 -0
- package/dist/field-block-Dy1IaWbv.cjs +98 -0
- package/dist/field-block-Dy1IaWbv.cjs.map +1 -0
- package/dist/filter-bar-chip-BxI0NgEz.cjs +1000 -0
- package/dist/filter-bar-chip-BxI0NgEz.cjs.map +1 -0
- package/dist/filter-bar-chip-C-JxWUU8.js +984 -0
- package/dist/filter-bar-chip-C-JxWUU8.js.map +1 -0
- package/dist/filter-bar-chip.css +131 -0
- package/dist/hooks/use-copy-to-clipboard.cjs.js +1 -1
- package/dist/hooks/use-copy-to-clipboard.es.js +1 -1
- package/dist/horizontal-bars-CksEKcCE.js +139 -0
- package/dist/horizontal-bars-CksEKcCE.js.map +1 -0
- package/dist/horizontal-bars-nyWGmQ7g.cjs +141 -0
- package/dist/horizontal-bars-nyWGmQ7g.cjs.map +1 -0
- package/dist/hover-card-Ch5smNcf.js +71 -0
- package/dist/hover-card-Ch5smNcf.js.map +1 -0
- package/dist/hover-card-DdHnkGcs.cjs +94 -0
- package/dist/hover-card-DdHnkGcs.cjs.map +1 -0
- package/dist/icons/Icon.cjs.js +9 -8
- package/dist/icons/Icon.cjs.js.map +1 -1
- package/dist/icons/Icon.es.js +9 -9
- package/dist/icons/Icon.es.js.map +1 -1
- package/dist/index-C-fBJhpb.cjs +47 -0
- package/dist/index-C-fBJhpb.cjs.map +1 -0
- package/dist/index-Dubp6Qv4.js +45 -0
- package/dist/index-Dubp6Qv4.js.map +1 -0
- package/dist/input-B1RysHyq.js +68 -0
- package/dist/input-B1RysHyq.js.map +1 -0
- package/dist/input-CDLMprJS.cjs +89 -0
- package/dist/input-CDLMprJS.cjs.map +1 -0
- package/dist/input-group-BEdHivvy.js +194 -0
- package/dist/input-group-BEdHivvy.js.map +1 -0
- package/dist/input-group-CvWwK1Vz.cjs +220 -0
- package/dist/input-group-CvWwK1Vz.cjs.map +1 -0
- package/dist/kbd-B-Z2sNvK.cjs +29 -0
- package/dist/kbd-B-Z2sNvK.cjs.map +1 -0
- package/dist/kbd-CINtikLh.js +27 -0
- package/dist/kbd-CINtikLh.js.map +1 -0
- package/dist/label-DfAhywj_.cjs +39 -0
- package/dist/label-DfAhywj_.cjs.map +1 -0
- package/dist/label-Dxsz0dFs.js +18 -0
- package/dist/label-Dxsz0dFs.js.map +1 -0
- package/dist/layout/tabbed-container.cjs.js +10 -10
- package/dist/layout/tabbed-container.cjs.js.map +1 -1
- package/dist/layout/tabbed-container.es.js +10 -10
- package/dist/layout/tabbed-container.es.js.map +1 -1
- package/dist/list-search-BTW0Neuc.js +69 -0
- package/dist/list-search-BTW0Neuc.js.map +1 -0
- package/dist/list-search-vyxsZMAK.cjs +71 -0
- package/dist/list-search-vyxsZMAK.cjs.map +1 -0
- package/dist/logs-data-list-BSHJPGi6.cjs +83 -0
- package/dist/logs-data-list-BSHJPGi6.cjs.map +1 -0
- package/dist/logs-data-list-CG-UgC_x.js +81 -0
- package/dist/logs-data-list-CG-UgC_x.js.map +1 -0
- package/dist/main-sidebar-link-active-CmDoiX6g.js +786 -0
- package/dist/main-sidebar-link-active-CmDoiX6g.js.map +1 -0
- package/dist/main-sidebar-link-active-DbCvKZy2.cjs +803 -0
- package/dist/main-sidebar-link-active-DbCvKZy2.cjs.map +1 -0
- package/dist/markdown-renderer-B0gTm_Ea.js +408 -0
- package/dist/markdown-renderer-B0gTm_Ea.js.map +1 -0
- package/dist/markdown-renderer-D8qYAU7K.cjs +410 -0
- package/dist/markdown-renderer-D8qYAU7K.cjs.map +1 -0
- package/dist/markdown-renderer.css +20 -20
- package/dist/message-BrwbcLPi.js +62 -0
- package/dist/message-BrwbcLPi.js.map +1 -0
- package/dist/message-CszposMZ.cjs +66 -0
- package/dist/message-CszposMZ.cjs.map +1 -0
- package/dist/message-scroller-c22pIucB.cjs +860 -0
- package/dist/message-scroller-c22pIucB.cjs.map +1 -0
- package/dist/message-scroller-v1kQVq2v.js +834 -0
- package/dist/message-scroller-v1kQVq2v.js.map +1 -0
- package/dist/metrics-card-BUJxiwec.cjs +95 -0
- package/dist/metrics-card-BUJxiwec.cjs.map +1 -0
- package/dist/metrics-card-BlBt1WHw.js +93 -0
- package/dist/metrics-card-BlBt1WHw.js.map +1 -0
- package/dist/metrics-kpi-card-CBSNmtc5.js +77 -0
- package/dist/metrics-kpi-card-CBSNmtc5.js.map +1 -0
- package/dist/metrics-kpi-card-CgqmNcEC.cjs +79 -0
- package/dist/metrics-kpi-card-CgqmNcEC.cjs.map +1 -0
- package/dist/metrics-line-chart-B_sP3eiL.cjs +114 -0
- package/dist/metrics-line-chart-B_sP3eiL.cjs.map +1 -0
- package/dist/metrics-line-chart-DHyrDPkJ.js +111 -0
- package/dist/metrics-line-chart-DHyrDPkJ.js.map +1 -0
- package/dist/new/layout/app-shell.cjs.js +4 -2
- package/dist/new/layout/app-shell.cjs.js.map +1 -1
- package/dist/new/layout/app-shell.es.js +4 -2
- package/dist/new/layout/app-shell.es.js.map +1 -1
- package/dist/new/layout/page-header.cjs.js +1 -1
- package/dist/new/layout/page-header.es.js +1 -1
- package/dist/new/layout/page-shell.cjs.js +2 -2
- package/dist/new/layout/page-shell.es.js +2 -2
- package/dist/new/settings.cjs.js +9 -19
- package/dist/new/settings.cjs.js.map +1 -1
- package/dist/new/settings.es.js +9 -19
- package/dist/new/settings.es.js.map +1 -1
- package/dist/new/sidebar.cjs.js +22 -27
- package/dist/new/sidebar.cjs.js.map +1 -1
- package/dist/new/sidebar.es.js +23 -28
- package/dist/new/sidebar.es.js.map +1 -1
- package/dist/no-data-page-layout-DcVPjj-J.js +9 -0
- package/dist/no-data-page-layout-DcVPjj-J.js.map +1 -0
- package/dist/no-data-page-layout-Drzbg_w8.cjs +11 -0
- package/dist/no-data-page-layout-Drzbg_w8.cjs.map +1 -0
- package/dist/page-header-BBlPmW-T.cjs +118 -0
- package/dist/page-header-BBlPmW-T.cjs.map +1 -0
- package/dist/page-header-BIoUf7MA.js +116 -0
- package/dist/page-header-BIoUf7MA.js.map +1 -0
- package/dist/page-layout-C9ifD9Q8.cjs +99 -0
- package/dist/page-layout-C9ifD9Q8.cjs.map +1 -0
- package/dist/page-layout-xcM8IR-B.js +97 -0
- package/dist/page-layout-xcM8IR-B.js.map +1 -0
- package/dist/popover-Dg70UGyn.js +99 -0
- package/dist/popover-Dg70UGyn.js.map +1 -0
- package/dist/popover-lBqKiPtp.cjs +123 -0
- package/dist/popover-lBqKiPtp.cjs.map +1 -0
- package/dist/primitives/control-size.cjs.js +10 -19
- package/dist/primitives/control-size.cjs.js.map +1 -1
- package/dist/primitives/control-size.es.js +11 -19
- package/dist/primitives/control-size.es.js.map +1 -1
- package/dist/primitives/fluid-menu.cjs.js +27 -10
- package/dist/primitives/fluid-menu.cjs.js.map +1 -1
- package/dist/primitives/fluid-menu.es.js +27 -10
- package/dist/primitives/fluid-menu.es.js.map +1 -1
- package/dist/primitives/form-element.cjs.js +11 -11
- package/dist/primitives/form-element.cjs.js.map +1 -1
- package/dist/primitives/form-element.es.js +11 -9
- package/dist/primitives/form-element.es.js.map +1 -1
- package/dist/primitives/menu-item.cjs.js +17 -11
- package/dist/primitives/menu-item.cjs.js.map +1 -1
- package/dist/primitives/menu-item.es.js +17 -11
- package/dist/primitives/menu-item.es.js.map +1 -1
- package/dist/primitives/raised-surface.cjs.js +16 -0
- package/dist/primitives/raised-surface.cjs.js.map +1 -0
- package/dist/primitives/raised-surface.d.ts +2 -0
- package/dist/primitives/raised-surface.es.js +8 -0
- package/dist/primitives/raised-surface.es.js.map +1 -0
- package/dist/primitives/resize-handle-indicator.cjs.js +4 -4
- package/dist/primitives/resize-handle-indicator.cjs.js.map +1 -1
- package/dist/primitives/resize-handle-indicator.es.js +4 -4
- package/dist/primitives/resize-handle-indicator.es.js.map +1 -1
- package/dist/primitives/selection-control.cjs.js +22 -0
- package/dist/primitives/selection-control.cjs.js.map +1 -0
- package/dist/primitives/selection-control.d.ts +2 -0
- package/dist/primitives/selection-control.es.js +18 -0
- package/dist/primitives/selection-control.es.js.map +1 -0
- package/dist/primitives/transitions.cjs.js +2 -0
- package/dist/primitives/transitions.cjs.js.map +1 -1
- package/dist/primitives/transitions.es.js +2 -1
- package/dist/primitives/transitions.es.js.map +1 -1
- package/dist/primitives/trigger-button.cjs.js +2 -2
- package/dist/primitives/trigger-button.es.js +2 -2
- package/dist/primitives/typography.cjs.js +10 -0
- package/dist/primitives/typography.cjs.js.map +1 -0
- package/dist/primitives/typography.d.ts +2 -0
- package/dist/primitives/typography.es.js +5 -0
- package/dist/primitives/typography.es.js.map +1 -0
- package/dist/property-filter-applied-BBiUbtr0.js +343 -0
- package/dist/property-filter-applied-BBiUbtr0.js.map +1 -0
- package/dist/property-filter-applied-BmxCPe2d.cjs +347 -0
- package/dist/property-filter-applied-BmxCPe2d.cjs.map +1 -0
- package/dist/resize/collapsible-panel.cjs.js +4 -4
- package/dist/resize/collapsible-panel.cjs.js.map +1 -1
- package/dist/resize/collapsible-panel.es.js +4 -4
- package/dist/resize/collapsible-panel.es.js.map +1 -1
- package/dist/resize/panel-drawer.cjs.js +2 -2
- package/dist/resize/panel-drawer.es.js +2 -2
- package/dist/resize/panel-group.cjs.js +1 -1
- package/dist/resize/panel-group.es.js +1 -1
- package/dist/resize/panel-icon-button.cjs.js +6 -3
- package/dist/resize/panel-icon-button.cjs.js.map +1 -1
- package/dist/resize/panel-icon-button.es.js +6 -3
- package/dist/resize/panel-icon-button.es.js.map +1 -1
- package/dist/resize/separator.cjs.js +2 -2
- package/dist/resize/separator.cjs.js.map +1 -1
- package/dist/resize/separator.es.js +2 -2
- package/dist/resize/separator.es.js.map +1 -1
- package/dist/sankey-chart-Bcm9jMhe.cjs +926 -0
- package/dist/sankey-chart-Bcm9jMhe.cjs.map +1 -0
- package/dist/sankey-chart-CqngN2lw.js +916 -0
- package/dist/sankey-chart-CqngN2lw.js.map +1 -0
- package/dist/scroll-area-CdQ_5bLm.js +227 -0
- package/dist/scroll-area-CdQ_5bLm.js.map +1 -0
- package/dist/scroll-area-Qjf7e0Ik.cjs +249 -0
- package/dist/scroll-area-Qjf7e0Ik.cjs.map +1 -0
- package/dist/search-field-block-B5vUVTpl.js +125 -0
- package/dist/search-field-block-B5vUVTpl.js.map +1 -0
- package/dist/search-field-block-D0PUUCAE.cjs +127 -0
- package/dist/search-field-block-D0PUUCAE.cjs.map +1 -0
- package/dist/section-B9OLuEq3.js +111 -0
- package/dist/section-B9OLuEq3.js.map +1 -0
- package/dist/section-CTihfzmc.cjs +115 -0
- package/dist/section-CTihfzmc.cjs.map +1 -0
- package/dist/select--DXpTg0O.js +139 -0
- package/dist/select--DXpTg0O.js.map +1 -0
- package/dist/select-7ACAVdGX.cjs +165 -0
- package/dist/select-7ACAVdGX.cjs.map +1 -0
- package/dist/select-field-block-Bu7UXI2H.js +59 -0
- package/dist/select-field-block-Bu7UXI2H.js.map +1 -0
- package/dist/select-field-block-W2u2WmN3.cjs +61 -0
- package/dist/select-field-block-W2u2WmN3.cjs.map +1 -0
- package/dist/settings-container-3_Yu2aCY.cjs +33 -0
- package/dist/settings-container-3_Yu2aCY.cjs.map +1 -0
- package/dist/settings-container-T53heJKd.js +30 -0
- package/dist/settings-container-T53heJKd.js.map +1 -0
- package/dist/settings-layout-C80s-D31.js +47 -0
- package/dist/settings-layout-C80s-D31.js.map +1 -0
- package/dist/settings-layout-NP_1dC-e.cjs +49 -0
- package/dist/settings-layout-NP_1dC-e.cjs.map +1 -0
- package/dist/settings-row-B2IekRyH.js +83 -0
- package/dist/settings-row-B2IekRyH.js.map +1 -0
- package/dist/settings-row-BoAuUUuH.cjs +86 -0
- package/dist/settings-row-BoAuUUuH.cjs.map +1 -0
- package/dist/shimmer-BN7Dzm37.js +23 -0
- package/dist/shimmer-BN7Dzm37.js.map +1 -0
- package/dist/shimmer-DbSkqomT.cjs +25 -0
- package/dist/shimmer-DbSkqomT.cjs.map +1 -0
- package/dist/skeleton-BsRAXyh5.js +23 -0
- package/dist/skeleton-BsRAXyh5.js.map +1 -0
- package/dist/skeleton-cXUjPrq9.cjs +25 -0
- package/dist/skeleton-cXUjPrq9.cjs.map +1 -0
- package/dist/slider-C-Fda4HC.cjs +97 -0
- package/dist/slider-C-Fda4HC.cjs.map +1 -0
- package/dist/slider-MM3K0Pyv.js +95 -0
- package/dist/slider-MM3K0Pyv.js.map +1 -0
- package/dist/sort/sort-by.cjs.js +44 -0
- package/dist/sort/sort-by.cjs.js.map +1 -0
- package/dist/sort/sort-by.d.ts +2 -0
- package/dist/sort/sort-by.es.js +39 -0
- package/dist/sort/sort-by.es.js.map +1 -0
- package/dist/sort/use-url-sort.cjs.js +52 -0
- package/dist/sort/use-url-sort.cjs.js.map +1 -0
- package/dist/sort/use-url-sort.d.ts +2 -0
- package/dist/sort/use-url-sort.es.js +45 -0
- package/dist/sort/use-url-sort.es.js.map +1 -0
- package/dist/span-payload-primitives-DnRsP93D.cjs +75 -0
- package/dist/span-payload-primitives-DnRsP93D.cjs.map +1 -0
- package/dist/span-payload-primitives-sbxk4CHC.js +68 -0
- package/dist/span-payload-primitives-sbxk4CHC.js.map +1 -0
- package/dist/spinner-CqP-NaB2.cjs +53 -0
- package/dist/spinner-CqP-NaB2.cjs.map +1 -0
- package/dist/spinner-D2C2DYw8.js +51 -0
- package/dist/spinner-D2C2DYw8.js.map +1 -0
- package/dist/src/domains/logs/components/logs-list-view.d.ts +5 -1
- package/dist/src/domains/logs/hooks/use-logs.d.ts +2 -0
- package/dist/src/domains/metrics/components/metrics-utils.d.ts +8 -11
- package/dist/src/domains/traces/components/span-timing-hover-card.d.ts +0 -1
- package/dist/src/domains/traces/components/trace-columns-menu.d.ts +6 -2
- package/dist/src/domains/traces/components/trace-time-range-chip.stories.d.ts +7 -0
- package/dist/src/domains/traces/components/traces-list-view.d.ts +11 -2
- package/dist/src/domains/traces/hooks/use-trace-column-preferences.d.ts +3 -1
- package/dist/src/domains/traces/hooks/use-trace-metadata-filter-fields.d.ts +4 -1
- package/dist/src/domains/traces/hooks/use-trace-query.d.ts +2 -2
- package/dist/src/domains/traces/hooks/use-trace-spans.d.ts +16 -16
- package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +4 -5
- package/dist/src/domains/traces/trace-filters.d.ts +32 -10
- package/dist/src/domains/traces/trace-list-columns.d.ts +11 -2
- package/dist/src/domains/traces/trace-query-filters.d.ts +20 -2
- package/dist/src/ds/components/Button/Button.d.ts +1 -1
- package/dist/src/ds/components/ButtonsGroup/buttons-group.d.ts +1 -10
- package/dist/src/ds/components/ButtonsGroup/buttons-group.stories.d.ts +14 -3
- package/dist/src/ds/components/Card/Card.d.ts +3 -5
- package/dist/src/ds/components/Card/card.stories.d.ts +1 -1
- package/dist/src/ds/components/ChartTooltip/chart-tooltip.d.ts +11 -0
- package/dist/src/ds/components/ChartTooltip/index.d.ts +1 -0
- package/dist/src/ds/components/ChatShell/chat-shell.d.ts +4 -2
- package/dist/src/ds/components/Combobox/combobox-styles.d.ts +4 -7
- package/dist/src/ds/components/Combobox/combobox.d.ts +3 -0
- package/dist/src/ds/components/Combobox/combobox.stories.d.ts +1 -0
- package/dist/src/ds/components/DataKeysAndValues/shared.d.ts +1 -1
- package/dist/src/ds/components/DataList/ScoresDataList/scores-data-list.d.ts +2 -0
- package/dist/src/ds/components/DataList/TracesDataList/traces-data-list-cells.d.ts +2 -3
- package/dist/src/ds/components/DataList/TracesDataList/traces-data-list.d.ts +4 -2
- package/dist/src/ds/components/DataList/data-list-cells.d.ts +2 -2
- package/dist/src/ds/components/DataList/data-list-root.d.ts +3 -2
- package/dist/src/ds/components/DataList/data-list-sortable-top-cell.d.ts +6 -6
- package/dist/src/ds/components/DataList/data-list.d.ts +3 -2
- package/dist/src/ds/components/DataList/data-list.stories.d.ts +5 -0
- package/dist/src/ds/components/DataList/shared.d.ts +13 -4
- package/dist/src/ds/components/DataPanel/data-panel-root.d.ts +2 -1
- package/dist/src/ds/components/Dialog/dialog-context.d.ts +3 -4
- package/dist/src/ds/components/FilterBar/filter-bar-chip.d.ts +10 -1
- package/dist/src/ds/components/FilterBar/filter-bar-context.d.ts +16 -3
- package/dist/src/ds/components/FilterBar/filter-bar.d.ts +19 -3
- package/dist/src/ds/components/FilterBar/index.d.ts +2 -2
- package/dist/src/ds/components/FilterBar/types.d.ts +22 -0
- package/dist/src/ds/components/FormFieldBlocks/block/field-block-label.d.ts +3 -1
- package/dist/src/ds/components/FormFieldBlocks/block/field-block-message.d.ts +6 -0
- package/dist/src/ds/components/FormFieldBlocks/block/field-block.d.ts +2 -0
- package/dist/src/ds/components/FormFieldBlocks/fields/search-field-block.d.ts +1 -2
- package/dist/src/ds/components/FormFieldBlocks/fields/textarea-field-block.d.ts +15 -0
- package/dist/src/ds/components/FormFieldBlocks/index.d.ts +1 -0
- package/dist/src/ds/components/HoverCard/hover-card.d.ts +0 -21
- package/dist/src/ds/components/HoverCard/hover-card.stories.d.ts +1 -0
- package/dist/src/ds/components/Input/input.d.ts +4 -4
- package/dist/src/ds/components/Input/input.stories.d.ts +0 -1
- package/dist/src/ds/components/InputGroup/input-group.d.ts +2 -12
- package/dist/src/ds/components/InputGroup/input-group.stories.d.ts +1 -1
- package/dist/src/ds/components/Kbd/kbd.d.ts +1 -2
- package/dist/src/ds/components/Kbd/kbd.stories.d.ts +1 -2
- package/dist/src/ds/components/ListSearch/list-search.d.ts +1 -2
- package/dist/src/ds/components/LogsDataList/logs-data-list.d.ts +2 -0
- package/dist/src/ds/components/MainHeader/main-header-title.d.ts +1 -2
- package/dist/src/ds/components/MainSidebar/main-sidebar-nav-item-classes.d.ts +1 -1
- package/dist/src/ds/components/MainSidebar/main-sidebar-nav-link.d.ts +1 -0
- package/dist/src/ds/components/Tabs/tabs-list.d.ts +3 -14
- package/dist/src/ds/components/Textarea/textarea.d.ts +4 -4
- package/dist/src/ds/components/ThemeToggle/theme-toggle.d.ts +2 -2
- package/dist/src/ds/components/Txt/Txt.d.ts +8 -15
- package/dist/src/ds/components/Txt/txt.stories.d.ts +6 -17
- package/dist/src/ds/components/Workflow/cards/workflow-clock.d.ts +2 -1
- package/dist/src/ds/components/Workflow/types.d.ts +1 -0
- package/dist/src/ds/icons/Icon.d.ts +3 -1
- package/dist/src/ds/new/layout/page-header/page-header-title.d.ts +1 -3
- package/dist/src/ds/new/layout/page-header/page-header.d.ts +1 -1
- package/dist/src/ds/new/layout/page-header/page-header.stories.d.ts +1 -9
- package/dist/src/ds/primitives/control-size.d.ts +1 -2
- package/dist/src/ds/primitives/fluid-menu.d.ts +9 -6
- package/dist/src/ds/primitives/form-element.d.ts +5 -7
- package/dist/src/ds/primitives/menu-item.d.ts +3 -3
- package/dist/src/ds/primitives/raised-surface.d.ts +50 -0
- package/dist/src/ds/primitives/selection-control.d.ts +1 -0
- package/dist/src/ds/primitives/transitions.d.ts +1 -0
- package/dist/src/ds/primitives/typography.d.ts +11 -0
- package/dist/src/ds/tokens/animations.d.ts +6 -7
- package/dist/src/ds/tokens/colors.d.ts +63 -18
- package/dist/src/ds/tokens/elevation-foundations.stories.d.ts +5 -0
- package/dist/src/ds/tokens/fonts.d.ts +3 -25
- package/dist/src/ds/tokens/foundations-layout.d.ts +29 -0
- package/dist/src/ds/tokens/index.d.ts +0 -1
- package/dist/src/ds/tokens/motion-foundations.stories.d.ts +5 -0
- package/dist/src/ds/tokens/shadows.d.ts +3 -13
- package/dist/src/ds/tokens/shape-foundations.stories.d.ts +5 -0
- package/dist/src/ds/tokens/sizes.d.ts +7 -8
- package/dist/src/ds/tokens/status-foundations.stories.d.ts +5 -0
- package/dist/src/ds/tokens/surface-foundations.stories.d.ts +5 -0
- package/dist/src/ds/tokens/utilities-foundations.stories.d.ts +5 -0
- package/dist/src/lib/sort/sort-by.d.ts +16 -0
- package/dist/src/lib/sort/use-url-sort.d.ts +24 -0
- package/dist/src/utils/duration.d.ts +1 -0
- package/dist/style.css +2235 -3169
- package/dist/switch-6125Oajw.cjs +124 -0
- package/dist/switch-6125Oajw.cjs.map +1 -0
- package/dist/switch-CE9jTpUG.js +103 -0
- package/dist/switch-CE9jTpUG.js.map +1 -0
- package/dist/tabbed-container.css +15 -15
- package/dist/tabs-content-Bz6CZuv9.cjs +37 -0
- package/dist/tabs-content-Bz6CZuv9.cjs.map +1 -0
- package/dist/tabs-content-CKC4kIpH.js +35 -0
- package/dist/tabs-content-CKC4kIpH.js.map +1 -0
- package/dist/tabs-root-C5ABfm1F.cjs +315 -0
- package/dist/tabs-root-C5ABfm1F.cjs.map +1 -0
- package/dist/tabs-root-CcEQrwTM.js +312 -0
- package/dist/tabs-root-CcEQrwTM.js.map +1 -0
- package/dist/tabs-root.css +18 -31
- package/dist/tabs-tab-BycF4dvx.js +103 -0
- package/dist/tabs-tab-BycF4dvx.js.map +1 -0
- package/dist/tabs-tab-DA466DbX.cjs +107 -0
- package/dist/tabs-tab-DA466DbX.cjs.map +1 -0
- package/dist/text-field-block--EUJKlY_.js +56 -0
- package/dist/text-field-block--EUJKlY_.js.map +1 -0
- package/dist/text-field-block-BLpLWmu8.cjs +58 -0
- package/dist/text-field-block-BLpLWmu8.cjs.map +1 -0
- package/dist/textarea-5b6XcMrq.cjs +79 -0
- package/dist/textarea-5b6XcMrq.cjs.map +1 -0
- package/dist/textarea-DdnzLrI9.js +58 -0
- package/dist/textarea-DdnzLrI9.js.map +1 -0
- package/dist/thread-rail-b-8RHNX_.cjs +343 -0
- package/dist/thread-rail-b-8RHNX_.cjs.map +1 -0
- package/dist/thread-rail-vsR5C0j4.js +322 -0
- package/dist/thread-rail-vsR5C0j4.js.map +1 -0
- package/dist/time-picker-DVt1ZUsS.js +76 -0
- package/dist/time-picker-DVt1ZUsS.js.map +1 -0
- package/dist/time-picker-Dlm-C-n4.cjs +78 -0
- package/dist/time-picker-Dlm-C-n4.cjs.map +1 -0
- package/dist/toast-c5kCpyWt.js +52 -0
- package/dist/toast-c5kCpyWt.js.map +1 -0
- package/dist/toast-nm-fM7BR.cjs +55 -0
- package/dist/toast-nm-fM7BR.cjs.map +1 -0
- package/dist/toast.css +12 -12
- package/dist/tokens.cjs.js +153 -22
- package/dist/tokens.cjs.js.map +1 -1
- package/dist/tokens.es.js +144 -11
- package/dist/tokens.es.js.map +1 -1
- package/dist/tool-approval-DB82iiRa.js +66 -0
- package/dist/tool-approval-DB82iiRa.js.map +1 -0
- package/dist/tool-approval-Dys524ty.cjs +69 -0
- package/dist/tool-approval-Dys524ty.cjs.map +1 -0
- package/dist/tool-call-CMRvRE-v.cjs +197 -0
- package/dist/tool-call-CMRvRE-v.cjs.map +1 -0
- package/dist/tool-call-K147tCug.js +182 -0
- package/dist/tool-call-K147tCug.js.map +1 -0
- package/dist/tooltip-BrDiP0RI.js +114 -0
- package/dist/tooltip-BrDiP0RI.js.map +1 -0
- package/dist/tooltip-FvWL16Xn.cjs +138 -0
- package/dist/tooltip-FvWL16Xn.cjs.map +1 -0
- package/dist/traces-data-list-B3q_cy6c.cjs +97 -0
- package/dist/traces-data-list-B3q_cy6c.cjs.map +1 -0
- package/dist/traces-data-list-CDNE9P8W.js +95 -0
- package/dist/traces-data-list-CDNE9P8W.js.map +1 -0
- package/dist/use-text-highlight.css +1 -1
- package/dist/utils/cn.cjs.js +1 -1
- package/dist/utils/cn.es.js +1 -1
- package/dist/utils/duration.cjs.js +22 -0
- package/dist/utils/duration.cjs.js.map +1 -0
- package/dist/utils/duration.d.ts +2 -0
- package/dist/utils/duration.es.js +18 -0
- package/dist/utils/duration.es.js.map +1 -0
- package/dist/utils/toast.cjs.js +1 -1
- package/dist/utils/toast.es.js +1 -1
- package/package.json +19 -10
- package/theme/colors.css +155 -0
- package/theme/data-viz.css +59 -0
- package/theme/motion.css +38 -0
- package/theme/scale.css +42 -0
- package/theme/status.css +96 -0
- package/theme/surfaces.css +201 -0
- package/theme/typography.css +74 -0
- package/theme.css +53 -571
- package/dist/Badge-BCwBpIc7.js +0 -123
- package/dist/Badge-BCwBpIc7.js.map +0 -1
- package/dist/Badge-RWi6V_JT.cjs +0 -125
- package/dist/Badge-RWi6V_JT.cjs.map +0 -1
- package/dist/Button-C2dx_QZN.cjs +0 -207
- package/dist/Button-C2dx_QZN.cjs.map +0 -1
- package/dist/Button-DS6O6fvU.js +0 -203
- package/dist/Button-DS6O6fvU.js.map +0 -1
- package/dist/Card-CnxuKKaz.js +0 -96
- package/dist/Card-CnxuKKaz.js.map +0 -1
- package/dist/Card-DC9rlxXj.cjs +0 -123
- package/dist/Card-DC9rlxXj.cjs.map +0 -1
- package/dist/EmptyState-CDM5htkF.js +0 -31
- package/dist/EmptyState-CDM5htkF.js.map +0 -1
- package/dist/EmptyState-_TZefNk_.cjs +0 -33
- package/dist/EmptyState-_TZefNk_.cjs.map +0 -1
- package/dist/ErrorState-DvsG3RMz.cjs +0 -16
- package/dist/ErrorState-DvsG3RMz.cjs.map +0 -1
- package/dist/ErrorState-t59EAa55.js +0 -14
- package/dist/ErrorState-t59EAa55.js.map +0 -1
- package/dist/Notice-Cq7m_mxe.cjs +0 -91
- package/dist/Notice-Cq7m_mxe.cjs.map +0 -1
- package/dist/Notice-DEqr19sI.js +0 -89
- package/dist/Notice-DEqr19sI.js.map +0 -1
- package/dist/PermissionDenied-BCHmzPYk.cjs +0 -24
- package/dist/PermissionDenied-BCHmzPYk.cjs.map +0 -1
- package/dist/PermissionDenied-lLDk9Zpw.js +0 -22
- package/dist/PermissionDenied-lLDk9Zpw.js.map +0 -1
- package/dist/SessionExpired-B4qMlVNC.cjs +0 -47
- package/dist/SessionExpired-B4qMlVNC.cjs.map +0 -1
- package/dist/SessionExpired-OS-dhsdb.js +0 -45
- package/dist/SessionExpired-OS-dhsdb.js.map +0 -1
- package/dist/Txt-C7rZCmrg.cjs +0 -30
- package/dist/Txt-C7rZCmrg.cjs.map +0 -1
- package/dist/Txt-hyo2FKuO.js +0 -28
- package/dist/Txt-hyo2FKuO.js.map +0 -1
- package/dist/activity-1GW2mu-d.cjs +0 -52
- package/dist/activity-1GW2mu-d.cjs.map +0 -1
- package/dist/activity-BiQKEDt0.js +0 -49
- package/dist/activity-BiQKEDt0.js.map +0 -1
- package/dist/arrival-CormfVRZ.cjs +0 -22
- package/dist/arrival-CormfVRZ.cjs.map +0 -1
- package/dist/arrival-DPVjCnNy.js +0 -19
- package/dist/arrival-DPVjCnNy.js.map +0 -1
- package/dist/ask-user-DCWLWOBI.js +0 -137
- package/dist/ask-user-DCWLWOBI.js.map +0 -1
- package/dist/ask-user-Dw64_A-5.cjs +0 -146
- package/dist/ask-user-Dw64_A-5.cjs.map +0 -1
- package/dist/buttons-group-t7AODlO9.js +0 -162
- package/dist/buttons-group-t7AODlO9.js.map +0 -1
- package/dist/buttons-group-yLVV4nzz.cjs +0 -186
- package/dist/buttons-group-yLVV4nzz.cjs.map +0 -1
- package/dist/chat-notification-DMwUG6M1.cjs +0 -111
- package/dist/chat-notification-DMwUG6M1.cjs.map +0 -1
- package/dist/chat-notification-DyBAfleZ.js +0 -107
- package/dist/chat-notification-DyBAfleZ.js.map +0 -1
- package/dist/chat-signal-D-8_rCn0.cjs +0 -42
- package/dist/chat-signal-D-8_rCn0.cjs.map +0 -1
- package/dist/chat-signal-JGIN9unj.js +0 -40
- package/dist/chat-signal-JGIN9unj.js.map +0 -1
- package/dist/checkbox-BHOqsV3k.js +0 -89
- package/dist/checkbox-BHOqsV3k.js.map +0 -1
- package/dist/checkbox-DXapLh4O.cjs +0 -110
- package/dist/checkbox-DXapLh4O.cjs.map +0 -1
- package/dist/cn-BuHW7Wrt.cjs +0 -3294
- package/dist/cn-BuHW7Wrt.cjs.map +0 -1
- package/dist/cn-C6s2yXwM.js +0 -3291
- package/dist/cn-C6s2yXwM.js.map +0 -1
- package/dist/code-block-BBG-Zv3I.js +0 -86
- package/dist/code-block-BBG-Zv3I.js.map +0 -1
- package/dist/code-block-DgK__blB.cjs +0 -88
- package/dist/code-block-DgK__blB.cjs.map +0 -1
- package/dist/code-diff-CRzg0c6L.js +0 -142
- package/dist/code-diff-CRzg0c6L.js.map +0 -1
- package/dist/code-diff-pMNj9cR8.cjs +0 -144
- package/dist/code-diff-pMNj9cR8.cjs.map +0 -1
- package/dist/code-editor-CQqV40K3.js +0 -478
- package/dist/code-editor-CQqV40K3.js.map +0 -1
- package/dist/code-editor-e1JSppW0.cjs +0 -486
- package/dist/code-editor-e1JSppW0.cjs.map +0 -1
- package/dist/collapsible-C2RuZzc7.js +0 -57
- package/dist/collapsible-C2RuZzc7.js.map +0 -1
- package/dist/collapsible-C3x1n6sF.cjs +0 -61
- package/dist/collapsible-C3x1n6sF.cjs.map +0 -1
- package/dist/combobox-CQ2Ri2LC.js +0 -175
- package/dist/combobox-CQ2Ri2LC.js.map +0 -1
- package/dist/combobox-F3WprWVx.cjs +0 -196
- package/dist/combobox-F3WprWVx.cjs.map +0 -1
- package/dist/combobox-styles-1C3D0JLL.cjs +0 -98
- package/dist/combobox-styles-1C3D0JLL.cjs.map +0 -1
- package/dist/combobox-styles-BMerfYPX.js +0 -94
- package/dist/combobox-styles-BMerfYPX.js.map +0 -1
- package/dist/command-CuuMEoIB.cjs +0 -211
- package/dist/command-CuuMEoIB.cjs.map +0 -1
- package/dist/command-rJ4b4Z2h.js +0 -182
- package/dist/command-rJ4b4Z2h.js.map +0 -1
- package/dist/components/DashboardCard.cjs.js +0 -10
- package/dist/components/DashboardCard.cjs.js.map +0 -1
- package/dist/components/DashboardCard.d.ts +0 -2
- package/dist/components/DashboardCard.es.js +0 -2
- package/dist/components/DashboardCard.es.js.map +0 -1
- package/dist/composer-C6kIcVEJ.cjs +0 -156
- package/dist/composer-C6kIcVEJ.cjs.map +0 -1
- package/dist/composer-Dz769593.js +0 -148
- package/dist/composer-Dz769593.js.map +0 -1
- package/dist/copy-button-CmQxxSUq.cjs +0 -38
- package/dist/copy-button-CmQxxSUq.cjs.map +0 -1
- package/dist/copy-button-DIeDskPU.js +0 -36
- package/dist/copy-button-DIeDskPU.js.map +0 -1
- package/dist/dashboard-card-B4VOm5Js.cjs +0 -11
- package/dist/dashboard-card-B4VOm5Js.cjs.map +0 -1
- package/dist/dashboard-card-quQYRrRH.js +0 -9
- package/dist/dashboard-card-quQYRrRH.js.map +0 -1
- package/dist/data-code-section-BHQOAbuZ.js +0 -348
- package/dist/data-code-section-BHQOAbuZ.js.map +0 -1
- package/dist/data-code-section-Dsn6ZqE0.cjs +0 -350
- package/dist/data-code-section-Dsn6ZqE0.cjs.map +0 -1
- package/dist/data-keys-and-values-BxSKCdWQ.js +0 -122
- package/dist/data-keys-and-values-BxSKCdWQ.js.map +0 -1
- package/dist/data-keys-and-values-CPUfobZS.cjs +0 -124
- package/dist/data-keys-and-values-CPUfobZS.cjs.map +0 -1
- package/dist/data-list-B9td5YXY.cjs +0 -184
- package/dist/data-list-B9td5YXY.cjs.map +0 -1
- package/dist/data-list-IQ0BjiGx.js +0 -180
- package/dist/data-list-IQ0BjiGx.js.map +0 -1
- package/dist/data-list-skeleton-CFaGBKDb.cjs +0 -38
- package/dist/data-list-skeleton-CFaGBKDb.cjs.map +0 -1
- package/dist/data-list-skeleton-CQQydcpj.js +0 -36
- package/dist/data-list-skeleton-CQQydcpj.js.map +0 -1
- package/dist/data-list-spacer-DWoUNPpA.js +0 -138
- package/dist/data-list-spacer-DWoUNPpA.js.map +0 -1
- package/dist/data-list-spacer-psBnZOCX.cjs +0 -146
- package/dist/data-list-spacer-psBnZOCX.cjs.map +0 -1
- package/dist/data-list-top-CkwvYUWw.cjs +0 -375
- package/dist/data-list-top-CkwvYUWw.cjs.map +0 -1
- package/dist/data-list-top-DbUnE1J9.js +0 -350
- package/dist/data-list-top-DbUnE1J9.js.map +0 -1
- package/dist/data-panel-BhJ8Lp_j.cjs +0 -269
- package/dist/data-panel-BhJ8Lp_j.cjs.map +0 -1
- package/dist/data-panel-D2JtbyKg.js +0 -249
- package/dist/data-panel-D2JtbyKg.js.map +0 -1
- package/dist/data-panel-section-heading-BoMxMKSA.cjs +0 -23
- package/dist/data-panel-section-heading-BoMxMKSA.cjs.map +0 -1
- package/dist/data-panel-section-heading-UzIDRnta.js +0 -21
- package/dist/data-panel-section-heading-UzIDRnta.js.map +0 -1
- package/dist/date-picker-DiZ0FOvY.cjs +0 -48
- package/dist/date-picker-DiZ0FOvY.cjs.map +0 -1
- package/dist/date-picker-jDmdtRTR.js +0 -46
- package/dist/date-picker-jDmdtRTR.js.map +0 -1
- package/dist/date-time-range-picker-BotnQ9HS.js +0 -164
- package/dist/date-time-range-picker-BotnQ9HS.js.map +0 -1
- package/dist/date-time-range-picker-eyfOf4v-.cjs +0 -166
- package/dist/date-time-range-picker-eyfOf4v-.cjs.map +0 -1
- package/dist/dialog-B3DNnoZ3.cjs +0 -276
- package/dist/dialog-B3DNnoZ3.cjs.map +0 -1
- package/dist/dialog-C60a4DWO.js +0 -242
- package/dist/dialog-C60a4DWO.js.map +0 -1
- package/dist/drawer-CEufBgtb.cjs +0 -367
- package/dist/drawer-CEufBgtb.cjs.map +0 -1
- package/dist/drawer-DgGxK4oq.js +0 -327
- package/dist/drawer-DgGxK4oq.js.map +0 -1
- package/dist/dropdown-menu-B3nTlFnz.js +0 -222
- package/dist/dropdown-menu-B3nTlFnz.js.map +0 -1
- package/dist/dropdown-menu-DfX8T0jb.cjs +0 -243
- package/dist/dropdown-menu-DfX8T0jb.cjs.map +0 -1
- package/dist/field-block-An2PO2_X.cjs +0 -93
- package/dist/field-block-An2PO2_X.cjs.map +0 -1
- package/dist/field-block-CQkD13nw.js +0 -91
- package/dist/field-block-CQkD13nw.js.map +0 -1
- package/dist/filter-bar-chip-BR7Xnpeo.cjs +0 -868
- package/dist/filter-bar-chip-BR7Xnpeo.cjs.map +0 -1
- package/dist/filter-bar-chip-DyITaBNj.js +0 -853
- package/dist/filter-bar-chip-DyITaBNj.js.map +0 -1
- package/dist/fonts-BD38FYaQ.js +0 -51
- package/dist/fonts-BD38FYaQ.js.map +0 -1
- package/dist/fonts-DxgDxyKF.cjs +0 -56
- package/dist/fonts-DxgDxyKF.cjs.map +0 -1
- package/dist/horizontal-bars-D1992rbt.cjs +0 -141
- package/dist/horizontal-bars-D1992rbt.cjs.map +0 -1
- package/dist/horizontal-bars-lhqUch51.js +0 -139
- package/dist/horizontal-bars-lhqUch51.js.map +0 -1
- package/dist/hover-card-BSj1EgQs.cjs +0 -91
- package/dist/hover-card-BSj1EgQs.cjs.map +0 -1
- package/dist/hover-card-Cmh0QRP8.js +0 -68
- package/dist/hover-card-Cmh0QRP8.js.map +0 -1
- package/dist/index-Cp3ZQQze.js +0 -45
- package/dist/index-Cp3ZQQze.js.map +0 -1
- package/dist/index-gbqoNdVM.cjs +0 -47
- package/dist/index-gbqoNdVM.cjs.map +0 -1
- package/dist/input-XEcMP_LL.cjs +0 -99
- package/dist/input-XEcMP_LL.cjs.map +0 -1
- package/dist/input-group-D_1g2L_v.cjs +0 -243
- package/dist/input-group-D_1g2L_v.cjs.map +0 -1
- package/dist/input-group-rn0r72y5.js +0 -217
- package/dist/input-group-rn0r72y5.js.map +0 -1
- package/dist/input-kU7nI6V5.js +0 -78
- package/dist/input-kU7nI6V5.js.map +0 -1
- package/dist/kbd-DjjBBIZN.cjs +0 -34
- package/dist/kbd-DjjBBIZN.cjs.map +0 -1
- package/dist/kbd-H5Qu573u.js +0 -32
- package/dist/kbd-H5Qu573u.js.map +0 -1
- package/dist/label-DxQoIwES.cjs +0 -34
- package/dist/label-DxQoIwES.cjs.map +0 -1
- package/dist/label-NULyP-1Q.js +0 -13
- package/dist/label-NULyP-1Q.js.map +0 -1
- package/dist/list-search-Cg5Y90E8.js +0 -71
- package/dist/list-search-Cg5Y90E8.js.map +0 -1
- package/dist/list-search-DISXdbOP.cjs +0 -73
- package/dist/list-search-DISXdbOP.cjs.map +0 -1
- package/dist/logs-data-list-B1FY1A2A.cjs +0 -82
- package/dist/logs-data-list-B1FY1A2A.cjs.map +0 -1
- package/dist/logs-data-list-DZz_YVd2.js +0 -80
- package/dist/logs-data-list-DZz_YVd2.js.map +0 -1
- package/dist/main-sidebar-link-active-Bzw7LY7r.cjs +0 -787
- package/dist/main-sidebar-link-active-Bzw7LY7r.cjs.map +0 -1
- package/dist/main-sidebar-link-active-D1iR9bHo.js +0 -770
- package/dist/main-sidebar-link-active-D1iR9bHo.js.map +0 -1
- package/dist/markdown-renderer-CUQHtRlL.cjs +0 -410
- package/dist/markdown-renderer-CUQHtRlL.cjs.map +0 -1
- package/dist/markdown-renderer-SVeQ5Uo_.js +0 -408
- package/dist/markdown-renderer-SVeQ5Uo_.js.map +0 -1
- package/dist/message-B-28p4Zs.cjs +0 -66
- package/dist/message-B-28p4Zs.cjs.map +0 -1
- package/dist/message-DGZPjxsh.js +0 -62
- package/dist/message-DGZPjxsh.js.map +0 -1
- package/dist/message-scroller-SYgTcpaD.cjs +0 -857
- package/dist/message-scroller-SYgTcpaD.cjs.map +0 -1
- package/dist/message-scroller-ViAipPK4.js +0 -831
- package/dist/message-scroller-ViAipPK4.js.map +0 -1
- package/dist/metrics-card-CM9jj-UN.cjs +0 -95
- package/dist/metrics-card-CM9jj-UN.cjs.map +0 -1
- package/dist/metrics-card-ClpFsCSt.js +0 -93
- package/dist/metrics-card-ClpFsCSt.js.map +0 -1
- package/dist/metrics-kpi-card-CoVZRI52.cjs +0 -79
- package/dist/metrics-kpi-card-CoVZRI52.cjs.map +0 -1
- package/dist/metrics-kpi-card-D-ct3JAY.js +0 -77
- package/dist/metrics-kpi-card-D-ct3JAY.js.map +0 -1
- package/dist/metrics-line-chart-DPcqXCDT.cjs +0 -114
- package/dist/metrics-line-chart-DPcqXCDT.cjs.map +0 -1
- package/dist/metrics-line-chart-M3JTf2J8.js +0 -111
- package/dist/metrics-line-chart-M3JTf2J8.js.map +0 -1
- package/dist/new-theme.css +0 -39
- package/dist/no-data-page-layout-COzOm-mS.js +0 -9
- package/dist/no-data-page-layout-COzOm-mS.js.map +0 -1
- package/dist/no-data-page-layout-yCjhZq99.cjs +0 -11
- package/dist/no-data-page-layout-yCjhZq99.cjs.map +0 -1
- package/dist/page-header-DyAd0Uof.cjs +0 -125
- package/dist/page-header-DyAd0Uof.cjs.map +0 -1
- package/dist/page-header-DymTqQgq.js +0 -123
- package/dist/page-header-DymTqQgq.js.map +0 -1
- package/dist/page-layout-B_JUSRkD.js +0 -97
- package/dist/page-layout-B_JUSRkD.js.map +0 -1
- package/dist/page-layout-DXFMbJi3.cjs +0 -99
- package/dist/page-layout-DXFMbJi3.cjs.map +0 -1
- package/dist/popover-CGB4qBAn.cjs +0 -121
- package/dist/popover-CGB4qBAn.cjs.map +0 -1
- package/dist/popover-lj-OpKKH.js +0 -97
- package/dist/popover-lj-OpKKH.js.map +0 -1
- package/dist/property-filter-applied-CZu-Jwsx.js +0 -344
- package/dist/property-filter-applied-CZu-Jwsx.js.map +0 -1
- package/dist/property-filter-applied-DZz8aSoU.cjs +0 -348
- package/dist/property-filter-applied-DZz8aSoU.cjs.map +0 -1
- package/dist/sankey-chart-GiDY0WBV.js +0 -916
- package/dist/sankey-chart-GiDY0WBV.js.map +0 -1
- package/dist/sankey-chart-QibH6Vg1.cjs +0 -926
- package/dist/sankey-chart-QibH6Vg1.cjs.map +0 -1
- package/dist/scroll-area-ByrWkkO_.js +0 -223
- package/dist/scroll-area-ByrWkkO_.js.map +0 -1
- package/dist/scroll-area-l6Yx-88I.cjs +0 -245
- package/dist/scroll-area-l6Yx-88I.cjs.map +0 -1
- package/dist/search-field-block-jfMFV7AD.cjs +0 -125
- package/dist/search-field-block-jfMFV7AD.cjs.map +0 -1
- package/dist/search-field-block-zF_99MJ5.js +0 -123
- package/dist/search-field-block-zF_99MJ5.js.map +0 -1
- package/dist/section-DOZSptHn.cjs +0 -115
- package/dist/section-DOZSptHn.cjs.map +0 -1
- package/dist/section-fFFmNxVc.js +0 -111
- package/dist/section-fFFmNxVc.js.map +0 -1
- package/dist/select-31jx2l9F.cjs +0 -164
- package/dist/select-31jx2l9F.cjs.map +0 -1
- package/dist/select-bphXR9c4.js +0 -138
- package/dist/select-bphXR9c4.js.map +0 -1
- package/dist/select-field-block-BAZKc6ck.cjs +0 -59
- package/dist/select-field-block-BAZKc6ck.cjs.map +0 -1
- package/dist/select-field-block-BEs3cCRJ.js +0 -57
- package/dist/select-field-block-BEs3cCRJ.js.map +0 -1
- package/dist/settings-container-B5YhEzjS.js +0 -27
- package/dist/settings-container-B5YhEzjS.js.map +0 -1
- package/dist/settings-container-Dxb59YvM.cjs +0 -30
- package/dist/settings-container-Dxb59YvM.cjs.map +0 -1
- package/dist/settings-layout-CTnDZ_fr.js +0 -55
- package/dist/settings-layout-CTnDZ_fr.js.map +0 -1
- package/dist/settings-layout-DRrl-EBq.cjs +0 -57
- package/dist/settings-layout-DRrl-EBq.cjs.map +0 -1
- package/dist/settings-row-Dsu9uRdl.cjs +0 -88
- package/dist/settings-row-Dsu9uRdl.cjs.map +0 -1
- package/dist/settings-row-PB5zne3m.js +0 -85
- package/dist/settings-row-PB5zne3m.js.map +0 -1
- package/dist/shimmer-CmCazK2A.cjs +0 -25
- package/dist/shimmer-CmCazK2A.cjs.map +0 -1
- package/dist/shimmer-rej-NkeN.js +0 -23
- package/dist/shimmer-rej-NkeN.js.map +0 -1
- package/dist/skeleton-BpMg6F4M.js +0 -23
- package/dist/skeleton-BpMg6F4M.js.map +0 -1
- package/dist/skeleton-gdUQjWPU.cjs +0 -25
- package/dist/skeleton-gdUQjWPU.cjs.map +0 -1
- package/dist/slider-DXQNsGXe.js +0 -95
- package/dist/slider-DXQNsGXe.js.map +0 -1
- package/dist/slider-Kco52AqT.cjs +0 -97
- package/dist/slider-Kco52AqT.cjs.map +0 -1
- package/dist/spacings-C8KU7k6E.cjs +0 -182
- package/dist/spacings-C8KU7k6E.cjs.map +0 -1
- package/dist/spacings-Doib6y6Q.js +0 -174
- package/dist/spacings-Doib6y6Q.js.map +0 -1
- package/dist/span-payload-primitives-DknOcv6v.cjs +0 -75
- package/dist/span-payload-primitives-DknOcv6v.cjs.map +0 -1
- package/dist/span-payload-primitives-_TUMqise.js +0 -68
- package/dist/span-payload-primitives-_TUMqise.js.map +0 -1
- package/dist/spinner-SvnJqdcS.js +0 -51
- package/dist/spinner-SvnJqdcS.js.map +0 -1
- package/dist/spinner-cX-ypfV2.cjs +0 -53
- package/dist/spinner-cX-ypfV2.cjs.map +0 -1
- package/dist/src/ds/components/DashboardCard/dashboard-card.d.ts +0 -6
- package/dist/src/ds/components/DashboardCard/dashboard-card.stories.d.ts +0 -9
- package/dist/src/ds/components/DashboardCard/index.d.ts +0 -1
- package/dist/src/ds/components/FilterBar/filter-bar-draft-chip.d.ts +0 -11
- package/dist/src/ds/components/PageHeader/page-header-description.d.ts +0 -5
- package/dist/src/ds/components/PageHeader/page-header-root.d.ts +0 -22
- package/dist/src/ds/components/PageHeader/page-header-title.d.ts +0 -6
- package/dist/src/ds/components/PageHeader/page-header.d.ts +0 -2
- package/dist/src/ds/tokens/spacings.d.ts +0 -38
- package/dist/src/ds/tokens/tokens.stories.d.ts +0 -12
- package/dist/switch-CkEdGkeB.cjs +0 -125
- package/dist/switch-CkEdGkeB.cjs.map +0 -1
- package/dist/switch-CkHq0TIf.js +0 -104
- package/dist/switch-CkHq0TIf.js.map +0 -1
- package/dist/tabs-content-CRKte85r.cjs +0 -37
- package/dist/tabs-content-CRKte85r.cjs.map +0 -1
- package/dist/tabs-content-Drm6Y6Ul.js +0 -35
- package/dist/tabs-content-Drm6Y6Ul.js.map +0 -1
- package/dist/tabs-root-DcnvZuD4.cjs +0 -328
- package/dist/tabs-root-DcnvZuD4.cjs.map +0 -1
- package/dist/tabs-root-yY2eNDS2.js +0 -325
- package/dist/tabs-root-yY2eNDS2.js.map +0 -1
- package/dist/tabs-tab-CgMaandp.js +0 -103
- package/dist/tabs-tab-CgMaandp.js.map +0 -1
- package/dist/tabs-tab-tRgFBx85.cjs +0 -107
- package/dist/tabs-tab-tRgFBx85.cjs.map +0 -1
- package/dist/text-field-block-aRttm8yP.js +0 -55
- package/dist/text-field-block-aRttm8yP.js.map +0 -1
- package/dist/text-field-block-hN70Jj6a.cjs +0 -57
- package/dist/text-field-block-hN70Jj6a.cjs.map +0 -1
- package/dist/textarea-BmR73nqC.js +0 -70
- package/dist/textarea-BmR73nqC.js.map +0 -1
- package/dist/textarea-C7vLvn3E.cjs +0 -91
- package/dist/textarea-C7vLvn3E.cjs.map +0 -1
- package/dist/thread-rail-BvhuZLav.cjs +0 -334
- package/dist/thread-rail-BvhuZLav.cjs.map +0 -1
- package/dist/thread-rail-CPAHjoV1.js +0 -313
- package/dist/thread-rail-CPAHjoV1.js.map +0 -1
- package/dist/time-picker-BlY3xqrQ.cjs +0 -78
- package/dist/time-picker-BlY3xqrQ.cjs.map +0 -1
- package/dist/time-picker-Dce_kGwY.js +0 -76
- package/dist/time-picker-Dce_kGwY.js.map +0 -1
- package/dist/toast-CTMSqE4M.js +0 -52
- package/dist/toast-CTMSqE4M.js.map +0 -1
- package/dist/toast-CwH7p9gV.cjs +0 -55
- package/dist/toast-CwH7p9gV.cjs.map +0 -1
- package/dist/tool-approval-BMPAEwt_.js +0 -66
- package/dist/tool-approval-BMPAEwt_.js.map +0 -1
- package/dist/tool-approval-CYO2CYZz.cjs +0 -69
- package/dist/tool-approval-CYO2CYZz.cjs.map +0 -1
- package/dist/tool-call-98H2-r5p.js +0 -181
- package/dist/tool-call-98H2-r5p.js.map +0 -1
- package/dist/tool-call-CAzilpXy.cjs +0 -196
- package/dist/tool-call-CAzilpXy.cjs.map +0 -1
- package/dist/tooltip-QuS0KEbc.js +0 -113
- package/dist/tooltip-QuS0KEbc.js.map +0 -1
- package/dist/tooltip-_cda-a7s.cjs +0 -137
- package/dist/tooltip-_cda-a7s.cjs.map +0 -1
- package/dist/traces-data-list-Bl1BUIiq.js +0 -85
- package/dist/traces-data-list-Bl1BUIiq.js.map +0 -1
- package/dist/traces-data-list-CmBQDfnG.cjs +0 -87
- package/dist/traces-data-list-CmBQDfnG.cjs.map +0 -1
- package/new-theme.css +0 -39
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-scroller-v1kQVq2v.js","sources":["../src/ds/components/MessageScroller/message-scroller-geometry.ts","../src/ds/components/MessageScroller/message-scroller-glide.ts","../src/ds/components/MessageScroller/message-scroller-trip.ts","../src/ds/components/MessageScroller/message-scroller.tsx"],"sourcesContent":["import type { MessageScrollerScrollAlign } from './message-scroller-context';\n\n/**\n * Geometry behind the scroller: how far to scroll for a given alignment, and\n * which anchored message the reader is currently on. Split out from the\n * component so each rule can be reasoned about — and tested — on its own.\n */\n\n/** A message the scroller tracks, and whether a turn is anchored to it. */\nexport type MessageScrollerItemRecord = {\n element: HTMLElement;\n scrollAnchor: boolean;\n};\n\n/** Sub-pixel slack, so a message resting exactly on the anchor line still counts. */\nexport const VISIBILITY_EPSILON = 0.5;\n\nexport const getContentPadding = (contentElement: HTMLElement | null) => {\n if (!contentElement) return { start: 0, end: 0 };\n const styles = window.getComputedStyle(contentElement);\n return {\n start: Number.parseFloat(styles.paddingBlockStart || styles.paddingTop) || 0,\n end: Number.parseFloat(styles.paddingBlockEnd || styles.paddingBottom) || 0,\n };\n};\n\nexport const getMaxScroll = (viewportElement: HTMLElement) =>\n Math.max(0, viewportElement.scrollHeight - viewportElement.clientHeight);\n\nexport const getRelativeTop = (element: HTMLElement, viewportElement: HTMLElement) => {\n const elementRect = element.getBoundingClientRect();\n const viewportRect = viewportElement.getBoundingClientRect();\n return elementRect.top - viewportRect.top + viewportElement.scrollTop;\n};\n\nexport const getScrollTarget = ({\n align,\n contentElement,\n element,\n scrollMargin,\n viewportElement,\n}: {\n align: MessageScrollerScrollAlign;\n /** The padding framing the transcript lives here, however deep the rows nest. */\n contentElement: HTMLElement | null;\n element: HTMLElement;\n scrollMargin: number;\n viewportElement: HTMLElement;\n}) => {\n const contentPadding = getContentPadding(contentElement);\n const elementTop = getRelativeTop(element, viewportElement);\n const elementHeight = element.getBoundingClientRect().height;\n const visibleHeight = Math.max(0, viewportElement.clientHeight - contentPadding.start - contentPadding.end);\n\n if (align === 'center') return elementTop - contentPadding.start - (visibleHeight - elementHeight) / 2 - scrollMargin;\n if (align === 'end')\n return elementTop - viewportElement.clientHeight + elementHeight + contentPadding.end + scrollMargin;\n\n if (align === 'nearest') {\n const elementBottom = elementTop + elementHeight;\n const viewportTop = viewportElement.scrollTop + contentPadding.start;\n const viewportBottom = viewportElement.scrollTop + viewportElement.clientHeight - contentPadding.end;\n if (elementTop >= viewportTop && elementBottom <= viewportBottom) return viewportElement.scrollTop;\n return elementTop < viewportTop\n ? elementTop - contentPadding.start - scrollMargin\n : elementBottom - viewportElement.clientHeight + contentPadding.end + scrollMargin;\n }\n\n return elementTop - contentPadding.start - scrollMargin;\n};\n\n/**\n * Where the reader must sit for the last row to rest at the end of the view.\n *\n * Not the end of the scroll: a chat reserves room under a live turn so a reply\n * grows into empty space, and docks its composer in the flow. Both sit below the\n * last row, so scrolling to the end of the box carries that row — and the message\n * that opened the turn — out of the view above. Reading it from the rows means no\n * one has to publish a height for anyone else to subtract.\n */\nexport const getFollowTarget = ({\n contentElement,\n items,\n viewportElement,\n}: {\n contentElement: HTMLElement | null;\n items: Array<readonly [string, MessageScrollerItemRecord]>;\n viewportElement: HTMLElement;\n}) => {\n const end = getMaxScroll(viewportElement);\n const lastRow = items.at(-1)?.[1].element;\n if (!lastRow || !contentElement) return end;\n\n const contentBottom = getRelativeTop(contentElement, viewportElement) + contentElement.getBoundingClientRect().height;\n const belowContent = Math.max(0, viewportElement.scrollHeight - contentBottom);\n const rowBottom = getRelativeTop(lastRow, viewportElement) + lastRow.getBoundingClientRect().height;\n\n return Math.min(end, Math.max(0, rowBottom + belowContent - viewportElement.clientHeight));\n};\n\nexport const getCurrentAnchorId = ({\n fallbackAnchorId,\n items,\n scrollMargin,\n scrollPreviousItemPeek,\n visibleMessageIds,\n viewportElement,\n}: {\n fallbackAnchorId: string | undefined;\n items: Array<readonly [string, MessageScrollerItemRecord]>;\n scrollMargin: number;\n scrollPreviousItemPeek: number;\n visibleMessageIds: Set<string>;\n viewportElement: HTMLElement;\n}) => {\n const anchorLine = viewportElement.getBoundingClientRect().top + scrollMargin + scrollPreviousItemPeek;\n const anchors = items.filter(([, item]) => item.scrollAnchor);\n let anchoredAboveViewport: string | undefined;\n\n for (const [messageId, item] of anchors) {\n if (item.element.getBoundingClientRect().top <= anchorLine + VISIBILITY_EPSILON) {\n anchoredAboveViewport = messageId;\n }\n }\n\n if (anchoredAboveViewport) return anchoredAboveViewport;\n return anchors.find(([messageId]) => visibleMessageIds.has(messageId))?.[0] ?? fallbackAnchorId;\n};\n","/** Longest single growth worth smoothing. Past it the move is one the reader asked for. */\nconst GLIDE_MAX = 240;\nconst GLIDE_MS = 220;\nconst GLIDE_EASE = 'cubic-bezier(0.33, 1, 0.68, 1)';\n\nfunction currentOffset(element: HTMLElement): number {\n if (typeof DOMMatrixReadOnly === 'undefined') return 0;\n const { transform } = getComputedStyle(element);\n if (!transform || transform === 'none') return 0;\n return new DOMMatrixReadOnly(transform).m42;\n}\n\nconst travels = new WeakMap<HTMLElement, AbortController>();\n\nfunction release(element: HTMLElement): void {\n travels.get(element)?.abort();\n travels.delete(element);\n element.style.transition = '';\n element.style.transform = '';\n}\n\nfunction calm(): boolean {\n if (typeof window === 'undefined' || !window.matchMedia) return false;\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n/**\n * Hides a scroll that has already happened. The end is pinned instantly, as it must\n * be, then the content is put back where the reader last saw it and travels to zero\n * on the compositor — so a reply growing a line at a time reads as one movement\n * rather than a snap per wrapped line.\n *\n * Transform, not layout: `scrollHeight` never changes, so nothing here can feed the\n * resize that called it. A line landing mid-travel only adds to the distance left.\n */\nexport function glideContent(element: HTMLElement | null, delta: number): void {\n if (!element || delta <= 0 || calm()) return;\n\n const offset = currentOffset(element) + delta;\n if (offset > GLIDE_MAX) {\n release(element);\n return;\n }\n\n element.style.transition = 'none';\n element.style.transform = `translateY(${offset}px)`;\n // Commit the displaced position, or the browser only ever sees the settled one.\n void element.offsetHeight;\n element.style.transition = `transform ${GLIDE_MS}ms ${GLIDE_EASE}`;\n element.style.transform = 'translateY(0)';\n // A settled transform would leave the content a containing block for anything\n // fixed inside it, so the styles come off once the travel is spent. Descendants'\n // transitions bubble here too, so only the content's own settle counts.\n travels.get(element)?.abort();\n const travel = new AbortController();\n travels.set(element, travel);\n const settle = (event: TransitionEvent) => {\n if (event.target !== element) return;\n if (currentOffset(element) === 0) release(element);\n };\n element.addEventListener('transitionend', settle, { signal: travel.signal });\n element.addEventListener('transitioncancel', settle, { signal: travel.signal });\n}\n","import { VISIBILITY_EPSILON } from './message-scroller-geometry';\n\n/** One designed curve for the one scripted trip: fast liftoff, long settle. */\nconst TRIP_MS = 560;\n/** How long past its clock a trip may chase a destination the layout hasn't released yet. */\nconst TRIP_OVERTIME_MS = 240;\n\nconst easeOutQuint = (t: number) => 1 - (1 - t) ** 5;\n\nexport type TripEndReason = 'arrived' | 'interrupted' | 'expired';\n\nexport interface TripAnimation {\n cancel: () => void;\n}\n\n/**\n * Drives the viewport to a destination the way a transition would, not the way\n * `scrollTo({ behavior: 'smooth' })` does: the destination is re-read every frame,\n * so a layout still settling under the trip — the reserved room opening beneath a\n * new turn — bends the path instead of restarting the curve. Writes are clamped by\n * the browser, so until the room has opened far enough the trip simply rides the\n * end of the box down.\n *\n * The reader keeps the last word: a scroll position this trip didn't write ends it.\n */\nexport function startTrip(\n viewportElement: HTMLElement,\n getTarget: () => number | undefined,\n onEnd: (reason: TripEndReason) => void,\n): TripAnimation {\n const reduceMotion =\n typeof window.matchMedia === 'function' && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n const duration = reduceMotion ? 0 : TRIP_MS;\n const startedAt = performance.now();\n const from = viewportElement.scrollTop;\n let lastWritten = from;\n let frame = 0;\n let ended = false;\n\n const end = (reason: TripEndReason) => {\n ended = true;\n onEnd(reason);\n };\n\n const step = () => {\n if (Math.abs(viewportElement.scrollTop - lastWritten) > 1) return end('interrupted');\n const target = getTarget();\n if (target === undefined) return end('expired');\n const elapsed = performance.now() - startedAt;\n const progress = duration === 0 ? 1 : Math.min(1, elapsed / duration);\n viewportElement.scrollTop = from + (target - from) * easeOutQuint(progress);\n lastWritten = viewportElement.scrollTop;\n if (progress === 1 && Math.abs(lastWritten - target) <= VISIBILITY_EPSILON) return end('arrived');\n if (elapsed >= duration + TRIP_OVERTIME_MS) return end('expired');\n frame = window.requestAnimationFrame(step);\n };\n\n frame = window.requestAnimationFrame(step);\n\n return {\n cancel: () => {\n if (ended) return;\n ended = true;\n window.cancelAnimationFrame(frame);\n },\n };\n}\n","import { ArrowDownIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport {\n AUTO_SCROLL_ATTACH_THRESHOLD,\n DEFAULT_REACH_START_THRESHOLD,\n DEFAULT_SCROLL_EDGE_THRESHOLD,\n DEFAULT_SCROLL_MARGIN,\n DEFAULT_SCROLL_PREVIOUS_ITEM_PEEK,\n DEFAULT_SCROLLABLE,\n DEFAULT_VISIBILITY,\n MessageScrollerActionsContext,\n MessageScrollerScrollableContext,\n MessageScrollerVisibilityContext,\n useRequiredMessageScrollerActionsContext,\n useRequiredMessageScrollerScrollableContext,\n} from './message-scroller-context';\nimport type {\n MessageScrollerActionsContextValue,\n MessageScrollerButtonDirection,\n MessageScrollerDefaultScrollPosition,\n MessageScrollerScrollAlign,\n MessageScrollerScrollOptions,\n MessageScrollerScrollable,\n MessageScrollerVisibility,\n} from './message-scroller-context';\n\nimport {\n VISIBILITY_EPSILON,\n getCurrentAnchorId,\n getFollowTarget,\n getMaxScroll,\n getScrollTarget,\n} from './message-scroller-geometry';\nimport type { MessageScrollerItemRecord } from './message-scroller-geometry';\nimport { glideContent } from './message-scroller-glide';\nimport { startTrip } from './message-scroller-trip';\nimport type { TripAnimation } from './message-scroller-trip';\n\nimport { overlaySurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport type {\n MessageScrollerButtonDirection,\n MessageScrollerDefaultScrollPosition,\n MessageScrollerScrollAlign,\n MessageScrollerScrollOptions,\n MessageScrollerScrollable,\n MessageScrollerVisibility,\n} from './message-scroller-context';\n\nconst mergeRefs =\n <TElement,>(...refs: Array<React.Ref<TElement> | undefined>) =>\n (element: TElement | null) => {\n refs.forEach(ref => {\n if (!ref) return;\n if (typeof ref === 'function') {\n ref(element);\n return;\n }\n ref.current = element;\n });\n };\n\nconst scrollableMatches = (left: MessageScrollerScrollable, right: MessageScrollerScrollable) =>\n left.start === right.start && left.end === right.end;\n\nconst visibilityMatches = (left: MessageScrollerVisibility, right: MessageScrollerVisibility) =>\n left.currentAnchorId === right.currentAnchorId &&\n left.visibleMessageIds.length === right.visibleMessageIds.length &&\n left.visibleMessageIds.every((messageId, index) => messageId === right.visibleMessageIds[index]);\n\nconst orderItemsByDocumentPosition = (items: Array<readonly [string, MessageScrollerItemRecord]>) =>\n items.sort(([, left], [, right]) => {\n const position = left.element.compareDocumentPosition(right.element);\n if (position & Node.DOCUMENT_POSITION_FOLLOWING) return -1;\n if (position & Node.DOCUMENT_POSITION_PRECEDING) return 1;\n return 0;\n });\n\nconst scrollViewportTo = (viewportElement: HTMLElement, top: number, behavior: ScrollBehavior) => {\n if (typeof viewportElement.scrollTo === 'function') {\n viewportElement.scrollTo({ top, behavior });\n return;\n }\n\n viewportElement.scrollTop = top;\n};\n\nconst scheduleScrollSync = (callback: () => void) => {\n if (typeof window.requestAnimationFrame === 'function') {\n window.requestAnimationFrame(callback);\n return;\n }\n\n window.setTimeout(callback, 0);\n};\n\nexport interface MessageScrollerProviderProps {\n /** Carry the reader with the stream, re-attaching on a new turn. Off still parks a new turn, without following the reply. */\n autoScroll?: boolean;\n children?: React.ReactNode;\n defaultScrollPosition?: MessageScrollerDefaultScrollPosition;\n /** Called when the reader scrolls near the start — where older history is loaded. */\n onReachStart?: () => void;\n /** Hold the reading position when older items are added above the current ones. */\n preserveScrollOnPrepend?: boolean;\n reachStartThreshold?: number;\n scrollEdgeThreshold?: number;\n scrollMargin?: number;\n scrollPreviousItemPeek?: number;\n}\n\nexport function MessageScrollerProvider({\n autoScroll = false,\n children,\n defaultScrollPosition = 'end',\n onReachStart,\n preserveScrollOnPrepend = false,\n reachStartThreshold = DEFAULT_REACH_START_THRESHOLD,\n scrollEdgeThreshold = DEFAULT_SCROLL_EDGE_THRESHOLD,\n scrollMargin = DEFAULT_SCROLL_MARGIN,\n scrollPreviousItemPeek = DEFAULT_SCROLL_PREVIOUS_ITEM_PEEK,\n}: MessageScrollerProviderProps) {\n const itemsRef = React.useRef<Map<string, MessageScrollerItemRecord> | null>(null);\n itemsRef.current ??= new Map<string, MessageScrollerItemRecord>();\n const itemsRegistry = itemsRef.current;\n // Rebuilt on register/unregister only — scroll runs this too often to sort per event.\n const orderedItemsRef = React.useRef<Array<readonly [string, MessageScrollerItemRecord]> | null>(null);\n const visibleMessageIdsRef = React.useRef<Set<string> | null>(null);\n visibleMessageIdsRef.current ??= new Set<string>();\n const intersectingMessageIds = visibleMessageIdsRef.current;\n const [itemsVersion, setItemsVersion] = React.useState(0);\n const [rootElement, setRootElement] = React.useState<HTMLDivElement | null>(null);\n const [viewportElement, setViewportElement] = React.useState<HTMLDivElement | null>(null);\n const [contentElement, setContentElement] = React.useState<HTMLDivElement | null>(null);\n const defaultScrollAppliedRef = React.useRef(false);\n const deferDefaultScrollRef = React.useRef(false);\n const defaultScrollScheduledRef = React.useRef(false);\n const seenAnchorIdsRef = React.useRef<Set<string> | null>(null);\n seenAnchorIdsRef.current ??= new Set<string>();\n const seenAnchorIds = seenAnchorIdsRef.current;\n // Message ID reconciliation keeps the row element while replacing its ID.\n const seenAnchorElementsRef = React.useRef<WeakSet<HTMLElement> | null>(null);\n seenAnchorElementsRef.current ??= new WeakSet<HTMLElement>();\n const seenAnchorElements = seenAnchorElementsRef.current;\n const turnAnchoringArmedRef = React.useRef(false);\n const [scrollable, setScrollable] = React.useState<MessageScrollerScrollable>(DEFAULT_SCROLLABLE);\n const [visibility, setVisibility] = React.useState<MessageScrollerVisibility>(DEFAULT_VISIBILITY);\n const atEndRef = React.useRef(true);\n // Attachment is a mode, not a measurement: a growing reply moves the end away\n // without the reader having moved, so only the reader detaches it.\n const followingRef = React.useRef(true);\n // A smooth trip in flight, remembered by destination — the end of the stream, or\n // the anchor a new turn parks at. Sampled mid-flight it reads as a reader who\n // left, so it suspends detachment; a position going backwards calls it off.\n const tripRef = React.useRef<'end' | { anchorId: string } | null>(null);\n // The frame loop behind an anchor trip. Owns clearing its trip: it alone can\n // tell the reader taking over from its own writes landing.\n const tripAnimationRef = React.useRef<TripAnimation | null>(null);\n const lastScrollTopRef = React.useRef(0);\n // Only a reader moving backwards asks for older history: a mount sitting at\n // scrollTop 0 before the default scroll lands has not moved.\n const reachStartArmedRef = React.useRef(false);\n const reachStartFiredRef = React.useRef(false);\n const prependAnchorRef = React.useRef<{ scrollHeight: number; scrollTop: number } | null>(null);\n const firstItemIdRef = React.useRef<string | undefined>(undefined);\n // Off notifyScroll's deps on purpose: consumers pass it inline, and a fresh\n // identity per render would republish the actions context to every consumer.\n const onReachStartRef = React.useRef(onReachStart);\n React.useEffect(() => {\n onReachStartRef.current = onReachStart;\n }, [onReachStart]);\n\n const publishScrollable = React.useCallback(\n (nextScrollable: MessageScrollerScrollable) => {\n const scrollableValue = [nextScrollable.start && 'start', nextScrollable.end && 'end'].filter(Boolean).join(' ');\n\n for (const element of [rootElement, viewportElement]) {\n if (!element) continue;\n if (scrollableValue) {\n element.setAttribute('data-scrollable', scrollableValue);\n } else {\n element.removeAttribute('data-scrollable');\n }\n }\n\n setScrollable(current => (scrollableMatches(current, nextScrollable) ? current : nextScrollable));\n },\n [rootElement, viewportElement],\n );\n\n const publishVisibility = React.useCallback((nextVisibility: MessageScrollerVisibility) => {\n setVisibility(current => (visibilityMatches(current, nextVisibility) ? current : nextVisibility));\n }, []);\n\n // Registration is mount order, not document order, once history is prepended.\n const getOrderedItems = React.useCallback(() => {\n orderedItemsRef.current ??= orderItemsByDocumentPosition(Array.from(itemsRegistry.entries()));\n return orderedItemsRef.current;\n }, [itemsRegistry]);\n\n // The one definition of \"the end\" — following it, resting at it, offering the trip\n // back to it. Everything below the last row (reserved room, the docked composer)\n // is room to grow into, never somewhere to scroll.\n const followTarget = React.useCallback(() => {\n if (!viewportElement) return 0;\n\n return getFollowTarget({ contentElement, items: getOrderedItems(), viewportElement });\n }, [contentElement, getOrderedItems, viewportElement]);\n\n const anchorTripTarget = React.useCallback(\n (anchorId: string) => {\n const item = itemsRegistry.get(anchorId);\n if (!item || !viewportElement) return undefined;\n return Math.max(\n 0,\n getScrollTarget({ align: 'start', contentElement, element: item.element, scrollMargin, viewportElement }),\n );\n },\n [contentElement, itemsRegistry, scrollMargin, viewportElement],\n );\n\n // The motion's destination, never the decision's: the room under a fresh turn is\n // still opening when the trip starts — on a short thread the box has not even\n // grown yet — so the cap is re-read per frame and the trip rides the end of the\n // box until the opened room decides where the message rests.\n const parkTripTarget = React.useCallback(\n (anchorId: string) => {\n const target = anchorTripTarget(anchorId);\n if (target === undefined || !viewportElement) return target;\n return Math.min(target, getMaxScroll(viewportElement));\n },\n [anchorTripTarget, viewportElement],\n );\n\n const cancelTripAnimation = React.useCallback(() => {\n tripAnimationRef.current?.cancel();\n tripAnimationRef.current = null;\n }, []);\n\n const updateScrollable = React.useCallback(\n ({ fromScroll = false }: { fromScroll?: boolean } = {}) => {\n if (!viewportElement) {\n atEndRef.current = true;\n publishScrollable(DEFAULT_SCROLLABLE);\n return false;\n }\n\n const { scrollTop } = viewportElement;\n const remainingScroll = followTarget() - scrollTop;\n const wentBack = scrollTop < lastScrollTopRef.current;\n atEndRef.current = remainingScroll < AUTO_SCROLL_ATTACH_THRESHOLD;\n if (tripRef.current === 'end' && (wentBack || atEndRef.current)) tripRef.current = null;\n lastScrollTopRef.current = scrollTop;\n // Scrolling back is the only way out of the stream, the end the only way back in:\n // a position merely left behind by a growing reply is us chasing it, not them leaving.\n if (fromScroll && tripRef.current === null && (wentBack || atEndRef.current)) {\n followingRef.current = atEndRef.current;\n }\n\n publishScrollable({\n start: scrollTop > scrollEdgeThreshold,\n end: remainingScroll > scrollEdgeThreshold && !(autoScroll && followingRef.current),\n });\n\n return wentBack;\n },\n [autoScroll, followTarget, publishScrollable, scrollEdgeThreshold, viewportElement],\n );\n\n const getLastAnchorId = React.useCallback(\n () =>\n getOrderedItems()\n .filter(([, item]) => item.scrollAnchor)\n .at(-1)?.[0],\n [getOrderedItems],\n );\n\n const updateVisibility = React.useCallback(() => {\n const items = getOrderedItems();\n const fallbackAnchorId = getLastAnchorId() ?? items.at(-1)?.[0];\n\n if (items.length === 0) {\n publishVisibility(DEFAULT_VISIBILITY);\n return;\n }\n\n if (!viewportElement) {\n publishVisibility({\n currentAnchorId: fallbackAnchorId,\n visibleMessageIds: fallbackAnchorId ? [fallbackAnchorId] : [],\n });\n return;\n }\n\n const viewportRect = viewportElement.getBoundingClientRect();\n const visibleMessageIds = new Set<string>();\n\n if (typeof IntersectionObserver === 'undefined') {\n const visibilityTop = viewportRect.top + scrollMargin + scrollPreviousItemPeek;\n items.forEach(([messageId, item]) => {\n const rect = item.element.getBoundingClientRect();\n if (rect.bottom > visibilityTop && rect.top < viewportRect.bottom) visibleMessageIds.add(messageId);\n });\n } else {\n intersectingMessageIds.forEach(messageId => visibleMessageIds.add(messageId));\n }\n\n const orderedVisibleMessageIds = items.flatMap(([messageId]) =>\n visibleMessageIds.has(messageId) ? [messageId] : [],\n );\n\n publishVisibility({\n currentAnchorId: getCurrentAnchorId({\n fallbackAnchorId,\n items,\n scrollMargin,\n scrollPreviousItemPeek,\n visibleMessageIds,\n viewportElement,\n }),\n visibleMessageIds:\n orderedVisibleMessageIds.length > 0 ? orderedVisibleMessageIds : fallbackAnchorId ? [fallbackAnchorId] : [],\n });\n }, [\n getLastAnchorId,\n getOrderedItems,\n intersectingMessageIds,\n publishVisibility,\n scrollMargin,\n scrollPreviousItemPeek,\n viewportElement,\n ]);\n\n const syncAfterScroll = React.useCallback(() => {\n updateScrollable();\n updateVisibility();\n }, [updateScrollable, updateVisibility]);\n\n const notifyScroll = React.useCallback(() => {\n const wasScrollable = Boolean(viewportElement && viewportElement.scrollHeight > viewportElement.clientHeight);\n const readerWentBack = updateScrollable({ fromScroll: true });\n updateVisibility();\n if (!viewportElement) return;\n\n if (readerWentBack && wasScrollable) reachStartArmedRef.current = true;\n\n if (!reachStartArmedRef.current) return;\n if (!wasScrollable) return;\n if (viewportElement.scrollTop > reachStartThreshold) {\n reachStartFiredRef.current = false;\n return;\n }\n // One request per trip to the start: staying there must not queue a second.\n if (reachStartFiredRef.current) return;\n if (!onReachStartRef.current) return;\n\n reachStartFiredRef.current = true;\n if (preserveScrollOnPrepend) {\n prependAnchorRef.current = {\n scrollHeight: viewportElement.scrollHeight,\n scrollTop: viewportElement.scrollTop,\n };\n }\n onReachStartRef.current();\n }, [preserveScrollOnPrepend, reachStartThreshold, updateScrollable, updateVisibility, viewportElement]);\n\n const scrollToElement = React.useCallback(\n (\n element: HTMLElement,\n {\n align = 'start',\n behavior = 'auto',\n scrollMargin: optionScrollMargin = scrollMargin,\n }: MessageScrollerScrollOptions = {},\n ) => {\n if (!viewportElement || !contentElement?.contains(element)) return false;\n\n const nextScrollTop = Math.max(\n 0,\n getScrollTarget({ align, contentElement, element, scrollMargin: optionScrollMargin, viewportElement }),\n );\n\n if (Math.abs(viewportElement.scrollTop - nextScrollTop) <= VISIBILITY_EPSILON) {\n scrollViewportTo(viewportElement, nextScrollTop, 'auto');\n syncAfterScroll();\n return true;\n }\n\n scrollViewportTo(viewportElement, nextScrollTop, behavior);\n scheduleScrollSync(syncAfterScroll);\n return true;\n },\n [contentElement, scrollMargin, syncAfterScroll, viewportElement],\n );\n\n const scrollToStart = React.useCallback(\n ({ behavior = 'auto' }: MessageScrollerScrollOptions = {}) => {\n if (!viewportElement) return false;\n cancelTripAnimation();\n tripRef.current = null;\n scrollViewportTo(viewportElement, 0, behavior);\n scheduleScrollSync(syncAfterScroll);\n return true;\n },\n [cancelTripAnimation, syncAfterScroll, viewportElement],\n );\n\n const scrollToEnd = React.useCallback(\n ({ behavior = 'auto' }: MessageScrollerScrollOptions = {}) => {\n if (!viewportElement) return false;\n cancelTripAnimation();\n followingRef.current = true;\n tripRef.current = behavior === 'smooth' ? 'end' : null;\n scrollViewportTo(viewportElement, followTarget(), behavior);\n // Published now, not next frame: a button that hears about the trip late flashes.\n syncAfterScroll();\n scheduleScrollSync(syncAfterScroll);\n return true;\n },\n [cancelTripAnimation, followTarget, syncAfterScroll, viewportElement],\n );\n\n const scrollToMessage = React.useCallback(\n (messageId: string, options?: MessageScrollerScrollOptions) => {\n const item = itemsRegistry.get(messageId);\n if (!item) return false;\n return scrollToElement(item.element, options);\n },\n [itemsRegistry, scrollToElement],\n );\n\n // A reply grows into the room its turn reserved and moves nothing: only once the\n // last row would fall past the end of the view is there anything to follow, and\n // then by exactly what it overflowed — pinned instantly, glided on the compositor.\n const notifyContentResize = React.useCallback(() => {\n const trip = tripRef.current;\n const onAnchorTrip = trip !== null && trip !== 'end';\n // An anchor trip re-reads its destination every frame, so a layout settling\n // under it — the reserved room opening — bends its path without help from here.\n if (!onAnchorTrip && autoScroll && defaultScrollAppliedRef.current && followingRef.current && viewportElement) {\n const overflow = followTarget() - viewportElement.scrollTop;\n if (overflow > VISIBILITY_EPSILON) {\n // A trip already in flight is retargeted rather than cut short; only the\n // instant catch-up needs the glide to read as one movement.\n const travelling = trip === 'end';\n scrollViewportTo(viewportElement, followTarget(), travelling ? 'smooth' : 'auto');\n if (!travelling) glideContent(contentElement, overflow);\n }\n }\n syncAfterScroll();\n }, [autoScroll, contentElement, followTarget, syncAfterScroll, viewportElement]);\n\n const registerItem = React.useCallback(\n (messageId: string, element: HTMLElement, scrollAnchor: boolean) => {\n itemsRegistry.set(messageId, { element, scrollAnchor });\n orderedItemsRef.current = null;\n setItemsVersion(version => version + 1);\n\n return () => {\n const current = itemsRegistry.get(messageId);\n if (current?.element !== element) return;\n itemsRegistry.delete(messageId);\n intersectingMessageIds.delete(messageId);\n orderedItemsRef.current = null;\n setItemsVersion(version => version + 1);\n };\n },\n [intersectingMessageIds, itemsRegistry],\n );\n\n React.useEffect(() => {\n if (!contentElement || !viewportElement || typeof IntersectionObserver === 'undefined') {\n updateVisibility();\n return undefined;\n }\n\n const messageIdByElement = new Map<Element, string>();\n for (const [messageId, item] of itemsRegistry) {\n messageIdByElement.set(item.element, messageId);\n }\n\n const observer = new IntersectionObserver(\n entries => {\n for (const entry of entries) {\n const messageId = messageIdByElement.get(entry.target);\n if (!messageId) continue;\n if (entry.isIntersecting) {\n intersectingMessageIds.add(messageId);\n } else {\n intersectingMessageIds.delete(messageId);\n }\n }\n updateVisibility();\n },\n {\n root: viewportElement,\n rootMargin: `${-(scrollMargin + scrollPreviousItemPeek)}px 0px 0px 0px`,\n threshold: [0, 0.01, 0.5, 1],\n },\n );\n\n for (const [, item] of itemsRegistry) observer.observe(item.element);\n updateVisibility();\n\n return () => observer.disconnect();\n }, [\n contentElement,\n intersectingMessageIds,\n itemsRegistry,\n itemsVersion,\n scrollMargin,\n scrollPreviousItemPeek,\n updateVisibility,\n viewportElement,\n ]);\n\n React.useEffect(() => {\n if (!viewportElement || typeof ResizeObserver === 'undefined') return undefined;\n const observer = new ResizeObserver(syncAfterScroll);\n observer.observe(viewportElement);\n return () => observer.disconnect();\n }, [syncAfterScroll, viewportElement]);\n\n React.useLayoutEffect(() => {\n updateScrollable();\n updateVisibility();\n }, [itemsVersion, updateScrollable, updateVisibility]);\n\n React.useLayoutEffect(() => {\n if (defaultScrollAppliedRef.current || !viewportElement) return undefined;\n if (itemsRegistry.size === 0) {\n deferDefaultScrollRef.current = true;\n return undefined;\n }\n\n const applyDefaultScroll = () => {\n const lastAnchorId = getLastAnchorId();\n // Where a thread opens decides whether it starts attached: a restored reading\n // position has the stream below it. `scrollToEnd` takes this back when it lands.\n followingRef.current = false;\n let didScroll = false;\n if (defaultScrollPosition === 'start') {\n didScroll = scrollToStart({ behavior: 'auto' });\n } else if (defaultScrollPosition === 'last-anchor') {\n didScroll = lastAnchorId\n ? scrollToMessage(lastAnchorId, { align: 'start', behavior: 'auto' })\n : scrollToEnd({ behavior: 'auto' });\n } else {\n didScroll = scrollToEnd({ behavior: 'auto' });\n }\n\n if (!didScroll) return;\n defaultScrollAppliedRef.current = true;\n // Settling is what arms turn anchoring: the rows the transcript opened with\n // are recorded as read here, and on a settled thread the next anchor to\n // register is the send itself — an arming left to a later anchoring pass\n // would be eaten by that send instead of parking it.\n for (const [messageId, item] of getOrderedItems()) {\n if (!item.scrollAnchor) continue;\n seenAnchorIds.add(messageId);\n seenAnchorElements.add(item.element);\n }\n turnAnchoringArmedRef.current = true;\n };\n\n if (!deferDefaultScrollRef.current) {\n applyDefaultScroll();\n return undefined;\n }\n if (defaultScrollScheduledRef.current) return undefined;\n\n defaultScrollScheduledRef.current = true;\n let cancelled = false;\n scheduleScrollSync(() => {\n scheduleScrollSync(() => {\n defaultScrollScheduledRef.current = false;\n if (!cancelled && !defaultScrollAppliedRef.current) applyDefaultScroll();\n });\n });\n return () => {\n cancelled = true;\n defaultScrollScheduledRef.current = false;\n };\n }, [\n defaultScrollPosition,\n getLastAnchorId,\n getOrderedItems,\n itemsRegistry,\n itemsVersion,\n scrollToEnd,\n scrollToMessage,\n scrollToStart,\n seenAnchorElements,\n seenAnchorIds,\n viewportElement,\n ]);\n\n // A turn opening is the one scripted scroll of a conversation: it carries the\n // reader to the message they just sent and parks it as high as the room the turn\n // reserves under it allows. The answer then grows into that room and moves\n // nothing at all — following only takes over once it outgrows the room.\n React.useLayoutEffect(() => {\n const lastAnchorId = getLastAnchorId();\n const lastAnchor = lastAnchorId ? itemsRegistry.get(lastAnchorId) : undefined;\n const opensTurn =\n turnAnchoringArmedRef.current &&\n lastAnchorId !== undefined &&\n lastAnchor !== undefined &&\n !seenAnchorIds.has(lastAnchorId) &&\n !seenAnchorElements.has(lastAnchor.element);\n\n for (const [messageId, item] of getOrderedItems()) {\n if (!item.scrollAnchor) continue;\n seenAnchorIds.add(messageId);\n seenAnchorElements.add(item.element);\n }\n turnAnchoringArmedRef.current = defaultScrollAppliedRef.current;\n\n if (opensTurn && lastAnchorId) {\n if (autoScroll) followingRef.current = true;\n cancelTripAnimation();\n const target = viewportElement ? anchorTripTarget(lastAnchorId) : undefined;\n // A turn opening at the top of the transcript — the first message of a fresh\n // thread — is already parked: no trip, and nothing moves.\n if (\n target === undefined ||\n !viewportElement ||\n Math.abs(target - viewportElement.scrollTop) <= VISIBILITY_EPSILON\n ) {\n tripRef.current = null;\n } else {\n tripRef.current = { anchorId: lastAnchorId };\n tripAnimationRef.current = startTrip(\n viewportElement,\n () => parkTripTarget(lastAnchorId),\n reason => {\n tripAnimationRef.current = null;\n tripRef.current = null;\n if (reason === 'interrupted') followingRef.current = atEndRef.current;\n syncAfterScroll();\n },\n );\n }\n // Published now: the reader just re-attached, and a button that hears late flashes.\n syncAfterScroll();\n return;\n }\n\n // Rows landing outside a turn — restored history, a notice — still belong to a\n // reader riding the stream, and reach them without a second animation. A trip\n // to an anchor keeps the viewport; a parked reader has new rows growing into\n // the room above the fold, with nothing below to catch up to.\n if (!autoScroll || !defaultScrollAppliedRef.current || !followingRef.current) return;\n if (tripRef.current !== null && tripRef.current !== 'end') return;\n if (viewportElement && followTarget() - viewportElement.scrollTop <= VISIBILITY_EPSILON) return;\n scrollToEnd({ behavior: tripRef.current === 'end' ? 'smooth' : 'auto' });\n }, [\n anchorTripTarget,\n autoScroll,\n cancelTripAnimation,\n followTarget,\n getLastAnchorId,\n getOrderedItems,\n itemsRegistry,\n itemsVersion,\n parkTripTarget,\n scrollToEnd,\n seenAnchorElements,\n seenAnchorIds,\n syncAfterScroll,\n viewportElement,\n ]);\n\n // A viewport going away mid-trip strands the frame loop on a detached element.\n React.useEffect(\n () => () => {\n cancelTripAnimation();\n tripRef.current = null;\n },\n [cancelTripAnimation, viewportElement],\n );\n\n // Older items land above the reader and shove their position down. A prepend is\n // told from an append by the first item's id, then undone by offsetting\n // scrollTop by however much taller the content got.\n React.useLayoutEffect(() => {\n const previousFirstItemId = firstItemIdRef.current;\n // From the DOM, not the registry: prepended items register last, so registry\n // order stops matching reading order.\n const firstItemId = contentElement?.querySelector<HTMLElement>('[data-slot=\"message-scroller-item\"]')?.dataset\n .messageId;\n firstItemIdRef.current = firstItemId;\n\n const anchor = prependAnchorRef.current;\n prependAnchorRef.current = null;\n if (!anchor || !viewportElement || firstItemId === previousFirstItemId) return;\n\n reachStartFiredRef.current = false;\n const grownBy = viewportElement.scrollHeight - anchor.scrollHeight;\n if (grownBy > 0) viewportElement.scrollTop = anchor.scrollTop + grownBy;\n }, [contentElement, itemsVersion, viewportElement]);\n\n const actionsContextValue = React.useMemo<MessageScrollerActionsContextValue>(\n () => ({\n notifyContentResize,\n notifyScroll,\n registerItem,\n scrollToEnd,\n scrollToMessage,\n scrollToStart,\n setContentElement,\n setRootElement,\n setViewportElement,\n syncAfterScroll,\n }),\n [notifyContentResize, notifyScroll, registerItem, scrollToEnd, scrollToMessage, scrollToStart, syncAfterScroll],\n );\n\n const scrollableContextValue = React.useMemo<MessageScrollerScrollable>(\n () => ({\n end: scrollable.end,\n start: scrollable.start,\n }),\n [scrollable.end, scrollable.start],\n );\n\n const visibilityContextValue = React.useMemo<MessageScrollerVisibility>(\n () => ({\n currentAnchorId: visibility.currentAnchorId,\n visibleMessageIds: visibility.visibleMessageIds,\n }),\n [visibility.currentAnchorId, visibility.visibleMessageIds],\n );\n\n return (\n <MessageScrollerActionsContext.Provider value={actionsContextValue}>\n <MessageScrollerScrollableContext.Provider value={scrollableContextValue}>\n <MessageScrollerVisibilityContext.Provider value={visibilityContextValue}>\n {children}\n </MessageScrollerVisibilityContext.Provider>\n </MessageScrollerScrollableContext.Provider>\n </MessageScrollerActionsContext.Provider>\n );\n}\n\nexport type MessageScrollerProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const MessageScroller = React.forwardRef<HTMLDivElement, MessageScrollerProps>(\n ({ className, ...props }, ref) => {\n const { setRootElement } = useRequiredMessageScrollerActionsContext('MessageScroller');\n return (\n <div\n ref={mergeRefs(setRootElement, ref)}\n data-slot=\"message-scroller\"\n className={cn('group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden', className)}\n {...props}\n />\n );\n },\n);\nMessageScroller.displayName = 'MessageScroller';\n\nexport type MessageScrollerViewportProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport const MessageScrollerViewport = React.forwardRef<HTMLDivElement, MessageScrollerViewportProps>(\n ({ className, onScroll, role, tabIndex, ...props }, ref) => {\n const { setViewportElement, notifyScroll } = useRequiredMessageScrollerActionsContext('MessageScrollerViewport');\n const viewportRef = React.useMemo(() => mergeRefs(setViewportElement, ref), [ref, setViewportElement]);\n\n return (\n <div\n ref={viewportRef}\n role={role ?? 'region'}\n tabIndex={tabIndex ?? 0}\n data-slot=\"message-scroller-viewport\"\n className={cn(\n // Size container so consumers can size the room under a live turn in cqh.\n '[container-type:size] size-full min-h-0 min-w-0 overflow-y-auto overscroll-contain',\n 'data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent',\n className,\n )}\n onScroll={event => {\n notifyScroll();\n onScroll?.(event);\n }}\n {...props}\n />\n );\n },\n);\nMessageScrollerViewport.displayName = 'MessageScrollerViewport';\n\nexport type MessageScrollerContentProps = React.HTMLAttributes<HTMLDivElement> & {\n spacerClassName?: string;\n};\n\nexport const MessageScrollerContent = React.forwardRef<HTMLDivElement, MessageScrollerContentProps>(\n ({ children, className, spacerClassName, role, 'aria-relevant': ariaRelevant = 'additions', ...props }, ref) => {\n const { setContentElement, notifyContentResize, syncAfterScroll } =\n useRequiredMessageScrollerActionsContext('MessageScrollerContent');\n const [contentElement, setLocalContentElement] = React.useState<HTMLDivElement | null>(null);\n\n const contentRef = React.useMemo(\n () => mergeRefs<HTMLDivElement>(setContentElement, setLocalContentElement, ref),\n [ref, setContentElement],\n );\n\n React.useLayoutEffect(() => {\n syncAfterScroll();\n }, [syncAfterScroll]);\n\n React.useEffect(() => {\n if (!contentElement || typeof MutationObserver === 'undefined') return undefined;\n const observer = new MutationObserver(notifyContentResize);\n observer.observe(contentElement, { childList: true, subtree: false });\n return () => observer.disconnect();\n }, [contentElement, notifyContentResize]);\n\n React.useEffect(() => {\n if (!contentElement || typeof ResizeObserver === 'undefined') return undefined;\n const observer = new ResizeObserver(notifyContentResize);\n observer.observe(contentElement);\n return () => observer.disconnect();\n }, [contentElement, notifyContentResize]);\n\n return (\n <div\n ref={contentRef}\n role={role ?? 'log'}\n aria-relevant={ariaRelevant}\n data-slot=\"message-scroller-content\"\n className={cn('flex h-max min-h-full flex-col gap-6', className)}\n {...props}\n >\n {children}\n <div aria-hidden=\"true\" data-message-scroller-spacer=\"\" hidden className={spacerClassName} />\n </div>\n );\n },\n);\nMessageScrollerContent.displayName = 'MessageScrollerContent';\n\nexport type MessageScrollerItemProps = React.HTMLAttributes<HTMLDivElement> & {\n messageId?: string;\n scrollAnchor?: boolean;\n};\n\nexport const MessageScrollerItem = React.forwardRef<HTMLDivElement, MessageScrollerItemProps>(\n ({ className, messageId, scrollAnchor = false, ...props }, ref) => {\n // Optional, unlike the other slots: the same row renderer is reused outside a\n // scroller (draft pages, previews), where there is simply nothing to register.\n const registerItem = React.useContext(MessageScrollerActionsContext)?.registerItem;\n const unregisterRef = React.useRef<(() => void) | undefined>(undefined);\n const itemRef = React.useCallback(\n (element: HTMLDivElement | null) => {\n unregisterRef.current?.();\n unregisterRef.current = undefined;\n mergeRefs(ref)(element);\n\n if (!element || !messageId || !registerItem) return;\n unregisterRef.current = registerItem(messageId, element, scrollAnchor);\n },\n [messageId, ref, registerItem, scrollAnchor],\n );\n\n return (\n <div\n ref={itemRef}\n data-slot=\"message-scroller-item\"\n data-message-id={messageId}\n data-scroll-anchor={scrollAnchor ? 'true' : 'false'}\n className={cn('min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]', className)}\n {...props}\n />\n );\n },\n);\nMessageScrollerItem.displayName = 'MessageScrollerItem';\n\nexport type MessageScrollerButtonProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> & {\n behavior?: ScrollBehavior;\n children?: React.ReactNode;\n direction?: MessageScrollerButtonDirection;\n};\n\nexport const MessageScrollerButton = React.forwardRef<HTMLButtonElement, MessageScrollerButtonProps>(\n (\n { behavior = 'smooth', direction = 'end', className, children, onClick, tabIndex, type = 'button', ...props },\n ref,\n ) => {\n const { scrollToEnd, scrollToStart } = useRequiredMessageScrollerActionsContext('MessageScrollerButton');\n const { start, end } = useRequiredMessageScrollerScrollableContext('MessageScrollerButton');\n const active = direction === 'start' ? start : end;\n\n return (\n <button\n ref={ref}\n type={type}\n {...props}\n data-slot=\"message-scroller-button\"\n data-active={active ? 'true' : 'false'}\n data-direction={direction}\n tabIndex={active ? tabIndex : -1}\n className={cn(\n overlaySurfaceStyle,\n 'absolute inset-s-1/2 inline-flex min-h-5 min-w-7 -translate-x-1/2 items-center justify-center rounded-full text-foreground transition-[translate,scale,opacity] duration-200 hover:[--surface-tint:var(--fill-subtle)] data-[active=false]:pointer-events-none data-[active=false]:scale-95 data-[active=false]:opacity-0 data-[active=false]:duration-400 data-[active=false]:ease-[cubic-bezier(0.7,0,0.84,0)] data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100 data-[active=true]:ease-[cubic-bezier(0.23,1,0.32,1)] data-[direction=end]:bottom-4 data-[direction=end]:data-[active=false]:translate-y-full data-[direction=start]:top-4 data-[direction=start]:data-[active=false]:-translate-y-full rtl:translate-x-1/2 data-[direction=start]:[&_svg]:rotate-180',\n className,\n )}\n onClick={event => {\n if (!active) return;\n onClick?.(event);\n if (event.defaultPrevented) return;\n event.currentTarget.blur();\n if (direction === 'start') {\n scrollToStart({ behavior });\n } else {\n scrollToEnd({ behavior });\n }\n }}\n >\n {children ?? (\n <>\n <ArrowDownIcon className=\"size-4\" aria-hidden />\n <span className=\"sr-only\">{direction === 'end' ? 'Scroll to end' : 'Scroll to start'}</span>\n </>\n )}\n </button>\n );\n },\n);\nMessageScrollerButton.displayName = 'MessageScrollerButton';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const utils_cn = require('./cn-DG0X1KEP.cjs');
|
|
5
|
+
const spinner = require('./spinner-CqP-NaB2.cjs');
|
|
6
|
+
const Card = require('./Card-D0kFp9j9.cjs');
|
|
7
|
+
const metricsKpiCard = require('./metrics-kpi-card-CgqmNcEC.cjs');
|
|
8
|
+
|
|
9
|
+
function MetricsCardActions({ children, className }) {
|
|
10
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_cn.cn("flex shrink-0 items-center gap-1", className), children });
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function MetricsCardContent({ children, className }) {
|
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_cn.cn("overflow-x-auto ", className), children });
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function MetricsCardDescription({ children, className }) {
|
|
18
|
+
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: utils_cn.cn("mt-0.5 text-body text-placeholder", className), children });
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function MetricsCardError({
|
|
22
|
+
message = "Failed to load data",
|
|
23
|
+
className
|
|
24
|
+
}) {
|
|
25
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_cn.cn("flex flex-col items-center justify-center gap-3", className), children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-caption text-accent2", children: message }) });
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function MetricsCardLoading({ className }) {
|
|
29
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_cn.cn("flex items-center justify-center", className), children: /* @__PURE__ */ jsxRuntime.jsx(spinner.Spinner, { size: "md", variant: "pulse", className: "text-placeholder" }) });
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function MetricsCardNoData({ message = "No data yet", className }) {
|
|
33
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_cn.cn("flex h-full items-center justify-center", className), children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-placeholder text-body", children: message }) });
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function MetricsCardRoot({ children, className }) {
|
|
37
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
38
|
+
Card.Card,
|
|
39
|
+
{
|
|
40
|
+
className: utils_cn.cn(
|
|
41
|
+
"2xl:min-w-120 md:min-w-88 xl:min-w-104 grid min-h-72 min-w-80 flex-1 grid-rows-[4rem_1fr] gap-2 px-4 py-3 lg:min-w-sm",
|
|
42
|
+
className
|
|
43
|
+
),
|
|
44
|
+
children
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function MetricsCardSummary({ value, label, className }) {
|
|
50
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils_cn.cn("grid content-start justify-end gap-1 text-right", className), children: [
|
|
51
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-subheading text-muted-foreground leading-none", children: value }),
|
|
52
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-body text-placeholder", children: label })
|
|
53
|
+
] });
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function MetricsCardTitle({
|
|
57
|
+
children,
|
|
58
|
+
className,
|
|
59
|
+
as: Tag = "h2"
|
|
60
|
+
}) {
|
|
61
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Tag, { className: utils_cn.cn("text-body text-muted-foreground", className), children });
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function MetricsCardTitleAndDescription(props) {
|
|
65
|
+
if ("children" in props) {
|
|
66
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: props.className, children: props.children });
|
|
67
|
+
}
|
|
68
|
+
const { title, description, titleAs } = props;
|
|
69
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: props.className, children: [
|
|
70
|
+
/* @__PURE__ */ jsxRuntime.jsx(MetricsCardTitle, { as: titleAs, children: title }),
|
|
71
|
+
description && /* @__PURE__ */ jsxRuntime.jsx(MetricsCardDescription, { children: description })
|
|
72
|
+
] });
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function MetricsCardTopBar({ children, className }) {
|
|
76
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_cn.cn("flex items-start gap-4 [&>:first-child]:min-w-0 [&>:first-child]:flex-1", className), children });
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const MetricsCard = Object.assign(MetricsCardRoot, {
|
|
80
|
+
Root: MetricsCardRoot,
|
|
81
|
+
Kpi: metricsKpiCard.MetricsKpiCard,
|
|
82
|
+
TopBar: MetricsCardTopBar,
|
|
83
|
+
Actions: MetricsCardActions,
|
|
84
|
+
TitleAndDescription: MetricsCardTitleAndDescription,
|
|
85
|
+
Title: MetricsCardTitle,
|
|
86
|
+
Description: MetricsCardDescription,
|
|
87
|
+
Summary: MetricsCardSummary,
|
|
88
|
+
Loading: MetricsCardLoading,
|
|
89
|
+
Error: MetricsCardError,
|
|
90
|
+
Content: MetricsCardContent,
|
|
91
|
+
NoData: MetricsCardNoData
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
exports.MetricsCard = MetricsCard;
|
|
95
|
+
//# sourceMappingURL=metrics-card-BUJxiwec.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-card-BUJxiwec.cjs","sources":["../src/ds/components/MetricsCard/metrics-card-actions.tsx","../src/ds/components/MetricsCard/metrics-card-content.tsx","../src/ds/components/MetricsCard/metrics-card-description.tsx","../src/ds/components/MetricsCard/metrics-card-error.tsx","../src/ds/components/MetricsCard/metrics-card-loading.tsx","../src/ds/components/MetricsCard/metrics-card-no-data.tsx","../src/ds/components/MetricsCard/metrics-card-root.tsx","../src/ds/components/MetricsCard/metrics-card-summary.tsx","../src/ds/components/MetricsCard/metrics-card-title.tsx","../src/ds/components/MetricsCard/metrics-card-title-and-description.tsx","../src/ds/components/MetricsCard/metrics-card-top-bar.tsx","../src/ds/components/MetricsCard/metrics-card.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\n/** Container for icon buttons / small actions in the top bar of a MetricsCard,\n * placed alongside `TitleAndDescription` + `Summary`. */\nexport function MetricsCardActions({ children, className }: { children: ReactNode; className?: string }) {\n return <div className={cn('flex shrink-0 items-center gap-1', className)}>{children}</div>;\n}\n","import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsCardContent({ children, className }: { children: ReactNode; className?: string }) {\n return <div className={cn('overflow-x-auto ', className)}>{children}</div>;\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsCardDescription({ children, className }: { children: string; className?: string }) {\n return <p className={cn('mt-0.5 text-body text-placeholder', className)}>{children}</p>;\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsCardError({\n message = 'Failed to load data',\n className,\n}: {\n message?: string;\n className?: string;\n}) {\n return (\n <div className={cn('flex flex-col items-center justify-center gap-3', className)}>\n <p className=\"text-caption text-accent2\">{message}</p>\n </div>\n );\n}\n","import { Spinner } from '@/ds/components/Spinner/spinner';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsCardLoading({ className }: { className?: string }) {\n return (\n <div className={cn('flex items-center justify-center', className)}>\n <Spinner size=\"md\" variant=\"pulse\" className=\"text-placeholder\" />\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsCardNoData({ message = 'No data yet', className }: { message?: string; className?: string }) {\n return (\n <div className={cn('flex h-full items-center justify-center', className)}>\n <p className=\"text-placeholder text-body\">{message}</p>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Card } from '@/ds/components/Card';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsCardRoot({ children, className }: { children: ReactNode; className?: string }) {\n return (\n <Card\n className={cn(\n '2xl:min-w-120 md:min-w-88 xl:min-w-104 grid min-h-72 min-w-80 flex-1 grid-rows-[4rem_1fr] gap-2 px-4 py-3 lg:min-w-sm',\n className,\n )}\n >\n {children}\n </Card>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsCardSummary({ value, label, className }: { value: string; label?: string; className?: string }) {\n return (\n <div className={cn('grid content-start justify-end gap-1 text-right', className)}>\n <span className=\"text-subheading text-muted-foreground leading-none\">{value}</span>\n {label && <span className=\"text-body text-placeholder\">{label}</span>}\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsCardTitle({\n children,\n className,\n as: Tag = 'h2',\n}: {\n children: string;\n className?: string;\n as?: 'h2' | 'h3' | 'h4';\n}) {\n return <Tag className={cn('text-body text-muted-foreground', className)}>{children}</Tag>;\n}\n","import type { ReactNode } from 'react';\n\nimport { MetricsCardDescription } from './metrics-card-description';\nimport { MetricsCardTitle } from './metrics-card-title';\n\ntype PropsWithTitleDescription = {\n title: string;\n description?: string;\n titleAs?: 'h2' | 'h3' | 'h4';\n children?: never;\n className?: string;\n};\n\ntype PropsWithChildren = {\n title?: never;\n description?: never;\n children: ReactNode;\n className?: string;\n};\n\nexport function MetricsCardTitleAndDescription(props: PropsWithTitleDescription | PropsWithChildren) {\n if ('children' in props) {\n return <div className={props.className}>{props.children}</div>;\n }\n\n const { title, description, titleAs } = props;\n\n return (\n <div className={props.className}>\n <MetricsCardTitle as={titleAs}>{title}</MetricsCardTitle>\n {description && <MetricsCardDescription>{description}</MetricsCardDescription>}\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsCardTopBar({ children, className }: { children: ReactNode; className?: string }) {\n return (\n <div className={cn('flex items-start gap-4 [&>:first-child]:min-w-0 [&>:first-child]:flex-1', className)}>\n {children}\n </div>\n );\n}\n","import { MetricsCardActions } from './metrics-card-actions';\nimport { MetricsCardContent } from './metrics-card-content';\nimport { MetricsCardDescription } from './metrics-card-description';\nimport { MetricsCardError } from './metrics-card-error';\nimport { MetricsCardLoading } from './metrics-card-loading';\nimport { MetricsCardNoData } from './metrics-card-no-data';\nimport { MetricsCardRoot } from './metrics-card-root';\nimport { MetricsCardSummary } from './metrics-card-summary';\nimport { MetricsCardTitle } from './metrics-card-title';\nimport { MetricsCardTitleAndDescription } from './metrics-card-title-and-description';\nimport { MetricsCardTopBar } from './metrics-card-top-bar';\nimport { MetricsKpiCard } from '@/ds/components/MetricsKpiCard';\n\nexport const MetricsCard = Object.assign(MetricsCardRoot, {\n Root: MetricsCardRoot,\n Kpi: MetricsKpiCard,\n TopBar: MetricsCardTopBar,\n Actions: MetricsCardActions,\n TitleAndDescription: MetricsCardTitleAndDescription,\n Title: MetricsCardTitle,\n Description: MetricsCardDescription,\n Summary: MetricsCardSummary,\n Loading: MetricsCardLoading,\n Error: MetricsCardError,\n Content: MetricsCardContent,\n NoData: MetricsCardNoData,\n});\n"],"names":["cn","jsx","Spinner","Card","jsxs","MetricsKpiCard"],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { c as cn } from './cn-65Adrsfj.js';
|
|
3
|
+
import { S as Spinner } from './spinner-D2C2DYw8.js';
|
|
4
|
+
import { C as Card } from './Card-DEvGFj-Z.js';
|
|
5
|
+
import { M as MetricsKpiCard } from './metrics-kpi-card-CBSNmtc5.js';
|
|
6
|
+
|
|
7
|
+
function MetricsCardActions({ children, className }) {
|
|
8
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex shrink-0 items-center gap-1", className), children });
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function MetricsCardContent({ children, className }) {
|
|
12
|
+
return /* @__PURE__ */ jsx("div", { className: cn("overflow-x-auto ", className), children });
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function MetricsCardDescription({ children, className }) {
|
|
16
|
+
return /* @__PURE__ */ jsx("p", { className: cn("mt-0.5 text-body text-placeholder", className), children });
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function MetricsCardError({
|
|
20
|
+
message = "Failed to load data",
|
|
21
|
+
className
|
|
22
|
+
}) {
|
|
23
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex flex-col items-center justify-center gap-3", className), children: /* @__PURE__ */ jsx("p", { className: "text-caption text-accent2", children: message }) });
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function MetricsCardLoading({ className }) {
|
|
27
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center justify-center", className), children: /* @__PURE__ */ jsx(Spinner, { size: "md", variant: "pulse", className: "text-placeholder" }) });
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function MetricsCardNoData({ message = "No data yet", className }) {
|
|
31
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex h-full items-center justify-center", className), children: /* @__PURE__ */ jsx("p", { className: "text-placeholder text-body", children: message }) });
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function MetricsCardRoot({ children, className }) {
|
|
35
|
+
return /* @__PURE__ */ jsx(
|
|
36
|
+
Card,
|
|
37
|
+
{
|
|
38
|
+
className: cn(
|
|
39
|
+
"2xl:min-w-120 md:min-w-88 xl:min-w-104 grid min-h-72 min-w-80 flex-1 grid-rows-[4rem_1fr] gap-2 px-4 py-3 lg:min-w-sm",
|
|
40
|
+
className
|
|
41
|
+
),
|
|
42
|
+
children
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function MetricsCardSummary({ value, label, className }) {
|
|
48
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("grid content-start justify-end gap-1 text-right", className), children: [
|
|
49
|
+
/* @__PURE__ */ jsx("span", { className: "text-subheading text-muted-foreground leading-none", children: value }),
|
|
50
|
+
label && /* @__PURE__ */ jsx("span", { className: "text-body text-placeholder", children: label })
|
|
51
|
+
] });
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function MetricsCardTitle({
|
|
55
|
+
children,
|
|
56
|
+
className,
|
|
57
|
+
as: Tag = "h2"
|
|
58
|
+
}) {
|
|
59
|
+
return /* @__PURE__ */ jsx(Tag, { className: cn("text-body text-muted-foreground", className), children });
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function MetricsCardTitleAndDescription(props) {
|
|
63
|
+
if ("children" in props) {
|
|
64
|
+
return /* @__PURE__ */ jsx("div", { className: props.className, children: props.children });
|
|
65
|
+
}
|
|
66
|
+
const { title, description, titleAs } = props;
|
|
67
|
+
return /* @__PURE__ */ jsxs("div", { className: props.className, children: [
|
|
68
|
+
/* @__PURE__ */ jsx(MetricsCardTitle, { as: titleAs, children: title }),
|
|
69
|
+
description && /* @__PURE__ */ jsx(MetricsCardDescription, { children: description })
|
|
70
|
+
] });
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function MetricsCardTopBar({ children, className }) {
|
|
74
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-start gap-4 [&>:first-child]:min-w-0 [&>:first-child]:flex-1", className), children });
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const MetricsCard = Object.assign(MetricsCardRoot, {
|
|
78
|
+
Root: MetricsCardRoot,
|
|
79
|
+
Kpi: MetricsKpiCard,
|
|
80
|
+
TopBar: MetricsCardTopBar,
|
|
81
|
+
Actions: MetricsCardActions,
|
|
82
|
+
TitleAndDescription: MetricsCardTitleAndDescription,
|
|
83
|
+
Title: MetricsCardTitle,
|
|
84
|
+
Description: MetricsCardDescription,
|
|
85
|
+
Summary: MetricsCardSummary,
|
|
86
|
+
Loading: MetricsCardLoading,
|
|
87
|
+
Error: MetricsCardError,
|
|
88
|
+
Content: MetricsCardContent,
|
|
89
|
+
NoData: MetricsCardNoData
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
export { MetricsCard as M };
|
|
93
|
+
//# sourceMappingURL=metrics-card-BlBt1WHw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-card-BlBt1WHw.js","sources":["../src/ds/components/MetricsCard/metrics-card-actions.tsx","../src/ds/components/MetricsCard/metrics-card-content.tsx","../src/ds/components/MetricsCard/metrics-card-description.tsx","../src/ds/components/MetricsCard/metrics-card-error.tsx","../src/ds/components/MetricsCard/metrics-card-loading.tsx","../src/ds/components/MetricsCard/metrics-card-no-data.tsx","../src/ds/components/MetricsCard/metrics-card-root.tsx","../src/ds/components/MetricsCard/metrics-card-summary.tsx","../src/ds/components/MetricsCard/metrics-card-title.tsx","../src/ds/components/MetricsCard/metrics-card-title-and-description.tsx","../src/ds/components/MetricsCard/metrics-card-top-bar.tsx","../src/ds/components/MetricsCard/metrics-card.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\n/** Container for icon buttons / small actions in the top bar of a MetricsCard,\n * placed alongside `TitleAndDescription` + `Summary`. */\nexport function MetricsCardActions({ children, className }: { children: ReactNode; className?: string }) {\n return <div className={cn('flex shrink-0 items-center gap-1', className)}>{children}</div>;\n}\n","import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsCardContent({ children, className }: { children: ReactNode; className?: string }) {\n return <div className={cn('overflow-x-auto ', className)}>{children}</div>;\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsCardDescription({ children, className }: { children: string; className?: string }) {\n return <p className={cn('mt-0.5 text-body text-placeholder', className)}>{children}</p>;\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsCardError({\n message = 'Failed to load data',\n className,\n}: {\n message?: string;\n className?: string;\n}) {\n return (\n <div className={cn('flex flex-col items-center justify-center gap-3', className)}>\n <p className=\"text-caption text-accent2\">{message}</p>\n </div>\n );\n}\n","import { Spinner } from '@/ds/components/Spinner/spinner';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsCardLoading({ className }: { className?: string }) {\n return (\n <div className={cn('flex items-center justify-center', className)}>\n <Spinner size=\"md\" variant=\"pulse\" className=\"text-placeholder\" />\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsCardNoData({ message = 'No data yet', className }: { message?: string; className?: string }) {\n return (\n <div className={cn('flex h-full items-center justify-center', className)}>\n <p className=\"text-placeholder text-body\">{message}</p>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Card } from '@/ds/components/Card';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsCardRoot({ children, className }: { children: ReactNode; className?: string }) {\n return (\n <Card\n className={cn(\n '2xl:min-w-120 md:min-w-88 xl:min-w-104 grid min-h-72 min-w-80 flex-1 grid-rows-[4rem_1fr] gap-2 px-4 py-3 lg:min-w-sm',\n className,\n )}\n >\n {children}\n </Card>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsCardSummary({ value, label, className }: { value: string; label?: string; className?: string }) {\n return (\n <div className={cn('grid content-start justify-end gap-1 text-right', className)}>\n <span className=\"text-subheading text-muted-foreground leading-none\">{value}</span>\n {label && <span className=\"text-body text-placeholder\">{label}</span>}\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsCardTitle({\n children,\n className,\n as: Tag = 'h2',\n}: {\n children: string;\n className?: string;\n as?: 'h2' | 'h3' | 'h4';\n}) {\n return <Tag className={cn('text-body text-muted-foreground', className)}>{children}</Tag>;\n}\n","import type { ReactNode } from 'react';\n\nimport { MetricsCardDescription } from './metrics-card-description';\nimport { MetricsCardTitle } from './metrics-card-title';\n\ntype PropsWithTitleDescription = {\n title: string;\n description?: string;\n titleAs?: 'h2' | 'h3' | 'h4';\n children?: never;\n className?: string;\n};\n\ntype PropsWithChildren = {\n title?: never;\n description?: never;\n children: ReactNode;\n className?: string;\n};\n\nexport function MetricsCardTitleAndDescription(props: PropsWithTitleDescription | PropsWithChildren) {\n if ('children' in props) {\n return <div className={props.className}>{props.children}</div>;\n }\n\n const { title, description, titleAs } = props;\n\n return (\n <div className={props.className}>\n <MetricsCardTitle as={titleAs}>{title}</MetricsCardTitle>\n {description && <MetricsCardDescription>{description}</MetricsCardDescription>}\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsCardTopBar({ children, className }: { children: ReactNode; className?: string }) {\n return (\n <div className={cn('flex items-start gap-4 [&>:first-child]:min-w-0 [&>:first-child]:flex-1', className)}>\n {children}\n </div>\n );\n}\n","import { MetricsCardActions } from './metrics-card-actions';\nimport { MetricsCardContent } from './metrics-card-content';\nimport { MetricsCardDescription } from './metrics-card-description';\nimport { MetricsCardError } from './metrics-card-error';\nimport { MetricsCardLoading } from './metrics-card-loading';\nimport { MetricsCardNoData } from './metrics-card-no-data';\nimport { MetricsCardRoot } from './metrics-card-root';\nimport { MetricsCardSummary } from './metrics-card-summary';\nimport { MetricsCardTitle } from './metrics-card-title';\nimport { MetricsCardTitleAndDescription } from './metrics-card-title-and-description';\nimport { MetricsCardTopBar } from './metrics-card-top-bar';\nimport { MetricsKpiCard } from '@/ds/components/MetricsKpiCard';\n\nexport const MetricsCard = Object.assign(MetricsCardRoot, {\n Root: MetricsCardRoot,\n Kpi: MetricsKpiCard,\n TopBar: MetricsCardTopBar,\n Actions: MetricsCardActions,\n TitleAndDescription: MetricsCardTitleAndDescription,\n Title: MetricsCardTitle,\n Description: MetricsCardDescription,\n Summary: MetricsCardSummary,\n Loading: MetricsCardLoading,\n Error: MetricsCardError,\n Content: MetricsCardContent,\n NoData: MetricsCardNoData,\n});\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { TrendingUpIcon, TrendingDownIcon } from 'lucide-react';
|
|
3
|
+
import { c as cn } from './cn-65Adrsfj.js';
|
|
4
|
+
import { S as Spinner } from './spinner-D2C2DYw8.js';
|
|
5
|
+
import { C as Card } from './Card-DEvGFj-Z.js';
|
|
6
|
+
|
|
7
|
+
function MetricsKpiCardChange({
|
|
8
|
+
changePct,
|
|
9
|
+
prevValue,
|
|
10
|
+
lowerIsBetter,
|
|
11
|
+
className
|
|
12
|
+
}) {
|
|
13
|
+
const isGood = lowerIsBetter ? changePct < 0 : changePct >= 0;
|
|
14
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-wrap items-center gap-1 text-caption text-placeholder", className), children: [
|
|
15
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
|
|
16
|
+
/* @__PURE__ */ jsx("span", { className: cn("[&>svg]:size-4", isGood ? "text-green-600" : "text-red-600"), children: changePct >= 0 ? /* @__PURE__ */ jsx(TrendingUpIcon, {}) : /* @__PURE__ */ jsx(TrendingDownIcon, {}) }),
|
|
17
|
+
/* @__PURE__ */ jsx(
|
|
18
|
+
"span",
|
|
19
|
+
{
|
|
20
|
+
className: cn(isGood ? "text-green-600" : "text-red-600"),
|
|
21
|
+
children: `${changePct >= 0 ? "+" : "-"}${Math.abs(changePct).toFixed(1)}%`
|
|
22
|
+
}
|
|
23
|
+
)
|
|
24
|
+
] }),
|
|
25
|
+
prevValue && /* @__PURE__ */ jsxs("div", { children: [
|
|
26
|
+
"vs previous ",
|
|
27
|
+
/* @__PURE__ */ jsx("b", { className: "text-placeholder text-column", children: prevValue })
|
|
28
|
+
] })
|
|
29
|
+
] });
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function MetricsKpiCardError({
|
|
33
|
+
message = "Failed to load data",
|
|
34
|
+
className
|
|
35
|
+
}) {
|
|
36
|
+
return /* @__PURE__ */ jsx("span", { className: cn("text-caption text-accent2", className), children: message });
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function MetricsKpiCardLabel({ children, className }) {
|
|
40
|
+
return /* @__PURE__ */ jsx("span", { className: cn("text-body text-muted-foreground", className), children });
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function MetricsKpiCardLoading({ className }) {
|
|
44
|
+
return /* @__PURE__ */ jsx("span", { className: cn("text-body", className), children: /* @__PURE__ */ jsx(Spinner, { size: "md", variant: "pulse", className: "text-placeholder" }) });
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function MetricsKpiCardNoChange({
|
|
48
|
+
message = "No previous value to compare",
|
|
49
|
+
className
|
|
50
|
+
}) {
|
|
51
|
+
return /* @__PURE__ */ jsx("span", { className: cn("text-body text-placeholder", className), children: message });
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function MetricsKpiCardNoData({ message = "No data yet", className }) {
|
|
55
|
+
return /* @__PURE__ */ jsx("span", { className: cn("text-body text-placeholder", className), children: message });
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function MetricsKpiCardRoot({ children, className }) {
|
|
59
|
+
return /* @__PURE__ */ jsx(Card, { className: cn("min-w-72 flex-1 px-4 py-3", className), children: /* @__PURE__ */ jsx("div", { className: "grid gap-1", children }) });
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function MetricsKpiCardValue({ children, className }) {
|
|
63
|
+
return /* @__PURE__ */ jsx("strong", { className: cn("text-title text-muted-foreground", className), children });
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const MetricsKpiCard = Object.assign(MetricsKpiCardRoot, {
|
|
67
|
+
Label: MetricsKpiCardLabel,
|
|
68
|
+
Value: MetricsKpiCardValue,
|
|
69
|
+
Change: MetricsKpiCardChange,
|
|
70
|
+
NoChange: MetricsKpiCardNoChange,
|
|
71
|
+
NoData: MetricsKpiCardNoData,
|
|
72
|
+
Error: MetricsKpiCardError,
|
|
73
|
+
Loading: MetricsKpiCardLoading
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
export { MetricsKpiCard as M };
|
|
77
|
+
//# sourceMappingURL=metrics-kpi-card-CBSNmtc5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-kpi-card-CBSNmtc5.js","sources":["../src/ds/components/MetricsKpiCard/metrics-kpi-card-change.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-error.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-label.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-loading.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-no-change.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-no-data.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-root.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card-value.tsx","../src/ds/components/MetricsKpiCard/metrics-kpi-card.tsx"],"sourcesContent":["import { TrendingUpIcon, TrendingDownIcon } from 'lucide-react';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardChange({\n changePct,\n prevValue,\n lowerIsBetter,\n className,\n}: {\n changePct: number;\n prevValue?: string;\n lowerIsBetter?: boolean;\n className?: string;\n}) {\n const isGood = lowerIsBetter ? changePct < 0 : changePct >= 0;\n\n return (\n <div className={cn('flex flex-wrap items-center gap-1 text-caption text-placeholder', className)}>\n <div className=\"flex items-center gap-1\">\n <span className={cn('[&>svg]:size-4', isGood ? 'text-green-600' : 'text-red-600')}>\n {changePct >= 0 ? <TrendingUpIcon /> : <TrendingDownIcon />}\n </span>\n <span\n className={cn(isGood ? 'text-green-600' : 'text-red-600')}\n >{`${changePct >= 0 ? '+' : '-'}${Math.abs(changePct).toFixed(1)}%`}</span>\n </div>\n {prevValue && (\n <div>\n vs previous <b className=\"text-placeholder text-column\">{prevValue}</b>\n </div>\n )}\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardError({\n message = 'Failed to load data',\n className,\n}: {\n message?: string;\n className?: string;\n}) {\n return <span className={cn('text-caption text-accent2', className)}>{message}</span>;\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardLabel({ children, className }: { children: string; className?: string }) {\n return <span className={cn('text-body text-muted-foreground', className)}>{children}</span>;\n}\n","import { Spinner } from '@/ds/components/Spinner/spinner';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardLoading({ className }: { className?: string }) {\n return (\n <span className={cn('text-body', className)}>\n <Spinner size=\"md\" variant=\"pulse\" className=\"text-placeholder\" />\n </span>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardNoChange({\n message = 'No previous value to compare',\n className,\n}: {\n message?: string;\n className?: string;\n}) {\n return <span className={cn('text-body text-placeholder', className)}>{message}</span>;\n}\n","import { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardNoData({ message = 'No data yet', className }: { message?: string; className?: string }) {\n return <span className={cn('text-body text-placeholder', className)}>{message}</span>;\n}\n","import type { ReactNode } from 'react';\nimport { Card } from '@/ds/components/Card';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardRoot({ children, className }: { children: ReactNode; className?: string }) {\n return (\n <Card className={cn('min-w-72 flex-1 px-4 py-3', className)}>\n <div className=\"grid gap-1\">{children}</div>\n </Card>\n );\n}\n","import type { ReactNode } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport function MetricsKpiCardValue({ children, className }: { children: ReactNode; className?: string }) {\n return <strong className={cn('text-title text-muted-foreground', className)}>{children}</strong>;\n}\n","import { MetricsKpiCardChange } from './metrics-kpi-card-change';\nimport { MetricsKpiCardError } from './metrics-kpi-card-error';\nimport { MetricsKpiCardLabel } from './metrics-kpi-card-label';\nimport { MetricsKpiCardLoading } from './metrics-kpi-card-loading';\nimport { MetricsKpiCardNoChange } from './metrics-kpi-card-no-change';\nimport { MetricsKpiCardNoData } from './metrics-kpi-card-no-data';\nimport { MetricsKpiCardRoot } from './metrics-kpi-card-root';\nimport { MetricsKpiCardValue } from './metrics-kpi-card-value';\n\nexport const MetricsKpiCard = Object.assign(MetricsKpiCardRoot, {\n Label: MetricsKpiCardLabel,\n Value: MetricsKpiCardValue,\n Change: MetricsKpiCardChange,\n NoChange: MetricsKpiCardNoChange,\n NoData: MetricsKpiCardNoData,\n Error: MetricsKpiCardError,\n Loading: MetricsKpiCardLoading,\n});\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const lucideReact = require('lucide-react');
|
|
5
|
+
const utils_cn = require('./cn-DG0X1KEP.cjs');
|
|
6
|
+
const spinner = require('./spinner-CqP-NaB2.cjs');
|
|
7
|
+
const Card = require('./Card-D0kFp9j9.cjs');
|
|
8
|
+
|
|
9
|
+
function MetricsKpiCardChange({
|
|
10
|
+
changePct,
|
|
11
|
+
prevValue,
|
|
12
|
+
lowerIsBetter,
|
|
13
|
+
className
|
|
14
|
+
}) {
|
|
15
|
+
const isGood = lowerIsBetter ? changePct < 0 : changePct >= 0;
|
|
16
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils_cn.cn("flex flex-wrap items-center gap-1 text-caption text-placeholder", className), children: [
|
|
17
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
18
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: utils_cn.cn("[&>svg]:size-4", isGood ? "text-green-600" : "text-red-600"), children: changePct >= 0 ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.TrendingUpIcon, {}) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.TrendingDownIcon, {}) }),
|
|
19
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
20
|
+
"span",
|
|
21
|
+
{
|
|
22
|
+
className: utils_cn.cn(isGood ? "text-green-600" : "text-red-600"),
|
|
23
|
+
children: `${changePct >= 0 ? "+" : "-"}${Math.abs(changePct).toFixed(1)}%`
|
|
24
|
+
}
|
|
25
|
+
)
|
|
26
|
+
] }),
|
|
27
|
+
prevValue && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
28
|
+
"vs previous ",
|
|
29
|
+
/* @__PURE__ */ jsxRuntime.jsx("b", { className: "text-placeholder text-column", children: prevValue })
|
|
30
|
+
] })
|
|
31
|
+
] });
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function MetricsKpiCardError({
|
|
35
|
+
message = "Failed to load data",
|
|
36
|
+
className
|
|
37
|
+
}) {
|
|
38
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils_cn.cn("text-caption text-accent2", className), children: message });
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function MetricsKpiCardLabel({ children, className }) {
|
|
42
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils_cn.cn("text-body text-muted-foreground", className), children });
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function MetricsKpiCardLoading({ className }) {
|
|
46
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils_cn.cn("text-body", className), children: /* @__PURE__ */ jsxRuntime.jsx(spinner.Spinner, { size: "md", variant: "pulse", className: "text-placeholder" }) });
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function MetricsKpiCardNoChange({
|
|
50
|
+
message = "No previous value to compare",
|
|
51
|
+
className
|
|
52
|
+
}) {
|
|
53
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils_cn.cn("text-body text-placeholder", className), children: message });
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function MetricsKpiCardNoData({ message = "No data yet", className }) {
|
|
57
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils_cn.cn("text-body text-placeholder", className), children: message });
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function MetricsKpiCardRoot({ children, className }) {
|
|
61
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Card.Card, { className: utils_cn.cn("min-w-72 flex-1 px-4 py-3", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-1", children }) });
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function MetricsKpiCardValue({ children, className }) {
|
|
65
|
+
return /* @__PURE__ */ jsxRuntime.jsx("strong", { className: utils_cn.cn("text-title text-muted-foreground", className), children });
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const MetricsKpiCard = Object.assign(MetricsKpiCardRoot, {
|
|
69
|
+
Label: MetricsKpiCardLabel,
|
|
70
|
+
Value: MetricsKpiCardValue,
|
|
71
|
+
Change: MetricsKpiCardChange,
|
|
72
|
+
NoChange: MetricsKpiCardNoChange,
|
|
73
|
+
NoData: MetricsKpiCardNoData,
|
|
74
|
+
Error: MetricsKpiCardError,
|
|
75
|
+
Loading: MetricsKpiCardLoading
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
exports.MetricsKpiCard = MetricsKpiCard;
|
|
79
|
+
//# sourceMappingURL=metrics-kpi-card-CgqmNcEC.cjs.map
|