@mastra/playground-ui 56.0.0 → 57.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Button-CVewl8nT.cjs → Button-C0DBEBcJ.cjs} +12 -5
- package/dist/Button-C0DBEBcJ.cjs.map +1 -0
- package/dist/{Button-cWcBEd-G.js → Button-C9cvaVFG.js} +13 -6
- package/dist/Button-C9cvaVFG.js.map +1 -0
- package/dist/{Card-DEvGFj-Z.js → Card-B_buJ5yF.js} +3 -3
- package/dist/{Card-DEvGFj-Z.js.map → Card-B_buJ5yF.js.map} +1 -1
- package/dist/{Card-D0kFp9j9.cjs → Card-DwGasv0K.cjs} +3 -3
- package/dist/{Card-D0kFp9j9.cjs.map → Card-DwGasv0K.cjs.map} +1 -1
- package/dist/{EmptyState-UWXhBp5U.js → EmptyState-B6cyZw6m.js} +12 -6
- package/dist/EmptyState-B6cyZw6m.js.map +1 -0
- package/dist/{EmptyState-CdRjFB06.cjs → EmptyState-DiSP6UIy.cjs} +12 -6
- package/dist/EmptyState-DiSP6UIy.cjs.map +1 -0
- package/dist/ErrorState-B0839u-q.cjs +21 -0
- package/dist/ErrorState-B0839u-q.cjs.map +1 -0
- package/dist/ErrorState-HyRJdaA2.js +19 -0
- package/dist/ErrorState-HyRJdaA2.js.map +1 -0
- package/dist/Header-BVnFQlzE.js +31 -0
- package/dist/Header-BVnFQlzE.js.map +1 -0
- package/dist/Header-CGjhJ0nQ.cjs +36 -0
- package/dist/Header-CGjhJ0nQ.cjs.map +1 -0
- package/dist/{Notice-Cjti0e0j.cjs → Notice-CoFjo8O6.cjs} +3 -3
- package/dist/{Notice-Cjti0e0j.cjs.map → Notice-CoFjo8O6.cjs.map} +1 -1
- package/dist/{Notice-Ah-84yi6.js → Notice-DUdQkUqH.js} +3 -3
- package/dist/{Notice-Ah-84yi6.js.map → Notice-DUdQkUqH.js.map} +1 -1
- package/dist/{PermissionDenied-B6TSGolC.js → PermissionDenied-CTqnE57B.js} +11 -6
- package/dist/PermissionDenied-CTqnE57B.js.map +1 -0
- package/dist/{PermissionDenied-Dz5qXpQj.cjs → PermissionDenied-fdVmTjjf.cjs} +11 -6
- package/dist/PermissionDenied-fdVmTjjf.cjs.map +1 -0
- package/dist/{SessionExpired-CF0BGNo_.cjs → SessionExpired-CFGTqnU5.cjs} +5 -6
- package/dist/SessionExpired-CFGTqnU5.cjs.map +1 -0
- package/dist/{SessionExpired-Bq5LcsDu.js → SessionExpired-COK6flhT.js} +5 -6
- package/dist/SessionExpired-COK6flhT.js.map +1 -0
- package/dist/ask-user-3fufbFt8.cjs +216 -0
- package/dist/ask-user-3fufbFt8.cjs.map +1 -0
- package/dist/ask-user-CvCMHkhI.js +206 -0
- package/dist/ask-user-CvCMHkhI.js.map +1 -0
- package/dist/buttons-group-CoZP3lJt.cjs +59 -0
- package/dist/buttons-group-CoZP3lJt.cjs.map +1 -0
- package/dist/buttons-group-DsZgrZBZ.js +37 -0
- package/dist/buttons-group-DsZgrZBZ.js.map +1 -0
- package/dist/buttons-group.css +113 -22
- package/dist/{chat-notification-4OuPNhtu.js → chat-notification-BM24QnK9.js} +7 -7
- package/dist/{chat-notification-4OuPNhtu.js.map → chat-notification-BM24QnK9.js.map} +1 -1
- package/dist/{chat-notification-CPrlBwP_.cjs → chat-notification-CQlc3Z3y.cjs} +7 -7
- package/dist/{chat-notification-CPrlBwP_.cjs.map → chat-notification-CQlc3Z3y.cjs.map} +1 -1
- package/dist/{chat-signal-CG5-vy21.js → chat-signal-5gAZo10e.js} +6 -6
- package/dist/{chat-signal-CG5-vy21.js.map → chat-signal-5gAZo10e.js.map} +1 -1
- package/dist/{chat-signal-B_T2DSzo.cjs → chat-signal-CUkeTh1i.cjs} +6 -6
- package/dist/{chat-signal-B_T2DSzo.cjs.map → chat-signal-CUkeTh1i.cjs.map} +1 -1
- package/dist/{code-block-Cd4u7Bo9.cjs → code-block-D2q4w1t-.cjs} +10 -10
- package/dist/{code-block-Cd4u7Bo9.cjs.map → code-block-D2q4w1t-.cjs.map} +1 -1
- package/dist/{code-block-CSqjpBvb.js → code-block-D3BWud_S.js} +10 -10
- package/dist/{code-block-CSqjpBvb.js.map → code-block-D3BWud_S.js.map} +1 -1
- package/dist/{code-diff-C5uY-3Hz.js → code-diff-BHZTS4Zh.js} +2 -2
- package/dist/{code-diff-C5uY-3Hz.js.map → code-diff-BHZTS4Zh.js.map} +1 -1
- package/dist/{code-diff-DBtbPe9D.cjs → code-diff-CG8veSa-.cjs} +2 -2
- package/dist/{code-diff-DBtbPe9D.cjs.map → code-diff-CG8veSa-.cjs.map} +1 -1
- package/dist/{code-editor-vCt7l9Bl.js → code-editor-7wJJDE9d.js} +2 -2
- package/dist/{code-editor-vCt7l9Bl.js.map → code-editor-7wJJDE9d.js.map} +1 -1
- package/dist/{code-editor-DgY7d8kg.cjs → code-editor-Ce1FXyFV.cjs} +2 -2
- package/dist/{code-editor-DgY7d8kg.cjs.map → code-editor-Ce1FXyFV.cjs.map} +1 -1
- package/dist/{collapsible-BvrI6XnN.cjs → collapsible-BFSJouuI.cjs} +2 -2
- package/dist/{collapsible-BvrI6XnN.cjs.map → collapsible-BFSJouuI.cjs.map} +1 -1
- package/dist/{collapsible-B2uUy8w5.js → collapsible-DhhP5p1j.js} +2 -2
- package/dist/{collapsible-B2uUy8w5.js.map → collapsible-DhhP5p1j.js.map} +1 -1
- package/dist/{combobox-D7xJFZuO.js → combobox-CV-Ue388.js} +5 -5
- package/dist/combobox-CV-Ue388.js.map +1 -0
- package/dist/{combobox-BWM3VH-n.cjs → combobox-Dw3W6EHS.cjs} +6 -6
- package/dist/combobox-Dw3W6EHS.cjs.map +1 -0
- package/dist/{combobox-styles-CRebmeht.js → combobox-styles-Dgc_Jp-E.js} +3 -6
- package/dist/combobox-styles-Dgc_Jp-E.js.map +1 -0
- package/dist/{combobox-styles-DYlNNjKC.cjs → combobox-styles-ExU7SMb7.cjs} +3 -6
- package/dist/combobox-styles-ExU7SMb7.cjs.map +1 -0
- package/dist/{command-DuT06mTw.cjs → command-BJrGchxZ.cjs} +6 -6
- package/dist/{command-DuT06mTw.cjs.map → command-BJrGchxZ.cjs.map} +1 -1
- package/dist/{command-jRiL1vXM.js → command-kHnYspgO.js} +6 -6
- package/dist/{command-jRiL1vXM.js.map → command-kHnYspgO.js.map} +1 -1
- package/dist/components/ActionRow.cjs.js +38 -0
- package/dist/components/ActionRow.cjs.js.map +1 -0
- package/dist/components/ActionRow.d.ts +2 -0
- package/dist/components/ActionRow.es.js +34 -0
- package/dist/components/ActionRow.es.js.map +1 -0
- package/dist/components/AlertDialog.cjs.js +1 -1
- package/dist/components/AlertDialog.es.js +1 -1
- package/dist/components/Breadcrumb.cjs.js +1 -1
- package/dist/components/Breadcrumb.cjs.js.map +1 -1
- package/dist/components/Breadcrumb.es.js +1 -1
- 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/ClampedText.cjs.js +1 -1
- package/dist/components/ClampedText.es.js +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 +1 -1
- package/dist/components/Columns.es.js +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 +12 -12
- package/dist/components/CommandPalette.cjs.js.map +1 -1
- package/dist/components/CommandPalette.es.js +12 -12
- package/dist/components/CommandPalette.es.js.map +1 -1
- package/dist/components/Comment.cjs.js +6 -7
- package/dist/components/Comment.cjs.js.map +1 -1
- package/dist/components/Comment.es.js +5 -6
- package/dist/components/Comment.es.js.map +1 -1
- package/dist/components/Composer.cjs.js +6 -6
- package/dist/components/Composer.cjs.js.map +1 -1
- package/dist/components/Composer.es.js +6 -6
- package/dist/components/Composer.es.js.map +1 -1
- package/dist/components/ContextMenu.cjs.js +1 -6
- package/dist/components/ContextMenu.cjs.js.map +1 -1
- package/dist/components/ContextMenu.es.js +1 -6
- 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 +10 -11
- package/dist/components/DataDetailsPanel.cjs.js.map +1 -1
- package/dist/components/DataDetailsPanel.es.js +10 -11
- package/dist/components/DataDetailsPanel.es.js.map +1 -1
- package/dist/components/DataFilter.cjs.js +2 -2
- package/dist/components/DataFilter.es.js +2 -2
- package/dist/components/DataKeysAndValues.cjs.js +1 -1
- package/dist/components/DataKeysAndValues.es.js +1 -1
- package/dist/components/DataList.cjs.js +8 -8
- package/dist/components/DataList.cjs.js.map +1 -1
- package/dist/components/DataList.es.js +8 -8
- 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 +6 -6
- package/dist/components/DateRangeTimeline.cjs.js.map +1 -1
- package/dist/components/DateRangeTimeline.es.js +6 -6
- package/dist/components/DateRangeTimeline.es.js.map +1 -1
- package/dist/components/DateTimePicker.cjs.js +4 -4
- package/dist/components/DateTimePicker.cjs.js.map +1 -1
- package/dist/components/DateTimePicker.es.js +4 -4
- 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 +2 -2
- package/dist/components/Dialog.es.js +3 -3
- 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/EntityHeader.cjs.js +1 -1
- package/dist/components/EntityHeader.cjs.js.map +1 -1
- package/dist/components/EntityHeader.es.js +1 -1
- package/dist/components/EntityHeader.es.js.map +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +15 -16
- package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
- package/dist/components/EnvironmentVariablesEditor.es.js +9 -10
- package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
- package/dist/components/ErrorBoundary.cjs.js +3 -3
- package/dist/components/ErrorBoundary.cjs.js.map +1 -1
- package/dist/components/ErrorBoundary.es.js +3 -3
- 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 +495 -43
- package/dist/components/FilterBar.cjs.js.map +1 -1
- package/dist/components/FilterBar.es.js +495 -47
- package/dist/components/FilterBar.es.js.map +1 -1
- package/dist/components/FormFieldBlocks.cjs.js +11 -12
- package/dist/components/FormFieldBlocks.cjs.js.map +1 -1
- package/dist/components/FormFieldBlocks.es.js +4 -5
- package/dist/components/FormFieldBlocks.es.js.map +1 -1
- package/dist/components/Header.cjs.js +6 -31
- package/dist/components/Header.cjs.js.map +1 -1
- package/dist/components/Header.es.js +1 -30
- 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/InputGroup.cjs.js +1 -1
- package/dist/components/InputGroup.es.js +1 -1
- package/dist/components/IntegrationDialog.cjs.js +6 -6
- package/dist/components/IntegrationDialog.cjs.js.map +1 -1
- package/dist/components/IntegrationDialog.es.js +6 -6
- package/dist/components/IntegrationDialog.es.js.map +1 -1
- package/dist/components/ItemList.cjs.js +4 -4
- package/dist/components/ItemList.cjs.js.map +1 -1
- package/dist/components/ItemList.es.js +4 -4
- package/dist/components/ItemList.es.js.map +1 -1
- package/dist/components/JSONSchemaForm.cjs.js +3 -3
- package/dist/components/JSONSchemaForm.es.js +3 -3
- package/dist/components/Kbd.cjs.js +1 -1
- package/dist/components/Kbd.es.js +1 -1
- package/dist/components/KeyValueList.cjs.js +1 -1
- package/dist/components/KeyValueList.es.js +1 -1
- package/dist/components/ListSearch.cjs.js +1 -1
- package/dist/components/ListSearch.es.js +1 -1
- package/dist/components/LogsDataList.cjs.js +4 -2
- package/dist/components/LogsDataList.cjs.js.map +1 -1
- package/dist/components/LogsDataList.es.js +4 -2
- package/dist/components/LogsDataList.es.js.map +1 -1
- package/dist/components/MainHeader.cjs.js +3 -3
- package/dist/components/MainHeader.cjs.js.map +1 -1
- package/dist/components/MainHeader.es.js +3 -3
- package/dist/components/MainHeader.es.js.map +1 -1
- package/dist/components/MainSidebar.cjs.js +11 -125
- package/dist/components/MainSidebar.cjs.js.map +1 -1
- package/dist/components/MainSidebar.es.js +1 -120
- 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 +2 -2
- package/dist/components/Message.es.js +3 -3
- package/dist/components/MetricsCard.cjs.js +1 -1
- package/dist/components/MetricsCard.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 +30 -8
- package/dist/components/PageLayout.cjs.js.map +1 -1
- package/dist/components/PageLayout.es.js +32 -3
- package/dist/components/PageLayout.es.js.map +1 -1
- package/dist/components/PendingIndicator.cjs.js +1 -1
- package/dist/components/PendingIndicator.cjs.js.map +1 -1
- package/dist/components/PendingIndicator.es.js +1 -1
- 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/PrevNextNav.cjs.js +1 -1
- package/dist/components/PrevNextNav.es.js +1 -1
- package/dist/components/PropertyFilter.cjs.js +18 -19
- package/dist/components/PropertyFilter.cjs.js.map +1 -1
- package/dist/components/PropertyFilter.es.js +21 -22
- package/dist/components/PropertyFilter.es.js.map +1 -1
- package/dist/components/RadioGroup.cjs.js +3 -56
- package/dist/components/RadioGroup.cjs.js.map +1 -1
- package/dist/components/RadioGroup.es.js +1 -39
- package/dist/components/RadioGroup.es.js.map +1 -1
- package/dist/components/RuleBuilder.cjs.js +10 -10
- package/dist/components/RuleBuilder.cjs.js.map +1 -1
- package/dist/components/RuleBuilder.es.js +10 -10
- 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 +2 -2
- package/dist/components/ScatterPlotChart.cjs.js.map +1 -1
- package/dist/components/ScatterPlotChart.es.js +2 -2
- 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/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/SideDialog.cjs.js +17 -10
- package/dist/components/SideDialog.cjs.js.map +1 -1
- package/dist/components/SideDialog.es.js +17 -10
- package/dist/components/SideDialog.es.js.map +1 -1
- package/dist/components/Spinner.cjs.js +1 -1
- package/dist/components/Spinner.es.js +1 -1
- package/dist/components/StatusIndicators.cjs.js +3 -3
- package/dist/components/StatusIndicators.cjs.js.map +1 -1
- package/dist/components/StatusIndicators.es.js +3 -3
- package/dist/components/StatusIndicators.es.js.map +1 -1
- package/dist/components/Steps.cjs.js +3 -3
- package/dist/components/Steps.cjs.js.map +1 -1
- package/dist/components/Steps.es.js +3 -3
- package/dist/components/Steps.es.js.map +1 -1
- package/dist/components/Tabs.cjs.js +3 -3
- package/dist/components/Tabs.es.js +3 -3
- package/dist/components/ThreadList.cjs.js +2 -2
- package/dist/components/ThreadList.cjs.js.map +1 -1
- package/dist/components/ThreadList.es.js +2 -2
- 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/TokenBudget.cjs.js +1 -1
- package/dist/components/TokenBudget.cjs.js.map +1 -1
- package/dist/components/TokenBudget.es.js +1 -1
- package/dist/components/TokenBudget.es.js.map +1 -1
- package/dist/components/Tree.cjs.js +3 -3
- package/dist/components/Tree.cjs.js.map +1 -1
- package/dist/components/Tree.es.js +3 -3
- package/dist/components/Tree.es.js.map +1 -1
- package/dist/components/Truncate.cjs.js +1 -1
- package/dist/components/Truncate.es.js +1 -1
- package/dist/components/Workflow.cjs.js +36 -36
- package/dist/components/Workflow.cjs.js.map +1 -1
- package/dist/components/Workflow.es.js +36 -36
- package/dist/components/Workflow.es.js.map +1 -1
- package/dist/components/ai/ask-user.cjs.js +4 -3
- package/dist/components/ai/ask-user.cjs.js.map +1 -1
- package/dist/components/ai/ask-user.es.js +1 -1
- package/dist/components/ai/chat-event.cjs.js +6 -6
- package/dist/components/ai/chat-event.cjs.js.map +1 -1
- package/dist/components/ai/chat-event.es.js +7 -7
- package/dist/components/ai/chat-event.es.js.map +1 -1
- package/dist/components/ai/plan.cjs.js +2 -2
- package/dist/components/ai/plan.es.js +2 -2
- package/dist/components/ai/task-list.cjs.js +7 -7
- package/dist/components/ai/task-list.cjs.js.map +1 -1
- package/dist/components/ai/task-list.es.js +7 -7
- 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 +8 -8
- package/dist/components/ai/tool-call.cjs.js.map +1 -1
- package/dist/components/ai/tool-call.es.js +9 -9
- package/dist/components/ai/tool-call.es.js.map +1 -1
- package/dist/components/fluid-hover-highlight.cjs.js +13 -35
- package/dist/components/fluid-hover-highlight.cjs.js.map +1 -1
- package/dist/components/fluid-hover-highlight.es.js +14 -33
- package/dist/components/fluid-hover-highlight.es.js.map +1 -1
- package/dist/{composer-BUoRnMDd.cjs → composer-B_Err196.cjs} +6 -6
- package/dist/{composer-BUoRnMDd.cjs.map → composer-B_Err196.cjs.map} +1 -1
- package/dist/{composer-CEL1glw7.js → composer-DJGAoBcn.js} +6 -6
- package/dist/{composer-CEL1glw7.js.map → composer-DJGAoBcn.js.map} +1 -1
- package/dist/{copy-button-BbDBpBMl.cjs → copy-button-C5dMlWsW.cjs} +2 -2
- package/dist/{copy-button-BbDBpBMl.cjs.map → copy-button-C5dMlWsW.cjs.map} +1 -1
- package/dist/{copy-button-2cwdZ3dW.js → copy-button-C6RswD_D.js} +2 -2
- package/dist/{copy-button-2cwdZ3dW.js.map → copy-button-C6RswD_D.js.map} +1 -1
- package/dist/{data-code-section-qujvEc6j.cjs → data-code-section-B-y2WPBl.cjs} +17 -19
- package/dist/data-code-section-B-y2WPBl.cjs.map +1 -0
- package/dist/{data-code-section-DKz9Okaz.js → data-code-section-DcocgDAN.js} +17 -19
- package/dist/data-code-section-DcocgDAN.js.map +1 -0
- package/dist/{data-keys-and-values-4pYpSbqS.cjs → data-keys-and-values-BduKvvC5.cjs} +2 -2
- package/dist/{data-keys-and-values-4pYpSbqS.cjs.map → data-keys-and-values-BduKvvC5.cjs.map} +1 -1
- package/dist/{data-keys-and-values-j0NVKPOl.js → data-keys-and-values-DhC4U4Yl.js} +2 -2
- package/dist/{data-keys-and-values-j0NVKPOl.js.map → data-keys-and-values-DhC4U4Yl.js.map} +1 -1
- package/dist/{data-list-DnSdaRES.js → data-list-gN4SP7a8.js} +5 -5
- package/dist/{data-list-DnSdaRES.js.map → data-list-gN4SP7a8.js.map} +1 -1
- package/dist/{data-list-skeleton-ADXw-opu.cjs → data-list-skeleton-DYG2LLri.cjs} +2 -2
- package/dist/{data-list-skeleton-ADXw-opu.cjs.map → data-list-skeleton-DYG2LLri.cjs.map} +1 -1
- package/dist/{data-list-skeleton-D7-glFuk.js → data-list-skeleton-PXHovGLv.js} +2 -2
- package/dist/{data-list-skeleton-D7-glFuk.js.map → data-list-skeleton-PXHovGLv.js.map} +1 -1
- package/dist/{data-list-spacer-DRHNUeeP.js → data-list-spacer-D-AQzTYw.js} +3 -3
- package/dist/{data-list-spacer-DRHNUeeP.js.map → data-list-spacer-D-AQzTYw.js.map} +1 -1
- package/dist/{data-list-spacer-EWo65MrK.cjs → data-list-spacer-MpuBsXjL.cjs} +3 -3
- package/dist/{data-list-spacer-EWo65MrK.cjs.map → data-list-spacer-MpuBsXjL.cjs.map} +1 -1
- package/dist/{data-list-top-DLwt_Sv-.js → data-list-top-BTeM7hI4.js} +5 -5
- package/dist/{data-list-top-DLwt_Sv-.js.map → data-list-top-BTeM7hI4.js.map} +1 -1
- package/dist/{data-list-top-RK_yX6z8.cjs → data-list-top-DDux1Eu4.cjs} +5 -5
- package/dist/{data-list-top-RK_yX6z8.cjs.map → data-list-top-DDux1Eu4.cjs.map} +1 -1
- package/dist/{data-list-CypPKOQ_.cjs → data-list-yJm-3f2w.cjs} +5 -5
- package/dist/{data-list-CypPKOQ_.cjs.map → data-list-yJm-3f2w.cjs.map} +1 -1
- package/dist/{data-panel-CWZJKBeW.cjs → data-panel-CM3N_4M7.cjs} +9 -9
- package/dist/{data-panel-CWZJKBeW.cjs.map → data-panel-CM3N_4M7.cjs.map} +1 -1
- package/dist/{data-panel-CWjgS1Gh.js → data-panel-D3UfzCoE.js} +9 -9
- package/dist/{data-panel-CWjgS1Gh.js.map → data-panel-D3UfzCoE.js.map} +1 -1
- package/dist/{date-time-range-picker-C6hjZswK.cjs → date-time-range-picker-2Pkg-FoU.cjs} +6 -7
- package/dist/{date-time-range-picker-C6hjZswK.cjs.map → date-time-range-picker-2Pkg-FoU.cjs.map} +1 -1
- package/dist/{date-time-range-picker-BcjLbkGu.js → date-time-range-picker-DHg-fuV3.js} +5 -6
- package/dist/{date-time-range-picker-BcjLbkGu.js.map → date-time-range-picker-DHg-fuV3.js.map} +1 -1
- package/dist/{dialog-Dm33cZqt.cjs → dialog-Cyj59QsZ.cjs} +3 -3
- package/dist/{dialog-Dm33cZqt.cjs.map → dialog-Cyj59QsZ.cjs.map} +1 -1
- package/dist/{dialog-DRpMek34.js → dialog-D8fuBETk.js} +3 -3
- package/dist/{dialog-DRpMek34.js.map → dialog-D8fuBETk.js.map} +1 -1
- 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 +1 -1
- package/dist/domains/chat/attachments/composer-attachment-list.es.js +1 -1
- package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
- package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.cjs.js +2 -2
- package/dist/domains/chat/components/badge-wrapper.cjs.js.map +1 -1
- package/dist/domains/chat/components/badge-wrapper.es.js +2 -2
- package/dist/domains/chat/components/badge-wrapper.es.js.map +1 -1
- package/dist/domains/chat/components/loading-badge.cjs.js +1 -1
- package/dist/domains/chat/components/loading-badge.es.js +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +4 -4
- 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 +4 -4
- package/dist/domains/chat/components/network-choice-metadata-dialog.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 +1 -1
- package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js.map +1 -1
- package/dist/domains/chat/messages/reasoning-streaming-line.es.js +1 -1
- package/dist/domains/chat/messages/reasoning-streaming-line.es.js.map +1 -1
- package/dist/domains/chat/messages/reasoning.cjs.js +4 -4
- package/dist/domains/chat/messages/reasoning.cjs.js.map +1 -1
- package/dist/domains/chat/messages/reasoning.es.js +4 -4
- package/dist/domains/chat/messages/reasoning.es.js.map +1 -1
- package/dist/domains/chat/messages/renderers/message-text.cjs.js +2 -2
- package/dist/domains/chat/messages/renderers/message-text.es.js +2 -2
- 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 +6 -6
- package/dist/domains/chat/messages/system-reminder-badge.cjs.js.map +1 -1
- package/dist/domains/chat/messages/system-reminder-badge.es.js +6 -6
- package/dist/domains/chat/messages/system-reminder-badge.es.js.map +1 -1
- package/dist/domains/chat/messages/tripwire-notice.cjs.js +3 -3
- package/dist/domains/chat/messages/tripwire-notice.cjs.js.map +1 -1
- package/dist/domains/chat/messages/tripwire-notice.es.js +3 -3
- package/dist/domains/chat/messages/tripwire-notice.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/ask-user-badge.es.js.map +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 +29 -29
- 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 +29 -29
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +11 -11
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.es.js +11 -11
- 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 +10 -12
- package/dist/domains/logs/components/log-details-view.cjs.js.map +1 -1
- package/dist/domains/logs/components/log-details-view.es.js +10 -12
- package/dist/domains/logs/components/log-details-view.es.js.map +1 -1
- package/dist/domains/logs/components/logs-error-content.cjs.js +4 -7
- package/dist/domains/logs/components/logs-error-content.cjs.js.map +1 -1
- package/dist/domains/logs/components/logs-error-content.es.js +4 -7
- package/dist/domains/logs/components/logs-error-content.es.js.map +1 -1
- package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
- package/dist/domains/logs/components/logs-list-view.es.js +2 -2
- package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.cjs.js.map +1 -1
- package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.es.js.map +1 -1
- package/dist/domains/logs/components/no-logs-info.cjs.js +6 -6
- package/dist/domains/logs/components/no-logs-info.cjs.js.map +1 -1
- package/dist/domains/logs/components/no-logs-info.es.js +7 -7
- package/dist/domains/logs/components/no-logs-info.es.js.map +1 -1
- package/dist/domains/memory/components/flame-graph.cjs.js +19 -19
- package/dist/domains/memory/components/flame-graph.cjs.js.map +1 -1
- package/dist/domains/memory/components/flame-graph.es.js +19 -19
- package/dist/domains/memory/components/flame-graph.es.js.map +1 -1
- package/dist/domains/memory/components/memory-studio-panel.cjs.js +4 -4
- package/dist/domains/memory/components/memory-studio-panel.cjs.js.map +1 -1
- package/dist/domains/memory/components/memory-studio-panel.es.js +4 -4
- package/dist/domains/memory/components/memory-studio-panel.es.js.map +1 -1
- package/dist/domains/memory/components/observation-detail-view.cjs.js +17 -18
- package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
- package/dist/domains/memory/components/observation-detail-view.es.js +17 -18
- package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
- package/dist/domains/memory/components/thread-context-progress.cjs.js +3 -3
- package/dist/domains/memory/components/thread-context-progress.cjs.js.map +1 -1
- package/dist/domains/memory/components/thread-context-progress.es.js +3 -3
- package/dist/domains/memory/components/thread-context-progress.es.js.map +1 -1
- package/dist/domains/metrics/components/bar-list.cjs.js +9 -9
- package/dist/domains/metrics/components/bar-list.cjs.js.map +1 -1
- package/dist/domains/metrics/components/bar-list.es.js +9 -9
- 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 +5 -5
- package/dist/domains/metrics/components/memory-card-view.es.js +5 -5
- package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
- package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
- package/dist/domains/metrics/components/scores-card-view.cjs.js +6 -6
- package/dist/domains/metrics/components/scores-card-view.es.js +6 -6
- 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 +2 -3
- package/dist/domains/traces/components/no-traces-info.cjs.js.map +1 -1
- package/dist/domains/traces/components/no-traces-info.es.js +2 -3
- package/dist/domains/traces/components/no-traces-info.es.js.map +1 -1
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +7 -7
- package/dist/domains/traces/components/span-data-panel-view.es.js +7 -7
- 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 +3 -3
- package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +4 -4
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +4 -4
- 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 +4 -6
- 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 +4 -6
- 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 +4 -4
- package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-timeline-row.es.js +4 -4
- package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -1
- package/dist/domains/traces/components/span-timing-hover-card.cjs.js +2 -2
- package/dist/domains/traces/components/span-timing-hover-card.es.js +2 -2
- package/dist/domains/traces/components/span-token-usage.cjs.js +5 -5
- package/dist/domains/traces/components/span-token-usage.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-token-usage.es.js +5 -5
- package/dist/domains/traces/components/span-token-usage.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +2 -2
- 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 +2 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +4 -4
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +4 -4
- package/dist/domains/traces/components/thread-trace/thread-trace-rail.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-rail.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
- package/dist/domains/traces/components/timeline-name-col.es.js +2 -2
- package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
- package/dist/domains/traces/components/timeline-structure-sign.cjs.js +1 -1
- package/dist/domains/traces/components/timeline-structure-sign.cjs.js.map +1 -1
- package/dist/domains/traces/components/timeline-structure-sign.es.js +1 -1
- package/dist/domains/traces/components/timeline-structure-sign.es.js.map +1 -1
- package/dist/domains/traces/components/timeline-timing-col.cjs.js +2 -2
- package/dist/domains/traces/components/timeline-timing-col.cjs.js.map +1 -1
- package/dist/domains/traces/components/timeline-timing-col.es.js +2 -2
- package/dist/domains/traces/components/timeline-timing-col.es.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +8 -8
- package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.es.js +6 -6
- package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +11 -13
- 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 +11 -13
- 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 +1 -1
- package/dist/domains/traces/components/trace-keys-and-values.es.js +1 -1
- 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-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 +2 -2
- package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
- package/dist/domains/traces/components/traces-error-content.cjs.js +3 -3
- package/dist/domains/traces/components/traces-error-content.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-error-content.es.js +3 -3
- package/dist/domains/traces/components/traces-error-content.es.js.map +1 -1
- 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.cjs.js +5 -5
- package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view.es.js +5 -5
- package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +3 -1
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js +3 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +4 -2
- 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 +5 -3
- package/dist/domains/traces/hooks/use-trace-url-state.es.js.map +1 -1
- package/dist/domains/traces/trace-filters.cjs.js +92 -11
- package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
- package/dist/domains/traces/trace-filters.es.js +87 -13
- package/dist/domains/traces/trace-filters.es.js.map +1 -1
- package/dist/domains/traces/trace-query-filters.cjs.js +76 -45
- package/dist/domains/traces/trace-query-filters.cjs.js.map +1 -1
- package/dist/domains/traces/trace-query-filters.es.js +76 -46
- 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 → drawer-9eoZbmRK.cjs} +5 -5
- package/dist/{drawer-BL5shtHH.cjs.map → drawer-9eoZbmRK.cjs.map} +1 -1
- package/dist/{drawer-Bv2DRY8E.js → drawer-DnfOugYZ.js} +5 -5
- package/dist/{drawer-Bv2DRY8E.js.map → drawer-DnfOugYZ.js.map} +1 -1
- package/dist/{dropdown-menu-DL0MzjEb.js → dropdown-menu-DpEn6HwK.js} +2 -7
- package/dist/dropdown-menu-DpEn6HwK.js.map +1 -0
- package/dist/{dropdown-menu-DNRCA4Gj.cjs → dropdown-menu-j2y37TL5.cjs} +2 -7
- package/dist/dropdown-menu-j2y37TL5.cjs.map +1 -0
- package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +4 -4
- 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 +4 -4
- package/dist/ee/signals/components/entity-index-compact-grid.es.js.map +1 -1
- package/dist/ee/signals/components/entity-index-list.cjs.js +3 -1
- package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
- package/dist/ee/signals/components/entity-index-list.es.js +3 -1
- package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
- package/dist/ee/signals/components/signals-empty-state.cjs.js +34 -34
- package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -1
- package/dist/ee/signals/components/signals-empty-state.es.js +34 -34
- package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +5 -7
- package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +5 -7
- package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +15 -17
- 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 +16 -18
- 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 +6 -6
- package/dist/ee/signals/flow-card.cjs.js.map +1 -1
- package/dist/ee/signals/flow-card.es.js +6 -6
- package/dist/ee/signals/flow-card.es.js.map +1 -1
- package/dist/ee/signals/lifeline-row.cjs.js +4 -4
- package/dist/ee/signals/lifeline-row.cjs.js.map +1 -1
- package/dist/ee/signals/lifeline-row.es.js +4 -4
- package/dist/ee/signals/lifeline-row.es.js.map +1 -1
- package/dist/ee/signals/noise-detail-panel.cjs.js +12 -12
- package/dist/ee/signals/noise-detail-panel.cjs.js.map +1 -1
- package/dist/ee/signals/noise-detail-panel.es.js +12 -12
- package/dist/ee/signals/noise-detail-panel.es.js.map +1 -1
- package/dist/ee/signals/sankey-signals.cjs.js +6 -6
- package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
- package/dist/ee/signals/sankey-signals.es.js +6 -6
- package/dist/ee/signals/sankey-signals.es.js.map +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +13 -14
- 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 +6 -7
- package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
- package/dist/ee/signals/settings/trace-signal-settings.cjs.js +9 -9
- package/dist/ee/signals/settings/trace-signal-settings.cjs.js.map +1 -1
- package/dist/ee/signals/settings/trace-signal-settings.es.js +9 -9
- package/dist/ee/signals/settings/trace-signal-settings.es.js.map +1 -1
- package/dist/ee/signals/signal-delta-column.cjs.js +7 -7
- package/dist/ee/signals/signal-delta-column.cjs.js.map +1 -1
- package/dist/ee/signals/signal-delta-column.es.js +7 -7
- package/dist/ee/signals/signal-delta-column.es.js.map +1 -1
- package/dist/ee/signals/signal-lifelines.cjs.js +2 -2
- package/dist/ee/signals/signal-lifelines.cjs.js.map +1 -1
- package/dist/ee/signals/signal-lifelines.es.js +2 -2
- package/dist/ee/signals/signal-lifelines.es.js.map +1 -1
- package/dist/ee/signals/signals-error-state.cjs.js +3 -3
- package/dist/ee/signals/signals-error-state.cjs.js.map +1 -1
- package/dist/ee/signals/signals-error-state.es.js +3 -3
- package/dist/ee/signals/signals-error-state.es.js.map +1 -1
- package/dist/ee/signals/signals-loading-skeleton.cjs.js +1 -1
- package/dist/ee/signals/signals-loading-skeleton.cjs.js.map +1 -1
- package/dist/ee/signals/signals-loading-skeleton.es.js +1 -1
- 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 +1 -1
- package/dist/ee/signals/sortable-signal-headers.cjs.js.map +1 -1
- package/dist/ee/signals/sortable-signal-headers.es.js +1 -1
- 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 +18 -18
- package/dist/ee/signals/theme-detail-panel.cjs.js.map +1 -1
- package/dist/ee/signals/theme-detail-panel.es.js +18 -18
- package/dist/ee/signals/theme-detail-panel.es.js.map +1 -1
- package/dist/ee/signals/theme-filter-banner.cjs.js +2 -2
- package/dist/ee/signals/theme-filter-banner.cjs.js.map +1 -1
- package/dist/ee/signals/theme-filter-banner.es.js +2 -2
- 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 +1 -1
- package/dist/ee/signals/theme-trend-chart.cjs.js.map +1 -1
- package/dist/ee/signals/theme-trend-chart.es.js +1 -1
- package/dist/ee/signals/theme-trend-chart.es.js.map +1 -1
- package/dist/ee/signals/trace-insight-view.cjs.js +12 -12
- package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -1
- package/dist/ee/signals/trace-insight-view.es.js +12 -12
- package/dist/ee/signals/trace-insight-view.es.js.map +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js +2 -2
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js.map +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.es.js +2 -2
- package/dist/ee/signals/trace-intelligence-explainer.es.js.map +1 -1
- package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
- package/dist/ee/signals/view-mode-tab.es.js +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
- package/dist/ee/topics/components/topics-layout.cjs.js +3 -3
- package/dist/ee/topics/components/topics-layout.cjs.js.map +1 -1
- package/dist/ee/topics/components/topics-layout.es.js +3 -3
- package/dist/ee/topics/components/topics-layout.es.js.map +1 -1
- package/dist/{field-block-Dy1IaWbv.cjs → field-error-id-6EfqmQ4C.cjs} +5 -2
- package/dist/field-error-id-6EfqmQ4C.cjs.map +1 -0
- package/dist/{field-block-DWkbNcsV.js → field-error-id-DyWx33Fu.js} +5 -3
- package/dist/field-error-id-DyWx33Fu.js.map +1 -0
- package/dist/{filter-bar-chip-BxI0NgEz.cjs → filter-bar-chip-D8O9jpCW.cjs} +300 -69
- package/dist/filter-bar-chip-D8O9jpCW.cjs.map +1 -0
- package/dist/{filter-bar-chip-C-JxWUU8.js → filter-bar-chip-DMhUPTt8.js} +297 -71
- package/dist/filter-bar-chip-DMhUPTt8.js.map +1 -0
- package/dist/filter-bar-chip.css +33 -1
- package/dist/hooks/use-fluid-hover.cjs.js +15 -9
- package/dist/hooks/use-fluid-hover.cjs.js.map +1 -1
- package/dist/hooks/use-fluid-hover.es.js +15 -9
- package/dist/hooks/use-fluid-hover.es.js.map +1 -1
- package/dist/{horizontal-bars-nyWGmQ7g.cjs → horizontal-bars-BkVi2dEb.cjs} +7 -7
- package/dist/{horizontal-bars-nyWGmQ7g.cjs.map → horizontal-bars-BkVi2dEb.cjs.map} +1 -1
- package/dist/{horizontal-bars-CksEKcCE.js → horizontal-bars-nTOFylzc.js} +7 -7
- package/dist/{horizontal-bars-CksEKcCE.js.map → horizontal-bars-nTOFylzc.js.map} +1 -1
- package/dist/{hover-card-Ch5smNcf.js → hover-card-B1-n3amu.js} +3 -3
- package/dist/{hover-card-Ch5smNcf.js.map → hover-card-B1-n3amu.js.map} +1 -1
- package/dist/{hover-card-DdHnkGcs.cjs → hover-card-DVfZ2INZ.cjs} +3 -3
- package/dist/{hover-card-DdHnkGcs.cjs.map → hover-card-DVfZ2INZ.cjs.map} +1 -1
- package/dist/icons/Icon.cjs.js +1 -1
- package/dist/icons/Icon.cjs.js.map +1 -1
- package/dist/icons/Icon.es.js +1 -1
- package/dist/icons/Icon.es.js.map +1 -1
- package/dist/{input-group-CvWwK1Vz.cjs → input-group-2yWKRuq9.cjs} +7 -5
- package/dist/input-group-2yWKRuq9.cjs.map +1 -0
- package/dist/{input-group-BEdHivvy.js → input-group-Czviwtvr.js} +8 -6
- package/dist/input-group-Czviwtvr.js.map +1 -0
- package/dist/{kbd-CINtikLh.js → kbd-BDVTQHD_.js} +2 -2
- package/dist/{kbd-CINtikLh.js.map → kbd-BDVTQHD_.js.map} +1 -1
- package/dist/{kbd-B-Z2sNvK.cjs → kbd-BptPsKP6.cjs} +2 -2
- package/dist/{kbd-B-Z2sNvK.cjs.map → kbd-BptPsKP6.cjs.map} +1 -1
- package/dist/layout/tabbed-container.cjs.js +6 -6
- package/dist/layout/tabbed-container.es.js +6 -6
- package/dist/{list-search-BTW0Neuc.js → list-search-Jm6SLN0g.js} +2 -2
- package/dist/{list-search-BTW0Neuc.js.map → list-search-Jm6SLN0g.js.map} +1 -1
- package/dist/{list-search-vyxsZMAK.cjs → list-search-s3DRIfz6.cjs} +2 -2
- package/dist/{list-search-vyxsZMAK.cjs.map → list-search-s3DRIfz6.cjs.map} +1 -1
- package/dist/{logs-data-list-BSHJPGi6.cjs → logs-data-list-C5tjRtkQ.cjs} +5 -5
- package/dist/{logs-data-list-BSHJPGi6.cjs.map → logs-data-list-C5tjRtkQ.cjs.map} +1 -1
- package/dist/{logs-data-list-CG-UgC_x.js → logs-data-list-Cl3abARp.js} +5 -5
- package/dist/{logs-data-list-CG-UgC_x.js.map → logs-data-list-Cl3abARp.js.map} +1 -1
- package/dist/{main-sidebar-link-active-DbCvKZy2.cjs → main-sidebar-BsEmFpKN.cjs} +122 -9
- package/dist/main-sidebar-BsEmFpKN.cjs.map +1 -0
- package/dist/{main-sidebar-link-active-CmDoiX6g.js → main-sidebar-C5PU7zgc.js} +123 -11
- package/dist/main-sidebar-C5PU7zgc.js.map +1 -0
- package/dist/{markdown-renderer-D8qYAU7K.cjs → markdown-renderer-C74wABzc.cjs} +6 -7
- package/dist/markdown-renderer-C74wABzc.cjs.map +1 -0
- package/dist/{markdown-renderer-B0gTm_Ea.js → markdown-renderer-DZAcPOxC.js} +6 -7
- package/dist/markdown-renderer-DZAcPOxC.js.map +1 -0
- package/dist/{message-BrwbcLPi.js → message-Cs8NW-MR.js} +2 -2
- package/dist/{message-BrwbcLPi.js.map → message-Cs8NW-MR.js.map} +1 -1
- package/dist/{message-CszposMZ.cjs → message-D9b33Pf_.cjs} +2 -2
- package/dist/{message-CszposMZ.cjs.map → message-D9b33Pf_.cjs.map} +1 -1
- package/dist/{metrics-card-BUJxiwec.cjs → metrics-card-BdWGPlnt.cjs} +8 -8
- package/dist/metrics-card-BdWGPlnt.cjs.map +1 -0
- package/dist/{metrics-card-BlBt1WHw.js → metrics-card-C5znWn69.js} +8 -8
- package/dist/metrics-card-C5znWn69.js.map +1 -0
- package/dist/{metrics-kpi-card-CBSNmtc5.js → metrics-kpi-card-CinKYTBn.js} +4 -4
- package/dist/{metrics-kpi-card-CBSNmtc5.js.map → metrics-kpi-card-CinKYTBn.js.map} +1 -1
- package/dist/{metrics-kpi-card-CgqmNcEC.cjs → metrics-kpi-card-HU17WRTT.cjs} +4 -4
- package/dist/{metrics-kpi-card-CgqmNcEC.cjs.map → metrics-kpi-card-HU17WRTT.cjs.map} +1 -1
- package/dist/{metrics-line-chart-B_sP3eiL.cjs → metrics-line-chart-0FR3SYSt.cjs} +3 -3
- package/dist/{metrics-line-chart-B_sP3eiL.cjs.map → metrics-line-chart-0FR3SYSt.cjs.map} +1 -1
- package/dist/{metrics-line-chart-DHyrDPkJ.js → metrics-line-chart-knlgw8bV.js} +3 -3
- package/dist/{metrics-line-chart-DHyrDPkJ.js.map → metrics-line-chart-knlgw8bV.js.map} +1 -1
- package/dist/new/layout/app-shell.cjs.js +23 -28
- package/dist/new/layout/app-shell.cjs.js.map +1 -1
- package/dist/new/layout/app-shell.es.js +23 -28
- 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/settings.cjs.js +1 -1
- package/dist/new/settings.es.js +1 -1
- package/dist/new/sidebar.cjs.js +40 -40
- package/dist/new/sidebar.cjs.js.map +1 -1
- package/dist/new/sidebar.es.js +10 -10
- package/dist/new/sidebar.es.js.map +1 -1
- package/dist/{page-header-BIoUf7MA.js → page-header-CSigVThQ.js} +2 -2
- package/dist/{page-header-BIoUf7MA.js.map → page-header-CSigVThQ.js.map} +1 -1
- package/dist/{page-header-BBlPmW-T.cjs → page-header-DzEEkOca.cjs} +2 -2
- package/dist/{page-header-BBlPmW-T.cjs.map → page-header-DzEEkOca.cjs.map} +1 -1
- package/dist/primitives/control-size.cjs.js +24 -2
- package/dist/primitives/control-size.cjs.js.map +1 -1
- package/dist/primitives/control-size.es.js +5 -3
- package/dist/primitives/control-size.es.js.map +1 -1
- package/dist/primitives/fluid-menu.cjs.js +30 -18
- package/dist/primitives/fluid-menu.cjs.js.map +1 -1
- package/dist/primitives/fluid-menu.es.js +30 -18
- package/dist/primitives/fluid-menu.es.js.map +1 -1
- package/dist/primitives/form-element.cjs.js +4 -4
- package/dist/primitives/form-element.cjs.js.map +1 -1
- package/dist/primitives/form-element.es.js +4 -3
- package/dist/primitives/form-element.es.js.map +1 -1
- package/dist/primitives/menu-item.cjs.js +7 -4
- package/dist/primitives/menu-item.cjs.js.map +1 -1
- package/dist/primitives/menu-item.es.js +7 -4
- package/dist/primitives/menu-item.es.js.map +1 -1
- package/dist/primitives/trigger-button.cjs.js +1 -1
- package/dist/primitives/trigger-button.es.js +1 -1
- package/dist/{property-filter-applied-BBiUbtr0.js → property-filter-applied-C15IJHLs.js} +30 -36
- package/dist/property-filter-applied-C15IJHLs.js.map +1 -0
- package/dist/{property-filter-applied-BmxCPe2d.cjs → property-filter-applied-DtSjGypB.cjs} +30 -36
- package/dist/property-filter-applied-DtSjGypB.cjs.map +1 -0
- package/dist/radio-group-BdEPWGzi.cjs +62 -0
- package/dist/radio-group-BdEPWGzi.cjs.map +1 -0
- package/dist/radio-group-CFZXUXZ5.js +40 -0
- package/dist/radio-group-CFZXUXZ5.js.map +1 -0
- package/dist/resize/collapsible-panel.cjs.js +1 -1
- package/dist/resize/collapsible-panel.es.js +1 -1
- package/dist/resize/panel-drawer.cjs.js +1 -1
- package/dist/resize/panel-drawer.es.js +1 -1
- package/dist/{sankey-chart-Bcm9jMhe.cjs → sankey-chart-C1e0nRc3.cjs} +4 -4
- package/dist/{sankey-chart-Bcm9jMhe.cjs.map → sankey-chart-C1e0nRc3.cjs.map} +1 -1
- package/dist/{sankey-chart-CqngN2lw.js → sankey-chart-jvMXKzud.js} +4 -4
- package/dist/{sankey-chart-CqngN2lw.js.map → sankey-chart-jvMXKzud.js.map} +1 -1
- package/dist/{scroll-area-Qjf7e0Ik.cjs → scroll-area-BzOyuS8Y.cjs} +2 -2
- package/dist/{scroll-area-Qjf7e0Ik.cjs.map → scroll-area-BzOyuS8Y.cjs.map} +1 -1
- package/dist/{scroll-area-CdQ_5bLm.js → scroll-area-DyTZoISq.js} +2 -2
- package/dist/{scroll-area-CdQ_5bLm.js.map → scroll-area-DyTZoISq.js.map} +1 -1
- package/dist/{search-field-block-D0PUUCAE.cjs → search-field-block-ChXCuPrB.cjs} +9 -10
- package/dist/{search-field-block-D0PUUCAE.cjs.map → search-field-block-ChXCuPrB.cjs.map} +1 -1
- package/dist/{search-field-block-B5vUVTpl.js → search-field-block-nVeIkFXN.js} +3 -4
- package/dist/{search-field-block-B5vUVTpl.js.map → search-field-block-nVeIkFXN.js.map} +1 -1
- package/dist/{select--DXpTg0O.js → select-CDIt5aab.js} +3 -6
- package/dist/select-CDIt5aab.js.map +1 -0
- package/dist/{select-7ACAVdGX.cjs → select-CH5XO18L.cjs} +3 -6
- package/dist/select-CH5XO18L.cjs.map +1 -0
- package/dist/{select-field-block-Bu7UXI2H.js → select-field-block-BtjE0P5d.js} +3 -4
- package/dist/{select-field-block-Bu7UXI2H.js.map → select-field-block-BtjE0P5d.js.map} +1 -1
- package/dist/{select-field-block-W2u2WmN3.cjs → select-field-block-CpzMTsP6.cjs} +9 -10
- package/dist/{select-field-block-W2u2WmN3.cjs.map → select-field-block-CpzMTsP6.cjs.map} +1 -1
- package/dist/{settings-layout-NP_1dC-e.cjs → settings-layout-BGvMSClL.cjs} +2 -2
- package/dist/{settings-layout-NP_1dC-e.cjs.map → settings-layout-BGvMSClL.cjs.map} +1 -1
- package/dist/{settings-layout-C80s-D31.js → settings-layout-DA-JWqW3.js} +2 -2
- package/dist/{settings-layout-C80s-D31.js.map → settings-layout-DA-JWqW3.js.map} +1 -1
- package/dist/{span-payload-primitives-DnRsP93D.cjs → span-payload-primitives-70wznWZl.cjs} +6 -6
- package/dist/{span-payload-primitives-DnRsP93D.cjs.map → span-payload-primitives-70wznWZl.cjs.map} +1 -1
- package/dist/{span-payload-primitives-sbxk4CHC.js → span-payload-primitives-BvoMauDb.js} +6 -6
- package/dist/{span-payload-primitives-sbxk4CHC.js.map → span-payload-primitives-BvoMauDb.js.map} +1 -1
- package/dist/{spinner-CqP-NaB2.cjs → spinner-BCpN7LL9.cjs} +9 -3
- package/dist/spinner-BCpN7LL9.cjs.map +1 -0
- package/dist/{spinner-D2C2DYw8.js → spinner-ylbE0TJA.js} +9 -3
- package/dist/spinner-ylbE0TJA.js.map +1 -0
- package/dist/src/components/fluid-hover-highlight.d.ts +4 -58
- package/dist/src/domains/traces/components/traces-error-content.d.ts +2 -2
- package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +5 -3
- package/dist/src/domains/traces/trace-filters.d.ts +19 -4
- package/dist/src/domains/traces/trace-query-filters.d.ts +13 -1
- package/dist/src/ds/components/ActionRow/action-row.d.ts +9 -0
- package/dist/src/ds/components/ActionRow/action-row.stories.d.ts +8 -0
- package/dist/src/ds/components/ActionRow/index.d.ts +5 -0
- package/dist/src/ds/components/Badge/badge.stories.d.ts +0 -1
- package/dist/src/ds/components/ButtonsGroup/buttons-group.d.ts +11 -11
- package/dist/src/ds/components/ButtonsGroup/buttons-group.stories.d.ts +17 -7
- package/dist/src/ds/components/EmptyState/EmptyState.d.ts +8 -2
- package/dist/src/ds/components/EmptyState/empty-state.stories.d.ts +1 -0
- package/dist/src/ds/components/ErrorState/ErrorState.d.ts +3 -1
- package/dist/src/ds/components/ErrorState/error-state.stories.d.ts +1 -0
- package/dist/src/ds/components/FilterBar/filter-bar-advanced-chip.d.ts +10 -0
- package/dist/src/ds/components/FilterBar/filter-bar-context.d.ts +46 -9
- package/dist/src/ds/components/FilterBar/filter-bar-group-editor.d.ts +25 -0
- package/dist/src/ds/components/FilterBar/filter-bar-input.d.ts +8 -1
- package/dist/src/ds/components/FilterBar/filter-bar-option-list.d.ts +5 -0
- package/dist/src/ds/components/FilterBar/filter-bar-tree.d.ts +36 -0
- package/dist/src/ds/components/FilterBar/filter-bar.d.ts +28 -7
- package/dist/src/ds/components/FilterBar/filter-bar.stories.d.ts +3 -0
- package/dist/src/ds/components/FilterBar/index.d.ts +6 -1
- package/dist/src/ds/components/FilterBar/types.d.ts +36 -0
- package/dist/src/ds/components/FilterBar/use-settle-on-leave.d.ts +2 -0
- package/dist/src/ds/components/PageLayout/index.d.ts +1 -2
- package/dist/src/ds/components/PageLayout/page-layout.d.ts +13 -11
- package/dist/src/ds/components/PageLayout/page-layout.stories.d.ts +1 -2
- package/dist/src/ds/components/PermissionDenied/PermissionDenied.d.ts +3 -1
- package/dist/src/ds/components/PermissionDenied/permission-denied.stories.d.ts +1 -0
- package/dist/src/ds/components/SessionExpired/SessionExpired.d.ts +3 -1
- package/dist/src/ds/components/SessionExpired/session-expired.stories.d.ts +1 -0
- package/dist/src/ds/components/Spinner/spinner.d.ts +6 -3
- package/dist/src/ds/components/Spinner/spinner.stories.d.ts +1 -0
- package/dist/src/ds/components/ai/ask-user/ask-user.d.ts +13 -8
- package/dist/src/ds/new/layout/app-shell/app-shell.d.ts +2 -8
- package/dist/src/ds/new/layout/app-shell/app-shell.stories.d.ts +0 -1
- package/dist/src/ds/primitives/control-size.d.ts +3 -1
- package/dist/src/ds/primitives/fluid-menu.d.ts +8 -3
- package/dist/src/ds/primitives/form-element.d.ts +1 -2
- package/dist/src/hooks/use-fluid-hover.d.ts +7 -2
- package/dist/style.css +83 -120
- package/dist/{tabs-content-CKC4kIpH.js → tabs-content-BeFlc4E_.js} +2 -2
- package/dist/{tabs-content-CKC4kIpH.js.map → tabs-content-BeFlc4E_.js.map} +1 -1
- package/dist/{tabs-content-Bz6CZuv9.cjs → tabs-content-Cdu6HP8U.cjs} +2 -2
- package/dist/{tabs-content-Bz6CZuv9.cjs.map → tabs-content-Cdu6HP8U.cjs.map} +1 -1
- package/dist/{tabs-root-C5ABfm1F.cjs → tabs-root-BiV8irc3.cjs} +4 -4
- package/dist/{tabs-root-C5ABfm1F.cjs.map → tabs-root-BiV8irc3.cjs.map} +1 -1
- package/dist/{tabs-root-CcEQrwTM.js → tabs-root-CJ3GkDzi.js} +4 -4
- package/dist/{tabs-root-CcEQrwTM.js.map → tabs-root-CJ3GkDzi.js.map} +1 -1
- package/dist/{tabs-tab-BycF4dvx.js → tabs-tab-CoSCf5Ku.js} +2 -2
- package/dist/{tabs-tab-BycF4dvx.js.map → tabs-tab-CoSCf5Ku.js.map} +1 -1
- package/dist/{tabs-tab-DA466DbX.cjs → tabs-tab-J91Szy3Q.cjs} +2 -2
- package/dist/{tabs-tab-DA466DbX.cjs.map → tabs-tab-J91Szy3Q.cjs.map} +1 -1
- package/dist/{text-field-block-BLpLWmu8.cjs → text-field-block-BmWGMw3a.cjs} +8 -9
- package/dist/{text-field-block-BLpLWmu8.cjs.map → text-field-block-BmWGMw3a.cjs.map} +1 -1
- package/dist/{text-field-block--EUJKlY_.js → text-field-block-Cihf0IRw.js} +2 -3
- package/dist/{text-field-block--EUJKlY_.js.map → text-field-block-Cihf0IRw.js.map} +1 -1
- package/dist/{thread-rail-b-8RHNX_.cjs → thread-rail-BVpfkSyT.cjs} +6 -6
- package/dist/{thread-rail-b-8RHNX_.cjs.map → thread-rail-BVpfkSyT.cjs.map} +1 -1
- package/dist/{thread-rail-vsR5C0j4.js → thread-rail-DV89nFnn.js} +6 -6
- package/dist/{thread-rail-vsR5C0j4.js.map → thread-rail-DV89nFnn.js.map} +1 -1
- package/dist/{time-picker-Dlm-C-n4.cjs → time-picker-DXuXFGa-.cjs} +2 -2
- package/dist/{time-picker-Dlm-C-n4.cjs.map → time-picker-DXuXFGa-.cjs.map} +1 -1
- package/dist/{time-picker-DVt1ZUsS.js → time-picker-vFozGRyK.js} +2 -2
- package/dist/{time-picker-DVt1ZUsS.js.map → time-picker-vFozGRyK.js.map} +1 -1
- package/dist/{tool-approval-DB82iiRa.js → tool-approval-C11ECt4s.js} +5 -5
- package/dist/{tool-approval-DB82iiRa.js.map → tool-approval-C11ECt4s.js.map} +1 -1
- package/dist/{tool-approval-Dys524ty.cjs → tool-approval-DODxfqk7.cjs} +5 -5
- package/dist/{tool-approval-Dys524ty.cjs.map → tool-approval-DODxfqk7.cjs.map} +1 -1
- package/dist/{tool-call-K147tCug.js → tool-call-BjAGFbH-.js} +5 -5
- package/dist/{tool-call-K147tCug.js.map → tool-call-BjAGFbH-.js.map} +1 -1
- package/dist/{tool-call-CMRvRE-v.cjs → tool-call-CNBGnCmO.cjs} +5 -5
- package/dist/{tool-call-CMRvRE-v.cjs.map → tool-call-CNBGnCmO.cjs.map} +1 -1
- package/dist/{traces-data-list-CDNE9P8W.js → traces-data-list-BhKK8-wa.js} +7 -7
- package/dist/{traces-data-list-CDNE9P8W.js.map → traces-data-list-BhKK8-wa.js.map} +1 -1
- package/dist/{traces-data-list-B3q_cy6c.cjs → traces-data-list-D58cw23x.cjs} +7 -7
- package/dist/{traces-data-list-B3q_cy6c.cjs.map → traces-data-list-D58cw23x.cjs.map} +1 -1
- package/dist/types-CIPrYAzY.js +9 -0
- package/dist/types-CIPrYAzY.js.map +1 -0
- package/dist/types-Ns4ZNp-g.cjs +12 -0
- package/dist/types-Ns4ZNp-g.cjs.map +1 -0
- package/package.json +6 -7
- package/theme/surfaces.css +2 -2
- package/dist/Button-CVewl8nT.cjs.map +0 -1
- package/dist/Button-cWcBEd-G.js.map +0 -1
- package/dist/EmptyState-CdRjFB06.cjs.map +0 -1
- package/dist/EmptyState-UWXhBp5U.js.map +0 -1
- package/dist/ErrorState-B3uTRAEd.cjs +0 -16
- package/dist/ErrorState-B3uTRAEd.cjs.map +0 -1
- package/dist/ErrorState-DqRx8Dw_.js +0 -14
- package/dist/ErrorState-DqRx8Dw_.js.map +0 -1
- package/dist/PermissionDenied-B6TSGolC.js.map +0 -1
- package/dist/PermissionDenied-Dz5qXpQj.cjs.map +0 -1
- package/dist/SessionExpired-Bq5LcsDu.js.map +0 -1
- package/dist/SessionExpired-CF0BGNo_.cjs.map +0 -1
- package/dist/ask-user-CS2e6Re4.cjs +0 -147
- package/dist/ask-user-CS2e6Re4.cjs.map +0 -1
- package/dist/ask-user-gS3Y1bCc.js +0 -138
- package/dist/ask-user-gS3Y1bCc.js.map +0 -1
- package/dist/buttons-group-BiLEV_Ak.cjs +0 -101
- package/dist/buttons-group-BiLEV_Ak.cjs.map +0 -1
- package/dist/buttons-group-CaA7KAWf.js +0 -78
- package/dist/buttons-group-CaA7KAWf.js.map +0 -1
- package/dist/combobox-BWM3VH-n.cjs.map +0 -1
- package/dist/combobox-D7xJFZuO.js.map +0 -1
- package/dist/combobox-styles-CRebmeht.js.map +0 -1
- package/dist/combobox-styles-DYlNNjKC.cjs.map +0 -1
- package/dist/components/MainContent.cjs.js +0 -81
- package/dist/components/MainContent.cjs.js.map +0 -1
- package/dist/components/MainContent.d.ts +0 -2
- package/dist/components/MainContent.es.js +0 -75
- package/dist/components/MainContent.es.js.map +0 -1
- package/dist/data-code-section-DKz9Okaz.js.map +0 -1
- package/dist/data-code-section-qujvEc6j.cjs.map +0 -1
- package/dist/dropdown-menu-DL0MzjEb.js.map +0 -1
- package/dist/dropdown-menu-DNRCA4Gj.cjs.map +0 -1
- package/dist/field-block-DWkbNcsV.js.map +0 -1
- package/dist/field-block-Dy1IaWbv.cjs.map +0 -1
- package/dist/field-error-id-B3Z2Zu5y.cjs +0 -6
- package/dist/field-error-id-B3Z2Zu5y.cjs.map +0 -1
- package/dist/field-error-id-D3yg1nBh.js +0 -4
- package/dist/field-error-id-D3yg1nBh.js.map +0 -1
- package/dist/filter-bar-chip-BxI0NgEz.cjs.map +0 -1
- package/dist/filter-bar-chip-C-JxWUU8.js.map +0 -1
- package/dist/input-group-BEdHivvy.js.map +0 -1
- package/dist/input-group-CvWwK1Vz.cjs.map +0 -1
- package/dist/lib/springs.cjs.js +0 -32
- package/dist/lib/springs.cjs.js.map +0 -1
- package/dist/lib/springs.d.ts +0 -2
- package/dist/lib/springs.es.js +0 -27
- package/dist/lib/springs.es.js.map +0 -1
- package/dist/main-sidebar-link-active-CmDoiX6g.js.map +0 -1
- package/dist/main-sidebar-link-active-DbCvKZy2.cjs.map +0 -1
- package/dist/markdown-renderer-B0gTm_Ea.js.map +0 -1
- package/dist/markdown-renderer-D8qYAU7K.cjs.map +0 -1
- package/dist/metrics-card-BUJxiwec.cjs.map +0 -1
- package/dist/metrics-card-BlBt1WHw.js.map +0 -1
- package/dist/new/layout/page-shell.cjs.js +0 -34
- package/dist/new/layout/page-shell.cjs.js.map +0 -1
- package/dist/new/layout/page-shell.d.ts +0 -2
- package/dist/new/layout/page-shell.es.js +0 -30
- package/dist/new/layout/page-shell.es.js.map +0 -1
- package/dist/no-data-page-layout-DcVPjj-J.js +0 -9
- package/dist/no-data-page-layout-DcVPjj-J.js.map +0 -1
- package/dist/no-data-page-layout-Drzbg_w8.cjs +0 -11
- package/dist/no-data-page-layout-Drzbg_w8.cjs.map +0 -1
- package/dist/page-heading-context-D3yjYoJE.js +0 -9
- package/dist/page-heading-context-D3yjYoJE.js.map +0 -1
- package/dist/page-heading-context-Du-CpxAx.cjs +0 -12
- package/dist/page-heading-context-Du-CpxAx.cjs.map +0 -1
- package/dist/page-layout-C9ifD9Q8.cjs +0 -99
- package/dist/page-layout-C9ifD9Q8.cjs.map +0 -1
- package/dist/page-layout-xcM8IR-B.js +0 -97
- package/dist/page-layout-xcM8IR-B.js.map +0 -1
- package/dist/property-filter-applied-BBiUbtr0.js.map +0 -1
- package/dist/property-filter-applied-BmxCPe2d.cjs.map +0 -1
- package/dist/select--DXpTg0O.js.map +0 -1
- package/dist/select-7ACAVdGX.cjs.map +0 -1
- package/dist/spinner-CqP-NaB2.cjs.map +0 -1
- package/dist/spinner-D2C2DYw8.js.map +0 -1
- package/dist/src/ds/components/MainContent/index.d.ts +0 -1
- package/dist/src/ds/components/MainContent/main-content.d.ts +0 -21
- package/dist/src/ds/components/MainContent/main-content.stories.d.ts +0 -10
- package/dist/src/ds/components/PageLayout/no-data-page-layout.d.ts +0 -6
- package/dist/src/ds/components/PageLayout/page-heading-context.d.ts +0 -2
- package/dist/src/ds/components/PageLayout/page-layout-column.d.ts +0 -5
- package/dist/src/ds/components/PageLayout/page-layout-main-area.d.ts +0 -7
- package/dist/src/ds/components/PageLayout/page-layout-root.d.ts +0 -7
- package/dist/src/ds/components/PageLayout/page-layout-row.d.ts +0 -11
- package/dist/src/ds/components/PageLayout/page-layout-top-area.d.ts +0 -5
- package/dist/src/ds/new/layout/page-shell/index.d.ts +0 -1
- package/dist/src/ds/new/layout/page-shell/page-shell.d.ts +0 -24
- package/dist/src/ds/new/layout/page-shell/page-shell.stories.d.ts +0 -63
- package/dist/src/lib/springs.d.ts +0 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs-root-C5ABfm1F.cjs","sources":["../src/ds/components/Tabs/tabs-list.tsx","../src/ds/components/Tabs/tabs-root.tsx"],"sourcesContent":["import { Tabs as BaseTabs } from '@base-ui/react/tabs';\nimport { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport { ChevronDown, X } from 'lucide-react';\nimport { Fragment, useCallback, useContext, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { DropdownMenu } from '../DropdownMenu/dropdown-menu';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../Tooltip/tooltip';\nimport { TabListContext, TabsContext } from './tabs-context';\nimport type { TabMeasurement } from './tabs-context';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nconst tabListVariants = cva('relative flex items-center text-body', {\n variants: {\n variant: {\n pill: 'w-fit gap-1 rounded-full bg-fill-subtle p-1',\n 'pill-ghost': 'w-fit gap-0.5 rounded-full',\n },\n },\n defaultVariants: {\n variant: 'pill',\n },\n});\n\ntype TabListVariantsProps = VariantProps<typeof tabListVariants>;\n\nexport type TabListVariant = NonNullable<TabListVariantsProps['variant']>;\n\nexport type TabListSize = 'sm' | 'md';\n\nexport type TabListProps = Omit<TabListVariantsProps, 'variant'> & {\n children: React.ReactNode;\n className?: string;\n sticky?: boolean;\n /** Control height of each tab; `sm` lines up with `size=\"sm\"` buttons (e.g. inside a `DataPanel.Header`). */\n size?: TabListSize;\n /** `pill` sits the selected tab on a track; `pill-ghost` drops the track. */\n variant?: TabListVariant | null;\n /**\n * Optional inline styles applied to the underlying tab list element.\n * To override the active tab indicator color, set the `--tab-indicator-color`\n * CSS variable, e.g. `style={{ '--tab-indicator-color': 'var(--accent5)' } as React.CSSProperties}`.\n */\n style?: React.CSSProperties;\n};\n\nexport const TabList = ({ children, className, variant, size = 'md', sticky, style }: TabListProps) => {\n const resolvedVariant = variant ?? 'pill';\n const tabs = useContext(TabsContext);\n const scrollRef = useRef<HTMLDivElement>(null);\n const closeRefs = useRef(new Map<string, HTMLDivElement>());\n const tabPositions = useRef(new Map<string, number>());\n const selectedValue = useRef(tabs?.value);\n const [available, setAvailable] = useState<number | null>(null);\n const [measurements, setMeasurements] = useState<TabMeasurement[]>([]);\n const register = useCallback((tab: TabMeasurement) => {\n setMeasurements(previous => {\n const existing = previous.find(item => item.value === tab.value);\n if (\n existing &&\n existing.element === tab.element &&\n existing.width === tab.width &&\n existing.label === tab.label &&\n existing.disabled === tab.disabled &&\n existing.onClick === tab.onClick &&\n existing.onClose === tab.onClose\n )\n return previous;\n const next = existing ? previous.map(item => (item.value === tab.value ? tab : item)) : [...previous, tab];\n return next.sort((a, b) => {\n if (a.element === b.element) return 0;\n return a.element.compareDocumentPosition(b.element) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n });\n });\n }, []);\n const unregister = useCallback(\n (value: string) => setMeasurements(previous => previous.filter(tab => tab.value !== value)),\n [],\n );\n const contained = tabs?.appearance === 'contained';\n useLayoutEffect(() => {\n const viewport = scrollRef.current;\n if (!viewport || !contained) return;\n const measure = () => setAvailable(viewport.clientWidth);\n measure();\n if (!('ResizeObserver' in globalThis)) return;\n const observer = new ResizeObserver(measure);\n observer.observe(viewport);\n return () => observer.disconnect();\n }, [contained]);\n const gap = tabs?.frame === 'inset' ? 4 : 0;\n const frameReserve = tabs?.frame === 'inset' ? 30 : 0;\n const hiddenValues = useMemo(() => {\n const hidden = new Set<string>();\n if (!contained || available === null) return hidden;\n const tabTotal = measurements.reduce((sum, tab) => sum + tab.width, 0) + gap * Math.max(measurements.length - 1, 0);\n if (tabTotal + frameReserve <= available) return hidden;\n let remaining = available - frameReserve - 48;\n const active = measurements.find(tab => tab.value === tabs?.value);\n if (active) remaining -= active.width + gap;\n let full = false;\n for (const tab of measurements) {\n if (tab === active) continue;\n if (full || tab.width + gap > remaining) {\n full = true;\n hidden.add(tab.value);\n } else remaining -= tab.width + gap;\n }\n return hidden;\n }, [contained, available, measurements, gap, frameReserve, tabs?.value]);\n const hiddenTabs = measurements.filter(tab => hiddenValues.has(tab.value));\n const overflowX = measurements\n .filter(tab => !hiddenValues.has(tab.value))\n .reduce((sum, tab) => sum + tab.width + gap, tabs?.frame === 'inset' ? 4 : 0);\n const visibleClosableTabs = measurements.filter(tab => !hiddenValues.has(tab.value) && tab.onClose);\n const listContext = useMemo(\n () => ({ variant: resolvedVariant, size, hiddenValues, register, unregister }),\n [resolvedVariant, size, hiddenValues, register, unregister],\n );\n useLayoutEffect(() => {\n const nextPositions = new Map(tabPositions.current);\n const reduceMotion = window.matchMedia?.('(prefers-reduced-motion: reduce)').matches ?? false;\n for (const tab of measurements) {\n if (hiddenValues.has(tab.value)) continue;\n const left = tab.element.offsetLeft;\n const previousLeft = tabPositions.current.get(tab.value);\n const close = closeRefs.current.get(tab.value);\n if (close) {\n close.style.left = `${left}px`;\n close.style.top = `${tab.element.offsetTop}px`;\n close.style.width = `${tab.element.offsetWidth}px`;\n close.style.height = `${tab.element.offsetHeight}px`;\n }\n const delta = previousLeft === undefined ? 0 : previousLeft - left;\n const shouldAnimate = tab.value !== tabs?.value && Math.abs(delta) <= 32;\n if (!reduceMotion && shouldAnimate && delta !== 0 && 'animate' in tab.element) {\n tab.element.animate([{ transform: `translateX(${delta}px)` }, { transform: 'translateX(0)' }], {\n duration: 180,\n easing: 'cubic-bezier(0.32, 0.72, 0, 1)',\n });\n }\n nextPositions.set(tab.value, left);\n }\n for (const value of nextPositions.keys()) {\n if (!measurements.some(tab => tab.value === value)) nextPositions.delete(value);\n }\n tabPositions.current = nextPositions;\n }, [hiddenValues, measurements, tabs?.value]);\n useLayoutEffect(() => {\n const previousValue = selectedValue.current;\n selectedValue.current = tabs?.value;\n const reduceMotion = window.matchMedia?.('(prefers-reduced-motion: reduce)').matches ?? false;\n if (!contained || tabs?.frame !== 'inset' || previousValue === tabs?.value || reduceMotion) return;\n const indicator = scrollRef.current?.querySelector<HTMLElement>('[data-slot=\"tabs-indicator\"]');\n if (!indicator || !('animate' in indicator)) return;\n indicator.animate(\n [\n { opacity: 0.72, scale: '0.97' },\n { opacity: 1, scale: '1' },\n ],\n {\n duration: 140,\n easing: 'cubic-bezier(0.32, 0.72, 0, 1)',\n },\n );\n }, [contained, tabs?.frame, tabs?.value]);\n\n return (\n <TabListContext.Provider value={listContext}>\n <TooltipProvider delay={200}>\n <div\n ref={scrollRef}\n data-slot=\"tabs-list-scroll\"\n className={cn('relative w-full overflow-x-auto', sticky && 'sticky top-0 z-10 bg-background')}\n >\n <BaseTabs.List\n data-slot=\"tabs-list\"\n data-overflow={hiddenTabs.length > 0 || undefined}\n data-variant={resolvedVariant}\n data-size={size}\n className={cn('group/tabs-list', tabListVariants({ variant: resolvedVariant }), className)}\n style={style}\n >\n {children}\n <BaseTabs.Indicator\n className={cn(\n 'absolute top-1/2 left-0 z-0 rounded-full bg-[var(--tab-indicator-color,var(--fill-hover))]',\n resolvedVariant === 'pill' ? 'h-[calc(100%-0.5rem)]' : 'h-full',\n 'w-[var(--active-tab-width)]',\n 'transition-[width,transform] duration-200 ease-in-out motion-reduce:transition-none',\n )}\n data-slot=\"tabs-indicator\"\n style={{ transform: 'translateY(var(--tabs-indicator-y, -50%)) translateX(var(--active-tab-left))' }}\n />\n </BaseTabs.List>\n <div data-slot=\"tabs-close-actions\">\n {visibleClosableTabs.map(tab => (\n <div\n key={tab.value}\n ref={element => {\n if (element) closeRefs.current.set(tab.value, element);\n else closeRefs.current.delete(tab.value);\n }}\n data-slot=\"tab-close-item\"\n data-visible={tabs?.value === tab.value || undefined}\n >\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n type=\"button\"\n tabIndex={tabs?.value === tab.value ? 0 : -1}\n data-slot=\"tab-close\"\n onClick={tab.onClose}\n className={cn('rounded p-0.5 hover:bg-fill-hover hover:text-accent2', transitions.colors)}\n />\n }\n >\n <span className=\"sr-only\">Close {tab.label}</span>\n <X aria-hidden=\"true\" className=\"size-3\" />\n </TooltipTrigger>\n <TooltipContent>Close {tab.label}</TooltipContent>\n </Tooltip>\n </div>\n ))}\n </div>\n {hiddenTabs.length > 0 && (\n <div\n data-slot=\"tabs-overflow\"\n style={{ transform: `translateX(${overflowX}px)` }}\n className=\"tabs-overflow\"\n >\n <DropdownMenu>\n <DropdownMenu.Trigger\n aria-label={`${hiddenTabs.length} more tabs`}\n variant=\"ghost\"\n size=\"sm\"\n className=\"tabular-nums\"\n >\n +{hiddenTabs.length}\n <ChevronDown aria-hidden=\"true\" className=\"size-3\" />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content className=\"grid\">\n {hiddenTabs.map((tab, index) => (\n <Fragment key={tab.value}>\n <DropdownMenu.Item\n data-slot=\"tabs-overflow-tab\"\n disabled={tab.disabled}\n className={tab.onClose ? 'pr-9' : undefined}\n style={{ gridArea: `${index + 1} / 1` }}\n onClick={() => {\n tabs?.select(tab.value);\n tab.onClick?.();\n }}\n >\n {tab.label}\n </DropdownMenu.Item>\n {tab.onClose ? (\n <Tooltip>\n <TooltipTrigger\n render={\n <DropdownMenu.Item\n data-slot=\"tabs-overflow-close\"\n className=\"hover:text-accent2 data-[highlighted]:text-accent2 pointer-events-none z-10 m-1 size-6 self-center justify-self-end p-0 opacity-0\"\n style={{ gridArea: `${index + 1} / 1` }}\n onClick={tab.onClose}\n />\n }\n >\n <span className=\"sr-only\">Close {tab.label}</span>\n <X aria-hidden=\"true\" className=\"size-3\" />\n </TooltipTrigger>\n <TooltipContent side=\"right\">Close {tab.label}</TooltipContent>\n </Tooltip>\n ) : null}\n </Fragment>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu>\n </div>\n )}\n </div>\n </TooltipProvider>\n </TabListContext.Provider>\n );\n};\n","import { Tabs as BaseTabs } from '@base-ui/react/tabs';\nimport { useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { TabsContext } from './tabs-context';\nimport './tabs.css';\nimport { cn } from '@/lib/utils';\n\nexport type TabsRootProps<T extends string> = Omit<\n ComponentProps<'div'>,\n 'children' | 'defaultValue' | 'value' | 'onChange'\n> & {\n children: ReactNode;\n defaultTab: T;\n value?: T;\n onValueChange?: (value: T) => void;\n appearance?: 'default' | 'contained';\n frame?: 'stroke' | 'inset';\n className?: string;\n};\n\nexport const Tabs = <T extends string>({\n children,\n defaultTab,\n value,\n onValueChange,\n appearance = 'default',\n frame = 'stroke',\n className,\n ...props\n}: TabsRootProps<T>) => {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultTab);\n const selectedValue = value ?? uncontrolledValue;\n const select = (next: T) => {\n setUncontrolledValue(next);\n onValueChange?.(next);\n };\n return (\n <TabsContext.Provider value={{ appearance, frame, value: selectedValue, select }}>\n <BaseTabs.Root\n defaultValue={defaultTab}\n value={selectedValue}\n onValueChange={select}\n data-slot=\"tabs\"\n data-appearance={appearance}\n data-frame={frame}\n className={cn('group/tabs', appearance === 'default' ? 'overflow-y-auto' : 'w-full min-w-0', className)}\n {...props}\n >\n {children}\n </BaseTabs.Root>\n </TabsContext.Provider>\n );\n};\n"],"names":["cva","tabs","useContext","TabsContext","useRef","useState","useCallback","useLayoutEffect","useMemo","jsx","TabListContext","TooltipProvider","jsxs","cn","BaseTabs","Tooltip","TooltipTrigger","transitions","X","TooltipContent","DropdownMenu","ChevronDown","Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tabs-root-BiV8irc3.cjs","sources":["../src/ds/components/Tabs/tabs-list.tsx","../src/ds/components/Tabs/tabs-root.tsx"],"sourcesContent":["import { Tabs as BaseTabs } from '@base-ui/react/tabs';\nimport { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport { ChevronDown, X } from 'lucide-react';\nimport { Fragment, useCallback, useContext, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { DropdownMenu } from '../DropdownMenu/dropdown-menu';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../Tooltip/tooltip';\nimport { TabListContext, TabsContext } from './tabs-context';\nimport type { TabMeasurement } from './tabs-context';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nconst tabListVariants = cva('relative flex items-center text-body', {\n variants: {\n variant: {\n pill: 'w-fit gap-1 rounded-full bg-fill-subtle p-1',\n 'pill-ghost': 'w-fit gap-0.5 rounded-full',\n },\n },\n defaultVariants: {\n variant: 'pill',\n },\n});\n\ntype TabListVariantsProps = VariantProps<typeof tabListVariants>;\n\nexport type TabListVariant = NonNullable<TabListVariantsProps['variant']>;\n\nexport type TabListSize = 'sm' | 'md';\n\nexport type TabListProps = Omit<TabListVariantsProps, 'variant'> & {\n children: React.ReactNode;\n className?: string;\n sticky?: boolean;\n /** Control height of each tab; `sm` lines up with `size=\"sm\"` buttons (e.g. inside a `DataPanel.Header`). */\n size?: TabListSize;\n /** `pill` sits the selected tab on a track; `pill-ghost` drops the track. */\n variant?: TabListVariant | null;\n /**\n * Optional inline styles applied to the underlying tab list element.\n * To override the active tab indicator color, set the `--tab-indicator-color`\n * CSS variable, e.g. `style={{ '--tab-indicator-color': 'var(--accent5)' } as React.CSSProperties}`.\n */\n style?: React.CSSProperties;\n};\n\nexport const TabList = ({ children, className, variant, size = 'md', sticky, style }: TabListProps) => {\n const resolvedVariant = variant ?? 'pill';\n const tabs = useContext(TabsContext);\n const scrollRef = useRef<HTMLDivElement>(null);\n const closeRefs = useRef(new Map<string, HTMLDivElement>());\n const tabPositions = useRef(new Map<string, number>());\n const selectedValue = useRef(tabs?.value);\n const [available, setAvailable] = useState<number | null>(null);\n const [measurements, setMeasurements] = useState<TabMeasurement[]>([]);\n const register = useCallback((tab: TabMeasurement) => {\n setMeasurements(previous => {\n const existing = previous.find(item => item.value === tab.value);\n if (\n existing &&\n existing.element === tab.element &&\n existing.width === tab.width &&\n existing.label === tab.label &&\n existing.disabled === tab.disabled &&\n existing.onClick === tab.onClick &&\n existing.onClose === tab.onClose\n )\n return previous;\n const next = existing ? previous.map(item => (item.value === tab.value ? tab : item)) : [...previous, tab];\n return next.sort((a, b) => {\n if (a.element === b.element) return 0;\n return a.element.compareDocumentPosition(b.element) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n });\n });\n }, []);\n const unregister = useCallback(\n (value: string) => setMeasurements(previous => previous.filter(tab => tab.value !== value)),\n [],\n );\n const contained = tabs?.appearance === 'contained';\n useLayoutEffect(() => {\n const viewport = scrollRef.current;\n if (!viewport || !contained) return;\n const measure = () => setAvailable(viewport.clientWidth);\n measure();\n if (!('ResizeObserver' in globalThis)) return;\n const observer = new ResizeObserver(measure);\n observer.observe(viewport);\n return () => observer.disconnect();\n }, [contained]);\n const gap = tabs?.frame === 'inset' ? 4 : 0;\n const frameReserve = tabs?.frame === 'inset' ? 30 : 0;\n const hiddenValues = useMemo(() => {\n const hidden = new Set<string>();\n if (!contained || available === null) return hidden;\n const tabTotal = measurements.reduce((sum, tab) => sum + tab.width, 0) + gap * Math.max(measurements.length - 1, 0);\n if (tabTotal + frameReserve <= available) return hidden;\n let remaining = available - frameReserve - 48;\n const active = measurements.find(tab => tab.value === tabs?.value);\n if (active) remaining -= active.width + gap;\n let full = false;\n for (const tab of measurements) {\n if (tab === active) continue;\n if (full || tab.width + gap > remaining) {\n full = true;\n hidden.add(tab.value);\n } else remaining -= tab.width + gap;\n }\n return hidden;\n }, [contained, available, measurements, gap, frameReserve, tabs?.value]);\n const hiddenTabs = measurements.filter(tab => hiddenValues.has(tab.value));\n const overflowX = measurements\n .filter(tab => !hiddenValues.has(tab.value))\n .reduce((sum, tab) => sum + tab.width + gap, tabs?.frame === 'inset' ? 4 : 0);\n const visibleClosableTabs = measurements.filter(tab => !hiddenValues.has(tab.value) && tab.onClose);\n const listContext = useMemo(\n () => ({ variant: resolvedVariant, size, hiddenValues, register, unregister }),\n [resolvedVariant, size, hiddenValues, register, unregister],\n );\n useLayoutEffect(() => {\n const nextPositions = new Map(tabPositions.current);\n const reduceMotion = window.matchMedia?.('(prefers-reduced-motion: reduce)').matches ?? false;\n for (const tab of measurements) {\n if (hiddenValues.has(tab.value)) continue;\n const left = tab.element.offsetLeft;\n const previousLeft = tabPositions.current.get(tab.value);\n const close = closeRefs.current.get(tab.value);\n if (close) {\n close.style.left = `${left}px`;\n close.style.top = `${tab.element.offsetTop}px`;\n close.style.width = `${tab.element.offsetWidth}px`;\n close.style.height = `${tab.element.offsetHeight}px`;\n }\n const delta = previousLeft === undefined ? 0 : previousLeft - left;\n const shouldAnimate = tab.value !== tabs?.value && Math.abs(delta) <= 32;\n if (!reduceMotion && shouldAnimate && delta !== 0 && 'animate' in tab.element) {\n tab.element.animate([{ transform: `translateX(${delta}px)` }, { transform: 'translateX(0)' }], {\n duration: 180,\n easing: 'cubic-bezier(0.32, 0.72, 0, 1)',\n });\n }\n nextPositions.set(tab.value, left);\n }\n for (const value of nextPositions.keys()) {\n if (!measurements.some(tab => tab.value === value)) nextPositions.delete(value);\n }\n tabPositions.current = nextPositions;\n }, [hiddenValues, measurements, tabs?.value]);\n useLayoutEffect(() => {\n const previousValue = selectedValue.current;\n selectedValue.current = tabs?.value;\n const reduceMotion = window.matchMedia?.('(prefers-reduced-motion: reduce)').matches ?? false;\n if (!contained || tabs?.frame !== 'inset' || previousValue === tabs?.value || reduceMotion) return;\n const indicator = scrollRef.current?.querySelector<HTMLElement>('[data-slot=\"tabs-indicator\"]');\n if (!indicator || !('animate' in indicator)) return;\n indicator.animate(\n [\n { opacity: 0.72, scale: '0.97' },\n { opacity: 1, scale: '1' },\n ],\n {\n duration: 140,\n easing: 'cubic-bezier(0.32, 0.72, 0, 1)',\n },\n );\n }, [contained, tabs?.frame, tabs?.value]);\n\n return (\n <TabListContext.Provider value={listContext}>\n <TooltipProvider delay={200}>\n <div\n ref={scrollRef}\n data-slot=\"tabs-list-scroll\"\n className={cn('relative w-full overflow-x-auto', sticky && 'sticky top-0 z-10 bg-background')}\n >\n <BaseTabs.List\n data-slot=\"tabs-list\"\n data-overflow={hiddenTabs.length > 0 || undefined}\n data-variant={resolvedVariant}\n data-size={size}\n className={cn('group/tabs-list', tabListVariants({ variant: resolvedVariant }), className)}\n style={style}\n >\n {children}\n <BaseTabs.Indicator\n className={cn(\n 'absolute top-1/2 left-0 z-0 rounded-full bg-[var(--tab-indicator-color,var(--fill-hover))]',\n resolvedVariant === 'pill' ? 'h-[calc(100%-0.5rem)]' : 'h-full',\n 'w-[var(--active-tab-width)]',\n 'transition-[width,transform] duration-200 ease-in-out motion-reduce:transition-none',\n )}\n data-slot=\"tabs-indicator\"\n style={{ transform: 'translateY(var(--tabs-indicator-y, -50%)) translateX(var(--active-tab-left))' }}\n />\n </BaseTabs.List>\n <div data-slot=\"tabs-close-actions\">\n {visibleClosableTabs.map(tab => (\n <div\n key={tab.value}\n ref={element => {\n if (element) closeRefs.current.set(tab.value, element);\n else closeRefs.current.delete(tab.value);\n }}\n data-slot=\"tab-close-item\"\n data-visible={tabs?.value === tab.value || undefined}\n >\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n type=\"button\"\n tabIndex={tabs?.value === tab.value ? 0 : -1}\n data-slot=\"tab-close\"\n onClick={tab.onClose}\n className={cn('rounded p-0.5 hover:bg-fill-hover hover:text-accent2', transitions.colors)}\n />\n }\n >\n <span className=\"sr-only\">Close {tab.label}</span>\n <X aria-hidden=\"true\" className=\"size-3\" />\n </TooltipTrigger>\n <TooltipContent>Close {tab.label}</TooltipContent>\n </Tooltip>\n </div>\n ))}\n </div>\n {hiddenTabs.length > 0 && (\n <div\n data-slot=\"tabs-overflow\"\n style={{ transform: `translateX(${overflowX}px)` }}\n className=\"tabs-overflow\"\n >\n <DropdownMenu>\n <DropdownMenu.Trigger\n aria-label={`${hiddenTabs.length} more tabs`}\n variant=\"ghost\"\n size=\"sm\"\n className=\"tabular-nums\"\n >\n +{hiddenTabs.length}\n <ChevronDown aria-hidden=\"true\" className=\"size-3\" />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content className=\"grid\">\n {hiddenTabs.map((tab, index) => (\n <Fragment key={tab.value}>\n <DropdownMenu.Item\n data-slot=\"tabs-overflow-tab\"\n disabled={tab.disabled}\n className={tab.onClose ? 'pr-9' : undefined}\n style={{ gridArea: `${index + 1} / 1` }}\n onClick={() => {\n tabs?.select(tab.value);\n tab.onClick?.();\n }}\n >\n {tab.label}\n </DropdownMenu.Item>\n {tab.onClose ? (\n <Tooltip>\n <TooltipTrigger\n render={\n <DropdownMenu.Item\n data-slot=\"tabs-overflow-close\"\n className=\"pointer-events-none z-10 m-1 size-6 self-center justify-self-end p-0 opacity-0 hover:text-accent2 data-[highlighted]:text-accent2\"\n style={{ gridArea: `${index + 1} / 1` }}\n onClick={tab.onClose}\n />\n }\n >\n <span className=\"sr-only\">Close {tab.label}</span>\n <X aria-hidden=\"true\" className=\"size-3\" />\n </TooltipTrigger>\n <TooltipContent side=\"right\">Close {tab.label}</TooltipContent>\n </Tooltip>\n ) : null}\n </Fragment>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu>\n </div>\n )}\n </div>\n </TooltipProvider>\n </TabListContext.Provider>\n );\n};\n","import { Tabs as BaseTabs } from '@base-ui/react/tabs';\nimport { useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { TabsContext } from './tabs-context';\nimport './tabs.css';\nimport { cn } from '@/lib/utils';\n\nexport type TabsRootProps<T extends string> = Omit<\n ComponentProps<'div'>,\n 'children' | 'defaultValue' | 'value' | 'onChange'\n> & {\n children: ReactNode;\n defaultTab: T;\n value?: T;\n onValueChange?: (value: T) => void;\n appearance?: 'default' | 'contained';\n frame?: 'stroke' | 'inset';\n className?: string;\n};\n\nexport const Tabs = <T extends string>({\n children,\n defaultTab,\n value,\n onValueChange,\n appearance = 'default',\n frame = 'stroke',\n className,\n ...props\n}: TabsRootProps<T>) => {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultTab);\n const selectedValue = value ?? uncontrolledValue;\n const select = (next: T) => {\n setUncontrolledValue(next);\n onValueChange?.(next);\n };\n return (\n <TabsContext.Provider value={{ appearance, frame, value: selectedValue, select }}>\n <BaseTabs.Root\n defaultValue={defaultTab}\n value={selectedValue}\n onValueChange={select}\n data-slot=\"tabs\"\n data-appearance={appearance}\n data-frame={frame}\n className={cn('group/tabs', appearance === 'default' ? 'overflow-y-auto' : 'w-full min-w-0', className)}\n {...props}\n >\n {children}\n </BaseTabs.Root>\n </TabsContext.Provider>\n );\n};\n"],"names":["cva","tabs","useContext","TabsContext","useRef","useState","useCallback","useLayoutEffect","useMemo","jsx","TabListContext","TooltipProvider","jsxs","cn","BaseTabs","Tooltip","TooltipTrigger","transitions","X","TooltipContent","DropdownMenu","ChevronDown","Fragment"],"mappings":"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"}
|
|
@@ -3,9 +3,9 @@ import { Tabs as Tabs$1 } from '@base-ui/react/tabs';
|
|
|
3
3
|
import { c as cva } from './index-Dubp6Qv4.js';
|
|
4
4
|
import { X, ChevronDown } from 'lucide-react';
|
|
5
5
|
import { useContext, useRef, useState, useCallback, useLayoutEffect, useMemo, Fragment } from 'react';
|
|
6
|
-
import { D as DropdownMenu } from './dropdown-menu-
|
|
6
|
+
import { D as DropdownMenu } from './dropdown-menu-DpEn6HwK.js';
|
|
7
7
|
import { b as TooltipProvider, T as Tooltip, c as TooltipTrigger, a as TooltipContent } from './tooltip-BrDiP0RI.js';
|
|
8
|
-
import { a as TabsContext, b as TabListContext } from './tabs-tab-
|
|
8
|
+
import { a as TabsContext, b as TabListContext } from './tabs-tab-CoSCf5Ku.js';
|
|
9
9
|
import { transitions } from './primitives/transitions.es.js';
|
|
10
10
|
import { c as cn } from './cn-65Adrsfj.js';
|
|
11
11
|
|
|
@@ -248,7 +248,7 @@ const TabList = ({ children, className, variant, size = "md", sticky, style }) =
|
|
|
248
248
|
DropdownMenu.Item,
|
|
249
249
|
{
|
|
250
250
|
"data-slot": "tabs-overflow-close",
|
|
251
|
-
className: "
|
|
251
|
+
className: "pointer-events-none z-10 m-1 size-6 self-center justify-self-end p-0 opacity-0 hover:text-accent2 data-[highlighted]:text-accent2",
|
|
252
252
|
style: { gridArea: `${index + 1} / 1` },
|
|
253
253
|
onClick: tab.onClose
|
|
254
254
|
}
|
|
@@ -309,4 +309,4 @@ const Tabs = ({
|
|
|
309
309
|
};
|
|
310
310
|
|
|
311
311
|
export { TabList as T, Tabs as a };
|
|
312
|
-
//# sourceMappingURL=tabs-root-
|
|
312
|
+
//# sourceMappingURL=tabs-root-CJ3GkDzi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs-root-CcEQrwTM.js","sources":["../src/ds/components/Tabs/tabs-list.tsx","../src/ds/components/Tabs/tabs-root.tsx"],"sourcesContent":["import { Tabs as BaseTabs } from '@base-ui/react/tabs';\nimport { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport { ChevronDown, X } from 'lucide-react';\nimport { Fragment, useCallback, useContext, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { DropdownMenu } from '../DropdownMenu/dropdown-menu';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../Tooltip/tooltip';\nimport { TabListContext, TabsContext } from './tabs-context';\nimport type { TabMeasurement } from './tabs-context';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nconst tabListVariants = cva('relative flex items-center text-body', {\n variants: {\n variant: {\n pill: 'w-fit gap-1 rounded-full bg-fill-subtle p-1',\n 'pill-ghost': 'w-fit gap-0.5 rounded-full',\n },\n },\n defaultVariants: {\n variant: 'pill',\n },\n});\n\ntype TabListVariantsProps = VariantProps<typeof tabListVariants>;\n\nexport type TabListVariant = NonNullable<TabListVariantsProps['variant']>;\n\nexport type TabListSize = 'sm' | 'md';\n\nexport type TabListProps = Omit<TabListVariantsProps, 'variant'> & {\n children: React.ReactNode;\n className?: string;\n sticky?: boolean;\n /** Control height of each tab; `sm` lines up with `size=\"sm\"` buttons (e.g. inside a `DataPanel.Header`). */\n size?: TabListSize;\n /** `pill` sits the selected tab on a track; `pill-ghost` drops the track. */\n variant?: TabListVariant | null;\n /**\n * Optional inline styles applied to the underlying tab list element.\n * To override the active tab indicator color, set the `--tab-indicator-color`\n * CSS variable, e.g. `style={{ '--tab-indicator-color': 'var(--accent5)' } as React.CSSProperties}`.\n */\n style?: React.CSSProperties;\n};\n\nexport const TabList = ({ children, className, variant, size = 'md', sticky, style }: TabListProps) => {\n const resolvedVariant = variant ?? 'pill';\n const tabs = useContext(TabsContext);\n const scrollRef = useRef<HTMLDivElement>(null);\n const closeRefs = useRef(new Map<string, HTMLDivElement>());\n const tabPositions = useRef(new Map<string, number>());\n const selectedValue = useRef(tabs?.value);\n const [available, setAvailable] = useState<number | null>(null);\n const [measurements, setMeasurements] = useState<TabMeasurement[]>([]);\n const register = useCallback((tab: TabMeasurement) => {\n setMeasurements(previous => {\n const existing = previous.find(item => item.value === tab.value);\n if (\n existing &&\n existing.element === tab.element &&\n existing.width === tab.width &&\n existing.label === tab.label &&\n existing.disabled === tab.disabled &&\n existing.onClick === tab.onClick &&\n existing.onClose === tab.onClose\n )\n return previous;\n const next = existing ? previous.map(item => (item.value === tab.value ? tab : item)) : [...previous, tab];\n return next.sort((a, b) => {\n if (a.element === b.element) return 0;\n return a.element.compareDocumentPosition(b.element) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n });\n });\n }, []);\n const unregister = useCallback(\n (value: string) => setMeasurements(previous => previous.filter(tab => tab.value !== value)),\n [],\n );\n const contained = tabs?.appearance === 'contained';\n useLayoutEffect(() => {\n const viewport = scrollRef.current;\n if (!viewport || !contained) return;\n const measure = () => setAvailable(viewport.clientWidth);\n measure();\n if (!('ResizeObserver' in globalThis)) return;\n const observer = new ResizeObserver(measure);\n observer.observe(viewport);\n return () => observer.disconnect();\n }, [contained]);\n const gap = tabs?.frame === 'inset' ? 4 : 0;\n const frameReserve = tabs?.frame === 'inset' ? 30 : 0;\n const hiddenValues = useMemo(() => {\n const hidden = new Set<string>();\n if (!contained || available === null) return hidden;\n const tabTotal = measurements.reduce((sum, tab) => sum + tab.width, 0) + gap * Math.max(measurements.length - 1, 0);\n if (tabTotal + frameReserve <= available) return hidden;\n let remaining = available - frameReserve - 48;\n const active = measurements.find(tab => tab.value === tabs?.value);\n if (active) remaining -= active.width + gap;\n let full = false;\n for (const tab of measurements) {\n if (tab === active) continue;\n if (full || tab.width + gap > remaining) {\n full = true;\n hidden.add(tab.value);\n } else remaining -= tab.width + gap;\n }\n return hidden;\n }, [contained, available, measurements, gap, frameReserve, tabs?.value]);\n const hiddenTabs = measurements.filter(tab => hiddenValues.has(tab.value));\n const overflowX = measurements\n .filter(tab => !hiddenValues.has(tab.value))\n .reduce((sum, tab) => sum + tab.width + gap, tabs?.frame === 'inset' ? 4 : 0);\n const visibleClosableTabs = measurements.filter(tab => !hiddenValues.has(tab.value) && tab.onClose);\n const listContext = useMemo(\n () => ({ variant: resolvedVariant, size, hiddenValues, register, unregister }),\n [resolvedVariant, size, hiddenValues, register, unregister],\n );\n useLayoutEffect(() => {\n const nextPositions = new Map(tabPositions.current);\n const reduceMotion = window.matchMedia?.('(prefers-reduced-motion: reduce)').matches ?? false;\n for (const tab of measurements) {\n if (hiddenValues.has(tab.value)) continue;\n const left = tab.element.offsetLeft;\n const previousLeft = tabPositions.current.get(tab.value);\n const close = closeRefs.current.get(tab.value);\n if (close) {\n close.style.left = `${left}px`;\n close.style.top = `${tab.element.offsetTop}px`;\n close.style.width = `${tab.element.offsetWidth}px`;\n close.style.height = `${tab.element.offsetHeight}px`;\n }\n const delta = previousLeft === undefined ? 0 : previousLeft - left;\n const shouldAnimate = tab.value !== tabs?.value && Math.abs(delta) <= 32;\n if (!reduceMotion && shouldAnimate && delta !== 0 && 'animate' in tab.element) {\n tab.element.animate([{ transform: `translateX(${delta}px)` }, { transform: 'translateX(0)' }], {\n duration: 180,\n easing: 'cubic-bezier(0.32, 0.72, 0, 1)',\n });\n }\n nextPositions.set(tab.value, left);\n }\n for (const value of nextPositions.keys()) {\n if (!measurements.some(tab => tab.value === value)) nextPositions.delete(value);\n }\n tabPositions.current = nextPositions;\n }, [hiddenValues, measurements, tabs?.value]);\n useLayoutEffect(() => {\n const previousValue = selectedValue.current;\n selectedValue.current = tabs?.value;\n const reduceMotion = window.matchMedia?.('(prefers-reduced-motion: reduce)').matches ?? false;\n if (!contained || tabs?.frame !== 'inset' || previousValue === tabs?.value || reduceMotion) return;\n const indicator = scrollRef.current?.querySelector<HTMLElement>('[data-slot=\"tabs-indicator\"]');\n if (!indicator || !('animate' in indicator)) return;\n indicator.animate(\n [\n { opacity: 0.72, scale: '0.97' },\n { opacity: 1, scale: '1' },\n ],\n {\n duration: 140,\n easing: 'cubic-bezier(0.32, 0.72, 0, 1)',\n },\n );\n }, [contained, tabs?.frame, tabs?.value]);\n\n return (\n <TabListContext.Provider value={listContext}>\n <TooltipProvider delay={200}>\n <div\n ref={scrollRef}\n data-slot=\"tabs-list-scroll\"\n className={cn('relative w-full overflow-x-auto', sticky && 'sticky top-0 z-10 bg-background')}\n >\n <BaseTabs.List\n data-slot=\"tabs-list\"\n data-overflow={hiddenTabs.length > 0 || undefined}\n data-variant={resolvedVariant}\n data-size={size}\n className={cn('group/tabs-list', tabListVariants({ variant: resolvedVariant }), className)}\n style={style}\n >\n {children}\n <BaseTabs.Indicator\n className={cn(\n 'absolute top-1/2 left-0 z-0 rounded-full bg-[var(--tab-indicator-color,var(--fill-hover))]',\n resolvedVariant === 'pill' ? 'h-[calc(100%-0.5rem)]' : 'h-full',\n 'w-[var(--active-tab-width)]',\n 'transition-[width,transform] duration-200 ease-in-out motion-reduce:transition-none',\n )}\n data-slot=\"tabs-indicator\"\n style={{ transform: 'translateY(var(--tabs-indicator-y, -50%)) translateX(var(--active-tab-left))' }}\n />\n </BaseTabs.List>\n <div data-slot=\"tabs-close-actions\">\n {visibleClosableTabs.map(tab => (\n <div\n key={tab.value}\n ref={element => {\n if (element) closeRefs.current.set(tab.value, element);\n else closeRefs.current.delete(tab.value);\n }}\n data-slot=\"tab-close-item\"\n data-visible={tabs?.value === tab.value || undefined}\n >\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n type=\"button\"\n tabIndex={tabs?.value === tab.value ? 0 : -1}\n data-slot=\"tab-close\"\n onClick={tab.onClose}\n className={cn('rounded p-0.5 hover:bg-fill-hover hover:text-accent2', transitions.colors)}\n />\n }\n >\n <span className=\"sr-only\">Close {tab.label}</span>\n <X aria-hidden=\"true\" className=\"size-3\" />\n </TooltipTrigger>\n <TooltipContent>Close {tab.label}</TooltipContent>\n </Tooltip>\n </div>\n ))}\n </div>\n {hiddenTabs.length > 0 && (\n <div\n data-slot=\"tabs-overflow\"\n style={{ transform: `translateX(${overflowX}px)` }}\n className=\"tabs-overflow\"\n >\n <DropdownMenu>\n <DropdownMenu.Trigger\n aria-label={`${hiddenTabs.length} more tabs`}\n variant=\"ghost\"\n size=\"sm\"\n className=\"tabular-nums\"\n >\n +{hiddenTabs.length}\n <ChevronDown aria-hidden=\"true\" className=\"size-3\" />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content className=\"grid\">\n {hiddenTabs.map((tab, index) => (\n <Fragment key={tab.value}>\n <DropdownMenu.Item\n data-slot=\"tabs-overflow-tab\"\n disabled={tab.disabled}\n className={tab.onClose ? 'pr-9' : undefined}\n style={{ gridArea: `${index + 1} / 1` }}\n onClick={() => {\n tabs?.select(tab.value);\n tab.onClick?.();\n }}\n >\n {tab.label}\n </DropdownMenu.Item>\n {tab.onClose ? (\n <Tooltip>\n <TooltipTrigger\n render={\n <DropdownMenu.Item\n data-slot=\"tabs-overflow-close\"\n className=\"hover:text-accent2 data-[highlighted]:text-accent2 pointer-events-none z-10 m-1 size-6 self-center justify-self-end p-0 opacity-0\"\n style={{ gridArea: `${index + 1} / 1` }}\n onClick={tab.onClose}\n />\n }\n >\n <span className=\"sr-only\">Close {tab.label}</span>\n <X aria-hidden=\"true\" className=\"size-3\" />\n </TooltipTrigger>\n <TooltipContent side=\"right\">Close {tab.label}</TooltipContent>\n </Tooltip>\n ) : null}\n </Fragment>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu>\n </div>\n )}\n </div>\n </TooltipProvider>\n </TabListContext.Provider>\n );\n};\n","import { Tabs as BaseTabs } from '@base-ui/react/tabs';\nimport { useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { TabsContext } from './tabs-context';\nimport './tabs.css';\nimport { cn } from '@/lib/utils';\n\nexport type TabsRootProps<T extends string> = Omit<\n ComponentProps<'div'>,\n 'children' | 'defaultValue' | 'value' | 'onChange'\n> & {\n children: ReactNode;\n defaultTab: T;\n value?: T;\n onValueChange?: (value: T) => void;\n appearance?: 'default' | 'contained';\n frame?: 'stroke' | 'inset';\n className?: string;\n};\n\nexport const Tabs = <T extends string>({\n children,\n defaultTab,\n value,\n onValueChange,\n appearance = 'default',\n frame = 'stroke',\n className,\n ...props\n}: TabsRootProps<T>) => {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultTab);\n const selectedValue = value ?? uncontrolledValue;\n const select = (next: T) => {\n setUncontrolledValue(next);\n onValueChange?.(next);\n };\n return (\n <TabsContext.Provider value={{ appearance, frame, value: selectedValue, select }}>\n <BaseTabs.Root\n defaultValue={defaultTab}\n value={selectedValue}\n onValueChange={select}\n data-slot=\"tabs\"\n data-appearance={appearance}\n data-frame={frame}\n className={cn('group/tabs', appearance === 'default' ? 'overflow-y-auto' : 'w-full min-w-0', className)}\n {...props}\n >\n {children}\n </BaseTabs.Root>\n </TabsContext.Provider>\n );\n};\n"],"names":["BaseTabs"],"mappings":";;;;;;;;;;;AAYA,MAAM,eAAA,GAAkB,IAAI,sCAAA,EAAwC;AAAA,EAClE,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,IAAA,EAAM,6CAAA;AAAA,MACN,YAAA,EAAc;AAAA;AAChB,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS;AAAA;AAEb,CAAC,CAAA;AAwBM,MAAM,OAAA,GAAU,CAAC,EAAE,QAAA,EAAU,SAAA,EAAW,SAAS,IAAA,GAAO,IAAA,EAAM,MAAA,EAAQ,KAAA,EAAM,KAAoB;AACrG,EAAA,MAAM,kBAAkB,OAAA,IAAW,MAAA;AACnC,EAAA,MAAM,IAAA,GAAO,WAAW,WAAW,CAAA;AACnC,EAAA,MAAM,SAAA,GAAY,OAAuB,IAAI,CAAA;AAC7C,EAAA,MAAM,SAAA,GAAY,MAAA,iBAAO,IAAI,GAAA,EAA6B,CAAA;AAC1D,EAAA,MAAM,YAAA,GAAe,MAAA,iBAAO,IAAI,GAAA,EAAqB,CAAA;AACrD,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,EAAM,KAAK,CAAA;AACxC,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAwB,IAAI,CAAA;AAC9D,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,QAAA,CAA2B,EAAE,CAAA;AACrE,EAAA,MAAM,QAAA,GAAW,WAAA,CAAY,CAAC,GAAA,KAAwB;AACpD,IAAA,eAAA,CAAgB,CAAA,QAAA,KAAY;AAC1B,MAAA,MAAM,WAAW,QAAA,CAAS,IAAA,CAAK,UAAQ,IAAA,CAAK,KAAA,KAAU,IAAI,KAAK,CAAA;AAC/D,MAAA,IACE,QAAA,IACA,SAAS,OAAA,KAAY,GAAA,CAAI,WACzB,QAAA,CAAS,KAAA,KAAU,GAAA,CAAI,KAAA,IACvB,QAAA,CAAS,KAAA,KAAU,IAAI,KAAA,IACvB,QAAA,CAAS,QAAA,KAAa,GAAA,CAAI,QAAA,IAC1B,QAAA,CAAS,YAAY,GAAA,CAAI,OAAA,IACzB,QAAA,CAAS,OAAA,KAAY,GAAA,CAAI,OAAA;AAEzB,QAAA,OAAO,QAAA;AACT,MAAA,MAAM,IAAA,GAAO,QAAA,GAAW,QAAA,CAAS,GAAA,CAAI,UAAS,IAAA,CAAK,KAAA,KAAU,GAAA,CAAI,KAAA,GAAQ,MAAM,IAAK,CAAA,GAAI,CAAC,GAAG,UAAU,GAAG,CAAA;AACzG,MAAA,OAAO,IAAA,CAAK,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAM;AACzB,QAAA,IAAI,CAAA,CAAE,OAAA,KAAY,CAAA,CAAE,OAAA,EAAS,OAAO,CAAA;AACpC,QAAA,OAAO,CAAA,CAAE,QAAQ,uBAAA,CAAwB,CAAA,CAAE,OAAO,CAAA,GAAI,IAAA,CAAK,8BAA8B,EAAA,GAAK,CAAA;AAAA,MAChG,CAAC,CAAA;AAAA,IACH,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,MAAM,UAAA,GAAa,WAAA;AAAA,IACjB,CAAC,KAAA,KAAkB,eAAA,CAAgB,CAAA,QAAA,KAAY,QAAA,CAAS,OAAO,CAAA,GAAA,KAAO,GAAA,CAAI,KAAA,KAAU,KAAK,CAAC,CAAA;AAAA,IAC1F;AAAC,GACH;AACA,EAAA,MAAM,SAAA,GAAY,MAAM,UAAA,KAAe,WAAA;AACvC,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAA,MAAM,WAAW,SAAA,CAAU,OAAA;AAC3B,IAAA,IAAI,CAAC,QAAA,IAAY,CAAC,SAAA,EAAW;AAC7B,IAAA,MAAM,OAAA,GAAU,MAAM,YAAA,CAAa,QAAA,CAAS,WAAW,CAAA;AACvD,IAAA,OAAA,EAAQ;AACR,IAAA,IAAI,EAAE,oBAAoB,UAAA,CAAA,EAAa;AACvC,IAAA,MAAM,QAAA,GAAW,IAAI,cAAA,CAAe,OAAO,CAAA;AAC3C,IAAA,QAAA,CAAS,QAAQ,QAAQ,CAAA;AACzB,IAAA,OAAO,MAAM,SAAS,UAAA,EAAW;AAAA,EACnC,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AACd,EAAA,MAAM,GAAA,GAAM,IAAA,EAAM,KAAA,KAAU,OAAA,GAAU,CAAA,GAAI,CAAA;AAC1C,EAAA,MAAM,YAAA,GAAe,IAAA,EAAM,KAAA,KAAU,OAAA,GAAU,EAAA,GAAK,CAAA;AACpD,EAAA,MAAM,YAAA,GAAe,QAAQ,MAAM;AACjC,IAAA,MAAM,MAAA,uBAAa,GAAA,EAAY;AAC/B,IAAA,IAAI,CAAC,SAAA,IAAa,SAAA,KAAc,IAAA,EAAM,OAAO,MAAA;AAC7C,IAAA,MAAM,WAAW,YAAA,CAAa,MAAA,CAAO,CAAC,GAAA,EAAK,QAAQ,GAAA,GAAM,GAAA,CAAI,KAAA,EAAO,CAAC,IAAI,GAAA,GAAM,IAAA,CAAK,IAAI,YAAA,CAAa,MAAA,GAAS,GAAG,CAAC,CAAA;AAClH,IAAA,IAAI,QAAA,GAAW,YAAA,IAAgB,SAAA,EAAW,OAAO,MAAA;AACjD,IAAA,IAAI,SAAA,GAAY,YAAY,YAAA,GAAe,EAAA;AAC3C,IAAA,MAAM,SAAS,YAAA,CAAa,IAAA,CAAK,SAAO,GAAA,CAAI,KAAA,KAAU,MAAM,KAAK,CAAA;AACjE,IAAA,IAAI,MAAA,EAAQ,SAAA,IAAa,MAAA,CAAO,KAAA,GAAQ,GAAA;AACxC,IAAA,IAAI,IAAA,GAAO,KAAA;AACX,IAAA,KAAA,MAAW,OAAO,YAAA,EAAc;AAC9B,MAAA,IAAI,QAAQ,MAAA,EAAQ;AACpB,MAAA,IAAI,IAAA,IAAQ,GAAA,CAAI,KAAA,GAAQ,GAAA,GAAM,SAAA,EAAW;AACvC,QAAA,IAAA,GAAO,IAAA;AACP,QAAA,MAAA,CAAO,GAAA,CAAI,IAAI,KAAK,CAAA;AAAA,MACtB,CAAA,MAAO,SAAA,IAAa,GAAA,CAAI,KAAA,GAAQ,GAAA;AAAA,IAClC;AACA,IAAA,OAAO,MAAA;AAAA,EACT,CAAA,EAAG,CAAC,SAAA,EAAW,SAAA,EAAW,cAAc,GAAA,EAAK,YAAA,EAAc,IAAA,EAAM,KAAK,CAAC,CAAA;AACvE,EAAA,MAAM,UAAA,GAAa,aAAa,MAAA,CAAO,CAAA,GAAA,KAAO,aAAa,GAAA,CAAI,GAAA,CAAI,KAAK,CAAC,CAAA;AACzE,EAAA,MAAM,SAAA,GAAY,aACf,MAAA,CAAO,CAAA,GAAA,KAAO,CAAC,YAAA,CAAa,GAAA,CAAI,GAAA,CAAI,KAAK,CAAC,CAAA,CAC1C,OAAO,CAAC,GAAA,EAAK,GAAA,KAAQ,GAAA,GAAM,GAAA,CAAI,KAAA,GAAQ,KAAK,IAAA,EAAM,KAAA,KAAU,OAAA,GAAU,CAAA,GAAI,CAAC,CAAA;AAC9E,EAAA,MAAM,mBAAA,GAAsB,YAAA,CAAa,MAAA,CAAO,CAAA,GAAA,KAAO,CAAC,YAAA,CAAa,GAAA,CAAI,GAAA,CAAI,KAAK,CAAA,IAAK,GAAA,CAAI,OAAO,CAAA;AAClG,EAAA,MAAM,WAAA,GAAc,OAAA;AAAA,IAClB,OAAO,EAAE,OAAA,EAAS,iBAAiB,IAAA,EAAM,YAAA,EAAc,UAAU,UAAA,EAAW,CAAA;AAAA,IAC5E,CAAC,eAAA,EAAiB,IAAA,EAAM,YAAA,EAAc,UAAU,UAAU;AAAA,GAC5D;AACA,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAA,MAAM,aAAA,GAAgB,IAAI,GAAA,CAAI,YAAA,CAAa,OAAO,CAAA;AAClD,IAAA,MAAM,YAAA,GAAe,MAAA,CAAO,UAAA,GAAa,kCAAkC,EAAE,OAAA,IAAW,KAAA;AACxF,IAAA,KAAA,MAAW,OAAO,YAAA,EAAc;AAC9B,MAAA,IAAI,YAAA,CAAa,GAAA,CAAI,GAAA,CAAI,KAAK,CAAA,EAAG;AACjC,MAAA,MAAM,IAAA,GAAO,IAAI,OAAA,CAAQ,UAAA;AACzB,MAAA,MAAM,YAAA,GAAe,YAAA,CAAa,OAAA,CAAQ,GAAA,CAAI,IAAI,KAAK,CAAA;AACvD,MAAA,MAAM,KAAA,GAAQ,SAAA,CAAU,OAAA,CAAQ,GAAA,CAAI,IAAI,KAAK,CAAA;AAC7C,MAAA,IAAI,KAAA,EAAO;AACT,QAAA,KAAA,CAAM,KAAA,CAAM,IAAA,GAAO,CAAA,EAAG,IAAI,CAAA,EAAA,CAAA;AAC1B,QAAA,KAAA,CAAM,KAAA,CAAM,GAAA,GAAM,CAAA,EAAG,GAAA,CAAI,QAAQ,SAAS,CAAA,EAAA,CAAA;AAC1C,QAAA,KAAA,CAAM,KAAA,CAAM,KAAA,GAAQ,CAAA,EAAG,GAAA,CAAI,QAAQ,WAAW,CAAA,EAAA,CAAA;AAC9C,QAAA,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,CAAA,EAAG,GAAA,CAAI,QAAQ,YAAY,CAAA,EAAA,CAAA;AAAA,MAClD;AACA,MAAA,MAAM,KAAA,GAAQ,YAAA,KAAiB,MAAA,GAAY,CAAA,GAAI,YAAA,GAAe,IAAA;AAC9D,MAAA,MAAM,aAAA,GAAgB,IAAI,KAAA,KAAU,IAAA,EAAM,SAAS,IAAA,CAAK,GAAA,CAAI,KAAK,CAAA,IAAK,EAAA;AACtE,MAAA,IAAI,CAAC,YAAA,IAAgB,aAAA,IAAiB,UAAU,CAAA,IAAK,SAAA,IAAa,IAAI,OAAA,EAAS;AAC7E,QAAA,GAAA,CAAI,OAAA,CAAQ,OAAA,CAAQ,CAAC,EAAE,SAAA,EAAW,CAAA,WAAA,EAAc,KAAK,CAAA,GAAA,CAAA,EAAM,EAAG,EAAE,SAAA,EAAW,eAAA,EAAiB,CAAA,EAAG;AAAA,UAC7F,QAAA,EAAU,GAAA;AAAA,UACV,MAAA,EAAQ;AAAA,SACT,CAAA;AAAA,MACH;AACA,MAAA,aAAA,CAAc,GAAA,CAAI,GAAA,CAAI,KAAA,EAAO,IAAI,CAAA;AAAA,IACnC;AACA,IAAA,KAAA,MAAW,KAAA,IAAS,aAAA,CAAc,IAAA,EAAK,EAAG;AACxC,MAAA,IAAI,CAAC,YAAA,CAAa,IAAA,CAAK,CAAA,GAAA,KAAO,GAAA,CAAI,UAAU,KAAK,CAAA,EAAG,aAAA,CAAc,MAAA,CAAO,KAAK,CAAA;AAAA,IAChF;AACA,IAAA,YAAA,CAAa,OAAA,GAAU,aAAA;AAAA,EACzB,GAAG,CAAC,YAAA,EAAc,YAAA,EAAc,IAAA,EAAM,KAAK,CAAC,CAAA;AAC5C,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAA,MAAM,gBAAgB,aAAA,CAAc,OAAA;AACpC,IAAA,aAAA,CAAc,UAAU,IAAA,EAAM,KAAA;AAC9B,IAAA,MAAM,YAAA,GAAe,MAAA,CAAO,UAAA,GAAa,kCAAkC,EAAE,OAAA,IAAW,KAAA;AACxF,IAAA,IAAI,CAAC,aAAa,IAAA,EAAM,KAAA,KAAU,WAAW,aAAA,KAAkB,IAAA,EAAM,SAAS,YAAA,EAAc;AAC5F,IAAA,MAAM,SAAA,GAAY,SAAA,CAAU,OAAA,EAAS,aAAA,CAA2B,8BAA8B,CAAA;AAC9F,IAAA,IAAI,CAAC,SAAA,IAAa,EAAE,SAAA,IAAa,SAAA,CAAA,EAAY;AAC7C,IAAA,SAAA,CAAU,OAAA;AAAA,MACR;AAAA,QACE,EAAE,OAAA,EAAS,IAAA,EAAM,KAAA,EAAO,MAAA,EAAO;AAAA,QAC/B,EAAE,OAAA,EAAS,CAAA,EAAG,KAAA,EAAO,GAAA;AAAI,OAC3B;AAAA,MACA;AAAA,QACE,QAAA,EAAU,GAAA;AAAA,QACV,MAAA,EAAQ;AAAA;AACV,KACF;AAAA,EACF,GAAG,CAAC,SAAA,EAAW,MAAM,KAAA,EAAO,IAAA,EAAM,KAAK,CAAC,CAAA;AAExC,EAAA,uBACE,GAAA,CAAC,eAAe,QAAA,EAAf,EAAwB,OAAO,WAAA,EAC9B,QAAA,kBAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,KAAA,EAAO,GAAA,EACtB,QAAA,kBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,SAAA;AAAA,MACL,WAAA,EAAU,kBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,iCAAA,EAAmC,MAAA,IAAU,iCAAiC,CAAA;AAAA,MAE5F,QAAA,EAAA;AAAA,wBAAA,IAAA;AAAA,UAACA,MAAA,CAAS,IAAA;AAAA,UAAT;AAAA,YACC,WAAA,EAAU,WAAA;AAAA,YACV,eAAA,EAAe,UAAA,CAAW,MAAA,GAAS,CAAA,IAAK,MAAA;AAAA,YACxC,cAAA,EAAc,eAAA;AAAA,YACd,WAAA,EAAW,IAAA;AAAA,YACX,SAAA,EAAW,GAAG,iBAAA,EAAmB,eAAA,CAAgB,EAAE,OAAA,EAAS,eAAA,EAAiB,CAAA,EAAG,SAAS,CAAA;AAAA,YACzF,KAAA;AAAA,YAEC,QAAA,EAAA;AAAA,cAAA,QAAA;AAAA,8BACD,GAAA;AAAA,gBAACA,MAAA,CAAS,SAAA;AAAA,gBAAT;AAAA,kBACC,SAAA,EAAW,EAAA;AAAA,oBACT,4FAAA;AAAA,oBACA,eAAA,KAAoB,SAAS,uBAAA,GAA0B,QAAA;AAAA,oBACvD,6BAAA;AAAA,oBACA;AAAA,mBACF;AAAA,kBACA,WAAA,EAAU,gBAAA;AAAA,kBACV,KAAA,EAAO,EAAE,SAAA,EAAW,8EAAA;AAA+E;AAAA;AACrG;AAAA;AAAA,SACF;AAAA,4BACC,KAAA,EAAA,EAAI,WAAA,EAAU,oBAAA,EACZ,QAAA,EAAA,mBAAA,CAAoB,IAAI,CAAA,GAAA,qBACvB,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YAEC,KAAK,CAAA,OAAA,KAAW;AACd,cAAA,IAAI,SAAS,SAAA,CAAU,OAAA,CAAQ,GAAA,CAAI,GAAA,CAAI,OAAO,OAAO,CAAA;AAAA,mBAChD,SAAA,CAAU,OAAA,CAAQ,MAAA,CAAO,GAAA,CAAI,KAAK,CAAA;AAAA,YACzC,CAAA;AAAA,YACA,WAAA,EAAU,gBAAA;AAAA,YACV,cAAA,EAAc,IAAA,EAAM,KAAA,KAAU,GAAA,CAAI,KAAA,IAAS,MAAA;AAAA,YAE3C,+BAAC,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,8BAAA,IAAA;AAAA,gBAAC,cAAA;AAAA,gBAAA;AAAA,kBACC,MAAA,kBACE,GAAA;AAAA,oBAAC,QAAA;AAAA,oBAAA;AAAA,sBACC,IAAA,EAAK,QAAA;AAAA,sBACL,QAAA,EAAU,IAAA,EAAM,KAAA,KAAU,GAAA,CAAI,QAAQ,CAAA,GAAI,EAAA;AAAA,sBAC1C,WAAA,EAAU,WAAA;AAAA,sBACV,SAAS,GAAA,CAAI,OAAA;AAAA,sBACb,SAAA,EAAW,EAAA,CAAG,sDAAA,EAAwD,WAAA,CAAY,MAAM;AAAA;AAAA,mBAC1F;AAAA,kBAGF,QAAA,EAAA;AAAA,oCAAA,IAAA,CAAC,MAAA,EAAA,EAAK,WAAU,SAAA,EAAU,QAAA,EAAA;AAAA,sBAAA,QAAA;AAAA,sBAAO,GAAA,CAAI;AAAA,qBAAA,EAAM,CAAA;AAAA,oCAC3C,GAAA,CAAC,CAAA,EAAA,EAAE,aAAA,EAAY,MAAA,EAAO,WAAU,QAAA,EAAS;AAAA;AAAA;AAAA,eAC3C;AAAA,mCACC,cAAA,EAAA,EAAe,QAAA,EAAA;AAAA,gBAAA,QAAA;AAAA,gBAAO,GAAA,CAAI;AAAA,eAAA,EAAM;AAAA,aAAA,EACnC;AAAA,WAAA;AAAA,UAxBK,GAAA,CAAI;AAAA,SA0BZ,CAAA,EACH,CAAA;AAAA,QACC,UAAA,CAAW,SAAS,CAAA,oBACnB,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,eAAA;AAAA,YACV,KAAA,EAAO,EAAE,SAAA,EAAW,CAAA,WAAA,EAAc,SAAS,CAAA,GAAA,CAAA,EAAM;AAAA,YACjD,SAAA,EAAU,eAAA;AAAA,YAEV,+BAAC,YAAA,EAAA,EACC,QAAA,EAAA;AAAA,8BAAA,IAAA;AAAA,gBAAC,YAAA,CAAa,OAAA;AAAA,gBAAb;AAAA,kBACC,YAAA,EAAY,CAAA,EAAG,UAAA,CAAW,MAAM,CAAA,UAAA,CAAA;AAAA,kBAChC,OAAA,EAAQ,OAAA;AAAA,kBACR,IAAA,EAAK,IAAA;AAAA,kBACL,SAAA,EAAU,cAAA;AAAA,kBACX,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,oBACG,UAAA,CAAW,MAAA;AAAA,oCACb,GAAA,CAAC,WAAA,EAAA,EAAY,aAAA,EAAY,MAAA,EAAO,WAAU,QAAA,EAAS;AAAA;AAAA;AAAA,eACrD;AAAA,8BACA,GAAA,CAAC,YAAA,CAAa,OAAA,EAAb,EAAqB,SAAA,EAAU,MAAA,EAC7B,QAAA,EAAA,UAAA,CAAW,GAAA,CAAI,CAAC,GAAA,EAAK,KAAA,qBACpB,IAAA,CAAC,QAAA,EAAA,EACC,QAAA,EAAA;AAAA,gCAAA,GAAA;AAAA,kBAAC,YAAA,CAAa,IAAA;AAAA,kBAAb;AAAA,oBACC,WAAA,EAAU,mBAAA;AAAA,oBACV,UAAU,GAAA,CAAI,QAAA;AAAA,oBACd,SAAA,EAAW,GAAA,CAAI,OAAA,GAAU,MAAA,GAAS,MAAA;AAAA,oBAClC,OAAO,EAAE,QAAA,EAAU,CAAA,EAAG,KAAA,GAAQ,CAAC,CAAA,IAAA,CAAA,EAAO;AAAA,oBACtC,SAAS,MAAM;AACb,sBAAA,IAAA,EAAM,MAAA,CAAO,IAAI,KAAK,CAAA;AACtB,sBAAA,GAAA,CAAI,OAAA,IAAU;AAAA,oBAChB,CAAA;AAAA,oBAEC,QAAA,EAAA,GAAA,CAAI;AAAA;AAAA,iBACP;AAAA,gBACC,GAAA,CAAI,OAAA,mBACH,IAAA,CAAC,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,kCAAA,IAAA;AAAA,oBAAC,cAAA;AAAA,oBAAA;AAAA,sBACC,MAAA,kBACE,GAAA;AAAA,wBAAC,YAAA,CAAa,IAAA;AAAA,wBAAb;AAAA,0BACC,WAAA,EAAU,qBAAA;AAAA,0BACV,SAAA,EAAU,mIAAA;AAAA,0BACV,OAAO,EAAE,QAAA,EAAU,CAAA,EAAG,KAAA,GAAQ,CAAC,CAAA,IAAA,CAAA,EAAO;AAAA,0BACtC,SAAS,GAAA,CAAI;AAAA;AAAA,uBACf;AAAA,sBAGF,QAAA,EAAA;AAAA,wCAAA,IAAA,CAAC,MAAA,EAAA,EAAK,WAAU,SAAA,EAAU,QAAA,EAAA;AAAA,0BAAA,QAAA;AAAA,0BAAO,GAAA,CAAI;AAAA,yBAAA,EAAM,CAAA;AAAA,wCAC3C,GAAA,CAAC,CAAA,EAAA,EAAE,aAAA,EAAY,MAAA,EAAO,WAAU,QAAA,EAAS;AAAA;AAAA;AAAA,mBAC3C;AAAA,kCACA,IAAA,CAAC,cAAA,EAAA,EAAe,IAAA,EAAK,OAAA,EAAQ,QAAA,EAAA;AAAA,oBAAA,QAAA;AAAA,oBAAO,GAAA,CAAI;AAAA,mBAAA,EAAM;AAAA,iBAAA,EAChD,CAAA,GACE;AAAA,eAAA,EAAA,EA9BS,GAAA,CAAI,KA+BnB,CACD,CAAA,EACH;AAAA,aAAA,EACF;AAAA;AAAA;AACF;AAAA;AAAA,KAGN,CAAA,EACF,CAAA;AAEJ;;ACzQO,MAAM,OAAO,CAAmB;AAAA,EACrC,QAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA;AAAA,EACA,UAAA,GAAa,SAAA;AAAA,EACb,KAAA,GAAQ,QAAA;AAAA,EACR,SAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAwB;AACtB,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAI,SAAS,UAAU,CAAA;AACrE,EAAA,MAAM,gBAAgB,KAAA,IAAS,iBAAA;AAC/B,EAAA,MAAM,MAAA,GAAS,CAAC,IAAA,KAAY;AAC1B,IAAA,oBAAA,CAAqB,IAAI,CAAA;AACzB,IAAA,aAAA,GAAgB,IAAI,CAAA;AAAA,EACtB,CAAA;AACA,EAAA,uBACE,GAAA,CAAC,WAAA,CAAY,QAAA,EAAZ,EAAqB,KAAA,EAAO,EAAE,UAAA,EAAY,KAAA,EAAO,KAAA,EAAO,aAAA,EAAe,MAAA,EAAO,EAC7E,QAAA,kBAAA,GAAA;AAAA,IAACA,MAAA,CAAS,IAAA;AAAA,IAAT;AAAA,MACC,YAAA,EAAc,UAAA;AAAA,MACd,KAAA,EAAO,aAAA;AAAA,MACP,aAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAU,MAAA;AAAA,MACV,iBAAA,EAAiB,UAAA;AAAA,MACjB,YAAA,EAAY,KAAA;AAAA,MACZ,WAAW,EAAA,CAAG,YAAA,EAAc,eAAe,SAAA,GAAY,iBAAA,GAAoB,kBAAkB,SAAS,CAAA;AAAA,MACrG,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;;;;"}
|
|
1
|
+
{"version":3,"file":"tabs-root-CJ3GkDzi.js","sources":["../src/ds/components/Tabs/tabs-list.tsx","../src/ds/components/Tabs/tabs-root.tsx"],"sourcesContent":["import { Tabs as BaseTabs } from '@base-ui/react/tabs';\nimport { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport { ChevronDown, X } from 'lucide-react';\nimport { Fragment, useCallback, useContext, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { DropdownMenu } from '../DropdownMenu/dropdown-menu';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../Tooltip/tooltip';\nimport { TabListContext, TabsContext } from './tabs-context';\nimport type { TabMeasurement } from './tabs-context';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nconst tabListVariants = cva('relative flex items-center text-body', {\n variants: {\n variant: {\n pill: 'w-fit gap-1 rounded-full bg-fill-subtle p-1',\n 'pill-ghost': 'w-fit gap-0.5 rounded-full',\n },\n },\n defaultVariants: {\n variant: 'pill',\n },\n});\n\ntype TabListVariantsProps = VariantProps<typeof tabListVariants>;\n\nexport type TabListVariant = NonNullable<TabListVariantsProps['variant']>;\n\nexport type TabListSize = 'sm' | 'md';\n\nexport type TabListProps = Omit<TabListVariantsProps, 'variant'> & {\n children: React.ReactNode;\n className?: string;\n sticky?: boolean;\n /** Control height of each tab; `sm` lines up with `size=\"sm\"` buttons (e.g. inside a `DataPanel.Header`). */\n size?: TabListSize;\n /** `pill` sits the selected tab on a track; `pill-ghost` drops the track. */\n variant?: TabListVariant | null;\n /**\n * Optional inline styles applied to the underlying tab list element.\n * To override the active tab indicator color, set the `--tab-indicator-color`\n * CSS variable, e.g. `style={{ '--tab-indicator-color': 'var(--accent5)' } as React.CSSProperties}`.\n */\n style?: React.CSSProperties;\n};\n\nexport const TabList = ({ children, className, variant, size = 'md', sticky, style }: TabListProps) => {\n const resolvedVariant = variant ?? 'pill';\n const tabs = useContext(TabsContext);\n const scrollRef = useRef<HTMLDivElement>(null);\n const closeRefs = useRef(new Map<string, HTMLDivElement>());\n const tabPositions = useRef(new Map<string, number>());\n const selectedValue = useRef(tabs?.value);\n const [available, setAvailable] = useState<number | null>(null);\n const [measurements, setMeasurements] = useState<TabMeasurement[]>([]);\n const register = useCallback((tab: TabMeasurement) => {\n setMeasurements(previous => {\n const existing = previous.find(item => item.value === tab.value);\n if (\n existing &&\n existing.element === tab.element &&\n existing.width === tab.width &&\n existing.label === tab.label &&\n existing.disabled === tab.disabled &&\n existing.onClick === tab.onClick &&\n existing.onClose === tab.onClose\n )\n return previous;\n const next = existing ? previous.map(item => (item.value === tab.value ? tab : item)) : [...previous, tab];\n return next.sort((a, b) => {\n if (a.element === b.element) return 0;\n return a.element.compareDocumentPosition(b.element) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n });\n });\n }, []);\n const unregister = useCallback(\n (value: string) => setMeasurements(previous => previous.filter(tab => tab.value !== value)),\n [],\n );\n const contained = tabs?.appearance === 'contained';\n useLayoutEffect(() => {\n const viewport = scrollRef.current;\n if (!viewport || !contained) return;\n const measure = () => setAvailable(viewport.clientWidth);\n measure();\n if (!('ResizeObserver' in globalThis)) return;\n const observer = new ResizeObserver(measure);\n observer.observe(viewport);\n return () => observer.disconnect();\n }, [contained]);\n const gap = tabs?.frame === 'inset' ? 4 : 0;\n const frameReserve = tabs?.frame === 'inset' ? 30 : 0;\n const hiddenValues = useMemo(() => {\n const hidden = new Set<string>();\n if (!contained || available === null) return hidden;\n const tabTotal = measurements.reduce((sum, tab) => sum + tab.width, 0) + gap * Math.max(measurements.length - 1, 0);\n if (tabTotal + frameReserve <= available) return hidden;\n let remaining = available - frameReserve - 48;\n const active = measurements.find(tab => tab.value === tabs?.value);\n if (active) remaining -= active.width + gap;\n let full = false;\n for (const tab of measurements) {\n if (tab === active) continue;\n if (full || tab.width + gap > remaining) {\n full = true;\n hidden.add(tab.value);\n } else remaining -= tab.width + gap;\n }\n return hidden;\n }, [contained, available, measurements, gap, frameReserve, tabs?.value]);\n const hiddenTabs = measurements.filter(tab => hiddenValues.has(tab.value));\n const overflowX = measurements\n .filter(tab => !hiddenValues.has(tab.value))\n .reduce((sum, tab) => sum + tab.width + gap, tabs?.frame === 'inset' ? 4 : 0);\n const visibleClosableTabs = measurements.filter(tab => !hiddenValues.has(tab.value) && tab.onClose);\n const listContext = useMemo(\n () => ({ variant: resolvedVariant, size, hiddenValues, register, unregister }),\n [resolvedVariant, size, hiddenValues, register, unregister],\n );\n useLayoutEffect(() => {\n const nextPositions = new Map(tabPositions.current);\n const reduceMotion = window.matchMedia?.('(prefers-reduced-motion: reduce)').matches ?? false;\n for (const tab of measurements) {\n if (hiddenValues.has(tab.value)) continue;\n const left = tab.element.offsetLeft;\n const previousLeft = tabPositions.current.get(tab.value);\n const close = closeRefs.current.get(tab.value);\n if (close) {\n close.style.left = `${left}px`;\n close.style.top = `${tab.element.offsetTop}px`;\n close.style.width = `${tab.element.offsetWidth}px`;\n close.style.height = `${tab.element.offsetHeight}px`;\n }\n const delta = previousLeft === undefined ? 0 : previousLeft - left;\n const shouldAnimate = tab.value !== tabs?.value && Math.abs(delta) <= 32;\n if (!reduceMotion && shouldAnimate && delta !== 0 && 'animate' in tab.element) {\n tab.element.animate([{ transform: `translateX(${delta}px)` }, { transform: 'translateX(0)' }], {\n duration: 180,\n easing: 'cubic-bezier(0.32, 0.72, 0, 1)',\n });\n }\n nextPositions.set(tab.value, left);\n }\n for (const value of nextPositions.keys()) {\n if (!measurements.some(tab => tab.value === value)) nextPositions.delete(value);\n }\n tabPositions.current = nextPositions;\n }, [hiddenValues, measurements, tabs?.value]);\n useLayoutEffect(() => {\n const previousValue = selectedValue.current;\n selectedValue.current = tabs?.value;\n const reduceMotion = window.matchMedia?.('(prefers-reduced-motion: reduce)').matches ?? false;\n if (!contained || tabs?.frame !== 'inset' || previousValue === tabs?.value || reduceMotion) return;\n const indicator = scrollRef.current?.querySelector<HTMLElement>('[data-slot=\"tabs-indicator\"]');\n if (!indicator || !('animate' in indicator)) return;\n indicator.animate(\n [\n { opacity: 0.72, scale: '0.97' },\n { opacity: 1, scale: '1' },\n ],\n {\n duration: 140,\n easing: 'cubic-bezier(0.32, 0.72, 0, 1)',\n },\n );\n }, [contained, tabs?.frame, tabs?.value]);\n\n return (\n <TabListContext.Provider value={listContext}>\n <TooltipProvider delay={200}>\n <div\n ref={scrollRef}\n data-slot=\"tabs-list-scroll\"\n className={cn('relative w-full overflow-x-auto', sticky && 'sticky top-0 z-10 bg-background')}\n >\n <BaseTabs.List\n data-slot=\"tabs-list\"\n data-overflow={hiddenTabs.length > 0 || undefined}\n data-variant={resolvedVariant}\n data-size={size}\n className={cn('group/tabs-list', tabListVariants({ variant: resolvedVariant }), className)}\n style={style}\n >\n {children}\n <BaseTabs.Indicator\n className={cn(\n 'absolute top-1/2 left-0 z-0 rounded-full bg-[var(--tab-indicator-color,var(--fill-hover))]',\n resolvedVariant === 'pill' ? 'h-[calc(100%-0.5rem)]' : 'h-full',\n 'w-[var(--active-tab-width)]',\n 'transition-[width,transform] duration-200 ease-in-out motion-reduce:transition-none',\n )}\n data-slot=\"tabs-indicator\"\n style={{ transform: 'translateY(var(--tabs-indicator-y, -50%)) translateX(var(--active-tab-left))' }}\n />\n </BaseTabs.List>\n <div data-slot=\"tabs-close-actions\">\n {visibleClosableTabs.map(tab => (\n <div\n key={tab.value}\n ref={element => {\n if (element) closeRefs.current.set(tab.value, element);\n else closeRefs.current.delete(tab.value);\n }}\n data-slot=\"tab-close-item\"\n data-visible={tabs?.value === tab.value || undefined}\n >\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n type=\"button\"\n tabIndex={tabs?.value === tab.value ? 0 : -1}\n data-slot=\"tab-close\"\n onClick={tab.onClose}\n className={cn('rounded p-0.5 hover:bg-fill-hover hover:text-accent2', transitions.colors)}\n />\n }\n >\n <span className=\"sr-only\">Close {tab.label}</span>\n <X aria-hidden=\"true\" className=\"size-3\" />\n </TooltipTrigger>\n <TooltipContent>Close {tab.label}</TooltipContent>\n </Tooltip>\n </div>\n ))}\n </div>\n {hiddenTabs.length > 0 && (\n <div\n data-slot=\"tabs-overflow\"\n style={{ transform: `translateX(${overflowX}px)` }}\n className=\"tabs-overflow\"\n >\n <DropdownMenu>\n <DropdownMenu.Trigger\n aria-label={`${hiddenTabs.length} more tabs`}\n variant=\"ghost\"\n size=\"sm\"\n className=\"tabular-nums\"\n >\n +{hiddenTabs.length}\n <ChevronDown aria-hidden=\"true\" className=\"size-3\" />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content className=\"grid\">\n {hiddenTabs.map((tab, index) => (\n <Fragment key={tab.value}>\n <DropdownMenu.Item\n data-slot=\"tabs-overflow-tab\"\n disabled={tab.disabled}\n className={tab.onClose ? 'pr-9' : undefined}\n style={{ gridArea: `${index + 1} / 1` }}\n onClick={() => {\n tabs?.select(tab.value);\n tab.onClick?.();\n }}\n >\n {tab.label}\n </DropdownMenu.Item>\n {tab.onClose ? (\n <Tooltip>\n <TooltipTrigger\n render={\n <DropdownMenu.Item\n data-slot=\"tabs-overflow-close\"\n className=\"pointer-events-none z-10 m-1 size-6 self-center justify-self-end p-0 opacity-0 hover:text-accent2 data-[highlighted]:text-accent2\"\n style={{ gridArea: `${index + 1} / 1` }}\n onClick={tab.onClose}\n />\n }\n >\n <span className=\"sr-only\">Close {tab.label}</span>\n <X aria-hidden=\"true\" className=\"size-3\" />\n </TooltipTrigger>\n <TooltipContent side=\"right\">Close {tab.label}</TooltipContent>\n </Tooltip>\n ) : null}\n </Fragment>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu>\n </div>\n )}\n </div>\n </TooltipProvider>\n </TabListContext.Provider>\n );\n};\n","import { Tabs as BaseTabs } from '@base-ui/react/tabs';\nimport { useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { TabsContext } from './tabs-context';\nimport './tabs.css';\nimport { cn } from '@/lib/utils';\n\nexport type TabsRootProps<T extends string> = Omit<\n ComponentProps<'div'>,\n 'children' | 'defaultValue' | 'value' | 'onChange'\n> & {\n children: ReactNode;\n defaultTab: T;\n value?: T;\n onValueChange?: (value: T) => void;\n appearance?: 'default' | 'contained';\n frame?: 'stroke' | 'inset';\n className?: string;\n};\n\nexport const Tabs = <T extends string>({\n children,\n defaultTab,\n value,\n onValueChange,\n appearance = 'default',\n frame = 'stroke',\n className,\n ...props\n}: TabsRootProps<T>) => {\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultTab);\n const selectedValue = value ?? uncontrolledValue;\n const select = (next: T) => {\n setUncontrolledValue(next);\n onValueChange?.(next);\n };\n return (\n <TabsContext.Provider value={{ appearance, frame, value: selectedValue, select }}>\n <BaseTabs.Root\n defaultValue={defaultTab}\n value={selectedValue}\n onValueChange={select}\n data-slot=\"tabs\"\n data-appearance={appearance}\n data-frame={frame}\n className={cn('group/tabs', appearance === 'default' ? 'overflow-y-auto' : 'w-full min-w-0', className)}\n {...props}\n >\n {children}\n </BaseTabs.Root>\n </TabsContext.Provider>\n );\n};\n"],"names":["BaseTabs"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { Tabs } from '@base-ui/react/tabs';
|
|
3
3
|
import { createContext, useContext, useRef, useEffect } from 'react';
|
|
4
|
-
import { b as buttonVariants } from './Button-
|
|
4
|
+
import { b as buttonVariants } from './Button-C9cvaVFG.js';
|
|
5
5
|
import { T as Tooltip, c as TooltipTrigger, a as TooltipContent } from './tooltip-BrDiP0RI.js';
|
|
6
6
|
import { controlSizeClasses } from './primitives/control-size.es.js';
|
|
7
7
|
import { focusRing, controlStateColorTransition } from './primitives/transitions.es.js';
|
|
@@ -100,4 +100,4 @@ const Tab = ({
|
|
|
100
100
|
};
|
|
101
101
|
|
|
102
102
|
export { Tab as T, TabsContext as a, TabListContext as b };
|
|
103
|
-
//# sourceMappingURL=tabs-tab-
|
|
103
|
+
//# sourceMappingURL=tabs-tab-CoSCf5Ku.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs-tab-
|
|
1
|
+
{"version":3,"file":"tabs-tab-CoSCf5Ku.js","sources":["../src/ds/components/Tabs/tabs-context.ts","../src/ds/components/Tabs/tabs-tab.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport type { ReactNode } from 'react';\n\nexport type TabMeasurement = {\n value: string;\n label: ReactNode;\n disabled: boolean;\n width: number;\n element: HTMLElement;\n onClick?: () => void;\n onClose?: () => void;\n};\n\nexport const TabsContext = createContext<{\n appearance: 'default' | 'contained';\n frame: 'stroke' | 'inset';\n value: string;\n select(value: string): void;\n} | null>(null);\n\nexport const TabListContext = createContext<{\n variant: 'line' | 'pill' | 'pill-ghost';\n size: 'sm' | 'md';\n hiddenValues: ReadonlySet<string>;\n register(tab: TabMeasurement): void;\n unregister(value: string): void;\n} | null>(null);\n","import { Tabs as BaseTabs } from '@base-ui/react/tabs';\nimport { useContext, useEffect, useRef } from 'react';\nimport { buttonVariants } from '../Button/Button';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '../Tooltip/tooltip';\nimport { TabListContext } from './tabs-context';\nimport { controlSizeClasses } from '@/ds/primitives/control-size';\nimport { controlStateColorTransition, focusRing } from '@/ds/primitives/transitions';\nimport { quietTextHover } from '@/ds/primitives/typography';\nimport { cn } from '@/lib/utils';\n\nexport type TabProps = {\n children: React.ReactNode;\n value: string;\n onClick?: () => void;\n onClose?: () => void;\n disabled?: boolean;\n attention?: boolean;\n disabledTooltip?: React.ReactNode;\n className?: string;\n};\n\nexport const Tab = ({\n children,\n value,\n onClick,\n onClose,\n disabled,\n disabledTooltip,\n attention = false,\n className,\n}: TabProps) => {\n const list = useContext(TabListContext);\n const ref = useRef<HTMLDivElement>(null);\n const register = list?.register;\n const unregister = list?.unregister;\n const overflowed = list?.hiddenValues.has(value) ?? false;\n useEffect(() => {\n const element = ref.current;\n if (!element || !register) return;\n const measure = () =>\n register({\n value,\n label: children,\n disabled: disabled ?? false,\n width: element.getBoundingClientRect().width,\n element,\n onClick,\n onClose,\n });\n measure();\n if (!('ResizeObserver' in globalThis)) return;\n const observer = new ResizeObserver(measure);\n observer.observe(element);\n return () => observer.disconnect();\n }, [register, value, children, disabled, onClick, onClose]);\n useEffect(() => () => unregister?.(value), [unregister, value]);\n // The tab renders as a <div>, so the recipe's `disabled:` pseudo never matches; mirror it on the\n // aria/data attributes Base UI sets.\n const size = list?.size ?? 'md';\n const tabClassName =\n list?.variant === 'pill-ghost'\n ? cn(\n buttonVariants({ variant: 'ghost', size }),\n 'relative z-10 whitespace-nowrap',\n 'data-[active]:text-foreground',\n 'aria-disabled:cursor-not-allowed aria-disabled:opacity-50',\n 'data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50',\n className,\n )\n : cn(\n // `sm` mirrors the `sm` button box so tabs sit level with sibling `size=\"sm\"` controls.\n size === 'sm' ? controlSizeClasses.sm : 'text-label',\n quietTextHover,\n attention && 'relative',\n 'flex cursor-pointer items-center justify-center gap-1.5 whitespace-nowrap outline-none',\n controlStateColorTransition,\n focusRing.visible,\n 'data-[active]:text-foreground',\n 'disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:text-muted-foreground',\n 'aria-disabled:cursor-not-allowed aria-disabled:opacity-50 aria-disabled:hover:text-muted-foreground',\n 'data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[disabled]:hover:text-muted-foreground',\n className,\n );\n const tab = (\n <BaseTabs.Tab\n ref={ref}\n render={<div />}\n nativeButton={false}\n data-overflowed={overflowed || undefined}\n aria-hidden={overflowed || undefined}\n value={value}\n disabled={disabled || overflowed}\n data-slot=\"tab\"\n data-closable={onClose ? '' : undefined}\n className={tabClassName}\n onClick={onClick}\n >\n {children}\n {attention && (\n <>\n <span aria-hidden=\"true\" data-slot=\"tab-attention\" />\n <span className=\"sr-only\"> Needs attention</span>\n </>\n )}\n </BaseTabs.Tab>\n );\n if (disabled && disabledTooltip) {\n return (\n <Tooltip>\n <TooltipTrigger render={<span tabIndex={0} className=\"inline-flex\" />}>{tab}</TooltipTrigger>\n <TooltipContent>{disabledTooltip}</TooltipContent>\n </Tooltip>\n );\n }\n\n return tab;\n};\n"],"names":["BaseTabs"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
const jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
const tabs = require('@base-ui/react/tabs');
|
|
5
5
|
const React = require('react');
|
|
6
|
-
const Button = require('./Button-
|
|
6
|
+
const Button = require('./Button-C0DBEBcJ.cjs');
|
|
7
7
|
const tooltip = require('./tooltip-FvWL16Xn.cjs');
|
|
8
8
|
const primitives_controlSize = require('./primitives/control-size.cjs.js');
|
|
9
9
|
const primitives_transitions = require('./primitives/transitions.cjs.js');
|
|
@@ -104,4 +104,4 @@ const Tab = ({
|
|
|
104
104
|
exports.Tab = Tab;
|
|
105
105
|
exports.TabListContext = TabListContext;
|
|
106
106
|
exports.TabsContext = TabsContext;
|
|
107
|
-
//# sourceMappingURL=tabs-tab-
|
|
107
|
+
//# sourceMappingURL=tabs-tab-J91Szy3Q.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs-tab-
|
|
1
|
+
{"version":3,"file":"tabs-tab-J91Szy3Q.cjs","sources":["../src/ds/components/Tabs/tabs-context.ts","../src/ds/components/Tabs/tabs-tab.tsx"],"sourcesContent":["import { createContext } from 'react';\nimport type { ReactNode } from 'react';\n\nexport type TabMeasurement = {\n value: string;\n label: ReactNode;\n disabled: boolean;\n width: number;\n element: HTMLElement;\n onClick?: () => void;\n onClose?: () => void;\n};\n\nexport const TabsContext = createContext<{\n appearance: 'default' | 'contained';\n frame: 'stroke' | 'inset';\n value: string;\n select(value: string): void;\n} | null>(null);\n\nexport const TabListContext = createContext<{\n variant: 'line' | 'pill' | 'pill-ghost';\n size: 'sm' | 'md';\n hiddenValues: ReadonlySet<string>;\n register(tab: TabMeasurement): void;\n unregister(value: string): void;\n} | null>(null);\n","import { Tabs as BaseTabs } from '@base-ui/react/tabs';\nimport { useContext, useEffect, useRef } from 'react';\nimport { buttonVariants } from '../Button/Button';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '../Tooltip/tooltip';\nimport { TabListContext } from './tabs-context';\nimport { controlSizeClasses } from '@/ds/primitives/control-size';\nimport { controlStateColorTransition, focusRing } from '@/ds/primitives/transitions';\nimport { quietTextHover } from '@/ds/primitives/typography';\nimport { cn } from '@/lib/utils';\n\nexport type TabProps = {\n children: React.ReactNode;\n value: string;\n onClick?: () => void;\n onClose?: () => void;\n disabled?: boolean;\n attention?: boolean;\n disabledTooltip?: React.ReactNode;\n className?: string;\n};\n\nexport const Tab = ({\n children,\n value,\n onClick,\n onClose,\n disabled,\n disabledTooltip,\n attention = false,\n className,\n}: TabProps) => {\n const list = useContext(TabListContext);\n const ref = useRef<HTMLDivElement>(null);\n const register = list?.register;\n const unregister = list?.unregister;\n const overflowed = list?.hiddenValues.has(value) ?? false;\n useEffect(() => {\n const element = ref.current;\n if (!element || !register) return;\n const measure = () =>\n register({\n value,\n label: children,\n disabled: disabled ?? false,\n width: element.getBoundingClientRect().width,\n element,\n onClick,\n onClose,\n });\n measure();\n if (!('ResizeObserver' in globalThis)) return;\n const observer = new ResizeObserver(measure);\n observer.observe(element);\n return () => observer.disconnect();\n }, [register, value, children, disabled, onClick, onClose]);\n useEffect(() => () => unregister?.(value), [unregister, value]);\n // The tab renders as a <div>, so the recipe's `disabled:` pseudo never matches; mirror it on the\n // aria/data attributes Base UI sets.\n const size = list?.size ?? 'md';\n const tabClassName =\n list?.variant === 'pill-ghost'\n ? cn(\n buttonVariants({ variant: 'ghost', size }),\n 'relative z-10 whitespace-nowrap',\n 'data-[active]:text-foreground',\n 'aria-disabled:cursor-not-allowed aria-disabled:opacity-50',\n 'data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50',\n className,\n )\n : cn(\n // `sm` mirrors the `sm` button box so tabs sit level with sibling `size=\"sm\"` controls.\n size === 'sm' ? controlSizeClasses.sm : 'text-label',\n quietTextHover,\n attention && 'relative',\n 'flex cursor-pointer items-center justify-center gap-1.5 whitespace-nowrap outline-none',\n controlStateColorTransition,\n focusRing.visible,\n 'data-[active]:text-foreground',\n 'disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:text-muted-foreground',\n 'aria-disabled:cursor-not-allowed aria-disabled:opacity-50 aria-disabled:hover:text-muted-foreground',\n 'data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[disabled]:hover:text-muted-foreground',\n className,\n );\n const tab = (\n <BaseTabs.Tab\n ref={ref}\n render={<div />}\n nativeButton={false}\n data-overflowed={overflowed || undefined}\n aria-hidden={overflowed || undefined}\n value={value}\n disabled={disabled || overflowed}\n data-slot=\"tab\"\n data-closable={onClose ? '' : undefined}\n className={tabClassName}\n onClick={onClick}\n >\n {children}\n {attention && (\n <>\n <span aria-hidden=\"true\" data-slot=\"tab-attention\" />\n <span className=\"sr-only\"> Needs attention</span>\n </>\n )}\n </BaseTabs.Tab>\n );\n if (disabled && disabledTooltip) {\n return (\n <Tooltip>\n <TooltipTrigger render={<span tabIndex={0} className=\"inline-flex\" />}>{tab}</TooltipTrigger>\n <TooltipContent>{disabledTooltip}</TooltipContent>\n </Tooltip>\n );\n }\n\n return tab;\n};\n"],"names":["createContext","useContext","useRef","useEffect","cn","buttonVariants","controlSizeClasses","quietTextHover","controlStateColorTransition","focusRing","jsxs","BaseTabs","Fragment","jsx","Tooltip","TooltipTrigger","TooltipContent"],"mappings":"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"}
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
const jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
const input = require('./input-CDLMprJS.cjs');
|
|
5
|
-
const
|
|
6
|
-
const fieldErrorId = require('./field-error-id-B3Z2Zu5y.cjs');
|
|
5
|
+
const fieldErrorId = require('./field-error-id-6EfqmQ4C.cjs');
|
|
7
6
|
const reactVisuallyHidden = require('@radix-ui/react-visually-hidden');
|
|
8
7
|
|
|
9
8
|
function TextFieldBlock({
|
|
@@ -27,11 +26,11 @@ function TextFieldBlock({
|
|
|
27
26
|
...props
|
|
28
27
|
}) {
|
|
29
28
|
const describedBy = [ariaDescribedBy, errorMsg ? fieldErrorId.fieldErrorId(name) : void 0].filter(Boolean).join(" ") || void 0;
|
|
30
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
31
|
-
layout === "horizontal" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
33
|
-
!labelIsHidden && layout === "vertical" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
34
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
29
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(fieldErrorId.FieldBlock.Layout, { layout, labelColumnWidth, className, children: [
|
|
30
|
+
layout === "horizontal" ? /* @__PURE__ */ jsxRuntime.jsx(fieldErrorId.FieldBlock.Column, { children: /* @__PURE__ */ jsxRuntime.jsx(fieldErrorId.FieldBlock.Label, { name, required, disabled, size: labelSize || "bigger", children: labelIsHidden ? /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { children: label }) : label }) }) : null,
|
|
31
|
+
/* @__PURE__ */ jsxRuntime.jsxs(fieldErrorId.FieldBlock.Column, { children: [
|
|
32
|
+
!labelIsHidden && layout === "vertical" ? /* @__PURE__ */ jsxRuntime.jsx(fieldErrorId.FieldBlock.Label, { name, required, disabled, size: labelSize || "default", children: label }) : null,
|
|
33
|
+
/* @__PURE__ */ jsxRuntime.jsxs(fieldErrorId.FieldBlock.Column, { className: "gap-1", children: [
|
|
35
34
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36
35
|
input.Input,
|
|
37
36
|
{
|
|
@@ -48,11 +47,11 @@ function TextFieldBlock({
|
|
|
48
47
|
...props
|
|
49
48
|
}
|
|
50
49
|
),
|
|
51
|
-
helpText || errorMsg ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
50
|
+
helpText || errorMsg ? /* @__PURE__ */ jsxRuntime.jsx(fieldErrorId.FieldBlock.Message, { name, helpText, errorMsg }) : null
|
|
52
51
|
] })
|
|
53
52
|
] })
|
|
54
53
|
] });
|
|
55
54
|
}
|
|
56
55
|
|
|
57
56
|
exports.TextFieldBlock = TextFieldBlock;
|
|
58
|
-
//# sourceMappingURL=text-field-block-
|
|
57
|
+
//# sourceMappingURL=text-field-block-BmWGMw3a.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-field-block-
|
|
1
|
+
{"version":3,"file":"text-field-block-BmWGMw3a.cjs","sources":["../src/ds/components/FormFieldBlocks/fields/text-field-block.tsx"],"sourcesContent":["import { Input } from '../../Input';\nimport type { InputProps } from '../../Input';\nimport { FieldBlock } from '../block/field-block';\nimport type { FieldBlockErrorMsgProps } from '../block/field-block-error-msg';\nimport type { FieldBlockHelpTextProps } from '../block/field-block-help-text';\nimport type { FieldBlockLabelProps } from '../block/field-block-label';\nimport type { FieldBlockLayoutProps } from '../block/field-block-layout';\nimport { fieldErrorId } from '../block/field-error-id';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\n\nexport type TextFieldBlockProps = Pick<FieldBlockLayoutProps, 'layout' | 'labelColumnWidth'> &\n Omit<InputProps, 'name' | 'size'> & {\n name: string;\n labelIsHidden?: boolean;\n label?: FieldBlockLabelProps['children'];\n labelSize?: FieldBlockLabelProps['size'];\n helpText?: FieldBlockHelpTextProps['children'];\n errorMsg?: FieldBlockErrorMsgProps['children'];\n size?: InputProps['size'];\n };\n\nexport function TextFieldBlock({\n name,\n value,\n label,\n labelIsHidden = false,\n labelColumnWidth,\n helpText,\n error,\n errorMsg,\n required = false,\n disabled = false,\n labelSize,\n layout = 'vertical',\n placeholder,\n size = 'md',\n testId,\n className,\n 'aria-describedby': ariaDescribedBy,\n ...props\n}: TextFieldBlockProps) {\n const describedBy =\n [ariaDescribedBy, errorMsg ? fieldErrorId(name) : undefined].filter(Boolean).join(' ') || undefined;\n\n return (\n <FieldBlock.Layout layout={layout} labelColumnWidth={labelColumnWidth} className={className}>\n {layout === 'horizontal' ? (\n <FieldBlock.Column>\n <FieldBlock.Label name={name} required={required} disabled={disabled} size={labelSize || 'bigger'}>\n {labelIsHidden ? <VisuallyHidden>{label}</VisuallyHidden> : label}\n </FieldBlock.Label>\n </FieldBlock.Column>\n ) : null}\n <FieldBlock.Column>\n {!labelIsHidden && layout === 'vertical' ? (\n <FieldBlock.Label name={name} required={required} disabled={disabled} size={labelSize || 'default'}>\n {label}\n </FieldBlock.Label>\n ) : null}\n <FieldBlock.Column className=\"gap-1\">\n <Input\n id={`input-${name}`}\n name={name}\n disabled={disabled}\n required={required}\n value={value}\n placeholder={placeholder}\n data-testid={testId}\n size={size}\n error={error || Boolean(errorMsg)}\n aria-describedby={describedBy}\n {...props}\n />\n {helpText || errorMsg ? <FieldBlock.Message name={name} helpText={helpText} errorMsg={errorMsg} /> : null}\n </FieldBlock.Column>\n </FieldBlock.Column>\n </FieldBlock.Layout>\n );\n}\n"],"names":["fieldErrorId","FieldBlock","jsx","VisuallyHidden","jsxs","Input"],"mappings":";;;;;;;AAqBO,SAAS,cAAA,CAAe;AAAA,EAC7B,IAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA,GAAgB,KAAA;AAAA,EAChB,gBAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,QAAA,GAAW,KAAA;AAAA,EACX,SAAA;AAAA,EACA,MAAA,GAAS,UAAA;AAAA,EACT,WAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,MAAA;AAAA,EACA,SAAA;AAAA,EACA,kBAAA,EAAoB,eAAA;AAAA,EACpB,GAAG;AACL,CAAA,EAAwB;AACtB,EAAA,MAAM,WAAA,GACJ,CAAC,eAAA,EAAiB,QAAA,GAAWA,0BAAa,IAAI,CAAA,GAAI,MAAS,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA,IAAK,MAAA;AAE5F,EAAA,uCACGC,uBAAA,CAAW,MAAA,EAAX,EAAkB,MAAA,EAAgB,kBAAoC,SAAA,EACpE,QAAA,EAAA;AAAA,IAAA,MAAA,KAAW,YAAA,kCACTA,uBAAA,CAAW,MAAA,EAAX,EACC,QAAA,kBAAAC,cAAA,CAACD,uBAAA,CAAW,KAAA,EAAX,EAAiB,IAAA,EAAY,QAAA,EAAoB,UAAoB,IAAA,EAAM,SAAA,IAAa,UACtF,QAAA,EAAA,aAAA,mBAAgBC,cAAA,CAACC,sCAAgB,QAAA,EAAA,KAAA,EAAM,CAAA,GAAoB,KAAA,EAC9D,CAAA,EACF,CAAA,GACE,IAAA;AAAA,oBACJC,eAAA,CAACH,uBAAA,CAAW,MAAA,EAAX,EACE,QAAA,EAAA;AAAA,MAAA,CAAC,aAAA,IAAiB,MAAA,KAAW,UAAA,mBAC5BC,cAAA,CAACD,wBAAW,KAAA,EAAX,EAAiB,IAAA,EAAY,QAAA,EAAoB,QAAA,EAAoB,IAAA,EAAM,SAAA,IAAa,SAAA,EACtF,iBACH,CAAA,GACE,IAAA;AAAA,sBACJG,eAAA,CAACH,uBAAA,CAAW,MAAA,EAAX,EAAkB,WAAU,OAAA,EAC3B,QAAA,EAAA;AAAA,wBAAAC,cAAA;AAAA,UAACG,WAAA;AAAA,UAAA;AAAA,YACC,EAAA,EAAI,SAAS,IAAI,CAAA,CAAA;AAAA,YACjB,IAAA;AAAA,YACA,QAAA;AAAA,YACA,QAAA;AAAA,YACA,KAAA;AAAA,YACA,WAAA;AAAA,YACA,aAAA,EAAa,MAAA;AAAA,YACb,IAAA;AAAA,YACA,KAAA,EAAO,KAAA,IAAS,OAAA,CAAQ,QAAQ,CAAA;AAAA,YAChC,kBAAA,EAAkB,WAAA;AAAA,YACjB,GAAG;AAAA;AAAA,SACN;AAAA,QACC,QAAA,IAAY,2BAAWH,cAAA,CAACD,uBAAA,CAAW,SAAX,EAAmB,IAAA,EAAY,QAAA,EAAoB,QAAA,EAAoB,CAAA,GAAK;AAAA,OAAA,EACvG;AAAA,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { I as Input } from './input-B1RysHyq.js';
|
|
3
|
-
import { F as FieldBlock } from './field-
|
|
4
|
-
import { f as fieldErrorId } from './field-error-id-D3yg1nBh.js';
|
|
3
|
+
import { F as FieldBlock, f as fieldErrorId } from './field-error-id-DyWx33Fu.js';
|
|
5
4
|
import { VisuallyHidden } from '@radix-ui/react-visually-hidden';
|
|
6
5
|
|
|
7
6
|
function TextFieldBlock({
|
|
@@ -53,4 +52,4 @@ function TextFieldBlock({
|
|
|
53
52
|
}
|
|
54
53
|
|
|
55
54
|
export { TextFieldBlock as T };
|
|
56
|
-
//# sourceMappingURL=text-field-block
|
|
55
|
+
//# sourceMappingURL=text-field-block-Cihf0IRw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-field-block
|
|
1
|
+
{"version":3,"file":"text-field-block-Cihf0IRw.js","sources":["../src/ds/components/FormFieldBlocks/fields/text-field-block.tsx"],"sourcesContent":["import { Input } from '../../Input';\nimport type { InputProps } from '../../Input';\nimport { FieldBlock } from '../block/field-block';\nimport type { FieldBlockErrorMsgProps } from '../block/field-block-error-msg';\nimport type { FieldBlockHelpTextProps } from '../block/field-block-help-text';\nimport type { FieldBlockLabelProps } from '../block/field-block-label';\nimport type { FieldBlockLayoutProps } from '../block/field-block-layout';\nimport { fieldErrorId } from '../block/field-error-id';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\n\nexport type TextFieldBlockProps = Pick<FieldBlockLayoutProps, 'layout' | 'labelColumnWidth'> &\n Omit<InputProps, 'name' | 'size'> & {\n name: string;\n labelIsHidden?: boolean;\n label?: FieldBlockLabelProps['children'];\n labelSize?: FieldBlockLabelProps['size'];\n helpText?: FieldBlockHelpTextProps['children'];\n errorMsg?: FieldBlockErrorMsgProps['children'];\n size?: InputProps['size'];\n };\n\nexport function TextFieldBlock({\n name,\n value,\n label,\n labelIsHidden = false,\n labelColumnWidth,\n helpText,\n error,\n errorMsg,\n required = false,\n disabled = false,\n labelSize,\n layout = 'vertical',\n placeholder,\n size = 'md',\n testId,\n className,\n 'aria-describedby': ariaDescribedBy,\n ...props\n}: TextFieldBlockProps) {\n const describedBy =\n [ariaDescribedBy, errorMsg ? fieldErrorId(name) : undefined].filter(Boolean).join(' ') || undefined;\n\n return (\n <FieldBlock.Layout layout={layout} labelColumnWidth={labelColumnWidth} className={className}>\n {layout === 'horizontal' ? (\n <FieldBlock.Column>\n <FieldBlock.Label name={name} required={required} disabled={disabled} size={labelSize || 'bigger'}>\n {labelIsHidden ? <VisuallyHidden>{label}</VisuallyHidden> : label}\n </FieldBlock.Label>\n </FieldBlock.Column>\n ) : null}\n <FieldBlock.Column>\n {!labelIsHidden && layout === 'vertical' ? (\n <FieldBlock.Label name={name} required={required} disabled={disabled} size={labelSize || 'default'}>\n {label}\n </FieldBlock.Label>\n ) : null}\n <FieldBlock.Column className=\"gap-1\">\n <Input\n id={`input-${name}`}\n name={name}\n disabled={disabled}\n required={required}\n value={value}\n placeholder={placeholder}\n data-testid={testId}\n size={size}\n error={error || Boolean(errorMsg)}\n aria-describedby={describedBy}\n {...props}\n />\n {helpText || errorMsg ? <FieldBlock.Message name={name} helpText={helpText} errorMsg={errorMsg} /> : null}\n </FieldBlock.Column>\n </FieldBlock.Column>\n </FieldBlock.Layout>\n );\n}\n"],"names":[],"mappings":";;;;;AAqBO,SAAS,cAAA,CAAe;AAAA,EAC7B,IAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA,GAAgB,KAAA;AAAA,EAChB,gBAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,QAAA,GAAW,KAAA;AAAA,EACX,SAAA;AAAA,EACA,MAAA,GAAS,UAAA;AAAA,EACT,WAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,MAAA;AAAA,EACA,SAAA;AAAA,EACA,kBAAA,EAAoB,eAAA;AAAA,EACpB,GAAG;AACL,CAAA,EAAwB;AACtB,EAAA,MAAM,WAAA,GACJ,CAAC,eAAA,EAAiB,QAAA,GAAW,aAAa,IAAI,CAAA,GAAI,MAAS,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA,IAAK,MAAA;AAE5F,EAAA,4BACG,UAAA,CAAW,MAAA,EAAX,EAAkB,MAAA,EAAgB,kBAAoC,SAAA,EACpE,QAAA,EAAA;AAAA,IAAA,MAAA,KAAW,YAAA,uBACT,UAAA,CAAW,MAAA,EAAX,EACC,QAAA,kBAAA,GAAA,CAAC,UAAA,CAAW,KAAA,EAAX,EAAiB,IAAA,EAAY,QAAA,EAAoB,UAAoB,IAAA,EAAM,SAAA,IAAa,UACtF,QAAA,EAAA,aAAA,mBAAgB,GAAA,CAAC,kBAAgB,QAAA,EAAA,KAAA,EAAM,CAAA,GAAoB,KAAA,EAC9D,CAAA,EACF,CAAA,GACE,IAAA;AAAA,oBACJ,IAAA,CAAC,UAAA,CAAW,MAAA,EAAX,EACE,QAAA,EAAA;AAAA,MAAA,CAAC,aAAA,IAAiB,MAAA,KAAW,UAAA,mBAC5B,GAAA,CAAC,WAAW,KAAA,EAAX,EAAiB,IAAA,EAAY,QAAA,EAAoB,QAAA,EAAoB,IAAA,EAAM,SAAA,IAAa,SAAA,EACtF,iBACH,CAAA,GACE,IAAA;AAAA,sBACJ,IAAA,CAAC,UAAA,CAAW,MAAA,EAAX,EAAkB,WAAU,OAAA,EAC3B,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,EAAA,EAAI,SAAS,IAAI,CAAA,CAAA;AAAA,YACjB,IAAA;AAAA,YACA,QAAA;AAAA,YACA,QAAA;AAAA,YACA,KAAA;AAAA,YACA,WAAA;AAAA,YACA,aAAA,EAAa,MAAA;AAAA,YACb,IAAA;AAAA,YACA,KAAA,EAAO,KAAA,IAAS,OAAA,CAAQ,QAAQ,CAAA;AAAA,YAChC,kBAAA,EAAkB,WAAA;AAAA,YACjB,GAAG;AAAA;AAAA,SACN;AAAA,QACC,QAAA,IAAY,2BAAW,GAAA,CAAC,UAAA,CAAW,SAAX,EAAmB,IAAA,EAAY,QAAA,EAAoB,QAAA,EAAoB,CAAA,GAAK;AAAA,OAAA,EACvG;AAAA,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -4,7 +4,7 @@ const jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
const lucideReact = require('lucide-react');
|
|
5
5
|
const React = require('react');
|
|
6
6
|
const messageScrollerHooks = require('./message-scroller-hooks-BxAf8k0Y.cjs');
|
|
7
|
-
const scrollArea = require('./scroll-area-
|
|
7
|
+
const scrollArea = require('./scroll-area-BzOyuS8Y.cjs');
|
|
8
8
|
const primitives_raisedSurface = require('./primitives/raised-surface.cjs.js');
|
|
9
9
|
const hooks_useMeasuredAutoHeight = require('./hooks/use-measured-auto-height.cjs.js');
|
|
10
10
|
const utils_cn = require('./cn-DG0X1KEP.cjs');
|
|
@@ -317,13 +317,13 @@ function ThreadRailPreviewContent({
|
|
|
317
317
|
...props
|
|
318
318
|
}) {
|
|
319
319
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className, ...props, children: [
|
|
320
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-subheading text-foreground
|
|
321
|
-
turn.reply && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "
|
|
322
|
-
(turn.files.length > 0 || turn.hiddenFileCount > 0) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "
|
|
320
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "truncate text-subheading text-foreground", children: turn.prompt }),
|
|
321
|
+
turn.reply && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1.5 line-clamp-3 text-caption text-muted-foreground", children: turn.reply }),
|
|
322
|
+
(turn.files.length > 0 || turn.hiddenFileCount > 0) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-3 flex flex-wrap items-center gap-2 border-t border-border/60 pt-2.5", children: [
|
|
323
323
|
turn.files.map((file) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
324
324
|
"span",
|
|
325
325
|
{
|
|
326
|
-
className: "
|
|
326
|
+
className: "inline-flex max-w-44 items-center gap-1.5 truncate text-caption text-muted-foreground",
|
|
327
327
|
children: [
|
|
328
328
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "size-3.5 shrink-0 opacity-70", "aria-hidden": true }),
|
|
329
329
|
file
|
|
@@ -340,4 +340,4 @@ function ThreadRailPreviewContent({
|
|
|
340
340
|
}
|
|
341
341
|
|
|
342
342
|
exports.ThreadRail = ThreadRail;
|
|
343
|
-
//# sourceMappingURL=thread-rail-
|
|
343
|
+
//# sourceMappingURL=thread-rail-BVpfkSyT.cjs.map
|