@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,78 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { c as cva } from './index-Dubp6Qv4.js';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import { controlSizeClasses } from './primitives/control-size.es.js';
|
|
5
|
-
import { c as cn } from './cn-65Adrsfj.js';
|
|
6
|
-
|
|
7
|
-
import './buttons-group.css';const ButtonsGroupOrientationContext = React.createContext("horizontal");
|
|
8
|
-
const ButtonsGroup = React.forwardRef(
|
|
9
|
-
({ children, className, orientation = "horizontal", ...props }, ref) => {
|
|
10
|
-
return /* @__PURE__ */ jsx(ButtonsGroupOrientationContext.Provider, { value: orientation, children: /* @__PURE__ */ jsx(
|
|
11
|
-
"div",
|
|
12
|
-
{
|
|
13
|
-
ref,
|
|
14
|
-
role: "group",
|
|
15
|
-
"data-slot": "buttons-group",
|
|
16
|
-
"data-orientation": orientation,
|
|
17
|
-
className: cn("flex w-fit items-stretch", orientation === "vertical" ? "flex-col" : "flex-row", className),
|
|
18
|
-
...props,
|
|
19
|
-
children
|
|
20
|
-
}
|
|
21
|
-
) });
|
|
22
|
-
}
|
|
23
|
-
);
|
|
24
|
-
ButtonsGroup.displayName = "ButtonsGroup";
|
|
25
|
-
const ButtonsGroupSeparator = React.forwardRef(
|
|
26
|
-
({ className, orientation, ...props }, ref) => {
|
|
27
|
-
const parentOrientation = React.useContext(ButtonsGroupOrientationContext);
|
|
28
|
-
const resolved = orientation ?? (parentOrientation === "vertical" ? "horizontal" : "vertical");
|
|
29
|
-
return /* @__PURE__ */ jsx(
|
|
30
|
-
"div",
|
|
31
|
-
{
|
|
32
|
-
ref,
|
|
33
|
-
role: "separator",
|
|
34
|
-
"aria-orientation": resolved,
|
|
35
|
-
"data-slot": "buttons-group-separator",
|
|
36
|
-
className: cn("self-stretch bg-border", resolved === "vertical" ? "w-px" : "h-px", className),
|
|
37
|
-
...props
|
|
38
|
-
}
|
|
39
|
-
);
|
|
40
|
-
}
|
|
41
|
-
);
|
|
42
|
-
ButtonsGroupSeparator.displayName = "ButtonsGroupSeparator";
|
|
43
|
-
const buttonsGroupTextVariants = cva(
|
|
44
|
-
cn(
|
|
45
|
-
"inline-flex items-center justify-center border border-border bg-surface-panel text-foreground select-none",
|
|
46
|
-
"shrink-0 gap-[.75em] rounded-full px-[1em] whitespace-nowrap",
|
|
47
|
-
"[&>svg]:size-[1.1em] [&>svg]:opacity-50"
|
|
48
|
-
),
|
|
49
|
-
{
|
|
50
|
-
variants: {
|
|
51
|
-
size: {
|
|
52
|
-
sm: controlSizeClasses.sm,
|
|
53
|
-
md: controlSizeClasses.md,
|
|
54
|
-
lg: controlSizeClasses.lg
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
defaultVariants: {
|
|
58
|
-
size: "md"
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
);
|
|
62
|
-
const ButtonsGroupText = React.forwardRef(
|
|
63
|
-
({ className, size = "md", ...props }, ref) => {
|
|
64
|
-
return /* @__PURE__ */ jsx(
|
|
65
|
-
"div",
|
|
66
|
-
{
|
|
67
|
-
ref,
|
|
68
|
-
"data-slot": "buttons-group-text",
|
|
69
|
-
className: cn(buttonsGroupTextVariants({ size }), className),
|
|
70
|
-
...props
|
|
71
|
-
}
|
|
72
|
-
);
|
|
73
|
-
}
|
|
74
|
-
);
|
|
75
|
-
ButtonsGroupText.displayName = "ButtonsGroupText";
|
|
76
|
-
|
|
77
|
-
export { ButtonsGroup as B, ButtonsGroupSeparator as a, ButtonsGroupText as b };
|
|
78
|
-
//# sourceMappingURL=buttons-group-CaA7KAWf.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buttons-group-CaA7KAWf.js","sources":["../src/ds/components/ButtonsGroup/buttons-group.tsx"],"sourcesContent":["import './buttons-group.css';\nimport { cva } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { controlSizeClasses } from '@/ds/primitives/control-size';\nimport type { ControlSize } from '@/ds/primitives/control-size';\nimport { cn } from '@/lib/utils';\n\ntype Orientation = 'horizontal' | 'vertical';\n\nconst ButtonsGroupOrientationContext = React.createContext<Orientation>('horizontal');\n\nexport type ButtonsGroupProps = React.ComponentPropsWithoutRef<'div'> & {\n orientation?: Orientation;\n};\n\nexport const ButtonsGroup = React.forwardRef<HTMLDivElement, ButtonsGroupProps>(\n ({ children, className, orientation = 'horizontal', ...props }, ref) => {\n return (\n <ButtonsGroupOrientationContext.Provider value={orientation}>\n <div\n ref={ref}\n role=\"group\"\n data-slot=\"buttons-group\"\n data-orientation={orientation}\n className={cn('flex w-fit items-stretch', orientation === 'vertical' ? 'flex-col' : 'flex-row', className)}\n {...props}\n >\n {children}\n </div>\n </ButtonsGroupOrientationContext.Provider>\n );\n },\n);\nButtonsGroup.displayName = 'ButtonsGroup';\n\nexport type ButtonsGroupSeparatorProps = React.ComponentPropsWithoutRef<'div'> & {\n orientation?: Orientation;\n};\n\nexport const ButtonsGroupSeparator = React.forwardRef<HTMLDivElement, ButtonsGroupSeparatorProps>(\n ({ className, orientation, ...props }, ref) => {\n const parentOrientation = React.useContext(ButtonsGroupOrientationContext);\n // Separator runs perpendicular to the group flow by default.\n const resolved = orientation ?? (parentOrientation === 'vertical' ? 'horizontal' : 'vertical');\n return (\n <div\n ref={ref}\n role=\"separator\"\n aria-orientation={resolved}\n data-slot=\"buttons-group-separator\"\n className={cn('self-stretch bg-border', resolved === 'vertical' ? 'w-px' : 'h-px', className)}\n {...props}\n />\n );\n },\n);\nButtonsGroupSeparator.displayName = 'ButtonsGroupSeparator';\n\nconst buttonsGroupTextVariants = cva(\n cn(\n 'inline-flex items-center justify-center border border-border bg-surface-panel text-foreground select-none',\n 'shrink-0 gap-[.75em] rounded-full px-[1em] whitespace-nowrap',\n '[&>svg]:size-[1.1em] [&>svg]:opacity-50',\n ),\n {\n variants: {\n size: {\n sm: controlSizeClasses.sm,\n md: controlSizeClasses.md,\n lg: controlSizeClasses.lg,\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n);\n\nexport type ButtonsGroupTextProps = React.ComponentPropsWithoutRef<'div'> & {\n size?: ControlSize;\n};\n\nexport const ButtonsGroupText = React.forwardRef<HTMLDivElement, ButtonsGroupTextProps>(\n ({ className, size = 'md', ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-slot=\"buttons-group-text\"\n className={cn(buttonsGroupTextVariants({ size }), className)}\n {...props}\n />\n );\n },\n);\nButtonsGroupText.displayName = 'ButtonsGroupText';\n"],"names":[],"mappings":";;;;;;AAUA,MAAM,8BAAA,GAAiC,KAAA,CAAM,aAAA,CAA2B,YAAY,CAAA;AAM7E,MAAM,eAAe,KAAA,CAAM,UAAA;AAAA,EAChC,CAAC,EAAE,QAAA,EAAU,SAAA,EAAW,cAAc,YAAA,EAAc,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AACtE,IAAA,uBACE,GAAA,CAAC,8BAAA,CAA+B,QAAA,EAA/B,EAAwC,OAAO,WAAA,EAC9C,QAAA,kBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAK,OAAA;AAAA,QACL,WAAA,EAAU,eAAA;AAAA,QACV,kBAAA,EAAkB,WAAA;AAAA,QAClB,WAAW,EAAA,CAAG,0BAAA,EAA4B,gBAAgB,UAAA,GAAa,UAAA,GAAa,YAAY,SAAS,CAAA;AAAA,QACxG,GAAG,KAAA;AAAA,QAEH;AAAA;AAAA,KACH,EACF,CAAA;AAAA,EAEJ;AACF;AACA,YAAA,CAAa,WAAA,GAAc,cAAA;AAMpB,MAAM,wBAAwB,KAAA,CAAM,UAAA;AAAA,EACzC,CAAC,EAAE,SAAA,EAAW,aAAa,GAAG,KAAA,IAAS,GAAA,KAAQ;AAC7C,IAAA,MAAM,iBAAA,GAAoB,KAAA,CAAM,UAAA,CAAW,8BAA8B,CAAA;AAEzE,IAAA,MAAM,QAAA,GAAW,WAAA,KAAgB,iBAAA,KAAsB,UAAA,GAAa,YAAA,GAAe,UAAA,CAAA;AACnF,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAK,WAAA;AAAA,QACL,kBAAA,EAAkB,QAAA;AAAA,QAClB,WAAA,EAAU,yBAAA;AAAA,QACV,WAAW,EAAA,CAAG,wBAAA,EAA0B,aAAa,UAAA,GAAa,MAAA,GAAS,QAAQ,SAAS,CAAA;AAAA,QAC3F,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AACA,qBAAA,CAAsB,WAAA,GAAc,uBAAA;AAEpC,MAAM,wBAAA,GAA2B,GAAA;AAAA,EAC/B,EAAA;AAAA,IACE,2GAAA;AAAA,IACA,8DAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,IAAI,kBAAA,CAAmB,EAAA;AAAA,QACvB,IAAI,kBAAA,CAAmB,EAAA;AAAA,QACvB,IAAI,kBAAA,CAAmB;AAAA;AACzB,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAMO,MAAM,mBAAmB,KAAA,CAAM,UAAA;AAAA,EACpC,CAAC,EAAE,SAAA,EAAW,IAAA,GAAO,MAAM,GAAG,KAAA,IAAS,GAAA,KAAQ;AAC7C,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,WAAA,EAAU,oBAAA;AAAA,QACV,WAAW,EAAA,CAAG,wBAAA,CAAyB,EAAE,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,QAC1D,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AACA,gBAAA,CAAiB,WAAA,GAAc,kBAAA;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"combobox-BWM3VH-n.cjs","sources":["../src/ds/components/Combobox/combobox.tsx"],"sourcesContent":["import { Combobox as BaseCombobox } from '@base-ui/react/combobox';\nimport { Check, ChevronsUpDown, Search, X } from 'lucide-react';\nimport * as React from 'react';\nimport { comboboxItemClass, comboboxStyles, comboboxTriggerClass } from './combobox-styles';\nimport type { ComboboxVariant } from './combobox-styles';\nimport { Button, isIconButtonSize } from '@/ds/components/Button/Button';\nimport type { ButtonSize } from '@/ds/components/Button/Button';\nimport { FieldBlock } from '@/ds/components/FormFieldBlocks/block/field-block';\nimport { fieldErrorId } from '@/ds/components/FormFieldBlocks/block/field-error-id';\nimport { FLOATING_POSITION_METHOD } from '@/ds/primitives/floating';\nimport { FluidMenuItems, useFluidMenu, useFluidMenuItemRef } from '@/ds/primitives/fluid-menu';\nimport { usePortalContainer } from '@/ds/primitives/portal-container';\nimport { cn } from '@/lib/utils';\n\nexport type { ComboboxVariant } from './combobox-styles';\n\nexport type ComboboxOption = {\n label: string;\n value: string;\n description?: string;\n start?: React.ReactNode;\n end?: React.ReactNode;\n};\n\ntype ComboboxSharedProps = {\n options: ComboboxOption[];\n placeholder?: React.ReactNode;\n searchPlaceholder?: string;\n emptyText?: string;\n className?: string;\n disabled?: boolean;\n variant?: ComboboxVariant;\n /** Icon sizes (`icon-*`) render a chevron-only trigger; pass `aria-label` to name it. */\n size?: ButtonSize;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n container?: HTMLElement | ShadowRoot | null | React.RefObject<HTMLElement | ShadowRoot | null>;\n error?: string;\n id?: string;\n name?: string;\n 'aria-label'?: string;\n 'aria-describedby'?: string;\n /** Which edge of the trigger the popup lines up with. `end` opens it leftwards (e.g. an icon trigger at the end of a row). */\n align?: 'start' | 'center' | 'end';\n allowCustomValue?: boolean;\n /** Called with the search input text as it changes (and with `''` after a single-mode selection resets it). */\n onInputValueChange?: (value: string) => void;\n};\n\nexport type ComboboxSingleProps = ComboboxSharedProps & {\n multiple?: false;\n value?: string;\n onValueChange?: (value: string) => void;\n};\n\nexport type ComboboxMultipleProps = ComboboxSharedProps & {\n multiple: true;\n value?: readonly string[];\n onValueChange?: (value: string[]) => void;\n clearLabel?: string;\n};\n\nexport type ComboboxProps = ComboboxSingleProps | ComboboxMultipleProps;\n\nconst EMPTY_VALUES: string[] = [];\nconst EMPTY_OPTIONS: ComboboxOption[] = [];\n\nfunction isMultipleCombobox(props: ComboboxProps): props is ComboboxMultipleProps {\n return props.multiple === true;\n}\n\nconst ComboboxItem = React.forwardRef<HTMLDivElement, BaseCombobox.Item.Props>((props, ref) => (\n <BaseCombobox.Item ref={useFluidMenuItemRef(ref)} {...props} />\n));\nComboboxItem.displayName = 'ComboboxItem';\n\nfunction ComboboxOptionText({ option }: { option: ComboboxOption }) {\n return (\n <span className={comboboxStyles.optionText}>\n <span className={comboboxStyles.optionLabel}>{option.label}</span>\n {option.description && <span className={comboboxStyles.optionDescription}>{option.description}</span>}\n </span>\n );\n}\n\nexport function Combobox(props: ComboboxProps) {\n const {\n options,\n placeholder = isMultipleCombobox(props) ? 'Select options...' : 'Select option...',\n searchPlaceholder = 'Search...',\n emptyText = 'No option found.',\n className,\n disabled = false,\n variant = 'default',\n size = 'md',\n open,\n onOpenChange,\n container,\n error,\n id,\n name,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n align = 'start',\n allowCustomValue = false,\n onInputValueChange,\n } = props;\n const multiple = isMultipleCombobox(props);\n const clearLabel = multiple ? props.clearLabel : undefined;\n const generatedName = React.useId();\n const errorName = name ?? generatedName;\n const describedBy =\n [ariaDescribedBy, error ? fieldErrorId(errorName) : undefined].filter(Boolean).join(' ') || undefined;\n const [inputValue, setInputValue] = React.useState('');\n const customValue = inputValue.trim();\n const customOption =\n !multiple && allowCustomValue && customValue && !options.some(option => option.value === customValue)\n ? { label: `Use “${customValue}”`, value: customValue }\n : undefined;\n const displayedOptions = customOption ? [customOption, ...options] : options;\n const selectedValues = multiple ? (props.value ?? EMPTY_VALUES) : EMPTY_VALUES;\n const selectedValueSet = React.useMemo(() => new Set(selectedValues), [selectedValues]);\n const selectedOption = multiple ? null : (options.find(option => option.value === props.value) ?? null);\n const selectedOptions = multiple ? options.filter(option => selectedValueSet.has(option.value)) : EMPTY_OPTIONS;\n const triggerText = selectedOptions.length === 0 ? placeholder : `${selectedOptions.length} selected`;\n const clearSelection = () => {\n if (isMultipleCombobox(props)) props.onValueChange?.([]);\n };\n // Default to the nearest SideDialog/Drawer popup so the list stays\n // interactive inside a modal drawer; an explicit `container` still wins.\n const resolvedContainer = usePortalContainer(container);\n const menu = useFluidMenu<HTMLDivElement>();\n const iconOnly = isIconButtonSize(size);\n\n const comboboxContent = (\n <>\n <BaseCombobox.Trigger\n id={id}\n aria-label={ariaLabel ?? (id ? undefined : multiple ? 'Select options' : 'Select option')}\n aria-invalid={error ? true : undefined}\n aria-describedby={describedBy}\n className={comboboxTriggerClass({ variant, size, error: Boolean(error), className })}\n >\n {iconOnly ? (\n <span className=\"sr-only\">{multiple ? triggerText : <BaseCombobox.Value placeholder={placeholder} />}</span>\n ) : multiple ? (\n <span className={cn('truncate', selectedOptions.length === 0 && comboboxStyles.placeholder)}>\n {triggerText}\n </span>\n ) : (\n // Keep truncation off the outer wrapper so start adornments are not clipped.\n <span className=\"flex min-w-0 flex-1 items-center gap-2\">\n {selectedOption?.start}\n <span className=\"truncate\">\n <BaseCombobox.Value placeholder={placeholder} />\n </span>\n </span>\n )}\n {/* Wrap the chevron in a `<span>` so the svg is one level deep and\n escapes Button's `[&>svg]` adornments — mirrors Select's chevron wrap. */}\n <span className=\"flex shrink-0 items-center\">\n <ChevronsUpDown className={cn(comboboxStyles.chevron, iconOnly && 'ml-0')} />\n </span>\n </BaseCombobox.Trigger>\n\n <BaseCombobox.Portal container={resolvedContainer}>\n <BaseCombobox.Positioner\n align={align}\n sideOffset={4}\n positionMethod={FLOATING_POSITION_METHOD}\n className={comboboxStyles.positioner}\n >\n <BaseCombobox.Popup className={comboboxStyles.popup}>\n <div className={comboboxStyles.searchContainer}>\n <Search className={comboboxStyles.searchIcon} />\n <BaseCombobox.Input className={comboboxStyles.searchInput} placeholder={searchPlaceholder} />\n </div>\n <BaseCombobox.Empty className={comboboxStyles.empty}>{emptyText}</BaseCombobox.Empty>\n <div className={cn(comboboxStyles.listScroller, menu.containerClassName)} {...menu.getContainerProps({})}>\n <FluidMenuItems menu={menu}>\n <BaseCombobox.List className={comboboxStyles.list}>\n {(option: ComboboxOption) => {\n const isSelected = selectedValueSet.has(option.value);\n\n return (\n <ComboboxItem key={option.value} value={option} className={comboboxItemClass({ multiple })}>\n {multiple ? (\n <>\n {option.start}\n <ComboboxOptionText option={option} />\n <span className={comboboxStyles.itemRightSlot}>\n {option.end ? <div className={comboboxStyles.optionEnd}>{option.end}</div> : null}\n <span className={comboboxStyles.checkContainer}>\n {isSelected ? <Check className={comboboxStyles.checkIcon} /> : null}\n </span>\n </span>\n </>\n ) : (\n <>\n {option.start}\n <ComboboxOptionText option={option} />\n <span className={comboboxStyles.itemRightSlot}>\n {option.end ? <div className={comboboxStyles.optionEnd}>{option.end}</div> : null}\n <span className={comboboxStyles.checkContainer}>\n <BaseCombobox.ItemIndicator>\n <Check className={comboboxStyles.checkIcon} />\n </BaseCombobox.ItemIndicator>\n </span>\n </span>\n </>\n )}\n </ComboboxItem>\n );\n }}\n </BaseCombobox.List>\n </FluidMenuItems>\n </div>\n {selectedValues.length > 0 && clearLabel ? (\n <div className={cn('border-t', 'border-border', 'p-1')}>\n <Button\n type=\"button\"\n variant=\"destructive-ghost\"\n size=\"sm\"\n className=\"w-full justify-start\"\n onClick={clearSelection}\n icon={<X />}\n >\n {clearLabel}\n </Button>\n </div>\n ) : null}\n </BaseCombobox.Popup>\n </BaseCombobox.Positioner>\n </BaseCombobox.Portal>\n </>\n );\n\n const root = multiple ? (\n <BaseCombobox.Root\n multiple\n autoHighlight\n items={displayedOptions}\n value={selectedOptions}\n onValueChange={items => props.onValueChange?.((items ?? []).map(item => item.value))}\n disabled={disabled}\n open={open}\n onOpenChange={onOpenChange}\n >\n {comboboxContent}\n </BaseCombobox.Root>\n ) : (\n <BaseCombobox.Root\n autoHighlight\n items={displayedOptions}\n value={selectedOption}\n inputValue={inputValue}\n onInputValueChange={value => {\n setInputValue(value);\n onInputValueChange?.(value);\n }}\n onValueChange={item => {\n if (item) {\n props.onValueChange?.(item.value);\n setInputValue('');\n onInputValueChange?.('');\n }\n }}\n disabled={disabled}\n open={open}\n onOpenChange={onOpenChange}\n >\n {comboboxContent}\n </BaseCombobox.Root>\n );\n\n // Without an error there is nothing to stack, so the trigger is the root: a wrapper\n // here would hide the trigger from a parent that styles its own children — a\n // ButtonsGroup seam, an InputGroup control, a flex row.\n if (!error) return root;\n\n return (\n <div className={comboboxStyles.root}>\n {root}\n <FieldBlock.ErrorMsg name={errorName}>{error}</FieldBlock.ErrorMsg>\n </div>\n );\n}\n"],"names":["React","jsx","BaseCombobox","useFluidMenuItemRef","jsxs","comboboxStyles","fieldErrorId","usePortalContainer","useFluidMenu","isIconButtonSize","Fragment","comboboxTriggerClass","cn","ChevronsUpDown","FLOATING_POSITION_METHOD","Search","FluidMenuItems","comboboxItemClass","Check","Button","X","FieldBlock"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"combobox-D7xJFZuO.js","sources":["../src/ds/components/Combobox/combobox.tsx"],"sourcesContent":["import { Combobox as BaseCombobox } from '@base-ui/react/combobox';\nimport { Check, ChevronsUpDown, Search, X } from 'lucide-react';\nimport * as React from 'react';\nimport { comboboxItemClass, comboboxStyles, comboboxTriggerClass } from './combobox-styles';\nimport type { ComboboxVariant } from './combobox-styles';\nimport { Button, isIconButtonSize } from '@/ds/components/Button/Button';\nimport type { ButtonSize } from '@/ds/components/Button/Button';\nimport { FieldBlock } from '@/ds/components/FormFieldBlocks/block/field-block';\nimport { fieldErrorId } from '@/ds/components/FormFieldBlocks/block/field-error-id';\nimport { FLOATING_POSITION_METHOD } from '@/ds/primitives/floating';\nimport { FluidMenuItems, useFluidMenu, useFluidMenuItemRef } from '@/ds/primitives/fluid-menu';\nimport { usePortalContainer } from '@/ds/primitives/portal-container';\nimport { cn } from '@/lib/utils';\n\nexport type { ComboboxVariant } from './combobox-styles';\n\nexport type ComboboxOption = {\n label: string;\n value: string;\n description?: string;\n start?: React.ReactNode;\n end?: React.ReactNode;\n};\n\ntype ComboboxSharedProps = {\n options: ComboboxOption[];\n placeholder?: React.ReactNode;\n searchPlaceholder?: string;\n emptyText?: string;\n className?: string;\n disabled?: boolean;\n variant?: ComboboxVariant;\n /** Icon sizes (`icon-*`) render a chevron-only trigger; pass `aria-label` to name it. */\n size?: ButtonSize;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n container?: HTMLElement | ShadowRoot | null | React.RefObject<HTMLElement | ShadowRoot | null>;\n error?: string;\n id?: string;\n name?: string;\n 'aria-label'?: string;\n 'aria-describedby'?: string;\n /** Which edge of the trigger the popup lines up with. `end` opens it leftwards (e.g. an icon trigger at the end of a row). */\n align?: 'start' | 'center' | 'end';\n allowCustomValue?: boolean;\n /** Called with the search input text as it changes (and with `''` after a single-mode selection resets it). */\n onInputValueChange?: (value: string) => void;\n};\n\nexport type ComboboxSingleProps = ComboboxSharedProps & {\n multiple?: false;\n value?: string;\n onValueChange?: (value: string) => void;\n};\n\nexport type ComboboxMultipleProps = ComboboxSharedProps & {\n multiple: true;\n value?: readonly string[];\n onValueChange?: (value: string[]) => void;\n clearLabel?: string;\n};\n\nexport type ComboboxProps = ComboboxSingleProps | ComboboxMultipleProps;\n\nconst EMPTY_VALUES: string[] = [];\nconst EMPTY_OPTIONS: ComboboxOption[] = [];\n\nfunction isMultipleCombobox(props: ComboboxProps): props is ComboboxMultipleProps {\n return props.multiple === true;\n}\n\nconst ComboboxItem = React.forwardRef<HTMLDivElement, BaseCombobox.Item.Props>((props, ref) => (\n <BaseCombobox.Item ref={useFluidMenuItemRef(ref)} {...props} />\n));\nComboboxItem.displayName = 'ComboboxItem';\n\nfunction ComboboxOptionText({ option }: { option: ComboboxOption }) {\n return (\n <span className={comboboxStyles.optionText}>\n <span className={comboboxStyles.optionLabel}>{option.label}</span>\n {option.description && <span className={comboboxStyles.optionDescription}>{option.description}</span>}\n </span>\n );\n}\n\nexport function Combobox(props: ComboboxProps) {\n const {\n options,\n placeholder = isMultipleCombobox(props) ? 'Select options...' : 'Select option...',\n searchPlaceholder = 'Search...',\n emptyText = 'No option found.',\n className,\n disabled = false,\n variant = 'default',\n size = 'md',\n open,\n onOpenChange,\n container,\n error,\n id,\n name,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n align = 'start',\n allowCustomValue = false,\n onInputValueChange,\n } = props;\n const multiple = isMultipleCombobox(props);\n const clearLabel = multiple ? props.clearLabel : undefined;\n const generatedName = React.useId();\n const errorName = name ?? generatedName;\n const describedBy =\n [ariaDescribedBy, error ? fieldErrorId(errorName) : undefined].filter(Boolean).join(' ') || undefined;\n const [inputValue, setInputValue] = React.useState('');\n const customValue = inputValue.trim();\n const customOption =\n !multiple && allowCustomValue && customValue && !options.some(option => option.value === customValue)\n ? { label: `Use “${customValue}”`, value: customValue }\n : undefined;\n const displayedOptions = customOption ? [customOption, ...options] : options;\n const selectedValues = multiple ? (props.value ?? EMPTY_VALUES) : EMPTY_VALUES;\n const selectedValueSet = React.useMemo(() => new Set(selectedValues), [selectedValues]);\n const selectedOption = multiple ? null : (options.find(option => option.value === props.value) ?? null);\n const selectedOptions = multiple ? options.filter(option => selectedValueSet.has(option.value)) : EMPTY_OPTIONS;\n const triggerText = selectedOptions.length === 0 ? placeholder : `${selectedOptions.length} selected`;\n const clearSelection = () => {\n if (isMultipleCombobox(props)) props.onValueChange?.([]);\n };\n // Default to the nearest SideDialog/Drawer popup so the list stays\n // interactive inside a modal drawer; an explicit `container` still wins.\n const resolvedContainer = usePortalContainer(container);\n const menu = useFluidMenu<HTMLDivElement>();\n const iconOnly = isIconButtonSize(size);\n\n const comboboxContent = (\n <>\n <BaseCombobox.Trigger\n id={id}\n aria-label={ariaLabel ?? (id ? undefined : multiple ? 'Select options' : 'Select option')}\n aria-invalid={error ? true : undefined}\n aria-describedby={describedBy}\n className={comboboxTriggerClass({ variant, size, error: Boolean(error), className })}\n >\n {iconOnly ? (\n <span className=\"sr-only\">{multiple ? triggerText : <BaseCombobox.Value placeholder={placeholder} />}</span>\n ) : multiple ? (\n <span className={cn('truncate', selectedOptions.length === 0 && comboboxStyles.placeholder)}>\n {triggerText}\n </span>\n ) : (\n // Keep truncation off the outer wrapper so start adornments are not clipped.\n <span className=\"flex min-w-0 flex-1 items-center gap-2\">\n {selectedOption?.start}\n <span className=\"truncate\">\n <BaseCombobox.Value placeholder={placeholder} />\n </span>\n </span>\n )}\n {/* Wrap the chevron in a `<span>` so the svg is one level deep and\n escapes Button's `[&>svg]` adornments — mirrors Select's chevron wrap. */}\n <span className=\"flex shrink-0 items-center\">\n <ChevronsUpDown className={cn(comboboxStyles.chevron, iconOnly && 'ml-0')} />\n </span>\n </BaseCombobox.Trigger>\n\n <BaseCombobox.Portal container={resolvedContainer}>\n <BaseCombobox.Positioner\n align={align}\n sideOffset={4}\n positionMethod={FLOATING_POSITION_METHOD}\n className={comboboxStyles.positioner}\n >\n <BaseCombobox.Popup className={comboboxStyles.popup}>\n <div className={comboboxStyles.searchContainer}>\n <Search className={comboboxStyles.searchIcon} />\n <BaseCombobox.Input className={comboboxStyles.searchInput} placeholder={searchPlaceholder} />\n </div>\n <BaseCombobox.Empty className={comboboxStyles.empty}>{emptyText}</BaseCombobox.Empty>\n <div className={cn(comboboxStyles.listScroller, menu.containerClassName)} {...menu.getContainerProps({})}>\n <FluidMenuItems menu={menu}>\n <BaseCombobox.List className={comboboxStyles.list}>\n {(option: ComboboxOption) => {\n const isSelected = selectedValueSet.has(option.value);\n\n return (\n <ComboboxItem key={option.value} value={option} className={comboboxItemClass({ multiple })}>\n {multiple ? (\n <>\n {option.start}\n <ComboboxOptionText option={option} />\n <span className={comboboxStyles.itemRightSlot}>\n {option.end ? <div className={comboboxStyles.optionEnd}>{option.end}</div> : null}\n <span className={comboboxStyles.checkContainer}>\n {isSelected ? <Check className={comboboxStyles.checkIcon} /> : null}\n </span>\n </span>\n </>\n ) : (\n <>\n {option.start}\n <ComboboxOptionText option={option} />\n <span className={comboboxStyles.itemRightSlot}>\n {option.end ? <div className={comboboxStyles.optionEnd}>{option.end}</div> : null}\n <span className={comboboxStyles.checkContainer}>\n <BaseCombobox.ItemIndicator>\n <Check className={comboboxStyles.checkIcon} />\n </BaseCombobox.ItemIndicator>\n </span>\n </span>\n </>\n )}\n </ComboboxItem>\n );\n }}\n </BaseCombobox.List>\n </FluidMenuItems>\n </div>\n {selectedValues.length > 0 && clearLabel ? (\n <div className={cn('border-t', 'border-border', 'p-1')}>\n <Button\n type=\"button\"\n variant=\"destructive-ghost\"\n size=\"sm\"\n className=\"w-full justify-start\"\n onClick={clearSelection}\n icon={<X />}\n >\n {clearLabel}\n </Button>\n </div>\n ) : null}\n </BaseCombobox.Popup>\n </BaseCombobox.Positioner>\n </BaseCombobox.Portal>\n </>\n );\n\n const root = multiple ? (\n <BaseCombobox.Root\n multiple\n autoHighlight\n items={displayedOptions}\n value={selectedOptions}\n onValueChange={items => props.onValueChange?.((items ?? []).map(item => item.value))}\n disabled={disabled}\n open={open}\n onOpenChange={onOpenChange}\n >\n {comboboxContent}\n </BaseCombobox.Root>\n ) : (\n <BaseCombobox.Root\n autoHighlight\n items={displayedOptions}\n value={selectedOption}\n inputValue={inputValue}\n onInputValueChange={value => {\n setInputValue(value);\n onInputValueChange?.(value);\n }}\n onValueChange={item => {\n if (item) {\n props.onValueChange?.(item.value);\n setInputValue('');\n onInputValueChange?.('');\n }\n }}\n disabled={disabled}\n open={open}\n onOpenChange={onOpenChange}\n >\n {comboboxContent}\n </BaseCombobox.Root>\n );\n\n // Without an error there is nothing to stack, so the trigger is the root: a wrapper\n // here would hide the trigger from a parent that styles its own children — a\n // ButtonsGroup seam, an InputGroup control, a flex row.\n if (!error) return root;\n\n return (\n <div className={comboboxStyles.root}>\n {root}\n <FieldBlock.ErrorMsg name={errorName}>{error}</FieldBlock.ErrorMsg>\n </div>\n );\n}\n"],"names":["BaseCombobox"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"combobox-styles-CRebmeht.js","sources":["../src/ds/components/Combobox/combobox-styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport { buttonVariants, isIconButtonSize } from '../Button/Button';\nimport type { ButtonSize } from '../Button/Button';\nimport { controlTriggerOpenState } from '@/ds/primitives/control-size';\nimport type { ControlTriggerVisualVariant } from '@/ds/primitives/control-size';\nimport { fieldTriggerSurfaceStyle } from '@/ds/primitives/form-element';\nimport {\n menuItemCheckClass,\n menuItemClass,\n menuPopupClass,\n menuPositionerClass,\n menuSearchClasses,\n menuEmptyClass,\n} from '@/ds/primitives/menu-item';\nimport { cn } from '@/lib/utils';\n\n/**\n * A combobox is a form field, so it reuses the Button's size/shape recipe,\n * mirroring `SelectTrigger`: `default` (the Input's overlay surface — the\n * default here too), `outline` (bordered, transparent) and `ghost`\n * (borderless, for breadcrumbs/inline pickers). Only the high-emphasis `primary`\n * look is intentionally NOT offered (a field is not a call-to-action).\n */\nexport type ComboboxVisualVariant = ControlTriggerVisualVariant;\nexport type ComboboxLegacyVariant = 'link';\nexport type ComboboxVariant = ComboboxVisualVariant | ComboboxLegacyVariant;\n\nfunction normalizeComboboxVariant(variant: ComboboxVariant): ComboboxVisualVariant {\n return variant === 'link' ? 'ghost' : variant;\n}\n\n/**\n * Single source of truth for both the single- and multi-select combobox\n * triggers. A combobox = a button + a trailing chevron, so it reuses the Button\n * recipe (variant colors, size = height/text/padding/radius, unified border\n * focus, disabled) and layers only the combobox-specific extras — exactly like\n * `SelectTrigger`.\n */\nexport function comboboxTriggerClass({\n variant,\n size,\n error,\n className,\n}: {\n variant: ComboboxVariant;\n size: ButtonSize;\n error?: boolean;\n className?: string;\n}): string {\n const visualVariant = normalizeComboboxVariant(variant);\n\n return cn(\n buttonVariants({ variant: visualVariant, size }),\n // The filled look is the Input surface, not the Button one.\n visualVariant === 'default' && fieldTriggerSurfaceStyle,\n // Fill the field and push the value left / chevron right (Button's base\n // centers its content with `justify-center`). Icon sizes are a fixed square\n // showing only the chevron, so they keep Button's centering.\n !isIconButtonSize(size) && 'justify-between text-body-sm',\n // Read as \"active\" while the popup is open, per variant (see map above).\n controlTriggerOpenState[visualVariant === 'default' ? 'field' : visualVariant],\n 'data-[placeholder]:text-muted-foreground',\n error && 'border-destructive hover:border-destructive focus-visible:border-destructive',\n className,\n );\n}\n\n/** Options are shared menu items, which already grow to fit a second line. */\nexport const comboboxItemClass = cva(menuItemClass, {\n variants: {\n multiple: {\n false: '',\n true: '',\n },\n },\n defaultVariants: {\n multiple: false,\n },\n});\n\nexport const comboboxStyles = {\n /** Root wrapper */\n root: 'flex flex-col gap-1.5',\n\n /** Chevron icon in trigger — decorative icon token shared by every field. */\n chevron: 'ml-2 h-4 w-4 shrink-0 text-muted-foreground',\n\n /** Placeholder text color */\n placeholder: 'text-muted-foreground',\n\n /**\n * Popup container — shared menu popup, but the search row sits edge-to-edge\n * above the list, so padding/scrolling move to the list itself.\n */\n popup: cn(menuPopupClass, 'max-h-none overflow-hidden p-0'),\n\n /** Positioner */\n positioner: cn(menuPositionerClass, 'pointer-events-auto'),\n\n /** Search input container — borderless top section, hairline divider below. */\n searchContainer: menuSearchClasses.container,\n\n /** Search icon */\n searchIcon: menuSearchClasses.icon,\n\n /** Search input */\n searchInput: cn(menuSearchClasses.input, 'disabled:cursor-not-allowed disabled:opacity-50'),\n\n /** Empty state */\n empty: cn(menuEmptyClass, 'empty:hidden'),\n\n /** Options list */\n // `empty:p-0` — Empty renders outside the List, so an empty List must not leave its padding behind.\n list: 'p-1 empty:p-0',\n\n /** Scroll container around the List; hosts the fluid highlight so it scrolls with the rows. */\n listScroller: 'max-h-dropdown overflow-y-auto overflow-x-hidden',\n\n /** Option item base — rounded-lg sits concentrically inside rounded-xl + p-1. */\n item: comboboxItemClass({ multiple: false }),\n\n /** Multi-select item — same item rhythm with a right-aligned selected check. */\n itemMulti: comboboxItemClass({ multiple: true }),\n\n /** Right-aligned slot grouping end content + selection check. */\n itemRightSlot: 'ml-auto flex items-center gap-2 shrink-0',\n\n /** Check indicator container — inline, shown only when item is selected. */\n checkContainer: cn(menuItemCheckClass, 'ml-0'),\n\n /** Check icon (single select) */\n checkIcon: 'size-full',\n\n /** Option label/description wrapper */\n optionText: 'flex flex-col gap-0.5 min-w-0',\n\n /** Option label */\n optionLabel: 'truncate',\n\n /** Option description */\n optionDescription: 'text-caption text-muted-foreground truncate',\n\n /** Option end slot — `ml-auto` makes it push right inside flex containers (used by multi-select). */\n optionEnd: 'ml-auto flex items-center shrink-0',\n\n /** Error message */\n error: 'text-caption text-accent2',\n} as const;\n"],"names":[],"mappings":";;;;;;;AA2BA,SAAS,yBAAyB,OAAA,EAAiD;AACjF,EAAA,OAAO,OAAA,KAAY,SAAS,OAAA,GAAU,OAAA;AACxC;AASO,SAAS,oBAAA,CAAqB;AAAA,EACnC,OAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAKW;AACT,EAAA,MAAM,aAAA,GAAgB,yBAAyB,OAAO,CAAA;AAEtD,EAAA,OAAO,EAAA;AAAA,IACL,cAAA,CAAe,EAAE,OAAA,EAAS,aAAA,EAAe,MAAM,CAAA;AAAA;AAAA,IAE/C,kBAAkB,SAAA,IAAa,wBAAA;AAAA;AAAA;AAAA;AAAA,IAI/B,CAAC,gBAAA,CAAiB,IAAI,CAAA,IAAK,8BAAA;AAAA;AAAA,IAE3B,uBAAA,CAAwB,aAAA,KAAkB,SAAA,GAAY,OAAA,GAAU,aAAa,CAAA;AAAA,IAC7E,0CAAA;AAAA,IACA,KAAA,IAAS,8EAAA;AAAA,IACT;AAAA,GACF;AACF;AAGO,MAAM,iBAAA,GAAoB,IAAI,aAAA,EAAe;AAAA,EAClD,QAAA,EAAU;AAAA,IACR,QAAA,EAAU;AAAA,MACR,KAAA,EAAO,EAAA;AAAA,MACP,IAAA,EAAM;AAAA;AACR,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,QAAA,EAAU;AAAA;AAEd,CAAC;AAEM,MAAM,cAAA,GAAiB;AAAA;AAAA,EAE5B,IAAA,EAAM,uBAAA;AAAA;AAAA,EAGN,OAAA,EAAS,6CAAA;AAAA;AAAA,EAGT,WAAA,EAAa,uBAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMb,KAAA,EAAO,EAAA,CAAG,cAAA,EAAgB,gCAAgC,CAAA;AAAA;AAAA,EAG1D,UAAA,EAAY,EAAA,CAAG,mBAAA,EAAqB,qBAAqB,CAAA;AAAA;AAAA,EAGzD,iBAAiB,iBAAA,CAAkB,SAAA;AAAA;AAAA,EAGnC,YAAY,iBAAA,CAAkB,IAAA;AAAA;AAAA,EAG9B,WAAA,EAAa,EAAA,CAAG,iBAAA,CAAkB,KAAA,EAAO,iDAAiD,CAAA;AAAA;AAAA,EAG1F,KAAA,EAAO,EAAA,CAAG,cAAA,EAAgB,cAAc,CAAA;AAAA;AAAA;AAAA,EAIxC,IAAA,EAAM,eAAA;AAAA;AAAA,EAGN,YAAA,EAAc,kDAAA;AAAA;AAAA,EAGd,IAAA,EAAM,iBAAA,CAAkB,EAAE,QAAA,EAAU,OAAO,CAAA;AAAA;AAAA,EAG3C,SAAA,EAAW,iBAAA,CAAkB,EAAE,QAAA,EAAU,MAAM,CAAA;AAAA;AAAA,EAG/C,aAAA,EAAe,0CAAA;AAAA;AAAA,EAGf,cAAA,EAAgB,EAAA,CAAG,kBAAA,EAAoB,MAAM,CAAA;AAAA;AAAA,EAG7C,SAAA,EAAW,WAAA;AAAA;AAAA,EAGX,UAAA,EAAY,+BAAA;AAAA;AAAA,EAGZ,WAAA,EAAa,UAAA;AAAA;AAAA,EAGb,iBAAA,EAAmB,6CAAA;AAAA;AAAA,EAGnB,SAAA,EAAW,oCAAA;AAAA;AAAA,EAGX,KAAA,EAAO;AACT;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"combobox-styles-DYlNNjKC.cjs","sources":["../src/ds/components/Combobox/combobox-styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport { buttonVariants, isIconButtonSize } from '../Button/Button';\nimport type { ButtonSize } from '../Button/Button';\nimport { controlTriggerOpenState } from '@/ds/primitives/control-size';\nimport type { ControlTriggerVisualVariant } from '@/ds/primitives/control-size';\nimport { fieldTriggerSurfaceStyle } from '@/ds/primitives/form-element';\nimport {\n menuItemCheckClass,\n menuItemClass,\n menuPopupClass,\n menuPositionerClass,\n menuSearchClasses,\n menuEmptyClass,\n} from '@/ds/primitives/menu-item';\nimport { cn } from '@/lib/utils';\n\n/**\n * A combobox is a form field, so it reuses the Button's size/shape recipe,\n * mirroring `SelectTrigger`: `default` (the Input's overlay surface — the\n * default here too), `outline` (bordered, transparent) and `ghost`\n * (borderless, for breadcrumbs/inline pickers). Only the high-emphasis `primary`\n * look is intentionally NOT offered (a field is not a call-to-action).\n */\nexport type ComboboxVisualVariant = ControlTriggerVisualVariant;\nexport type ComboboxLegacyVariant = 'link';\nexport type ComboboxVariant = ComboboxVisualVariant | ComboboxLegacyVariant;\n\nfunction normalizeComboboxVariant(variant: ComboboxVariant): ComboboxVisualVariant {\n return variant === 'link' ? 'ghost' : variant;\n}\n\n/**\n * Single source of truth for both the single- and multi-select combobox\n * triggers. A combobox = a button + a trailing chevron, so it reuses the Button\n * recipe (variant colors, size = height/text/padding/radius, unified border\n * focus, disabled) and layers only the combobox-specific extras — exactly like\n * `SelectTrigger`.\n */\nexport function comboboxTriggerClass({\n variant,\n size,\n error,\n className,\n}: {\n variant: ComboboxVariant;\n size: ButtonSize;\n error?: boolean;\n className?: string;\n}): string {\n const visualVariant = normalizeComboboxVariant(variant);\n\n return cn(\n buttonVariants({ variant: visualVariant, size }),\n // The filled look is the Input surface, not the Button one.\n visualVariant === 'default' && fieldTriggerSurfaceStyle,\n // Fill the field and push the value left / chevron right (Button's base\n // centers its content with `justify-center`). Icon sizes are a fixed square\n // showing only the chevron, so they keep Button's centering.\n !isIconButtonSize(size) && 'justify-between text-body-sm',\n // Read as \"active\" while the popup is open, per variant (see map above).\n controlTriggerOpenState[visualVariant === 'default' ? 'field' : visualVariant],\n 'data-[placeholder]:text-muted-foreground',\n error && 'border-destructive hover:border-destructive focus-visible:border-destructive',\n className,\n );\n}\n\n/** Options are shared menu items, which already grow to fit a second line. */\nexport const comboboxItemClass = cva(menuItemClass, {\n variants: {\n multiple: {\n false: '',\n true: '',\n },\n },\n defaultVariants: {\n multiple: false,\n },\n});\n\nexport const comboboxStyles = {\n /** Root wrapper */\n root: 'flex flex-col gap-1.5',\n\n /** Chevron icon in trigger — decorative icon token shared by every field. */\n chevron: 'ml-2 h-4 w-4 shrink-0 text-muted-foreground',\n\n /** Placeholder text color */\n placeholder: 'text-muted-foreground',\n\n /**\n * Popup container — shared menu popup, but the search row sits edge-to-edge\n * above the list, so padding/scrolling move to the list itself.\n */\n popup: cn(menuPopupClass, 'max-h-none overflow-hidden p-0'),\n\n /** Positioner */\n positioner: cn(menuPositionerClass, 'pointer-events-auto'),\n\n /** Search input container — borderless top section, hairline divider below. */\n searchContainer: menuSearchClasses.container,\n\n /** Search icon */\n searchIcon: menuSearchClasses.icon,\n\n /** Search input */\n searchInput: cn(menuSearchClasses.input, 'disabled:cursor-not-allowed disabled:opacity-50'),\n\n /** Empty state */\n empty: cn(menuEmptyClass, 'empty:hidden'),\n\n /** Options list */\n // `empty:p-0` — Empty renders outside the List, so an empty List must not leave its padding behind.\n list: 'p-1 empty:p-0',\n\n /** Scroll container around the List; hosts the fluid highlight so it scrolls with the rows. */\n listScroller: 'max-h-dropdown overflow-y-auto overflow-x-hidden',\n\n /** Option item base — rounded-lg sits concentrically inside rounded-xl + p-1. */\n item: comboboxItemClass({ multiple: false }),\n\n /** Multi-select item — same item rhythm with a right-aligned selected check. */\n itemMulti: comboboxItemClass({ multiple: true }),\n\n /** Right-aligned slot grouping end content + selection check. */\n itemRightSlot: 'ml-auto flex items-center gap-2 shrink-0',\n\n /** Check indicator container — inline, shown only when item is selected. */\n checkContainer: cn(menuItemCheckClass, 'ml-0'),\n\n /** Check icon (single select) */\n checkIcon: 'size-full',\n\n /** Option label/description wrapper */\n optionText: 'flex flex-col gap-0.5 min-w-0',\n\n /** Option label */\n optionLabel: 'truncate',\n\n /** Option description */\n optionDescription: 'text-caption text-muted-foreground truncate',\n\n /** Option end slot — `ml-auto` makes it push right inside flex containers (used by multi-select). */\n optionEnd: 'ml-auto flex items-center shrink-0',\n\n /** Error message */\n error: 'text-caption text-accent2',\n} as const;\n"],"names":["cn","buttonVariants","fieldTriggerSurfaceStyle","isIconButtonSize","controlTriggerOpenState","cva","menuItemClass","menuPopupClass","menuPositionerClass","menuSearchClasses","menuEmptyClass","menuItemCheckClass"],"mappings":";;;;;;;;;AA2BA,SAAS,yBAAyB,OAAA,EAAiD;AACjF,EAAA,OAAO,OAAA,KAAY,SAAS,OAAA,GAAU,OAAA;AACxC;AASO,SAAS,oBAAA,CAAqB;AAAA,EACnC,OAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAKW;AACT,EAAA,MAAM,aAAA,GAAgB,yBAAyB,OAAO,CAAA;AAEtD,EAAA,OAAOA,WAAA;AAAA,IACLC,qBAAA,CAAe,EAAE,OAAA,EAAS,aAAA,EAAe,MAAM,CAAA;AAAA;AAAA,IAE/C,kBAAkB,SAAA,IAAaC,+CAAA;AAAA;AAAA;AAAA;AAAA,IAI/B,CAACC,uBAAA,CAAiB,IAAI,CAAA,IAAK,8BAAA;AAAA;AAAA,IAE3BC,8CAAA,CAAwB,aAAA,KAAkB,SAAA,GAAY,OAAA,GAAU,aAAa,CAAA;AAAA,IAC7E,0CAAA;AAAA,IACA,KAAA,IAAS,8EAAA;AAAA,IACT;AAAA,GACF;AACF;AAGO,MAAM,iBAAA,GAAoBC,UAAIC,iCAAA,EAAe;AAAA,EAClD,QAAA,EAAU;AAAA,IACR,QAAA,EAAU;AAAA,MACR,KAAA,EAAO,EAAA;AAAA,MACP,IAAA,EAAM;AAAA;AACR,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,QAAA,EAAU;AAAA;AAEd,CAAC;AAEM,MAAM,cAAA,GAAiB;AAAA;AAAA,EAE5B,IAAA,EAAM,uBAAA;AAAA;AAAA,EAGN,OAAA,EAAS,6CAAA;AAAA;AAAA,EAGT,WAAA,EAAa,uBAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMb,KAAA,EAAON,WAAA,CAAGO,kCAAA,EAAgB,gCAAgC,CAAA;AAAA;AAAA,EAG1D,UAAA,EAAYP,WAAA,CAAGQ,uCAAA,EAAqB,qBAAqB,CAAA;AAAA;AAAA,EAGzD,iBAAiBC,qCAAA,CAAkB,SAAA;AAAA;AAAA,EAGnC,YAAYA,qCAAA,CAAkB,IAAA;AAAA;AAAA,EAG9B,WAAA,EAAaT,WAAA,CAAGS,qCAAA,CAAkB,KAAA,EAAO,iDAAiD,CAAA;AAAA;AAAA,EAG1F,KAAA,EAAOT,WAAA,CAAGU,kCAAA,EAAgB,cAAc,CAAA;AAAA;AAAA;AAAA,EAIxC,IAAA,EAAM,eAAA;AAAA;AAAA,EAGN,YAAA,EAAc,kDAAA;AAAA;AAAA,EAGd,IAAA,EAAM,iBAAA,CAAkB,EAAE,QAAA,EAAU,OAAO,CAAA;AAAA;AAAA,EAG3C,SAAA,EAAW,iBAAA,CAAkB,EAAE,QAAA,EAAU,MAAM,CAAA;AAAA;AAAA,EAG/C,aAAA,EAAe,0CAAA;AAAA;AAAA,EAGf,cAAA,EAAgBV,WAAA,CAAGW,sCAAA,EAAoB,MAAM,CAAA;AAAA;AAAA,EAG7C,SAAA,EAAW,WAAA;AAAA;AAAA,EAGX,UAAA,EAAY,+BAAA;AAAA;AAAA,EAGZ,WAAA,EAAa,UAAA;AAAA;AAAA,EAGb,iBAAA,EAAmB,6CAAA;AAAA;AAAA,EAGnB,SAAA,EAAW,oCAAA;AAAA;AAAA,EAGX,KAAA,EAAO;AACT;;;;;;"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
-
|
|
5
|
-
const jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
const pageHeadingContext = require('../page-heading-context-Du-CpxAx.cjs');
|
|
7
|
-
const utils_cn = require('../cn-DG0X1KEP.cjs');
|
|
8
|
-
|
|
9
|
-
function MainContentLayout({
|
|
10
|
-
children,
|
|
11
|
-
className,
|
|
12
|
-
style
|
|
13
|
-
}) {
|
|
14
|
-
const devStyleRequested = devUIStyleRequested("MainContentLayout");
|
|
15
|
-
const pageHeading = pageHeadingContext.usePageHeading();
|
|
16
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
17
|
-
"main",
|
|
18
|
-
{
|
|
19
|
-
className: utils_cn.cn(`grid h-full grid-rows-[auto_1fr] content-start items-start`, className),
|
|
20
|
-
style: { ...style, ...devStyleRequested ? { border: "3px dotted red" } : {} },
|
|
21
|
-
children: [
|
|
22
|
-
pageHeading && /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "sr-only", children: pageHeading }),
|
|
23
|
-
children
|
|
24
|
-
]
|
|
25
|
-
}
|
|
26
|
-
);
|
|
27
|
-
}
|
|
28
|
-
function MainContentContent({
|
|
29
|
-
children,
|
|
30
|
-
className,
|
|
31
|
-
isCentered = false,
|
|
32
|
-
isDivided = false,
|
|
33
|
-
hasLeftServiceColumn = false,
|
|
34
|
-
style
|
|
35
|
-
}) {
|
|
36
|
-
const devStyleRequested = devUIStyleRequested("MainContentContent");
|
|
37
|
-
const contentClassName = getMainContentContentClassName({ isCentered, isDivided, hasLeftServiceColumn, className });
|
|
38
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
39
|
-
"div",
|
|
40
|
-
{
|
|
41
|
-
className: contentClassName,
|
|
42
|
-
style: { ...style, ...devStyleRequested ? { border: "3px dotted orange" } : {} },
|
|
43
|
-
children
|
|
44
|
-
}
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
const getMainContentContentClassName = ({
|
|
48
|
-
isCentered,
|
|
49
|
-
isDivided,
|
|
50
|
-
hasLeftServiceColumn,
|
|
51
|
-
className
|
|
52
|
-
}) => {
|
|
53
|
-
return utils_cn.cn(
|
|
54
|
-
`grid h-full overflow-y-auto `,
|
|
55
|
-
`min-w-min overflow-x-auto`,
|
|
56
|
-
{
|
|
57
|
-
"items-start content-start": !isCentered && !isDivided && !hasLeftServiceColumn,
|
|
58
|
-
"grid place-items-center": isCentered,
|
|
59
|
-
"grid-cols-[1fr_1fr]": isDivided && !hasLeftServiceColumn,
|
|
60
|
-
"grid-cols-[12rem_1fr_1fr]": isDivided && hasLeftServiceColumn,
|
|
61
|
-
"grid-cols-[auto_1fr]": !isDivided && hasLeftServiceColumn
|
|
62
|
-
},
|
|
63
|
-
className
|
|
64
|
-
);
|
|
65
|
-
};
|
|
66
|
-
function devUIStyleRequested(name) {
|
|
67
|
-
try {
|
|
68
|
-
const raw = localStorage.getItem("add-dev-style-to-components");
|
|
69
|
-
if (!raw) return false;
|
|
70
|
-
const components = raw.split(",").map((c) => c.trim()).filter(Boolean);
|
|
71
|
-
return components.includes(name);
|
|
72
|
-
} catch (error) {
|
|
73
|
-
console.error("Error reading or parsing localStorage:", error);
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
exports.MainContentContent = MainContentContent;
|
|
79
|
-
exports.MainContentLayout = MainContentLayout;
|
|
80
|
-
exports.getMainContentContentClassName = getMainContentContentClassName;
|
|
81
|
-
//# sourceMappingURL=MainContent.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MainContent.cjs.js","sources":["../../src/ds/components/MainContent/main-content.tsx"],"sourcesContent":["import { usePageHeading } from '../PageLayout/page-heading-context';\nimport { cn } from '@/lib/utils';\n\nexport function MainContentLayout({\n children,\n className,\n style,\n}: {\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n}) {\n const devStyleRequested = devUIStyleRequested('MainContentLayout');\n const pageHeading = usePageHeading();\n\n return (\n <main\n className={cn(`grid h-full grid-rows-[auto_1fr] content-start items-start`, className)}\n style={{ ...style, ...(devStyleRequested ? { border: '3px dotted red' } : {}) }}\n >\n {pageHeading && <h1 className=\"sr-only\">{pageHeading}</h1>}\n {children}\n </main>\n );\n}\n\nexport type MainContentContentProps = {\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n // content is centered in the middle of the page e.g. for empty state\n isCentered?: boolean;\n // content is split into two columns equal width columns\n isDivided?: boolean;\n // used when the left column is a service column (e.g. agent history nav)\n hasLeftServiceColumn?: boolean;\n};\n\nexport function MainContentContent({\n children,\n className,\n isCentered = false,\n isDivided = false,\n hasLeftServiceColumn = false,\n style,\n}: MainContentContentProps) {\n const devStyleRequested = devUIStyleRequested('MainContentContent');\n const contentClassName = getMainContentContentClassName({ isCentered, isDivided, hasLeftServiceColumn, className });\n\n return (\n <div\n className={contentClassName}\n style={{ ...style, ...(devStyleRequested ? { border: '3px dotted orange' } : {}) }}\n >\n {children}\n </div>\n );\n}\n\nexport type GetMainContentContentClassNameArgs = {\n isCentered: boolean;\n isDivided: boolean;\n hasLeftServiceColumn: boolean;\n className?: string;\n};\n\nexport const getMainContentContentClassName = ({\n isCentered,\n isDivided,\n hasLeftServiceColumn,\n className,\n}: GetMainContentContentClassNameArgs) => {\n return cn(\n `grid h-full overflow-y-auto `,\n `min-w-min overflow-x-auto`,\n {\n 'items-start content-start': !isCentered && !isDivided && !hasLeftServiceColumn,\n 'grid place-items-center': isCentered,\n 'grid-cols-[1fr_1fr]': isDivided && !hasLeftServiceColumn,\n 'grid-cols-[12rem_1fr_1fr]': isDivided && hasLeftServiceColumn,\n 'grid-cols-[auto_1fr]': !isDivided && hasLeftServiceColumn,\n },\n className,\n );\n};\n\nfunction devUIStyleRequested(name: string) {\n try {\n const raw = localStorage.getItem('add-dev-style-to-components');\n if (!raw) return false;\n\n const components = raw\n .split(',')\n .map(c => c.trim())\n .filter(Boolean); // remove empty strings\n\n return components.includes(name);\n } catch (error) {\n console.error('Error reading or parsing localStorage:', error);\n return false;\n }\n}\n"],"names":["usePageHeading","jsxs","cn","jsx"],"mappings":";;;;;;;;AAGO,SAAS,iBAAA,CAAkB;AAAA,EAChC,QAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAIG;AACD,EAAA,MAAM,iBAAA,GAAoB,oBAAoB,mBAAmB,CAAA;AACjE,EAAA,MAAM,cAAcA,iCAAA,EAAe;AAEnC,EAAA,uBACEC,eAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,WAAA,CAAG,CAAA,0DAAA,CAAA,EAA8D,SAAS,CAAA;AAAA,MACrF,KAAA,EAAO,EAAE,GAAG,KAAA,EAAO,GAAI,iBAAA,GAAoB,EAAE,MAAA,EAAQ,gBAAA,EAAiB,GAAI,EAAC,EAAG;AAAA,MAE7E,QAAA,EAAA;AAAA,QAAA,WAAA,oBAAeC,cAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,WAAA,EAAY,CAAA;AAAA,QACpD;AAAA;AAAA;AAAA,GACH;AAEJ;AAcO,SAAS,kBAAA,CAAmB;AAAA,EACjC,QAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,SAAA,GAAY,KAAA;AAAA,EACZ,oBAAA,GAAuB,KAAA;AAAA,EACvB;AACF,CAAA,EAA4B;AAC1B,EAAA,MAAM,iBAAA,GAAoB,oBAAoB,oBAAoB,CAAA;AAClE,EAAA,MAAM,mBAAmB,8BAAA,CAA+B,EAAE,YAAY,SAAA,EAAW,oBAAA,EAAsB,WAAW,CAAA;AAElH,EAAA,uBACEA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,gBAAA;AAAA,MACX,KAAA,EAAO,EAAE,GAAG,KAAA,EAAO,GAAI,iBAAA,GAAoB,EAAE,MAAA,EAAQ,mBAAA,EAAoB,GAAI,EAAC,EAAG;AAAA,MAEhF;AAAA;AAAA,GACH;AAEJ;AASO,MAAM,iCAAiC,CAAC;AAAA,EAC7C,UAAA;AAAA,EACA,SAAA;AAAA,EACA,oBAAA;AAAA,EACA;AACF,CAAA,KAA0C;AACxC,EAAA,OAAOD,WAAA;AAAA,IACL,CAAA,4BAAA,CAAA;AAAA,IACA,CAAA,yBAAA,CAAA;AAAA,IACA;AAAA,MACE,2BAAA,EAA6B,CAAC,UAAA,IAAc,CAAC,aAAa,CAAC,oBAAA;AAAA,MAC3D,yBAAA,EAA2B,UAAA;AAAA,MAC3B,qBAAA,EAAuB,aAAa,CAAC,oBAAA;AAAA,MACrC,6BAA6B,SAAA,IAAa,oBAAA;AAAA,MAC1C,sBAAA,EAAwB,CAAC,SAAA,IAAa;AAAA,KACxC;AAAA,IACA;AAAA,GACF;AACF;AAEA,SAAS,oBAAoB,IAAA,EAAc;AACzC,EAAA,IAAI;AACF,IAAA,MAAM,GAAA,GAAM,YAAA,CAAa,OAAA,CAAQ,6BAA6B,CAAA;AAC9D,IAAA,IAAI,CAAC,KAAK,OAAO,KAAA;AAEjB,IAAA,MAAM,UAAA,GAAa,GAAA,CAChB,KAAA,CAAM,GAAG,CAAA,CACT,GAAA,CAAI,CAAA,CAAA,KAAK,CAAA,CAAE,IAAA,EAAM,CAAA,CACjB,MAAA,CAAO,OAAO,CAAA;AAEjB,IAAA,OAAO,UAAA,CAAW,SAAS,IAAI,CAAA;AAAA,EACjC,SAAS,KAAA,EAAO;AACd,IAAA,OAAA,CAAQ,KAAA,CAAM,0CAA0C,KAAK,CAAA;AAC7D,IAAA,OAAO,KAAA;AAAA,EACT;AACF;;;;;;"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { u as usePageHeading } from '../page-heading-context-D3yjYoJE.js';
|
|
3
|
-
import { c as cn } from '../cn-65Adrsfj.js';
|
|
4
|
-
|
|
5
|
-
function MainContentLayout({
|
|
6
|
-
children,
|
|
7
|
-
className,
|
|
8
|
-
style
|
|
9
|
-
}) {
|
|
10
|
-
const devStyleRequested = devUIStyleRequested("MainContentLayout");
|
|
11
|
-
const pageHeading = usePageHeading();
|
|
12
|
-
return /* @__PURE__ */ jsxs(
|
|
13
|
-
"main",
|
|
14
|
-
{
|
|
15
|
-
className: cn(`grid h-full grid-rows-[auto_1fr] content-start items-start`, className),
|
|
16
|
-
style: { ...style, ...devStyleRequested ? { border: "3px dotted red" } : {} },
|
|
17
|
-
children: [
|
|
18
|
-
pageHeading && /* @__PURE__ */ jsx("h1", { className: "sr-only", children: pageHeading }),
|
|
19
|
-
children
|
|
20
|
-
]
|
|
21
|
-
}
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
function MainContentContent({
|
|
25
|
-
children,
|
|
26
|
-
className,
|
|
27
|
-
isCentered = false,
|
|
28
|
-
isDivided = false,
|
|
29
|
-
hasLeftServiceColumn = false,
|
|
30
|
-
style
|
|
31
|
-
}) {
|
|
32
|
-
const devStyleRequested = devUIStyleRequested("MainContentContent");
|
|
33
|
-
const contentClassName = getMainContentContentClassName({ isCentered, isDivided, hasLeftServiceColumn, className });
|
|
34
|
-
return /* @__PURE__ */ jsx(
|
|
35
|
-
"div",
|
|
36
|
-
{
|
|
37
|
-
className: contentClassName,
|
|
38
|
-
style: { ...style, ...devStyleRequested ? { border: "3px dotted orange" } : {} },
|
|
39
|
-
children
|
|
40
|
-
}
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
const getMainContentContentClassName = ({
|
|
44
|
-
isCentered,
|
|
45
|
-
isDivided,
|
|
46
|
-
hasLeftServiceColumn,
|
|
47
|
-
className
|
|
48
|
-
}) => {
|
|
49
|
-
return cn(
|
|
50
|
-
`grid h-full overflow-y-auto `,
|
|
51
|
-
`min-w-min overflow-x-auto`,
|
|
52
|
-
{
|
|
53
|
-
"items-start content-start": !isCentered && !isDivided && !hasLeftServiceColumn,
|
|
54
|
-
"grid place-items-center": isCentered,
|
|
55
|
-
"grid-cols-[1fr_1fr]": isDivided && !hasLeftServiceColumn,
|
|
56
|
-
"grid-cols-[12rem_1fr_1fr]": isDivided && hasLeftServiceColumn,
|
|
57
|
-
"grid-cols-[auto_1fr]": !isDivided && hasLeftServiceColumn
|
|
58
|
-
},
|
|
59
|
-
className
|
|
60
|
-
);
|
|
61
|
-
};
|
|
62
|
-
function devUIStyleRequested(name) {
|
|
63
|
-
try {
|
|
64
|
-
const raw = localStorage.getItem("add-dev-style-to-components");
|
|
65
|
-
if (!raw) return false;
|
|
66
|
-
const components = raw.split(",").map((c) => c.trim()).filter(Boolean);
|
|
67
|
-
return components.includes(name);
|
|
68
|
-
} catch (error) {
|
|
69
|
-
console.error("Error reading or parsing localStorage:", error);
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
export { MainContentContent, MainContentLayout, getMainContentContentClassName };
|
|
75
|
-
//# sourceMappingURL=MainContent.es.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MainContent.es.js","sources":["../../src/ds/components/MainContent/main-content.tsx"],"sourcesContent":["import { usePageHeading } from '../PageLayout/page-heading-context';\nimport { cn } from '@/lib/utils';\n\nexport function MainContentLayout({\n children,\n className,\n style,\n}: {\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n}) {\n const devStyleRequested = devUIStyleRequested('MainContentLayout');\n const pageHeading = usePageHeading();\n\n return (\n <main\n className={cn(`grid h-full grid-rows-[auto_1fr] content-start items-start`, className)}\n style={{ ...style, ...(devStyleRequested ? { border: '3px dotted red' } : {}) }}\n >\n {pageHeading && <h1 className=\"sr-only\">{pageHeading}</h1>}\n {children}\n </main>\n );\n}\n\nexport type MainContentContentProps = {\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n // content is centered in the middle of the page e.g. for empty state\n isCentered?: boolean;\n // content is split into two columns equal width columns\n isDivided?: boolean;\n // used when the left column is a service column (e.g. agent history nav)\n hasLeftServiceColumn?: boolean;\n};\n\nexport function MainContentContent({\n children,\n className,\n isCentered = false,\n isDivided = false,\n hasLeftServiceColumn = false,\n style,\n}: MainContentContentProps) {\n const devStyleRequested = devUIStyleRequested('MainContentContent');\n const contentClassName = getMainContentContentClassName({ isCentered, isDivided, hasLeftServiceColumn, className });\n\n return (\n <div\n className={contentClassName}\n style={{ ...style, ...(devStyleRequested ? { border: '3px dotted orange' } : {}) }}\n >\n {children}\n </div>\n );\n}\n\nexport type GetMainContentContentClassNameArgs = {\n isCentered: boolean;\n isDivided: boolean;\n hasLeftServiceColumn: boolean;\n className?: string;\n};\n\nexport const getMainContentContentClassName = ({\n isCentered,\n isDivided,\n hasLeftServiceColumn,\n className,\n}: GetMainContentContentClassNameArgs) => {\n return cn(\n `grid h-full overflow-y-auto `,\n `min-w-min overflow-x-auto`,\n {\n 'items-start content-start': !isCentered && !isDivided && !hasLeftServiceColumn,\n 'grid place-items-center': isCentered,\n 'grid-cols-[1fr_1fr]': isDivided && !hasLeftServiceColumn,\n 'grid-cols-[12rem_1fr_1fr]': isDivided && hasLeftServiceColumn,\n 'grid-cols-[auto_1fr]': !isDivided && hasLeftServiceColumn,\n },\n className,\n );\n};\n\nfunction devUIStyleRequested(name: string) {\n try {\n const raw = localStorage.getItem('add-dev-style-to-components');\n if (!raw) return false;\n\n const components = raw\n .split(',')\n .map(c => c.trim())\n .filter(Boolean); // remove empty strings\n\n return components.includes(name);\n } catch (error) {\n console.error('Error reading or parsing localStorage:', error);\n return false;\n }\n}\n"],"names":[],"mappings":";;;;AAGO,SAAS,iBAAA,CAAkB;AAAA,EAChC,QAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAIG;AACD,EAAA,MAAM,iBAAA,GAAoB,oBAAoB,mBAAmB,CAAA;AACjE,EAAA,MAAM,cAAc,cAAA,EAAe;AAEnC,EAAA,uBACE,IAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,CAAA,0DAAA,CAAA,EAA8D,SAAS,CAAA;AAAA,MACrF,KAAA,EAAO,EAAE,GAAG,KAAA,EAAO,GAAI,iBAAA,GAAoB,EAAE,MAAA,EAAQ,gBAAA,EAAiB,GAAI,EAAC,EAAG;AAAA,MAE7E,QAAA,EAAA;AAAA,QAAA,WAAA,oBAAe,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,WAAA,EAAY,CAAA;AAAA,QACpD;AAAA;AAAA;AAAA,GACH;AAEJ;AAcO,SAAS,kBAAA,CAAmB;AAAA,EACjC,QAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,SAAA,GAAY,KAAA;AAAA,EACZ,oBAAA,GAAuB,KAAA;AAAA,EACvB;AACF,CAAA,EAA4B;AAC1B,EAAA,MAAM,iBAAA,GAAoB,oBAAoB,oBAAoB,CAAA;AAClE,EAAA,MAAM,mBAAmB,8BAAA,CAA+B,EAAE,YAAY,SAAA,EAAW,oBAAA,EAAsB,WAAW,CAAA;AAElH,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,gBAAA;AAAA,MACX,KAAA,EAAO,EAAE,GAAG,KAAA,EAAO,GAAI,iBAAA,GAAoB,EAAE,MAAA,EAAQ,mBAAA,EAAoB,GAAI,EAAC,EAAG;AAAA,MAEhF;AAAA;AAAA,GACH;AAEJ;AASO,MAAM,iCAAiC,CAAC;AAAA,EAC7C,UAAA;AAAA,EACA,SAAA;AAAA,EACA,oBAAA;AAAA,EACA;AACF,CAAA,KAA0C;AACxC,EAAA,OAAO,EAAA;AAAA,IACL,CAAA,4BAAA,CAAA;AAAA,IACA,CAAA,yBAAA,CAAA;AAAA,IACA;AAAA,MACE,2BAAA,EAA6B,CAAC,UAAA,IAAc,CAAC,aAAa,CAAC,oBAAA;AAAA,MAC3D,yBAAA,EAA2B,UAAA;AAAA,MAC3B,qBAAA,EAAuB,aAAa,CAAC,oBAAA;AAAA,MACrC,6BAA6B,SAAA,IAAa,oBAAA;AAAA,MAC1C,sBAAA,EAAwB,CAAC,SAAA,IAAa;AAAA,KACxC;AAAA,IACA;AAAA,GACF;AACF;AAEA,SAAS,oBAAoB,IAAA,EAAc;AACzC,EAAA,IAAI;AACF,IAAA,MAAM,GAAA,GAAM,YAAA,CAAa,OAAA,CAAQ,6BAA6B,CAAA;AAC9D,IAAA,IAAI,CAAC,KAAK,OAAO,KAAA;AAEjB,IAAA,MAAM,UAAA,GAAa,GAAA,CAChB,KAAA,CAAM,GAAG,CAAA,CACT,GAAA,CAAI,CAAA,CAAA,KAAK,CAAA,CAAE,IAAA,EAAM,CAAA,CACjB,MAAA,CAAO,OAAO,CAAA;AAEjB,IAAA,OAAO,UAAA,CAAW,SAAS,IAAI,CAAA;AAAA,EACjC,SAAS,KAAA,EAAO;AACd,IAAA,OAAA,CAAQ,KAAA,CAAM,0CAA0C,KAAK,CAAA;AAC7D,IAAA,OAAO,KAAA;AAAA,EACT;AACF;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-code-section-DKz9Okaz.js","sources":["../src/ds/components/DataCodeSection/data-code-section.tsx"],"sourcesContent":["import { json } from '@codemirror/lang-json';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport { Chunk } from '@codemirror/merge';\nimport { SearchCursor } from '@codemirror/search';\nimport type { Extension } from '@codemirror/state';\nimport { StateEffect, StateField, RangeSetBuilder, Text } from '@codemirror/state';\nimport type { DecorationSet } from '@codemirror/view';\nimport { Decoration, EditorView } from '@codemirror/view';\nimport { tags as t } from '@lezer/highlight';\nimport { draculaInit } from '@uiw/codemirror-theme-dracula';\nimport type { ReactCodeMirrorRef } from '@uiw/react-codemirror';\nimport ReactCodeMirror from '@uiw/react-codemirror';\nimport { AlignJustifyIcon, AlignLeftIcon, ExpandIcon, XIcon } from 'lucide-react';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { DataPanelSectionHeading } from '@/ds/components/DataPanel/data-panel-section-heading';\nimport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n} from '@/ds/components/Dialog';\nimport { SearchFieldBlock } from '@/ds/components/FormFieldBlocks/fields/search-field-block';\nimport { useTheme } from '@/ds/components/ThemeProvider';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\n// -- Search highlight extension -----------------------------------------------\n\nconst setSearchQuery = StateEffect.define<string>();\n\nconst searchHighlightMark = Decoration.mark({ class: 'cm-search-match' });\n\nconst searchHighlightField = StateField.define<DecorationSet>({\n create() {\n return Decoration.none;\n },\n update(decorations, tr) {\n for (const effect of tr.effects) {\n if (effect.is(setSearchQuery)) {\n const query = effect.value;\n if (!query) return Decoration.none;\n const builder = new RangeSetBuilder<Decoration>();\n const cursor = new SearchCursor(tr.state.doc, query, 0, tr.state.doc.length, (a: string) => a.toLowerCase());\n while (!cursor.next().done) {\n builder.add(cursor.value.from, cursor.value.to, searchHighlightMark);\n }\n return builder.finish();\n }\n }\n return decorations;\n },\n provide: f => EditorView.decorations.from(f),\n});\n\nconst searchHighlightTheme = EditorView.baseTheme({\n '.cm-search-match': {\n backgroundColor: 'color-mix(in srgb, var(--accent1) 60%, transparent)',\n borderRadius: 'var(--radius-sm)',\n },\n});\n\nfunction searchHighlightExtension(): Extension {\n return [searchHighlightField, searchHighlightTheme];\n}\n\n// -- Diff highlight extension -------------------------------------------------\n\nexport interface DataCodeSectionDiff {\n /** The other document to compare against. */\n against: string;\n /** `a` = this document is the \"before\" (changes in red), `b` = \"after\" (changes in green). */\n side: 'a' | 'b';\n}\n\n// `EditorView.theme` (not baseTheme) so these win over the app theme's `.cm-activeLine { background: transparent }`.\nconst diffLineTheme = EditorView.theme({\n '.cm-line.cm-diff-removed, .cm-line.cm-diff-removed.cm-activeLine': {\n backgroundColor: 'color-mix(in srgb, var(--accent2) 18%, transparent)',\n },\n '.cm-line.cm-diff-added, .cm-line.cm-diff-added.cm-activeLine': {\n backgroundColor: 'color-mix(in srgb, var(--accent1) 18%, transparent)',\n },\n});\n\nfunction diffHighlightExtension(doc: string, { against, side }: DataCodeSectionDiff): Extension {\n const [a, b] = side === 'a' ? [doc, against] : [against, doc];\n const text = Text.of(doc.split('\\n'));\n const line = Decoration.line({ class: side === 'a' ? 'cm-diff-removed' : 'cm-diff-added' });\n const builder = new RangeSetBuilder<Decoration>();\n for (const chunk of Chunk.build(Text.of(a.split('\\n')), Text.of(b.split('\\n')))) {\n const from = side === 'a' ? chunk.fromA : chunk.fromB;\n const to = side === 'a' ? chunk.endA : chunk.endB;\n if (from >= to) continue;\n for (let pos = from; pos <= Math.min(to, text.length);) {\n const l = text.lineAt(pos);\n builder.add(l.from, l.from, line);\n if (l.to >= to) break;\n pos = l.to + 1;\n }\n }\n return [EditorView.decorations.of(builder.finish()), diffLineTheme];\n}\n\n// -- Themes -------------------------------------------------------------------\n\nfunction buildDarkTheme(): Extension {\n return draculaInit({\n settings: {\n fontFamily: 'var(--font-mono)',\n fontSize: 'var(--text-caption)',\n lineHighlight: 'transparent',\n gutterBackground: 'transparent',\n gutterForeground: '#939393',\n background: 'transparent',\n },\n styles: [{ tag: [t.className, t.propertyName] }],\n });\n}\n\nfunction buildLightTheme(): Extension {\n const editorTheme = EditorView.theme({\n '&': {\n backgroundColor: 'transparent',\n color: 'var(--foreground)',\n fontSize: 'var(--text-caption)',\n },\n '&.cm-editor .cm-scroller': {\n fontFamily: 'var(--font-mono)',\n },\n '.cm-gutters': {\n backgroundColor: 'transparent',\n color: 'var(--placeholder)',\n borderRight: 'none',\n },\n '.cm-content': {\n color: 'var(--foreground)',\n caretColor: 'var(--foreground)',\n },\n '.cm-activeLine': {\n backgroundColor: 'transparent',\n },\n '.cm-activeLineGutter': {\n backgroundColor: 'transparent',\n },\n '.cm-cursor, .cm-dropCursor': {\n borderLeftColor: 'var(--foreground)',\n },\n });\n\n const highlightStyle = HighlightStyle.define([\n { tag: [t.comment, t.bracket], color: 'var(--placeholder)' },\n { tag: [t.string, t.meta, t.regexp], color: 'var(--accent1)' },\n { tag: [t.atom, t.bool, t.special(t.variableName)], color: 'var(--accent6)' },\n { tag: [t.keyword, t.operator, t.tagName], color: 'var(--accent2)' },\n { tag: [t.function(t.propertyName), t.propertyName], color: 'var(--accent5)' },\n {\n tag: [t.definition(t.variableName), t.function(t.variableName), t.className, t.attributeName],\n color: 'var(--accent3)',\n },\n { tag: [t.variableName, t.number], color: 'var(--accent5)' },\n { tag: [t.name, t.quote], color: 'var(--accent1)' },\n ]);\n\n return [editorTheme, syntaxHighlighting(highlightStyle)];\n}\n\nconst useCodemirrorTheme = (): Extension => {\n const isDark = useTheme().resolvedTheme === 'dark';\n return useMemo(() => (isDark ? buildDarkTheme() : buildLightTheme()), [isDark]);\n};\n\n// -- Component ----------------------------------------------------------------\n\nexport interface DataCodeSectionProps {\n title: React.ReactNode;\n dialogTitle?: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n className?: string;\n /** Highlight lines that differ from another document. */\n diff?: DataCodeSectionDiff;\n /** Extra controls rendered in the header, before the built-in copy/expand buttons. */\n actions?: React.ReactNode;\n}\n\nexport function DataCodeSection({\n codeStr = '',\n title,\n dialogTitle,\n icon,\n simplified = false,\n className,\n diff,\n actions,\n}: DataCodeSectionProps) {\n const theme = useCodemirrorTheme();\n const diffExtension = useMemo(() => (diff ? diffHighlightExtension(codeStr, diff) : []), [codeStr, diff]);\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\n const [searchMinimized, setSearchMinimized] = useState(true);\n const [searchQuery, setSearchQueryState] = useState('');\n const [expandedOpen, setExpandedOpen] = useState(false);\n const [expandedSearchQuery, setExpandedSearchQuery] = useState('');\n const [expandedMultiline, setExpandedMultiline] = useState(false);\n const editorRef = useRef<ReactCodeMirrorRef>(null);\n const expandedEditorRef = useRef<ReactCodeMirrorRef>(null);\n\n const hasMultilineText = useMemo(() => {\n try {\n const parsed = JSON.parse(codeStr);\n return containsInnerNewline(parsed || '');\n } catch {\n return false;\n }\n }, [codeStr]);\n\n const dispatchSearch = useCallback((query: string) => {\n const view = editorRef.current?.view;\n if (view) {\n view.dispatch({ effects: setSearchQuery.of(query) });\n if (query) {\n const cursor = new SearchCursor(view.state.doc, query, 0, view.state.doc.length, (a: string) =>\n a.toLowerCase(),\n );\n if (!cursor.next().done) {\n view.dispatch({\n selection: { anchor: cursor.value.from },\n scrollIntoView: true,\n });\n }\n }\n }\n }, []);\n\n const handleSearchChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const val = e.target.value;\n setSearchQueryState(val);\n dispatchSearch(val);\n },\n [dispatchSearch],\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchQueryState('');\n dispatchSearch('');\n }, [dispatchSearch]);\n\n const dispatchExpandedSearch = useCallback((query: string) => {\n const view = expandedEditorRef.current?.view;\n if (view) {\n view.dispatch({ effects: setSearchQuery.of(query) });\n if (query) {\n const cursor = new SearchCursor(view.state.doc, query, 0, view.state.doc.length, (a: string) =>\n a.toLowerCase(),\n );\n if (!cursor.next().done) {\n view.dispatch({\n selection: { anchor: cursor.value.from },\n scrollIntoView: true,\n });\n }\n }\n }\n }, []);\n\n const handleExpandedSearchChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const val = e.target.value;\n setExpandedSearchQuery(val);\n dispatchExpandedSearch(val);\n },\n [dispatchExpandedSearch],\n );\n\n const handleExpandedSearchReset = useCallback(() => {\n setExpandedSearchQuery('');\n dispatchExpandedSearch('');\n }, [dispatchExpandedSearch]);\n\n const finalCodeStr = showAsMultilineText ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n const expandedFinalCodeStr = expandedMultiline ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n const usePlainTextView = simplified || showAsMultilineText;\n\n if (!codeStr || codeStr === 'null') return null;\n\n return (\n <div className={cn('flex flex-col gap-2', className)}>\n <div className=\"flex items-center justify-between\">\n <DataPanelSectionHeading icon={icon}>{title}</DataPanelSectionHeading>\n <div className=\"flex items-center gap-2\">\n {actions}\n {!usePlainTextView && (\n <SearchFieldBlock\n name=\"code-section-search\"\n label=\"Search code\"\n labelIsHidden\n placeholder=\"Search...\"\n value={searchQuery}\n onChange={handleSearchChange}\n onReset={handleSearchReset}\n size=\"sm\"\n isMinimized={searchMinimized}\n onMinimizedChange={setSearchMinimized}\n />\n )}\n <ButtonsGroup>\n <CopyButton content={codeStr || 'No content'} size=\"sm\" />\n {hasMultilineText && (\n <Button\n size=\"sm\"\n aria-label={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n tooltip={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setShowAsMultilineText(v => !v)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n <Button size=\"sm\" aria-label=\"Expand\" tooltip=\"Expand\" onClick={() => setExpandedOpen(true)}>\n <ExpandIcon />\n </Button>\n </ButtonsGroup>\n </div>\n </div>\n\n <div\n className={cn(\n raisedSurfaceStyle,\n 'text-caption text-muted-foreground max-h-[30vh] overflow-hidden overflow-y-auto rounded-lg p-3 break-all',\n )}\n >\n {usePlainTextView ? (\n <div className=\"text-muted-foreground font-mono break-all\">\n <pre className=\"text-wrap\">{finalCodeStr}</pre>\n </div>\n ) : (\n <ReactCodeMirror\n ref={editorRef}\n extensions={[json(), EditorView.lineWrapping, searchHighlightExtension(), diffExtension]}\n theme={theme}\n value={codeStr}\n editable={false}\n />\n )}\n </div>\n\n <Dialog open={expandedOpen} onOpenChange={setExpandedOpen}>\n <DialogContent className=\"grid h-[calc(100vh-6rem)]! max-w-[90vw]! grid-rows-[auto_1fr] [&>.absolute]:hidden\">\n <DialogHeader className=\"flex-row items-center justify-between\">\n <DialogTitle className=\"text-caption flex min-w-0 items-center gap-1.5 truncate [&>svg]:size-3.5\">\n {dialogTitle ?? (\n <>\n {icon}\n {title}\n </>\n )}\n </DialogTitle>\n <DialogDescription>Expanded code view</DialogDescription>\n <div className=\"flex shrink-0 items-center gap-2\">\n {!expandedMultiline && (\n <SearchFieldBlock\n name=\"expanded-code-search\"\n label=\"Search code\"\n labelIsHidden\n placeholder=\"Search...\"\n value={expandedSearchQuery}\n onChange={handleExpandedSearchChange}\n onReset={handleExpandedSearchReset}\n size=\"sm\"\n />\n )}\n <ButtonsGroup>\n <CopyButton content={codeStr || 'No content'} size=\"sm\" />\n {hasMultilineText && (\n <Button\n size=\"sm\"\n aria-label={expandedMultiline ? 'Show escaped newlines' : 'Show multiline text'}\n tooltip={expandedMultiline ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setExpandedMultiline(v => !v)}\n >\n {expandedMultiline ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n <DialogClose asChild>\n <Button size=\"sm\" aria-label=\"Close\" tooltip=\"Close\">\n <XIcon />\n </Button>\n </DialogClose>\n </ButtonsGroup>\n </div>\n </DialogHeader>\n <div className=\"overflow-auto px-6 pb-6\">\n {expandedMultiline ? (\n <div\n className={cn(\n raisedSurfaceStyle,\n 'text-caption text-muted-foreground overflow-hidden overflow-y-auto rounded-lg p-3 break-all',\n )}\n >\n <div className=\"text-muted-foreground font-mono break-all\">\n <pre className=\"text-wrap\">{expandedFinalCodeStr}</pre>\n </div>\n </div>\n ) : (\n <ReactCodeMirror\n ref={expandedEditorRef}\n extensions={[json(), EditorView.lineWrapping, searchHighlightExtension(), diffExtension]}\n theme={theme}\n value={codeStr}\n editable={false}\n />\n )}\n </div>\n </DialogContent>\n </Dialog>\n </div>\n );\n}\n\nfunction containsInnerNewline(obj: unknown): boolean {\n if (typeof obj === 'string') {\n const idx = obj.indexOf('\\n');\n return idx !== -1 && idx !== obj.length - 1;\n } else if (Array.isArray(obj)) {\n return obj.some(item => containsInnerNewline(item));\n } else if (obj && typeof obj === 'object') {\n return Object.values(obj).some(value => containsInnerNewline(value));\n }\n return false;\n}\n"],"names":["t"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-code-section-qujvEc6j.cjs","sources":["../src/ds/components/DataCodeSection/data-code-section.tsx"],"sourcesContent":["import { json } from '@codemirror/lang-json';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport { Chunk } from '@codemirror/merge';\nimport { SearchCursor } from '@codemirror/search';\nimport type { Extension } from '@codemirror/state';\nimport { StateEffect, StateField, RangeSetBuilder, Text } from '@codemirror/state';\nimport type { DecorationSet } from '@codemirror/view';\nimport { Decoration, EditorView } from '@codemirror/view';\nimport { tags as t } from '@lezer/highlight';\nimport { draculaInit } from '@uiw/codemirror-theme-dracula';\nimport type { ReactCodeMirrorRef } from '@uiw/react-codemirror';\nimport ReactCodeMirror from '@uiw/react-codemirror';\nimport { AlignJustifyIcon, AlignLeftIcon, ExpandIcon, XIcon } from 'lucide-react';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { DataPanelSectionHeading } from '@/ds/components/DataPanel/data-panel-section-heading';\nimport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n} from '@/ds/components/Dialog';\nimport { SearchFieldBlock } from '@/ds/components/FormFieldBlocks/fields/search-field-block';\nimport { useTheme } from '@/ds/components/ThemeProvider';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\n// -- Search highlight extension -----------------------------------------------\n\nconst setSearchQuery = StateEffect.define<string>();\n\nconst searchHighlightMark = Decoration.mark({ class: 'cm-search-match' });\n\nconst searchHighlightField = StateField.define<DecorationSet>({\n create() {\n return Decoration.none;\n },\n update(decorations, tr) {\n for (const effect of tr.effects) {\n if (effect.is(setSearchQuery)) {\n const query = effect.value;\n if (!query) return Decoration.none;\n const builder = new RangeSetBuilder<Decoration>();\n const cursor = new SearchCursor(tr.state.doc, query, 0, tr.state.doc.length, (a: string) => a.toLowerCase());\n while (!cursor.next().done) {\n builder.add(cursor.value.from, cursor.value.to, searchHighlightMark);\n }\n return builder.finish();\n }\n }\n return decorations;\n },\n provide: f => EditorView.decorations.from(f),\n});\n\nconst searchHighlightTheme = EditorView.baseTheme({\n '.cm-search-match': {\n backgroundColor: 'color-mix(in srgb, var(--accent1) 60%, transparent)',\n borderRadius: 'var(--radius-sm)',\n },\n});\n\nfunction searchHighlightExtension(): Extension {\n return [searchHighlightField, searchHighlightTheme];\n}\n\n// -- Diff highlight extension -------------------------------------------------\n\nexport interface DataCodeSectionDiff {\n /** The other document to compare against. */\n against: string;\n /** `a` = this document is the \"before\" (changes in red), `b` = \"after\" (changes in green). */\n side: 'a' | 'b';\n}\n\n// `EditorView.theme` (not baseTheme) so these win over the app theme's `.cm-activeLine { background: transparent }`.\nconst diffLineTheme = EditorView.theme({\n '.cm-line.cm-diff-removed, .cm-line.cm-diff-removed.cm-activeLine': {\n backgroundColor: 'color-mix(in srgb, var(--accent2) 18%, transparent)',\n },\n '.cm-line.cm-diff-added, .cm-line.cm-diff-added.cm-activeLine': {\n backgroundColor: 'color-mix(in srgb, var(--accent1) 18%, transparent)',\n },\n});\n\nfunction diffHighlightExtension(doc: string, { against, side }: DataCodeSectionDiff): Extension {\n const [a, b] = side === 'a' ? [doc, against] : [against, doc];\n const text = Text.of(doc.split('\\n'));\n const line = Decoration.line({ class: side === 'a' ? 'cm-diff-removed' : 'cm-diff-added' });\n const builder = new RangeSetBuilder<Decoration>();\n for (const chunk of Chunk.build(Text.of(a.split('\\n')), Text.of(b.split('\\n')))) {\n const from = side === 'a' ? chunk.fromA : chunk.fromB;\n const to = side === 'a' ? chunk.endA : chunk.endB;\n if (from >= to) continue;\n for (let pos = from; pos <= Math.min(to, text.length);) {\n const l = text.lineAt(pos);\n builder.add(l.from, l.from, line);\n if (l.to >= to) break;\n pos = l.to + 1;\n }\n }\n return [EditorView.decorations.of(builder.finish()), diffLineTheme];\n}\n\n// -- Themes -------------------------------------------------------------------\n\nfunction buildDarkTheme(): Extension {\n return draculaInit({\n settings: {\n fontFamily: 'var(--font-mono)',\n fontSize: 'var(--text-caption)',\n lineHighlight: 'transparent',\n gutterBackground: 'transparent',\n gutterForeground: '#939393',\n background: 'transparent',\n },\n styles: [{ tag: [t.className, t.propertyName] }],\n });\n}\n\nfunction buildLightTheme(): Extension {\n const editorTheme = EditorView.theme({\n '&': {\n backgroundColor: 'transparent',\n color: 'var(--foreground)',\n fontSize: 'var(--text-caption)',\n },\n '&.cm-editor .cm-scroller': {\n fontFamily: 'var(--font-mono)',\n },\n '.cm-gutters': {\n backgroundColor: 'transparent',\n color: 'var(--placeholder)',\n borderRight: 'none',\n },\n '.cm-content': {\n color: 'var(--foreground)',\n caretColor: 'var(--foreground)',\n },\n '.cm-activeLine': {\n backgroundColor: 'transparent',\n },\n '.cm-activeLineGutter': {\n backgroundColor: 'transparent',\n },\n '.cm-cursor, .cm-dropCursor': {\n borderLeftColor: 'var(--foreground)',\n },\n });\n\n const highlightStyle = HighlightStyle.define([\n { tag: [t.comment, t.bracket], color: 'var(--placeholder)' },\n { tag: [t.string, t.meta, t.regexp], color: 'var(--accent1)' },\n { tag: [t.atom, t.bool, t.special(t.variableName)], color: 'var(--accent6)' },\n { tag: [t.keyword, t.operator, t.tagName], color: 'var(--accent2)' },\n { tag: [t.function(t.propertyName), t.propertyName], color: 'var(--accent5)' },\n {\n tag: [t.definition(t.variableName), t.function(t.variableName), t.className, t.attributeName],\n color: 'var(--accent3)',\n },\n { tag: [t.variableName, t.number], color: 'var(--accent5)' },\n { tag: [t.name, t.quote], color: 'var(--accent1)' },\n ]);\n\n return [editorTheme, syntaxHighlighting(highlightStyle)];\n}\n\nconst useCodemirrorTheme = (): Extension => {\n const isDark = useTheme().resolvedTheme === 'dark';\n return useMemo(() => (isDark ? buildDarkTheme() : buildLightTheme()), [isDark]);\n};\n\n// -- Component ----------------------------------------------------------------\n\nexport interface DataCodeSectionProps {\n title: React.ReactNode;\n dialogTitle?: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n className?: string;\n /** Highlight lines that differ from another document. */\n diff?: DataCodeSectionDiff;\n /** Extra controls rendered in the header, before the built-in copy/expand buttons. */\n actions?: React.ReactNode;\n}\n\nexport function DataCodeSection({\n codeStr = '',\n title,\n dialogTitle,\n icon,\n simplified = false,\n className,\n diff,\n actions,\n}: DataCodeSectionProps) {\n const theme = useCodemirrorTheme();\n const diffExtension = useMemo(() => (diff ? diffHighlightExtension(codeStr, diff) : []), [codeStr, diff]);\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\n const [searchMinimized, setSearchMinimized] = useState(true);\n const [searchQuery, setSearchQueryState] = useState('');\n const [expandedOpen, setExpandedOpen] = useState(false);\n const [expandedSearchQuery, setExpandedSearchQuery] = useState('');\n const [expandedMultiline, setExpandedMultiline] = useState(false);\n const editorRef = useRef<ReactCodeMirrorRef>(null);\n const expandedEditorRef = useRef<ReactCodeMirrorRef>(null);\n\n const hasMultilineText = useMemo(() => {\n try {\n const parsed = JSON.parse(codeStr);\n return containsInnerNewline(parsed || '');\n } catch {\n return false;\n }\n }, [codeStr]);\n\n const dispatchSearch = useCallback((query: string) => {\n const view = editorRef.current?.view;\n if (view) {\n view.dispatch({ effects: setSearchQuery.of(query) });\n if (query) {\n const cursor = new SearchCursor(view.state.doc, query, 0, view.state.doc.length, (a: string) =>\n a.toLowerCase(),\n );\n if (!cursor.next().done) {\n view.dispatch({\n selection: { anchor: cursor.value.from },\n scrollIntoView: true,\n });\n }\n }\n }\n }, []);\n\n const handleSearchChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const val = e.target.value;\n setSearchQueryState(val);\n dispatchSearch(val);\n },\n [dispatchSearch],\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchQueryState('');\n dispatchSearch('');\n }, [dispatchSearch]);\n\n const dispatchExpandedSearch = useCallback((query: string) => {\n const view = expandedEditorRef.current?.view;\n if (view) {\n view.dispatch({ effects: setSearchQuery.of(query) });\n if (query) {\n const cursor = new SearchCursor(view.state.doc, query, 0, view.state.doc.length, (a: string) =>\n a.toLowerCase(),\n );\n if (!cursor.next().done) {\n view.dispatch({\n selection: { anchor: cursor.value.from },\n scrollIntoView: true,\n });\n }\n }\n }\n }, []);\n\n const handleExpandedSearchChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const val = e.target.value;\n setExpandedSearchQuery(val);\n dispatchExpandedSearch(val);\n },\n [dispatchExpandedSearch],\n );\n\n const handleExpandedSearchReset = useCallback(() => {\n setExpandedSearchQuery('');\n dispatchExpandedSearch('');\n }, [dispatchExpandedSearch]);\n\n const finalCodeStr = showAsMultilineText ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n const expandedFinalCodeStr = expandedMultiline ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n const usePlainTextView = simplified || showAsMultilineText;\n\n if (!codeStr || codeStr === 'null') return null;\n\n return (\n <div className={cn('flex flex-col gap-2', className)}>\n <div className=\"flex items-center justify-between\">\n <DataPanelSectionHeading icon={icon}>{title}</DataPanelSectionHeading>\n <div className=\"flex items-center gap-2\">\n {actions}\n {!usePlainTextView && (\n <SearchFieldBlock\n name=\"code-section-search\"\n label=\"Search code\"\n labelIsHidden\n placeholder=\"Search...\"\n value={searchQuery}\n onChange={handleSearchChange}\n onReset={handleSearchReset}\n size=\"sm\"\n isMinimized={searchMinimized}\n onMinimizedChange={setSearchMinimized}\n />\n )}\n <ButtonsGroup>\n <CopyButton content={codeStr || 'No content'} size=\"sm\" />\n {hasMultilineText && (\n <Button\n size=\"sm\"\n aria-label={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n tooltip={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setShowAsMultilineText(v => !v)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n <Button size=\"sm\" aria-label=\"Expand\" tooltip=\"Expand\" onClick={() => setExpandedOpen(true)}>\n <ExpandIcon />\n </Button>\n </ButtonsGroup>\n </div>\n </div>\n\n <div\n className={cn(\n raisedSurfaceStyle,\n 'text-caption text-muted-foreground max-h-[30vh] overflow-hidden overflow-y-auto rounded-lg p-3 break-all',\n )}\n >\n {usePlainTextView ? (\n <div className=\"text-muted-foreground font-mono break-all\">\n <pre className=\"text-wrap\">{finalCodeStr}</pre>\n </div>\n ) : (\n <ReactCodeMirror\n ref={editorRef}\n extensions={[json(), EditorView.lineWrapping, searchHighlightExtension(), diffExtension]}\n theme={theme}\n value={codeStr}\n editable={false}\n />\n )}\n </div>\n\n <Dialog open={expandedOpen} onOpenChange={setExpandedOpen}>\n <DialogContent className=\"grid h-[calc(100vh-6rem)]! max-w-[90vw]! grid-rows-[auto_1fr] [&>.absolute]:hidden\">\n <DialogHeader className=\"flex-row items-center justify-between\">\n <DialogTitle className=\"text-caption flex min-w-0 items-center gap-1.5 truncate [&>svg]:size-3.5\">\n {dialogTitle ?? (\n <>\n {icon}\n {title}\n </>\n )}\n </DialogTitle>\n <DialogDescription>Expanded code view</DialogDescription>\n <div className=\"flex shrink-0 items-center gap-2\">\n {!expandedMultiline && (\n <SearchFieldBlock\n name=\"expanded-code-search\"\n label=\"Search code\"\n labelIsHidden\n placeholder=\"Search...\"\n value={expandedSearchQuery}\n onChange={handleExpandedSearchChange}\n onReset={handleExpandedSearchReset}\n size=\"sm\"\n />\n )}\n <ButtonsGroup>\n <CopyButton content={codeStr || 'No content'} size=\"sm\" />\n {hasMultilineText && (\n <Button\n size=\"sm\"\n aria-label={expandedMultiline ? 'Show escaped newlines' : 'Show multiline text'}\n tooltip={expandedMultiline ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setExpandedMultiline(v => !v)}\n >\n {expandedMultiline ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n <DialogClose asChild>\n <Button size=\"sm\" aria-label=\"Close\" tooltip=\"Close\">\n <XIcon />\n </Button>\n </DialogClose>\n </ButtonsGroup>\n </div>\n </DialogHeader>\n <div className=\"overflow-auto px-6 pb-6\">\n {expandedMultiline ? (\n <div\n className={cn(\n raisedSurfaceStyle,\n 'text-caption text-muted-foreground overflow-hidden overflow-y-auto rounded-lg p-3 break-all',\n )}\n >\n <div className=\"text-muted-foreground font-mono break-all\">\n <pre className=\"text-wrap\">{expandedFinalCodeStr}</pre>\n </div>\n </div>\n ) : (\n <ReactCodeMirror\n ref={expandedEditorRef}\n extensions={[json(), EditorView.lineWrapping, searchHighlightExtension(), diffExtension]}\n theme={theme}\n value={codeStr}\n editable={false}\n />\n )}\n </div>\n </DialogContent>\n </Dialog>\n </div>\n );\n}\n\nfunction containsInnerNewline(obj: unknown): boolean {\n if (typeof obj === 'string') {\n const idx = obj.indexOf('\\n');\n return idx !== -1 && idx !== obj.length - 1;\n } else if (Array.isArray(obj)) {\n return obj.some(item => containsInnerNewline(item));\n } else if (obj && typeof obj === 'object') {\n return Object.values(obj).some(value => containsInnerNewline(value));\n }\n return false;\n}\n"],"names":["StateEffect","Decoration","StateField","RangeSetBuilder","SearchCursor","EditorView","Text","Chunk","draculaInit","t","HighlightStyle","syntaxHighlighting","useTheme","useMemo","useState","useRef","useCallback","cn","jsxs","jsx","DataPanelSectionHeading","SearchFieldBlock","ButtonsGroup","CopyButton","Button","AlignLeftIcon","AlignJustifyIcon","ExpandIcon","raisedSurfaceStyle","json","Dialog","DialogContent","DialogHeader","DialogTitle","Fragment","DialogDescription","DialogClose","XIcon"],"mappings":"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"}
|