@mastra/playground-ui 65.0.0-alpha.2 → 65.0.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/components.css +7 -0
- package/dist/{Avatar-98bsFrSV.js → Avatar-BjaG9NU_.js} +10 -8
- package/dist/Avatar-BjaG9NU_.js.map +1 -0
- package/dist/{Avatar-BCj8SvOb.cjs → Avatar-DM90rmwx.cjs} +10 -8
- package/dist/Avatar-DM90rmwx.cjs.map +1 -0
- package/dist/{Button-DH1aTzbs.cjs → Button-C4I05uT4.cjs} +17 -10
- package/dist/Button-C4I05uT4.cjs.map +1 -0
- package/dist/{Button-EGoajBQY.js → Button-D8a5EWJ5.js} +18 -11
- package/dist/Button-D8a5EWJ5.js.map +1 -0
- package/dist/{ErrorBoundary-DQPzT6am.js → ErrorBoundary-C6JifxpQ.js} +2 -2
- package/dist/{ErrorBoundary-DQPzT6am.js.map → ErrorBoundary-C6JifxpQ.js.map} +1 -1
- package/dist/{ErrorBoundary-CpUob9SO.cjs → ErrorBoundary-DP1JqmTo.cjs} +2 -2
- package/dist/{ErrorBoundary-CpUob9SO.cjs.map → ErrorBoundary-DP1JqmTo.cjs.map} +1 -1
- package/dist/Notice-BioYTS4b.js.map +1 -1
- package/dist/Notice-DYgIy4FO.cjs.map +1 -1
- package/dist/{activity-CsTUr5_l.js → activity-B7c_nQMn.js} +2 -2
- package/dist/activity-B7c_nQMn.js.map +1 -0
- package/dist/{activity-2tovEdIP.cjs → activity-D3iI9pYN.cjs} +2 -2
- package/dist/activity-D3iI9pYN.cjs.map +1 -0
- package/dist/{alert-dialog-B7JTnkF4.js → alert-dialog-B13NSeKN.js} +3 -3
- package/dist/{alert-dialog-B7JTnkF4.js.map → alert-dialog-B13NSeKN.js.map} +1 -1
- package/dist/{alert-dialog-B1gWLQm2.cjs → alert-dialog-DY2JJAnk.cjs} +3 -3
- package/dist/{alert-dialog-B1gWLQm2.cjs.map → alert-dialog-DY2JJAnk.cjs.map} +1 -1
- package/dist/arrival-C1hkyLHm.js.map +1 -1
- package/dist/arrival-Cvxloi0B.cjs.map +1 -1
- package/dist/{ask-user-card-DroerVbm.cjs → ask-user-card-DiFQcUzM.cjs} +2 -2
- package/dist/ask-user-card-DiFQcUzM.cjs.map +1 -0
- package/dist/{ask-user-card-BCjsjimu.js → ask-user-card-DnvW7jXS.js} +2 -2
- package/dist/{ask-user-card-BCjsjimu.js.map → ask-user-card-DnvW7jXS.js.map} +1 -1
- package/dist/{avatar-size-CNR0U-LW.js → avatar-size-BXzy28Bx.js} +4 -1
- package/dist/avatar-size-BXzy28Bx.js.map +1 -0
- package/dist/{avatar-size-DxStOo5A.cjs → avatar-size-DIFE4I8A.cjs} +4 -1
- package/dist/avatar-size-DIFE4I8A.cjs.map +1 -0
- package/dist/buttons-group.css +0 -4
- package/dist/code-DJReJPSX.cjs.map +1 -1
- package/dist/code-DLuATvYu.js.map +1 -1
- package/dist/{code-block-vpcX2sDQ.cjs → code-block-C79fiykv.cjs} +4 -4
- package/dist/{code-block-vpcX2sDQ.cjs.map → code-block-C79fiykv.cjs.map} +1 -1
- package/dist/{code-block-DIDa6lg6.js → code-block-D6A1DMv-.js} +4 -4
- package/dist/{code-block-DIDa6lg6.js.map → code-block-D6A1DMv-.js.map} +1 -1
- package/dist/{code-editor-BDxYMkGm.js → code-editor-8Fpinga4.js} +2 -2
- package/dist/{code-editor-BDxYMkGm.js.map → code-editor-8Fpinga4.js.map} +1 -1
- package/dist/{code-editor-DQuJ1XXd.cjs → code-editor-Bd-Cldem.cjs} +2 -2
- package/dist/{code-editor-DQuJ1XXd.cjs.map → code-editor-Bd-Cldem.cjs.map} +1 -1
- package/dist/{collapsible-box-B9ATVQzW.cjs → collapsible-box-CzU0OwJx.cjs} +2 -2
- package/dist/{collapsible-box-B9ATVQzW.cjs.map → collapsible-box-CzU0OwJx.cjs.map} +1 -1
- package/dist/{collapsible-box-CMBYunuM.js → collapsible-box-DotFa3hr.js} +2 -2
- package/dist/{collapsible-box-CMBYunuM.js.map → collapsible-box-DotFa3hr.js.map} +1 -1
- package/dist/{combobox-Bw13EcK0.js → combobox-BCoCVZHs.js} +7 -5
- package/dist/combobox-BCoCVZHs.js.map +1 -0
- package/dist/{combobox-BNlVCFgY.cjs → combobox-DbZAWh8q.cjs} +7 -5
- package/dist/combobox-DbZAWh8q.cjs.map +1 -0
- package/dist/{combobox-styles-Dr66ofEp.js → combobox-styles-Cens2tsx.js} +2 -2
- package/dist/{combobox-styles-Dr66ofEp.js.map → combobox-styles-Cens2tsx.js.map} +1 -1
- package/dist/{combobox-styles-BK2nGTNl.cjs → combobox-styles-Cy4rpw03.cjs} +2 -2
- package/dist/{combobox-styles-BK2nGTNl.cjs.map → combobox-styles-Cy4rpw03.cjs.map} +1 -1
- package/dist/{command-UEPxVJlE.cjs → command-Duh5C_Pm.cjs} +2 -2
- package/dist/command-Duh5C_Pm.cjs.map +1 -0
- package/dist/{command-V9rsKc7P.js → command-xIH7ZTdl.js} +2 -2
- package/dist/command-xIH7ZTdl.js.map +1 -0
- package/dist/components/AlertDialog.cjs.js +1 -1
- package/dist/components/AlertDialog.es.js +1 -1
- package/dist/components/Avatar.cjs.js +1 -1
- package/dist/components/Avatar.es.js +1 -1
- package/dist/components/Breadcrumb.cjs.js +7 -4
- package/dist/components/Breadcrumb.cjs.js.map +1 -1
- package/dist/components/Breadcrumb.es.js +7 -4
- package/dist/components/Breadcrumb.es.js.map +1 -1
- package/dist/components/Button.cjs.js +1 -1
- package/dist/components/Button.es.js +2 -2
- package/dist/components/ClampedText.cjs.js +2 -2
- package/dist/components/ClampedText.cjs.js.map +1 -1
- package/dist/components/ClampedText.es.js +2 -2
- package/dist/components/ClampedText.es.js.map +1 -1
- package/dist/components/CodeBlock.cjs.js +1 -1
- package/dist/components/CodeBlock.es.js +1 -1
- package/dist/components/CodeEditor.cjs.js +1 -1
- package/dist/components/CodeEditor.es.js +1 -1
- package/dist/components/CollapsibleBox.cjs.js +1 -1
- package/dist/components/CollapsibleBox.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 +1 -1
- package/dist/components/CommandPalette.es.js +1 -1
- package/dist/components/Comment.cjs.js +2 -2
- package/dist/components/Comment.es.js +2 -2
- 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 +2 -2
- package/dist/components/DataDetailsPanel.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 +15 -17
- package/dist/components/DataList.cjs.js.map +1 -1
- package/dist/components/DataList.es.js +4 -5
- 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 +1 -1
- package/dist/components/DateRangeTimeline.es.js +1 -1
- package/dist/components/DateTimePicker.cjs.js +2 -2
- package/dist/components/DateTimePicker.es.js +2 -2
- 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 +2 -2
- package/dist/components/DisabledFeatureButton.cjs.js +1 -1
- package/dist/components/DisabledFeatureButton.es.js +1 -1
- package/dist/components/Drawer.cjs.js +1 -1
- package/dist/components/Drawer.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +3 -3
- package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
- package/dist/components/EnvironmentVariablesEditor.es.js +3 -3
- package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
- package/dist/components/ErrorBoundary.cjs.js +1 -1
- package/dist/components/ErrorBoundary.es.js +1 -1
- package/dist/components/FilterBar.cjs.js +8 -31
- package/dist/components/FilterBar.cjs.js.map +1 -1
- package/dist/components/FilterBar.es.js +10 -33
- package/dist/components/FilterBar.es.js.map +1 -1
- package/dist/components/FormFieldBlocks.cjs.js +3 -3
- package/dist/components/FormFieldBlocks.cjs.js.map +1 -1
- package/dist/components/FormFieldBlocks.es.js +3 -3
- package/dist/components/FormFieldBlocks.es.js.map +1 -1
- package/dist/components/InputGroup.cjs.js +1 -1
- package/dist/components/InputGroup.es.js +1 -1
- package/dist/components/InputNumber.cjs.js +2 -2
- package/dist/components/InputNumber.es.js +2 -2
- package/dist/components/JSONSchemaForm.cjs.js +2 -2
- package/dist/components/JSONSchemaForm.es.js +2 -2
- package/dist/components/ListSearch.cjs.js +1 -1
- package/dist/components/ListSearch.es.js +1 -1
- package/dist/components/LogsDataList.cjs.js +5 -2
- package/dist/components/LogsDataList.cjs.js.map +1 -1
- package/dist/components/LogsDataList.es.js +5 -2
- package/dist/components/LogsDataList.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 +1 -1
- package/dist/components/Message.es.js +1 -1
- package/dist/components/MetricsCard.cjs.js +1 -1
- package/dist/components/MetricsCard.es.js +1 -1
- package/dist/components/PrevNextNav.cjs.js +1 -1
- package/dist/components/PrevNextNav.es.js +1 -1
- package/dist/components/ProductAvatar.cjs.js +2 -1
- package/dist/components/ProductAvatar.cjs.js.map +1 -1
- package/dist/components/ProductAvatar.es.js +2 -1
- package/dist/components/ProductAvatar.es.js.map +1 -1
- package/dist/components/PropertyFilter.cjs.js +4 -4
- package/dist/components/PropertyFilter.cjs.js.map +1 -1
- package/dist/components/PropertyFilter.es.js +5 -5
- package/dist/components/PropertyFilter.es.js.map +1 -1
- package/dist/components/RuleBuilder.cjs.js +3 -2
- package/dist/components/RuleBuilder.cjs.js.map +1 -1
- package/dist/components/RuleBuilder.es.js +3 -2
- package/dist/components/RuleBuilder.es.js.map +1 -1
- package/dist/components/SavedViews.cjs.js +4 -8
- package/dist/components/SavedViews.cjs.js.map +1 -1
- package/dist/components/SavedViews.es.js +5 -9
- package/dist/components/SavedViews.es.js.map +1 -1
- package/dist/components/SearchInput.cjs.js +1 -1
- package/dist/components/SearchInput.es.js +1 -1
- package/dist/components/Select.cjs.js +1 -1
- package/dist/components/Select.es.js +1 -1
- package/dist/components/SideDialog.cjs.js +1 -1
- package/dist/components/SideDialog.es.js +1 -1
- package/dist/components/Sidebar.cjs.js +3 -3
- package/dist/components/Sidebar.cjs.js.map +1 -1
- package/dist/components/Sidebar.es.js +3 -3
- package/dist/components/Sidebar.es.js.map +1 -1
- package/dist/components/StatusIndicators.cjs.js.map +1 -1
- package/dist/components/StatusIndicators.es.js.map +1 -1
- package/dist/components/Table.cjs.js.map +1 -1
- package/dist/components/Table.es.js.map +1 -1
- package/dist/components/Tabs.cjs.js +1 -1
- package/dist/components/Tabs.es.js +1 -1
- package/dist/components/ThreadList.cjs.js +1 -1
- package/dist/components/ThreadList.es.js +1 -1
- package/dist/components/ThreadRail.cjs.js.map +1 -1
- package/dist/components/ThreadRail.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 +6 -6
- package/dist/components/Workflow.es.js +6 -6
- package/dist/components/ai/activity.cjs.js +4 -4
- package/dist/components/ai/activity.es.js +4 -4
- package/dist/components/ai/ask-user.cjs.js +1 -1
- package/dist/components/ai/ask-user.es.js +1 -1
- package/dist/components/ai/plan.cjs.js +1 -1
- package/dist/components/ai/plan.es.js +1 -1
- package/dist/components/ai/tool-approval.cjs.js +1 -1
- package/dist/components/ai/tool-approval.es.js +1 -1
- package/dist/components/ai/tool-call.cjs.js +4 -4
- package/dist/components/ai/tool-call.es.js +4 -4
- package/dist/composer-Bs4iyUfe.js.map +1 -1
- package/dist/composer-CDQnP3og.cjs.map +1 -1
- package/dist/context-menu-C67xhcfa.js.map +1 -1
- package/dist/context-menu-jNuzE86D.cjs.map +1 -1
- package/dist/{copy-button-Cd0keCti.cjs → copy-button-BC02oZJo.cjs} +2 -2
- package/dist/{copy-button-Cd0keCti.cjs.map → copy-button-BC02oZJo.cjs.map} +1 -1
- package/dist/{copy-button-C_M3Tu_-.js → copy-button-B_i9lwFJ.js} +2 -2
- package/dist/{copy-button-C_M3Tu_-.js.map → copy-button-B_i9lwFJ.js.map} +1 -1
- package/dist/{data-code-section-lj3PaHjc.cjs → data-code-section-BJa6NDgN.cjs} +5 -5
- package/dist/{data-code-section-lj3PaHjc.cjs.map → data-code-section-BJa6NDgN.cjs.map} +1 -1
- package/dist/{data-code-section-mpRgtM8j.js → data-code-section-Cjs-piiY.js} +5 -5
- package/dist/{data-code-section-mpRgtM8j.js.map → data-code-section-Cjs-piiY.js.map} +1 -1
- package/dist/{data-keys-and-values-1lYi60YK.cjs → data-keys-and-values-DBXIqeXt.cjs} +2 -2
- package/dist/data-keys-and-values-DBXIqeXt.cjs.map +1 -0
- package/dist/{data-keys-and-values-CHpxKsfq.js → data-keys-and-values-DHp6cHJo.js} +2 -2
- package/dist/data-keys-and-values-DHp6cHJo.js.map +1 -0
- package/dist/{data-list-top-DJh08vFA.cjs → data-list-DlXU1PLQ.cjs} +339 -13
- package/dist/data-list-DlXU1PLQ.cjs.map +1 -0
- package/dist/{data-list-top-T-mtdIUp.js → data-list-Tor18oy5.js} +332 -5
- package/dist/data-list-Tor18oy5.js.map +1 -0
- package/dist/{data-list-skeleton-bNfITSHs.js → data-list-skeleton-CXUB-u3p.js} +2 -2
- package/dist/{data-list-skeleton-bNfITSHs.js.map → data-list-skeleton-CXUB-u3p.js.map} +1 -1
- package/dist/{data-list-skeleton-sdcaabdX.cjs → data-list-skeleton-DY0F40WQ.cjs} +6 -6
- package/dist/{data-list-skeleton-sdcaabdX.cjs.map → data-list-skeleton-DY0F40WQ.cjs.map} +1 -1
- package/dist/{data-panel-BkfjzriB.cjs → data-panel-DGNV14pm.cjs} +20 -9
- package/dist/data-panel-DGNV14pm.cjs.map +1 -0
- package/dist/{data-panel-CMkR6Avv.js → data-panel-DjtnX70w.js} +20 -9
- package/dist/data-panel-DjtnX70w.js.map +1 -0
- package/dist/{date-time-range-picker-BjQVCVUM.cjs → date-time-range-picker-CXGab8Nj.cjs} +3 -3
- package/dist/{date-time-range-picker-BjQVCVUM.cjs.map → date-time-range-picker-CXGab8Nj.cjs.map} +1 -1
- package/dist/{date-time-range-picker-D-EECKzz.js → date-time-range-picker-CcnDMZJu.js} +3 -3
- package/dist/{date-time-range-picker-D-EECKzz.js.map → date-time-range-picker-CcnDMZJu.js.map} +1 -1
- package/dist/{dialog-j2e95YNV.js → dialog-AzCRnEo3.js} +3 -3
- package/dist/{dialog-j2e95YNV.js.map → dialog-AzCRnEo3.js.map} +1 -1
- package/dist/{dialog-BMUfQ9XU.cjs → dialog-SSeOqRnH.cjs} +3 -3
- package/dist/{dialog-BMUfQ9XU.cjs.map → dialog-SSeOqRnH.cjs.map} +1 -1
- package/dist/{dialog-action-CmFDNyZX.cjs → dialog-action-Caa-pb85.cjs} +3 -3
- package/dist/{dialog-action-CmFDNyZX.cjs.map → dialog-action-Caa-pb85.cjs.map} +1 -1
- package/dist/{dialog-action-zKqvuroE.js → dialog-action-DykMOK2W.js} +3 -3
- package/dist/{dialog-action-zKqvuroE.js.map → dialog-action-DykMOK2W.js.map} +1 -1
- package/dist/domains/auth/components/session-expired.cjs.js +1 -1
- package/dist/domains/auth/components/session-expired.es.js +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.cjs.js +1 -1
- package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
- package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
- package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
- package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
- package/dist/domains/chat/messages/dataset-save-action.cjs.js +5 -5
- package/dist/domains/chat/messages/dataset-save-action.es.js +5 -5
- package/dist/domains/chat/messages/message-row.cjs.js +4 -4
- package/dist/domains/chat/messages/message-row.es.js +4 -4
- 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/renderers/message-text.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.cjs.js.map +1 -1
- package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.es.js.map +1 -1
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
- package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
- package/dist/domains/chat/messages/signal-badge.es.js +1 -1
- package/dist/domains/chat/messages/skill-message.cjs.js +3 -3
- package/dist/domains/chat/messages/skill-message.es.js +3 -3
- package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
- package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
- package/dist/domains/chat/om/om-parts-converter.cjs.js.map +1 -1
- package/dist/domains/chat/om/om-parts-converter.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.cjs.js +4 -4
- package/dist/domains/chat/tools/badges/agent-badge.es.js +4 -4
- package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/file-tree-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.cjs.js +3 -3
- package/dist/domains/chat/tools/badges/tool-badge.es.js +3 -3
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +6 -3
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +6 -3
- package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/submit-plan-tool.cjs.js +2 -2
- package/dist/domains/chat/tools/submit-plan-tool.es.js +2 -2
- package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-card.es.js +1 -1
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +4 -4
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +4 -4
- package/dist/domains/logs/components/log-data-panel.cjs.js +4 -4
- package/dist/domains/logs/components/log-data-panel.es.js +4 -4
- package/dist/domains/logs/components/logs-list-view.cjs.js +3 -2
- package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
- package/dist/domains/logs/components/logs-list-view.es.js +3 -2
- package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
- package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
- package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
- package/dist/domains/logs/components/no-logs-info.es.js +1 -1
- package/dist/domains/mcps/components/mcp-app-viewer.cjs.js.map +1 -1
- package/dist/domains/mcps/components/mcp-app-viewer.es.js.map +1 -1
- package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
- package/dist/domains/memory/components/flame-graph.es.js +1 -1
- package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
- package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
- package/dist/domains/metrics/components/agent-runs-card.cjs.js +1 -1
- package/dist/domains/metrics/components/agent-runs-card.es.js +1 -1
- package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
- package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
- package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
- package/dist/domains/metrics/components/chart-area.es.js +1 -1
- package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
- package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
- package/dist/domains/metrics/components/chart-card.cjs.js +1 -1
- package/dist/domains/metrics/components/chart-card.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/failure-rate-card.cjs.js +1 -1
- package/dist/domains/metrics/components/failure-rate-card.es.js +1 -1
- package/dist/domains/metrics/components/latency-card.cjs.js +1 -1
- package/dist/domains/metrics/components/latency-card.es.js +1 -1
- package/dist/domains/metrics/components/scores-card.cjs.js +1 -1
- package/dist/domains/metrics/components/scores-card.es.js +1 -1
- package/dist/domains/metrics/components/token-usage-card.cjs.js +1 -1
- package/dist/domains/metrics/components/token-usage-card.es.js +1 -1
- package/dist/domains/metrics/components/trace-volume-card.cjs.js +1 -1
- package/dist/domains/metrics/components/trace-volume-card.es.js +1 -1
- package/dist/domains/metrics/components/usage-card.cjs.js +1 -1
- package/dist/domains/metrics/components/usage-card.es.js +1 -1
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +4 -4
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +4 -4
- package/dist/domains/scores/components/score-data-panel.cjs.js +3 -3
- package/dist/domains/scores/components/score-data-panel.es.js +3 -3
- package/dist/domains/scores/components/span-scoring.cjs.js +3 -3
- package/dist/domains/scores/components/span-scoring.es.js +3 -3
- package/dist/domains/scores/components/trace-scores-tab.cjs.js +2 -1
- package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js +2 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
- package/dist/domains/traces/components/feedback-thread.cjs.js +4 -4
- package/dist/domains/traces/components/feedback-thread.cjs.js.map +1 -1
- package/dist/domains/traces/components/feedback-thread.es.js +4 -4
- package/dist/domains/traces/components/feedback-thread.es.js.map +1 -1
- package/dist/domains/traces/components/shared.cjs.js +4 -3
- package/dist/domains/traces/components/shared.cjs.js.map +1 -1
- package/dist/domains/traces/components/shared.es.js +5 -4
- package/dist/domains/traces/components/shared.es.js.map +1 -1
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +4 -4
- package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-data-panel-view.es.js +4 -4
- package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
- 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 +2 -2
- package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -3
- 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 +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-registry.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-registry.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-section.es.js +3 -3
- 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-payload/span-processor-attributes.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +2 -2
- package/dist/domains/traces/components/span-rows.cjs.js +5 -0
- package/dist/domains/traces/components/span-rows.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-rows.es.js +5 -0
- package/dist/domains/traces/components/span-rows.es.js.map +1 -1
- 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 +34 -28
- package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-timeline-row.es.js +34 -28
- package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -1
- package/dist/domains/traces/components/span-timing-hover-card.cjs.js +1 -1
- package/dist/domains/traces/components/span-timing-hover-card.es.js +1 -1
- package/dist/domains/traces/components/span-token-usage.cjs.js +1 -1
- package/dist/domains/traces/components/span-token-usage.es.js +1 -1
- package/dist/domains/traces/components/span-tree-rail.cjs.js +50 -0
- package/dist/domains/traces/components/span-tree-rail.cjs.js.map +1 -0
- package/dist/domains/traces/components/span-tree-rail.d.ts +2 -0
- package/dist/domains/traces/components/span-tree-rail.es.js +42 -0
- package/dist/domains/traces/components/span-tree-rail.es.js.map +1 -0
- package/dist/domains/traces/components/span-tree-row.cjs.js +2 -2
- package/dist/domains/traces/components/span-tree-row.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-tree-row.es.js +2 -2
- package/dist/domains/traces/components/span-tree-row.es.js.map +1 -1
- package/dist/domains/traces/components/span-type-badge.cjs.js +29 -0
- package/dist/domains/traces/components/span-type-badge.cjs.js.map +1 -0
- package/dist/domains/traces/components/span-type-badge.d.ts +2 -0
- package/dist/domains/traces/components/span-type-badge.es.js +25 -0
- package/dist/domains/traces/components/span-type-badge.es.js.map +1 -0
- package/dist/domains/traces/components/span-type-legend.cjs.js +2 -2
- package/dist/domains/traces/components/span-type-legend.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-type-legend.es.js +2 -2
- package/dist/domains/traces/components/span-type-legend.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js.map +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.es.js +2 -2
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js +2 -1
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.es.js +2 -1
- package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
- package/dist/domains/traces/components/timeline-name-col.cjs.js +53 -27
- package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
- package/dist/domains/traces/components/timeline-name-col.es.js +54 -28
- package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
- package/dist/domains/traces/components/timeline-structure-sign.cjs.js +23 -14
- package/dist/domains/traces/components/timeline-structure-sign.cjs.js.map +1 -1
- package/dist/domains/traces/components/timeline-structure-sign.es.js +24 -15
- package/dist/domains/traces/components/timeline-structure-sign.es.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +4 -4
- package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.es.js +4 -4
- package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +32 -5
- 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 +32 -5
- package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel.cjs.js +5 -2
- package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel.es.js +5 -2
- package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
- package/dist/domains/traces/components/trace-error-cell.cjs.js +35 -0
- package/dist/domains/traces/components/trace-error-cell.cjs.js.map +1 -0
- package/dist/domains/traces/components/trace-error-cell.d.ts +2 -0
- package/dist/domains/traces/components/trace-error-cell.es.js +31 -0
- package/dist/domains/traces/components/trace-error-cell.es.js.map +1 -0
- package/dist/domains/traces/components/trace-error-details.cjs.js +22 -0
- package/dist/domains/traces/components/trace-error-details.cjs.js.map +1 -0
- package/dist/domains/traces/components/trace-error-details.d.ts +2 -0
- package/dist/domains/traces/components/trace-error-details.es.js +18 -0
- package/dist/domains/traces/components/trace-error-details.es.js.map +1 -0
- package/dist/domains/traces/components/trace-error-summary.cjs.js +31 -0
- package/dist/domains/traces/components/trace-error-summary.cjs.js.map +1 -0
- package/dist/domains/traces/components/trace-error-summary.d.ts +2 -0
- package/dist/domains/traces/components/trace-error-summary.es.js +27 -0
- package/dist/domains/traces/components/trace-error-summary.es.js.map +1 -0
- package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
- package/dist/domains/traces/components/trace-id-button.es.js +1 -1
- package/dist/domains/traces/components/trace-span-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-span-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js +7 -7
- package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-tree-skeleton.es.js +7 -7
- package/dist/domains/traces/components/trace-span-tree-skeleton.es.js.map +1 -1
- package/dist/domains/traces/components/trace-span-tree.cjs.js +1 -2
- package/dist/domains/traces/components/trace-span-tree.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-tree.es.js +2 -3
- package/dist/domains/traces/components/trace-span-tree.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-thread-item-view.cjs.js +1 -1
- package/dist/domains/traces/components/trace-thread-item-view.es.js +1 -1
- package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
- package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
- package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
- package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
- package/dist/domains/traces/components/traces-list-view.cjs.js +10 -7
- package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view.es.js +9 -6
- package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +4 -1
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js +4 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-list-navigation.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-list-navigation.es.js.map +1 -1
- package/dist/domains/traces/utils/flatten-to-search-text.cjs.js.map +1 -1
- package/dist/domains/traces/utils/flatten-to-search-text.es.js.map +1 -1
- package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
- package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
- package/dist/domains/workflows/components/workflow-information.cjs.js +1 -1
- package/dist/domains/workflows/components/workflow-information.es.js +1 -1
- package/dist/domains/workflows/components/workflow-step-detail.cjs.js +3 -3
- package/dist/domains/workflows/components/workflow-step-detail.es.js +3 -3
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
- package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
- package/dist/domains/workflows/runs/workflow-run-list.cjs.js +2 -2
- package/dist/domains/workflows/runs/workflow-run-list.es.js +2 -2
- package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
- package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-input-data.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-input-data.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-input-data.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-run-data.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-header.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +3 -3
- package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +3 -3
- package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +1 -1
- package/dist/domains/workspace/components/workspace-active-file.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-active-file.es.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +5 -5
- package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +5 -5
- package/dist/domains/workspace/components/workspace-add-skill.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill.es.js +1 -1
- package/dist/domains/workspace/components/workspace-create-directory.cjs.js +2 -2
- package/dist/domains/workspace/components/workspace-create-directory.es.js +2 -2
- package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
- package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
- package/dist/domains/workspace/components/workspace-search.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-search.es.js +1 -1
- package/dist/domains/workspace/components/workspace-tree.cjs.js +2 -2
- package/dist/domains/workspace/components/workspace-tree.es.js +2 -2
- package/dist/{drawer-DROYPMUm.cjs → drawer-DdTU-nBR.cjs} +2 -2
- package/dist/{drawer-DROYPMUm.cjs.map → drawer-DdTU-nBR.cjs.map} +1 -1
- package/dist/{drawer-C-8E9yHN.js → drawer-mj-G7-Tu.js} +2 -2
- package/dist/{drawer-C-8E9yHN.js.map → drawer-mj-G7-Tu.js.map} +1 -1
- package/dist/dropdown-menu-CQ_48tVI.js.map +1 -1
- package/dist/dropdown-menu-CsynT1aD.cjs.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 +1 -1
- package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
- 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.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +6 -4
- 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 +6 -4
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
- package/dist/ee/signals/examples-pager.cjs.js +1 -1
- package/dist/ee/signals/examples-pager.es.js +1 -1
- package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
- package/dist/ee/signals/noise-detail-panel.es.js +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
- package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
- package/dist/ee/signals/settings/trace-signal-settings.cjs.js +1 -1
- package/dist/ee/signals/settings/trace-signal-settings.es.js +1 -1
- package/dist/ee/signals/signals-error-state.cjs.js +1 -1
- package/dist/ee/signals/signals-error-state.es.js +1 -1
- package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
- package/dist/ee/signals/snapshot-timeline.es.js +1 -1
- package/dist/ee/signals/theme-detail-panel.cjs.js +1 -1
- package/dist/ee/signals/theme-detail-panel.es.js +1 -1
- package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
- package/dist/ee/signals/theme-filter-banner.es.js +1 -1
- package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
- package/dist/ee/signals/trace-insight-view.es.js +1 -1
- package/dist/ee/signals/trace-intelligence-provider.cjs.js.map +1 -1
- package/dist/ee/signals/trace-intelligence-provider.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/{field-error-id-Dbe6IInA.cjs → field-error-id-0yYYU0ar.cjs} +2 -2
- package/dist/{field-error-id-Dbe6IInA.cjs.map → field-error-id-0yYYU0ar.cjs.map} +1 -1
- package/dist/{field-error-id-Sqhk00e4.js → field-error-id-CdzuQK5c.js} +2 -2
- package/dist/{field-error-id-Sqhk00e4.js.map → field-error-id-CdzuQK5c.js.map} +1 -1
- package/dist/{filter-bar-chip-BarAq1S2.js → filter-bar-chip-C9CXOudu.js} +3 -3
- package/dist/filter-bar-chip-C9CXOudu.js.map +1 -0
- package/dist/{filter-bar-chip-BJJ6ytJ4.cjs → filter-bar-chip-DgvuQv6c.cjs} +3 -3
- package/dist/filter-bar-chip-DgvuQv6c.cjs.map +1 -0
- package/dist/hooks/use-environment-variables-editor.cjs.js.map +1 -1
- package/dist/hooks/use-environment-variables-editor.es.js.map +1 -1
- package/dist/hooks/use-fluid-hover.cjs.js.map +1 -1
- package/dist/hooks/use-fluid-hover.es.js.map +1 -1
- package/dist/icons/Icon.cjs.js.map +1 -1
- package/dist/icons/Icon.es.js.map +1 -1
- package/dist/icons/SkillIcon.cjs.js.map +1 -1
- package/dist/icons/SkillIcon.es.js.map +1 -1
- package/dist/icons/icon-size-classes.cjs.js +4 -4
- package/dist/icons/icon-size-classes.cjs.js.map +1 -1
- package/dist/icons/icon-size-classes.es.js +4 -4
- package/dist/icons/icon-size-classes.es.js.map +1 -1
- package/dist/{input-group-CiBbTaPP.js → input-group-BAg6iSIe.js} +2 -2
- package/dist/{input-group-CiBbTaPP.js.map → input-group-BAg6iSIe.js.map} +1 -1
- package/dist/{input-group-DSW5WoSU.cjs → input-group-DRXUthxe.cjs} +2 -2
- package/dist/{input-group-DSW5WoSU.cjs.map → input-group-DRXUthxe.cjs.map} +1 -1
- package/dist/keyboard/keyboard-dispatcher.cjs.js +2 -4
- package/dist/keyboard/keyboard-dispatcher.cjs.js.map +1 -1
- package/dist/keyboard/keyboard-dispatcher.es.js +2 -4
- package/dist/keyboard/keyboard-dispatcher.es.js.map +1 -1
- package/dist/keyboard/keyboard-shortcuts-context.cjs.js.map +1 -1
- package/dist/keyboard/keyboard-shortcuts-context.es.js.map +1 -1
- package/dist/keyboard/use-keydown.cjs.js +2 -0
- package/dist/keyboard/use-keydown.cjs.js.map +1 -1
- package/dist/keyboard/use-keydown.es.js +2 -0
- package/dist/keyboard/use-keydown.es.js.map +1 -1
- package/dist/layout/tabbed-container.cjs.js +4 -4
- package/dist/layout/tabbed-container.es.js +4 -4
- package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
- package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/array-wrapper.es.js +1 -1
- package/dist/lib/form/components/date-field.cjs.js +1 -1
- package/dist/lib/form/components/date-field.es.js +1 -1
- package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
- package/dist/lib/form/components/form-submit-row.es.js +1 -1
- package/dist/lib/form/components/record-field.cjs.js +1 -1
- package/dist/lib/form/components/record-field.es.js +1 -1
- package/dist/lib/form/components/select-field.cjs.js +1 -1
- package/dist/lib/form/components/select-field.es.js +1 -1
- package/dist/lib/form/components/submit-button.cjs.js +1 -1
- package/dist/lib/form/components/submit-button.es.js +1 -1
- package/dist/lib/form/zod-provider.cjs.js.map +1 -1
- package/dist/lib/form/zod-provider.es.js.map +1 -1
- package/dist/{list-search-D3I6xt0B.js → list-search-ByJdIxIh.js} +2 -2
- package/dist/{list-search-D3I6xt0B.js.map → list-search-ByJdIxIh.js.map} +1 -1
- package/dist/{list-search-DHiQ1-O6.cjs → list-search-DNJVeHmK.cjs} +2 -2
- package/dist/{list-search-DHiQ1-O6.cjs.map → list-search-DNJVeHmK.cjs.map} +1 -1
- package/dist/{logs-data-list-Cb85LPcT.js → logs-data-list-CGerYgSd.js} +2 -3
- package/dist/{logs-data-list-Cb85LPcT.js.map → logs-data-list-CGerYgSd.js.map} +1 -1
- package/dist/{logs-data-list-DlQxxrNw.cjs → logs-data-list-DEZuSjqt.cjs} +21 -22
- package/dist/{logs-data-list-DlQxxrNw.cjs.map → logs-data-list-DEZuSjqt.cjs.map} +1 -1
- package/dist/{markdown-renderer-HIfFphpI.cjs → markdown-renderer-BcpwvSl9.cjs} +3 -3
- package/dist/{markdown-renderer-HIfFphpI.cjs.map → markdown-renderer-BcpwvSl9.cjs.map} +1 -1
- package/dist/{markdown-renderer-BYxWiHRj.js → markdown-renderer-CHLpv5n5.js} +3 -3
- package/dist/{markdown-renderer-BYxWiHRj.js.map → markdown-renderer-CHLpv5n5.js.map} +1 -1
- package/dist/{message-copy-button-CnVgCy9y.cjs → message-copy-button-D3O4hWDV.cjs} +2 -2
- package/dist/{message-copy-button-CnVgCy9y.cjs.map → message-copy-button-D3O4hWDV.cjs.map} +1 -1
- package/dist/{message-copy-button-Ctew41Rr.js → message-copy-button-OI1mwAaS.js} +2 -2
- package/dist/{message-copy-button-Ctew41Rr.js.map → message-copy-button-OI1mwAaS.js.map} +1 -1
- package/dist/{metrics-card-DaFApxZY.cjs → metrics-card-CpjGYNBP.cjs} +2 -2
- package/dist/{metrics-card-DaFApxZY.cjs.map → metrics-card-CpjGYNBP.cjs.map} +1 -1
- package/dist/{metrics-card-Z_moDiV5.js → metrics-card-D6ty6a6Z.js} +2 -2
- package/dist/{metrics-card-Z_moDiV5.js.map → metrics-card-D6ty6a6Z.js.map} +1 -1
- package/dist/{notification-activity-MR63WqZm.cjs → notification-activity-BSNuqJDd.cjs} +2 -2
- package/dist/{notification-activity-MR63WqZm.cjs.map → notification-activity-BSNuqJDd.cjs.map} +1 -1
- package/dist/{notification-activity-FJcMFxIj.js → notification-activity-BWXHmlTn.js} +2 -2
- package/dist/{notification-activity-FJcMFxIj.js.map → notification-activity-BWXHmlTn.js.map} +1 -1
- package/dist/{plan-BoOK_LAB.cjs → plan-Cm3yHvs3.cjs} +4 -4
- package/dist/{plan-BoOK_LAB.cjs.map → plan-Cm3yHvs3.cjs.map} +1 -1
- package/dist/{plan-m0hj6Zgv.js → plan-TtrepVnQ.js} +4 -4
- package/dist/{plan-m0hj6Zgv.js.map → plan-TtrepVnQ.js.map} +1 -1
- package/dist/primitives/form-element.cjs.js.map +1 -1
- package/dist/primitives/form-element.es.js.map +1 -1
- package/dist/primitives/menu-item.cjs.js +4 -2
- package/dist/primitives/menu-item.cjs.js.map +1 -1
- package/dist/primitives/menu-item.es.js +4 -2
- package/dist/primitives/menu-item.es.js.map +1 -1
- package/dist/primitives/popup-anchor.cjs.js +34 -0
- package/dist/primitives/popup-anchor.cjs.js.map +1 -0
- package/dist/primitives/popup-anchor.d.ts +2 -0
- package/dist/primitives/popup-anchor.es.js +10 -0
- package/dist/primitives/popup-anchor.es.js.map +1 -0
- package/dist/primitives/trigger-button.cjs.js +1 -1
- package/dist/primitives/trigger-button.es.js +1 -1
- package/dist/{property-filter-applied-J9ob_Rss.js → property-filter-applied-BMmMf4DE.js} +2 -2
- package/dist/property-filter-applied-BMmMf4DE.js.map +1 -0
- package/dist/{property-filter-applied-CtSglSaH.cjs → property-filter-applied-Bj-bh9gv.cjs} +2 -2
- package/dist/property-filter-applied-Bj-bh9gv.cjs.map +1 -0
- package/dist/{reasoning-activity-5MFE3mzw.js → reasoning-activity-C-sJt2A9.js} +3 -3
- package/dist/{reasoning-activity-5MFE3mzw.js.map → reasoning-activity-C-sJt2A9.js.map} +1 -1
- package/dist/{reasoning-activity-DMvughvN.cjs → reasoning-activity-DpYFjxuL.cjs} +3 -3
- package/dist/{reasoning-activity-DMvughvN.cjs.map → reasoning-activity-DpYFjxuL.cjs.map} +1 -1
- package/dist/resize/panel-drawer.cjs.js +1 -1
- package/dist/resize/panel-drawer.es.js +1 -1
- package/dist/{search-input-BPqubJZC.js → search-input-C9qFBzn6.js} +2 -2
- package/dist/{search-input-BPqubJZC.js.map → search-input-C9qFBzn6.js.map} +1 -1
- package/dist/{search-input-BUMYRaUW.cjs → search-input-CMNy0JWd.cjs} +2 -2
- package/dist/{search-input-BUMYRaUW.cjs.map → search-input-CMNy0JWd.cjs.map} +1 -1
- package/dist/section-CctlZIXp.cjs.map +1 -1
- package/dist/section-D0hKTVXt.js.map +1 -1
- package/dist/{select-CQtsggxJ.js → select-7rYaECQf.js} +2 -2
- package/dist/select-7rYaECQf.js.map +1 -0
- package/dist/{select-CbNLtiAs.cjs → select-A3AFKLd9.cjs} +2 -2
- package/dist/select-A3AFKLd9.cjs.map +1 -0
- package/dist/shimmer-BCSr3Rqf.js.map +1 -1
- package/dist/shimmer-Co-XPvF9.cjs.map +1 -1
- package/dist/{side-dialog-bm8NPDXy.js → side-dialog-DSvj8H6x.js} +4 -4
- package/dist/{side-dialog-bm8NPDXy.js.map → side-dialog-DSvj8H6x.js.map} +1 -1
- package/dist/{side-dialog-BzULMBaH.cjs → side-dialog-SJCWBnbw.cjs} +4 -4
- package/dist/{side-dialog-BzULMBaH.cjs.map → side-dialog-SJCWBnbw.cjs.map} +1 -1
- package/dist/{signal-activity-D-_u7DFm.cjs → signal-activity-C_bihjcd.cjs} +2 -2
- package/dist/{signal-activity-D-_u7DFm.cjs.map → signal-activity-C_bihjcd.cjs.map} +1 -1
- package/dist/{signal-activity-BkFexFiJ.js → signal-activity-J9kpnwAF.js} +2 -2
- package/dist/{signal-activity-BkFexFiJ.js.map → signal-activity-J9kpnwAF.js.map} +1 -1
- package/dist/{span-payload-primitives-wujxDKfA.cjs → span-payload-primitives-C0KYtmtV.cjs} +3 -3
- package/dist/{span-payload-primitives-wujxDKfA.cjs.map → span-payload-primitives-C0KYtmtV.cjs.map} +1 -1
- package/dist/{span-payload-primitives-jQiJK0qI.js → span-payload-primitives-D_N9LeLk.js} +3 -3
- package/dist/{span-payload-primitives-jQiJK0qI.js.map → span-payload-primitives-D_N9LeLk.js.map} +1 -1
- package/dist/src/domains/traces/components/span-rows.d.ts +2 -0
- package/dist/src/domains/traces/components/span-tree-rail.d.ts +23 -0
- package/dist/src/domains/traces/components/span-type-badge.d.ts +9 -0
- package/dist/src/domains/traces/components/timeline-name-col.d.ts +2 -2
- package/dist/src/domains/traces/components/timeline-structure-sign.d.ts +14 -1
- package/dist/src/domains/traces/components/trace-error-cell.d.ts +8 -0
- package/dist/src/domains/traces/components/trace-error-details.d.ts +10 -0
- package/dist/src/domains/traces/components/trace-error-summary.d.ts +8 -0
- package/dist/src/domains/traces/components/trace-span-tree-skeleton.d.ts +1 -1
- package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +1 -0
- package/dist/src/ds/components/Avatar/avatar-size.d.ts +1 -1
- package/dist/src/ds/components/Breadcrumb/crumb-switcher.d.ts +0 -1
- package/dist/src/ds/components/Button/Button.d.ts +1 -1
- package/dist/src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-context.d.ts +1 -2
- package/dist/src/ds/components/SavedViews/saved-view-editor.d.ts +1 -1
- package/dist/src/ds/components/Select/select.d.ts +1 -1
- package/dist/src/ds/primitives/popup-anchor.d.ts +4 -0
- package/dist/src/hooks/use-environment-variables-editor.d.ts +1 -1
- package/dist/src/lib/keyboard/keyboard-dispatcher.d.ts +2 -0
- package/dist/src/lib/keyboard/use-keydown.d.ts +8 -1
- package/dist/style.css +121 -143
- package/dist/{tabs-tab-DRaRUvQ3.cjs → tabs-tab-B0W25Dm2.cjs} +2 -2
- package/dist/{tabs-tab-DRaRUvQ3.cjs.map → tabs-tab-B0W25Dm2.cjs.map} +1 -1
- package/dist/{tabs-tab-CIVJEMoY.js → tabs-tab-CkLyKrL0.js} +2 -2
- package/dist/{tabs-tab-CIVJEMoY.js.map → tabs-tab-CkLyKrL0.js.map} +1 -1
- package/dist/{thread-list-BANpytn3.cjs → thread-list-BBPZYHh8.cjs} +2 -2
- package/dist/thread-list-BBPZYHh8.cjs.map +1 -0
- package/dist/{thread-list-lXnXsPul.js → thread-list-BGjKZfEH.js} +2 -2
- package/dist/thread-list-BGjKZfEH.js.map +1 -0
- package/dist/{time-picker-BpCfTfoe.js → time-picker-Bzdboi4W.js} +2 -2
- package/dist/{time-picker-BpCfTfoe.js.map → time-picker-Bzdboi4W.js.map} +1 -1
- package/dist/{time-picker-DhekkO5t.cjs → time-picker-CyvG-fwX.cjs} +2 -2
- package/dist/{time-picker-DhekkO5t.cjs.map → time-picker-CyvG-fwX.cjs.map} +1 -1
- package/dist/{tool-approval-BrqoN_mP.js → tool-approval-P8rUFAYp.js} +4 -4
- package/dist/{tool-approval-BrqoN_mP.js.map → tool-approval-P8rUFAYp.js.map} +1 -1
- package/dist/{tool-approval-zBfJ20iR.cjs → tool-approval-zhWdp8i6.cjs} +4 -4
- package/dist/{tool-approval-zBfJ20iR.cjs.map → tool-approval-zhWdp8i6.cjs.map} +1 -1
- package/dist/{tool-call-arguments-DwMeGQHD.cjs → tool-call-arguments-DzpFckIm.cjs} +3 -3
- package/dist/{tool-call-arguments-DwMeGQHD.cjs.map → tool-call-arguments-DzpFckIm.cjs.map} +1 -1
- package/dist/{tool-call-arguments-Dx4LW1Ni.js → tool-call-arguments-goEdIs4f.js} +3 -3
- package/dist/{tool-call-arguments-Dx4LW1Ni.js.map → tool-call-arguments-goEdIs4f.js.map} +1 -1
- package/dist/{tool-call-group-DJsiIb-B.cjs → tool-call-group-C56oARyx.cjs} +4 -4
- package/dist/tool-call-group-C56oARyx.cjs.map +1 -0
- package/dist/{tool-call-group-ZDNZog5K.js → tool-call-group-DU4T72Xn.js} +4 -4
- package/dist/tool-call-group-DU4T72Xn.js.map +1 -0
- package/dist/{tool-call-mono-Bs7y-1Cq.js → tool-call-mono-DPW6hN91.js} +2 -2
- package/dist/{tool-call-mono-Bs7y-1Cq.js.map → tool-call-mono-DPW6hN91.js.map} +1 -1
- package/dist/{tool-call-mono-I-vdqzCe.cjs → tool-call-mono-aheL8CkL.cjs} +2 -2
- package/dist/{tool-call-mono-I-vdqzCe.cjs.map → tool-call-mono-aheL8CkL.cjs.map} +1 -1
- package/dist/{tool-call-output-Dd8zlhLd.js → tool-call-output-BQYzMMMi.js} +2 -2
- package/dist/{tool-call-output-Dd8zlhLd.js.map → tool-call-output-BQYzMMMi.js.map} +1 -1
- package/dist/{tool-call-output-BrNg0Lkd.cjs → tool-call-output-CuwM5IHd.cjs} +2 -2
- package/dist/{tool-call-output-BrNg0Lkd.cjs.map → tool-call-output-CuwM5IHd.cjs.map} +1 -1
- package/dist/{tool-card-D4yrR2AE.js → tool-card-aclA3iVz.js} +4 -4
- package/dist/{tool-card-D4yrR2AE.js.map → tool-card-aclA3iVz.js.map} +1 -1
- package/dist/{tool-card-D6UdNzIX.cjs → tool-card-yii3vGHu.cjs} +4 -4
- package/dist/{tool-card-D6UdNzIX.cjs.map → tool-card-yii3vGHu.cjs.map} +1 -1
- package/dist/{traces-data-list-Bhhg9drs.cjs → traces-data-list-Co9k5J4f.cjs} +18 -20
- package/dist/{traces-data-list-Bhhg9drs.cjs.map → traces-data-list-Co9k5J4f.cjs.map} +1 -1
- package/dist/{traces-data-list-DMWPJFBc.js → traces-data-list-TCKjOldO.js} +2 -4
- package/dist/{traces-data-list-DMWPJFBc.js.map → traces-data-list-TCKjOldO.js.map} +1 -1
- package/dist/use-data-list-keyboard-DF3tLe10.cjs.map +1 -1
- package/dist/use-data-list-keyboard-DFQr4t38.js.map +1 -1
- package/dist/{use-workflow-graph-runtime-DF-56pIR.cjs → use-workflow-graph-runtime-DcQD5eA6.cjs} +3 -3
- package/dist/{use-workflow-graph-runtime-DF-56pIR.cjs.map → use-workflow-graph-runtime-DcQD5eA6.cjs.map} +1 -1
- package/dist/{use-workflow-graph-runtime-BrHXo49Q.js → use-workflow-graph-runtime-xq_aSXPh.js} +3 -3
- package/dist/{use-workflow-graph-runtime-BrHXo49Q.js.map → use-workflow-graph-runtime-xq_aSXPh.js.map} +1 -1
- package/dist/utils/workspace-compat.cjs.js.map +1 -1
- package/dist/utils/workspace-compat.es.js.map +1 -1
- package/dist/{workflow-code-dialog-content-CfVy6bGG.cjs → workflow-code-dialog-content-B_BQCuFW.cjs} +3 -3
- package/dist/{workflow-code-dialog-content-CfVy6bGG.cjs.map → workflow-code-dialog-content-B_BQCuFW.cjs.map} +1 -1
- package/dist/{workflow-code-dialog-content-DviJz1jB.js → workflow-code-dialog-content-CFEaeYUX.js} +3 -3
- package/dist/{workflow-code-dialog-content-DviJz1jB.js.map → workflow-code-dialog-content-CFEaeYUX.js.map} +1 -1
- package/dist/{workflow-condition-card-BRwhMmNO.cjs → workflow-condition-card-CMzoK307.cjs} +3 -3
- package/dist/{workflow-condition-card-BRwhMmNO.cjs.map → workflow-condition-card-CMzoK307.cjs.map} +1 -1
- package/dist/{workflow-condition-card-sFdOjlab.js → workflow-condition-card-CbQ4fCxY.js} +3 -3
- package/dist/{workflow-condition-card-sFdOjlab.js.map → workflow-condition-card-CbQ4fCxY.js.map} +1 -1
- package/dist/{workflow-data-edge-view-DpPhr9gZ.cjs → workflow-data-edge-view-0utEB4Yb.cjs} +2 -2
- package/dist/{workflow-data-edge-view-DpPhr9gZ.cjs.map → workflow-data-edge-view-0utEB4Yb.cjs.map} +1 -1
- package/dist/{workflow-data-edge-view-CuSzc6YI.js → workflow-data-edge-view-gwwJEvXz.js} +2 -2
- package/dist/{workflow-data-edge-view-CuSzc6YI.js.map → workflow-data-edge-view-gwwJEvXz.js.map} +1 -1
- package/dist/{workflow-debug-controls-CAn_6S8K.cjs → workflow-debug-controls-B5zqE_rm.cjs} +2 -2
- package/dist/{workflow-debug-controls-CAn_6S8K.cjs.map → workflow-debug-controls-B5zqE_rm.cjs.map} +1 -1
- package/dist/{workflow-debug-controls-CLzbxd5O.js → workflow-debug-controls-CPpdNzD9.js} +2 -2
- package/dist/{workflow-debug-controls-CLzbxd5O.js.map → workflow-debug-controls-CPpdNzD9.js.map} +1 -1
- package/dist/{workflow-edge-data-button-Dtt_OUz9.js → workflow-edge-data-button-YWjfx-W0.js} +4 -4
- package/dist/{workflow-edge-data-button-Dtt_OUz9.js.map → workflow-edge-data-button-YWjfx-W0.js.map} +1 -1
- package/dist/{workflow-edge-data-button-B8rQaAoK.cjs → workflow-edge-data-button-tDvziS5v.cjs} +4 -4
- package/dist/{workflow-edge-data-button-B8rQaAoK.cjs.map → workflow-edge-data-button-tDvziS5v.cjs.map} +1 -1
- package/dist/{workflow-step-action-DqFjktfs.js → workflow-step-action-D8MVfEIl.js} +2 -2
- package/dist/{workflow-step-action-DqFjktfs.js.map → workflow-step-action-D8MVfEIl.js.map} +1 -1
- package/dist/{workflow-step-action-Cu01omgz.cjs → workflow-step-action-DZgS0_fL.cjs} +2 -2
- package/dist/{workflow-step-action-Cu01omgz.cjs.map → workflow-step-action-DZgS0_fL.cjs.map} +1 -1
- package/package.json +11 -13
- package/theme/scale.css +7 -0
- package/dist/Avatar-98bsFrSV.js.map +0 -1
- package/dist/Avatar-BCj8SvOb.cjs.map +0 -1
- package/dist/Button-DH1aTzbs.cjs.map +0 -1
- package/dist/Button-EGoajBQY.js.map +0 -1
- package/dist/activity-2tovEdIP.cjs.map +0 -1
- package/dist/activity-CsTUr5_l.js.map +0 -1
- package/dist/ask-user-card-DroerVbm.cjs.map +0 -1
- package/dist/avatar-size-CNR0U-LW.js.map +0 -1
- package/dist/avatar-size-DxStOo5A.cjs.map +0 -1
- package/dist/combobox-BNlVCFgY.cjs.map +0 -1
- package/dist/combobox-Bw13EcK0.js.map +0 -1
- package/dist/command-UEPxVJlE.cjs.map +0 -1
- package/dist/command-V9rsKc7P.js.map +0 -1
- package/dist/data-keys-and-values-1lYi60YK.cjs.map +0 -1
- package/dist/data-keys-and-values-CHpxKsfq.js.map +0 -1
- package/dist/data-list-CmjTe8xE.cjs +0 -142
- package/dist/data-list-CmjTe8xE.cjs.map +0 -1
- package/dist/data-list-DT1LVR29.js +0 -138
- package/dist/data-list-DT1LVR29.js.map +0 -1
- package/dist/data-list-spacer-CdlT6bDd.cjs +0 -218
- package/dist/data-list-spacer-CdlT6bDd.cjs.map +0 -1
- package/dist/data-list-spacer-D--gDmOm.js +0 -209
- package/dist/data-list-spacer-D--gDmOm.js.map +0 -1
- package/dist/data-list-top-DJh08vFA.cjs.map +0 -1
- package/dist/data-list-top-T-mtdIUp.js.map +0 -1
- package/dist/data-panel-BkfjzriB.cjs.map +0 -1
- package/dist/data-panel-CMkR6Avv.js.map +0 -1
- package/dist/filter-bar-chip-BJJ6ytJ4.cjs.map +0 -1
- package/dist/filter-bar-chip-BarAq1S2.js.map +0 -1
- package/dist/property-filter-applied-CtSglSaH.cjs.map +0 -1
- package/dist/property-filter-applied-J9ob_Rss.js.map +0 -1
- package/dist/select-CQtsggxJ.js.map +0 -1
- package/dist/select-CbNLtiAs.cjs.map +0 -1
- package/dist/thread-list-BANpytn3.cjs.map +0 -1
- package/dist/thread-list-lXnXsPul.js.map +0 -1
- package/dist/tool-call-group-DJsiIb-B.cjs.map +0 -1
- package/dist/tool-call-group-ZDNZog5K.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-rows.cjs.js","sources":["../../../../src/domains/traces/components/span-rows.tsx"],"sourcesContent":["import type { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { Fragment, useEffect } from 'react';\nimport { getSpanDescendantIds } from '../hooks/get-all-span-ids';\nimport type { UISpan, UISpanStyle } from '../types';\nimport { getOverallLatency } from '../utils/span-timing';\nimport { getSpanTypeUi } from './shared';\n\nexport type SpanRowExpansion = {\n hasChildren: boolean;\n numOfChildren: number;\n toggleChildren: () => void;\n};\n\nexport type SpanRowContext = {\n span: UISpan;\n spanUI: UISpanStyle | null | undefined;\n depth: number;\n isRootSpan: boolean;\n isLastChild: boolean;\n isExpanded: boolean;\n isSelected: boolean;\n isFaded: boolean;\n isRevealed: boolean;\n overallLatency: number;\n overallStartTime: string;\n onSpanClick?: (id: string) => void;\n expansion: SpanRowExpansion;\n};\n\ntype SharedRowProps = {\n renderRow: (ctx: SpanRowContext) => ReactNode;\n onSpanClick?: (id: string) => void;\n selectedSpanId?: string;\n /** Row flagged as revealed once mounted (ancestors auto-expand when the span is featured). */\n revealSpanId?: string;\n fadedTypes?: string[];\n featuredSpanIds?: string[];\n expandedSpanIds?: string[];\n setExpandedSpanIds?: Dispatch<SetStateAction<string[]>>;\n};\n\nexport type SpanRowsProps = SharedRowProps & {\n spans: UISpan[];\n};\n\n/**\n * Headless depth-first walker over a span hierarchy. Owns the expansion / fade /\n * reveal state of each row and delegates all markup to `renderRow`. Children are\n * only mounted while their parent is expanded.\n */\nexport function SpanRows({ spans, ...rowProps }: SpanRowsProps) {\n const overallLatency = getOverallLatency(spans);\n const overallStartTime = spans[0]?.startTime || '';\n\n return (\n <>\n {spans.map((span, idx) => (\n <SpanRow\n key={span.id}\n span={span}\n depth={0}\n isLastChild={idx === spans.length - 1}\n overallLatency={overallLatency}\n overallStartTime={overallStartTime}\n {...rowProps}\n />\n ))}\n </>\n );\n}\n\ntype SpanRowProps = SharedRowProps & {\n span: UISpan;\n depth: number;\n isLastChild: boolean;\n overallLatency: number;\n overallStartTime: string;\n};\n\nfunction SpanRow({\n span,\n depth,\n isLastChild,\n overallLatency,\n overallStartTime,\n renderRow,\n onSpanClick,\n selectedSpanId,\n revealSpanId,\n fadedTypes,\n featuredSpanIds,\n expandedSpanIds,\n setExpandedSpanIds,\n}: SpanRowProps) {\n const hasChildren = Boolean(span.spans && span.spans.length > 0);\n const numOfChildren = span.spans ? span.spans.length : 0;\n const allDescendantIds = getSpanDescendantIds(span);\n const isRootSpan = depth === 0;\n const spanUI = getSpanTypeUi(span?.type);\n const isExpanded = expandedSpanIds ? expandedSpanIds.includes(span.id) : false;\n const isFadedBySearch = featuredSpanIds && featuredSpanIds.length > 0 ? !featuredSpanIds.includes(span.id) : false;\n const isFadedByType = fadedTypes && fadedTypes.length > 0 ? fadedTypes.includes(spanUI?.typePrefix || '') : false;\n const isFaded = isFadedByType || isFadedBySearch;\n\n useEffect(() => {\n if (!featuredSpanIds || allDescendantIds.length === 0) return;\n if (isExpanded) return;\n const hasFeaturedDescendant = allDescendantIds.some(id => featuredSpanIds.includes(id));\n if (hasFeaturedDescendant && setExpandedSpanIds) {\n setExpandedSpanIds(prev => (!prev || prev.includes(span.id) ? (prev ?? [span.id]) : [...prev, span.id]));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [featuredSpanIds, allDescendantIds]);\n\n const toggleChildren = () => {\n if (!setExpandedSpanIds) return;\n setExpandedSpanIds(prev => {\n if (!prev) return prev;\n return isExpanded ? prev.filter(id => id !== span.id) : [...prev, span.id];\n });\n };\n\n const ctx: SpanRowContext = {\n span,\n spanUI,\n depth,\n isRootSpan,\n isLastChild,\n isExpanded,\n isSelected: selectedSpanId === span.id,\n isFaded,\n isRevealed: revealSpanId === span.id,\n overallLatency,\n overallStartTime,\n onSpanClick,\n expansion: {\n hasChildren,\n numOfChildren,\n toggleChildren,\n },\n };\n\n return (\n <Fragment>\n {renderRow(ctx)}\n {hasChildren &&\n isExpanded &&\n span.spans?.map((childSpan, idx, array) => (\n <SpanRow\n key={childSpan.id}\n span={childSpan}\n depth={depth + 1}\n isLastChild={idx === array.length - 1}\n overallLatency={overallLatency}\n overallStartTime={overallStartTime}\n renderRow={renderRow}\n onSpanClick={onSpanClick}\n selectedSpanId={selectedSpanId}\n revealSpanId={revealSpanId}\n fadedTypes={fadedTypes}\n featuredSpanIds={featuredSpanIds}\n expandedSpanIds={expandedSpanIds}\n setExpandedSpanIds={setExpandedSpanIds}\n />\n ))}\n </Fragment>\n );\n}\n"],"names":["getOverallLatency","jsx","Fragment","getSpanDescendantIds","getSpanTypeUi","useEffect","jsxs"],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"span-rows.cjs.js","sources":["../../../../src/domains/traces/components/span-rows.tsx"],"sourcesContent":["import type { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { Fragment, useEffect } from 'react';\nimport { getSpanDescendantIds } from '../hooks/get-all-span-ids';\nimport type { UISpan, UISpanStyle } from '../types';\nimport { getOverallLatency } from '../utils/span-timing';\nimport { getSpanTypeUi } from './shared';\n\nexport type SpanRowExpansion = {\n hasChildren: boolean;\n numOfChildren: number;\n toggleChildren: () => void;\n};\n\nexport type SpanRowContext = {\n span: UISpan;\n spanUI: UISpanStyle | null | undefined;\n depth: number;\n isRootSpan: boolean;\n isLastChild: boolean;\n /** One entry per ancestor level below the root: whether that ancestor still has siblings below, so its connector line keeps running through this row. */\n guides: boolean[];\n isExpanded: boolean;\n isSelected: boolean;\n isFaded: boolean;\n isRevealed: boolean;\n overallLatency: number;\n overallStartTime: string;\n onSpanClick?: (id: string) => void;\n expansion: SpanRowExpansion;\n};\n\ntype SharedRowProps = {\n renderRow: (ctx: SpanRowContext) => ReactNode;\n onSpanClick?: (id: string) => void;\n selectedSpanId?: string;\n /** Row flagged as revealed once mounted (ancestors auto-expand when the span is featured). */\n revealSpanId?: string;\n fadedTypes?: string[];\n featuredSpanIds?: string[];\n expandedSpanIds?: string[];\n setExpandedSpanIds?: Dispatch<SetStateAction<string[]>>;\n};\n\nexport type SpanRowsProps = SharedRowProps & {\n spans: UISpan[];\n};\n\n/**\n * Headless depth-first walker over a span hierarchy. Owns the expansion / fade /\n * reveal state of each row and delegates all markup to `renderRow`. Children are\n * only mounted while their parent is expanded.\n */\nexport function SpanRows({ spans, ...rowProps }: SpanRowsProps) {\n const overallLatency = getOverallLatency(spans);\n const overallStartTime = spans[0]?.startTime || '';\n\n return (\n <>\n {spans.map((span, idx) => (\n <SpanRow\n key={span.id}\n span={span}\n depth={0}\n isLastChild={idx === spans.length - 1}\n guides={[]}\n overallLatency={overallLatency}\n overallStartTime={overallStartTime}\n {...rowProps}\n />\n ))}\n </>\n );\n}\n\ntype SpanRowProps = SharedRowProps & {\n span: UISpan;\n depth: number;\n isLastChild: boolean;\n guides: boolean[];\n overallLatency: number;\n overallStartTime: string;\n};\n\nfunction SpanRow({\n span,\n depth,\n isLastChild,\n guides,\n overallLatency,\n overallStartTime,\n renderRow,\n onSpanClick,\n selectedSpanId,\n revealSpanId,\n fadedTypes,\n featuredSpanIds,\n expandedSpanIds,\n setExpandedSpanIds,\n}: SpanRowProps) {\n const hasChildren = Boolean(span.spans && span.spans.length > 0);\n const numOfChildren = span.spans ? span.spans.length : 0;\n const allDescendantIds = getSpanDescendantIds(span);\n const isRootSpan = depth === 0;\n const spanUI = getSpanTypeUi(span?.type);\n const isExpanded = expandedSpanIds ? expandedSpanIds.includes(span.id) : false;\n const isFadedBySearch = featuredSpanIds && featuredSpanIds.length > 0 ? !featuredSpanIds.includes(span.id) : false;\n const isFadedByType = fadedTypes && fadedTypes.length > 0 ? fadedTypes.includes(spanUI?.typePrefix || '') : false;\n const isFaded = isFadedByType || isFadedBySearch;\n\n useEffect(() => {\n if (!featuredSpanIds || allDescendantIds.length === 0) return;\n if (isExpanded) return;\n const hasFeaturedDescendant = allDescendantIds.some(id => featuredSpanIds.includes(id));\n if (hasFeaturedDescendant && setExpandedSpanIds) {\n setExpandedSpanIds(prev => (!prev || prev.includes(span.id) ? (prev ?? [span.id]) : [...prev, span.id]));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [featuredSpanIds, allDescendantIds]);\n\n const childGuides = isRootSpan ? [] : [...guides, !isLastChild];\n\n const toggleChildren = () => {\n if (!setExpandedSpanIds) return;\n setExpandedSpanIds(prev => {\n if (!prev) return prev;\n return isExpanded ? prev.filter(id => id !== span.id) : [...prev, span.id];\n });\n };\n\n const ctx: SpanRowContext = {\n span,\n spanUI,\n depth,\n isRootSpan,\n isLastChild,\n guides,\n isExpanded,\n isSelected: selectedSpanId === span.id,\n isFaded,\n isRevealed: revealSpanId === span.id,\n overallLatency,\n overallStartTime,\n onSpanClick,\n expansion: {\n hasChildren,\n numOfChildren,\n toggleChildren,\n },\n };\n\n return (\n <Fragment>\n {renderRow(ctx)}\n {hasChildren &&\n isExpanded &&\n span.spans?.map((childSpan, idx, array) => (\n <SpanRow\n key={childSpan.id}\n span={childSpan}\n depth={depth + 1}\n isLastChild={idx === array.length - 1}\n guides={childGuides}\n overallLatency={overallLatency}\n overallStartTime={overallStartTime}\n renderRow={renderRow}\n onSpanClick={onSpanClick}\n selectedSpanId={selectedSpanId}\n revealSpanId={revealSpanId}\n fadedTypes={fadedTypes}\n featuredSpanIds={featuredSpanIds}\n expandedSpanIds={expandedSpanIds}\n setExpandedSpanIds={setExpandedSpanIds}\n />\n ))}\n </Fragment>\n );\n}\n"],"names":["getOverallLatency","jsx","Fragment","getSpanDescendantIds","getSpanTypeUi","useEffect","jsxs"],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ function SpanRows({ spans, ...rowProps }) {
|
|
|
13
13
|
span,
|
|
14
14
|
depth: 0,
|
|
15
15
|
isLastChild: idx === spans.length - 1,
|
|
16
|
+
guides: [],
|
|
16
17
|
overallLatency,
|
|
17
18
|
overallStartTime,
|
|
18
19
|
...rowProps
|
|
@@ -24,6 +25,7 @@ function SpanRow({
|
|
|
24
25
|
span,
|
|
25
26
|
depth,
|
|
26
27
|
isLastChild,
|
|
28
|
+
guides,
|
|
27
29
|
overallLatency,
|
|
28
30
|
overallStartTime,
|
|
29
31
|
renderRow,
|
|
@@ -52,6 +54,7 @@ function SpanRow({
|
|
|
52
54
|
setExpandedSpanIds((prev) => !prev || prev.includes(span.id) ? prev ?? [span.id] : [...prev, span.id]);
|
|
53
55
|
}
|
|
54
56
|
}, [featuredSpanIds, allDescendantIds]);
|
|
57
|
+
const childGuides = isRootSpan ? [] : [...guides, !isLastChild];
|
|
55
58
|
const toggleChildren = () => {
|
|
56
59
|
if (!setExpandedSpanIds) return;
|
|
57
60
|
setExpandedSpanIds((prev) => {
|
|
@@ -65,6 +68,7 @@ function SpanRow({
|
|
|
65
68
|
depth,
|
|
66
69
|
isRootSpan,
|
|
67
70
|
isLastChild,
|
|
71
|
+
guides,
|
|
68
72
|
isExpanded,
|
|
69
73
|
isSelected: selectedSpanId === span.id,
|
|
70
74
|
isFaded,
|
|
@@ -86,6 +90,7 @@ function SpanRow({
|
|
|
86
90
|
span: childSpan,
|
|
87
91
|
depth: depth + 1,
|
|
88
92
|
isLastChild: idx === array.length - 1,
|
|
93
|
+
guides: childGuides,
|
|
89
94
|
overallLatency,
|
|
90
95
|
overallStartTime,
|
|
91
96
|
renderRow,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-rows.es.js","sources":["../../../../src/domains/traces/components/span-rows.tsx"],"sourcesContent":["import type { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { Fragment, useEffect } from 'react';\nimport { getSpanDescendantIds } from '../hooks/get-all-span-ids';\nimport type { UISpan, UISpanStyle } from '../types';\nimport { getOverallLatency } from '../utils/span-timing';\nimport { getSpanTypeUi } from './shared';\n\nexport type SpanRowExpansion = {\n hasChildren: boolean;\n numOfChildren: number;\n toggleChildren: () => void;\n};\n\nexport type SpanRowContext = {\n span: UISpan;\n spanUI: UISpanStyle | null | undefined;\n depth: number;\n isRootSpan: boolean;\n isLastChild: boolean;\n isExpanded: boolean;\n isSelected: boolean;\n isFaded: boolean;\n isRevealed: boolean;\n overallLatency: number;\n overallStartTime: string;\n onSpanClick?: (id: string) => void;\n expansion: SpanRowExpansion;\n};\n\ntype SharedRowProps = {\n renderRow: (ctx: SpanRowContext) => ReactNode;\n onSpanClick?: (id: string) => void;\n selectedSpanId?: string;\n /** Row flagged as revealed once mounted (ancestors auto-expand when the span is featured). */\n revealSpanId?: string;\n fadedTypes?: string[];\n featuredSpanIds?: string[];\n expandedSpanIds?: string[];\n setExpandedSpanIds?: Dispatch<SetStateAction<string[]>>;\n};\n\nexport type SpanRowsProps = SharedRowProps & {\n spans: UISpan[];\n};\n\n/**\n * Headless depth-first walker over a span hierarchy. Owns the expansion / fade /\n * reveal state of each row and delegates all markup to `renderRow`. Children are\n * only mounted while their parent is expanded.\n */\nexport function SpanRows({ spans, ...rowProps }: SpanRowsProps) {\n const overallLatency = getOverallLatency(spans);\n const overallStartTime = spans[0]?.startTime || '';\n\n return (\n <>\n {spans.map((span, idx) => (\n <SpanRow\n key={span.id}\n span={span}\n depth={0}\n isLastChild={idx === spans.length - 1}\n overallLatency={overallLatency}\n overallStartTime={overallStartTime}\n {...rowProps}\n />\n ))}\n </>\n );\n}\n\ntype SpanRowProps = SharedRowProps & {\n span: UISpan;\n depth: number;\n isLastChild: boolean;\n overallLatency: number;\n overallStartTime: string;\n};\n\nfunction SpanRow({\n span,\n depth,\n isLastChild,\n overallLatency,\n overallStartTime,\n renderRow,\n onSpanClick,\n selectedSpanId,\n revealSpanId,\n fadedTypes,\n featuredSpanIds,\n expandedSpanIds,\n setExpandedSpanIds,\n}: SpanRowProps) {\n const hasChildren = Boolean(span.spans && span.spans.length > 0);\n const numOfChildren = span.spans ? span.spans.length : 0;\n const allDescendantIds = getSpanDescendantIds(span);\n const isRootSpan = depth === 0;\n const spanUI = getSpanTypeUi(span?.type);\n const isExpanded = expandedSpanIds ? expandedSpanIds.includes(span.id) : false;\n const isFadedBySearch = featuredSpanIds && featuredSpanIds.length > 0 ? !featuredSpanIds.includes(span.id) : false;\n const isFadedByType = fadedTypes && fadedTypes.length > 0 ? fadedTypes.includes(spanUI?.typePrefix || '') : false;\n const isFaded = isFadedByType || isFadedBySearch;\n\n useEffect(() => {\n if (!featuredSpanIds || allDescendantIds.length === 0) return;\n if (isExpanded) return;\n const hasFeaturedDescendant = allDescendantIds.some(id => featuredSpanIds.includes(id));\n if (hasFeaturedDescendant && setExpandedSpanIds) {\n setExpandedSpanIds(prev => (!prev || prev.includes(span.id) ? (prev ?? [span.id]) : [...prev, span.id]));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [featuredSpanIds, allDescendantIds]);\n\n const toggleChildren = () => {\n if (!setExpandedSpanIds) return;\n setExpandedSpanIds(prev => {\n if (!prev) return prev;\n return isExpanded ? prev.filter(id => id !== span.id) : [...prev, span.id];\n });\n };\n\n const ctx: SpanRowContext = {\n span,\n spanUI,\n depth,\n isRootSpan,\n isLastChild,\n isExpanded,\n isSelected: selectedSpanId === span.id,\n isFaded,\n isRevealed: revealSpanId === span.id,\n overallLatency,\n overallStartTime,\n onSpanClick,\n expansion: {\n hasChildren,\n numOfChildren,\n toggleChildren,\n },\n };\n\n return (\n <Fragment>\n {renderRow(ctx)}\n {hasChildren &&\n isExpanded &&\n span.spans?.map((childSpan, idx, array) => (\n <SpanRow\n key={childSpan.id}\n span={childSpan}\n depth={depth + 1}\n isLastChild={idx === array.length - 1}\n overallLatency={overallLatency}\n overallStartTime={overallStartTime}\n renderRow={renderRow}\n onSpanClick={onSpanClick}\n selectedSpanId={selectedSpanId}\n revealSpanId={revealSpanId}\n fadedTypes={fadedTypes}\n featuredSpanIds={featuredSpanIds}\n expandedSpanIds={expandedSpanIds}\n setExpandedSpanIds={setExpandedSpanIds}\n />\n ))}\n </Fragment>\n );\n}\n"],"names":["Fragment"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"span-rows.es.js","sources":["../../../../src/domains/traces/components/span-rows.tsx"],"sourcesContent":["import type { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { Fragment, useEffect } from 'react';\nimport { getSpanDescendantIds } from '../hooks/get-all-span-ids';\nimport type { UISpan, UISpanStyle } from '../types';\nimport { getOverallLatency } from '../utils/span-timing';\nimport { getSpanTypeUi } from './shared';\n\nexport type SpanRowExpansion = {\n hasChildren: boolean;\n numOfChildren: number;\n toggleChildren: () => void;\n};\n\nexport type SpanRowContext = {\n span: UISpan;\n spanUI: UISpanStyle | null | undefined;\n depth: number;\n isRootSpan: boolean;\n isLastChild: boolean;\n /** One entry per ancestor level below the root: whether that ancestor still has siblings below, so its connector line keeps running through this row. */\n guides: boolean[];\n isExpanded: boolean;\n isSelected: boolean;\n isFaded: boolean;\n isRevealed: boolean;\n overallLatency: number;\n overallStartTime: string;\n onSpanClick?: (id: string) => void;\n expansion: SpanRowExpansion;\n};\n\ntype SharedRowProps = {\n renderRow: (ctx: SpanRowContext) => ReactNode;\n onSpanClick?: (id: string) => void;\n selectedSpanId?: string;\n /** Row flagged as revealed once mounted (ancestors auto-expand when the span is featured). */\n revealSpanId?: string;\n fadedTypes?: string[];\n featuredSpanIds?: string[];\n expandedSpanIds?: string[];\n setExpandedSpanIds?: Dispatch<SetStateAction<string[]>>;\n};\n\nexport type SpanRowsProps = SharedRowProps & {\n spans: UISpan[];\n};\n\n/**\n * Headless depth-first walker over a span hierarchy. Owns the expansion / fade /\n * reveal state of each row and delegates all markup to `renderRow`. Children are\n * only mounted while their parent is expanded.\n */\nexport function SpanRows({ spans, ...rowProps }: SpanRowsProps) {\n const overallLatency = getOverallLatency(spans);\n const overallStartTime = spans[0]?.startTime || '';\n\n return (\n <>\n {spans.map((span, idx) => (\n <SpanRow\n key={span.id}\n span={span}\n depth={0}\n isLastChild={idx === spans.length - 1}\n guides={[]}\n overallLatency={overallLatency}\n overallStartTime={overallStartTime}\n {...rowProps}\n />\n ))}\n </>\n );\n}\n\ntype SpanRowProps = SharedRowProps & {\n span: UISpan;\n depth: number;\n isLastChild: boolean;\n guides: boolean[];\n overallLatency: number;\n overallStartTime: string;\n};\n\nfunction SpanRow({\n span,\n depth,\n isLastChild,\n guides,\n overallLatency,\n overallStartTime,\n renderRow,\n onSpanClick,\n selectedSpanId,\n revealSpanId,\n fadedTypes,\n featuredSpanIds,\n expandedSpanIds,\n setExpandedSpanIds,\n}: SpanRowProps) {\n const hasChildren = Boolean(span.spans && span.spans.length > 0);\n const numOfChildren = span.spans ? span.spans.length : 0;\n const allDescendantIds = getSpanDescendantIds(span);\n const isRootSpan = depth === 0;\n const spanUI = getSpanTypeUi(span?.type);\n const isExpanded = expandedSpanIds ? expandedSpanIds.includes(span.id) : false;\n const isFadedBySearch = featuredSpanIds && featuredSpanIds.length > 0 ? !featuredSpanIds.includes(span.id) : false;\n const isFadedByType = fadedTypes && fadedTypes.length > 0 ? fadedTypes.includes(spanUI?.typePrefix || '') : false;\n const isFaded = isFadedByType || isFadedBySearch;\n\n useEffect(() => {\n if (!featuredSpanIds || allDescendantIds.length === 0) return;\n if (isExpanded) return;\n const hasFeaturedDescendant = allDescendantIds.some(id => featuredSpanIds.includes(id));\n if (hasFeaturedDescendant && setExpandedSpanIds) {\n setExpandedSpanIds(prev => (!prev || prev.includes(span.id) ? (prev ?? [span.id]) : [...prev, span.id]));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [featuredSpanIds, allDescendantIds]);\n\n const childGuides = isRootSpan ? [] : [...guides, !isLastChild];\n\n const toggleChildren = () => {\n if (!setExpandedSpanIds) return;\n setExpandedSpanIds(prev => {\n if (!prev) return prev;\n return isExpanded ? prev.filter(id => id !== span.id) : [...prev, span.id];\n });\n };\n\n const ctx: SpanRowContext = {\n span,\n spanUI,\n depth,\n isRootSpan,\n isLastChild,\n guides,\n isExpanded,\n isSelected: selectedSpanId === span.id,\n isFaded,\n isRevealed: revealSpanId === span.id,\n overallLatency,\n overallStartTime,\n onSpanClick,\n expansion: {\n hasChildren,\n numOfChildren,\n toggleChildren,\n },\n };\n\n return (\n <Fragment>\n {renderRow(ctx)}\n {hasChildren &&\n isExpanded &&\n span.spans?.map((childSpan, idx, array) => (\n <SpanRow\n key={childSpan.id}\n span={childSpan}\n depth={depth + 1}\n isLastChild={idx === array.length - 1}\n guides={childGuides}\n overallLatency={overallLatency}\n overallStartTime={overallStartTime}\n renderRow={renderRow}\n onSpanClick={onSpanClick}\n selectedSpanId={selectedSpanId}\n revealSpanId={revealSpanId}\n fadedTypes={fadedTypes}\n featuredSpanIds={featuredSpanIds}\n expandedSpanIds={expandedSpanIds}\n setExpandedSpanIds={setExpandedSpanIds}\n />\n ))}\n </Fragment>\n );\n}\n"],"names":["Fragment"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
const lucideReact = require('lucide-react');
|
|
7
7
|
const domains_traces_utils_spanUtils = require('../utils/span-utils.cjs.js');
|
|
8
|
-
const dataPanel = require('../../../data-panel-
|
|
8
|
+
const dataPanel = require('../../../data-panel-DGNV14pm.cjs');
|
|
9
9
|
const utils_truncateString = require('../../../utils/truncate-string.cjs.js');
|
|
10
10
|
const utils_dateFormat = require('../../../utils/date-format.cjs.js');
|
|
11
11
|
const utils_duration = require('../../../utils/duration.cjs.js');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { CalendarClockIcon, TimerIcon, HashIcon } from 'lucide-react';
|
|
3
3
|
import { getSpanDurationMs } from '../utils/span-utils.es.js';
|
|
4
|
-
import { D as DataPanel } from '../../../data-panel-
|
|
4
|
+
import { D as DataPanel } from '../../../data-panel-DjtnX70w.js';
|
|
5
5
|
import { truncateString } from '../../../utils/truncate-string.es.js';
|
|
6
6
|
import { formatDate, formatTimestampPrecise } from '../../../utils/date-format.es.js';
|
|
7
7
|
import { formatDurationPrecise } from '../../../utils/duration.es.js';
|
|
@@ -18,9 +18,9 @@ function SpanTimelineRow({ ctx }) {
|
|
|
18
18
|
const {
|
|
19
19
|
span,
|
|
20
20
|
spanUI,
|
|
21
|
-
depth,
|
|
22
21
|
isRootSpan,
|
|
23
22
|
isLastChild,
|
|
23
|
+
guides,
|
|
24
24
|
isExpanded,
|
|
25
25
|
isSelected,
|
|
26
26
|
isFaded,
|
|
@@ -53,40 +53,46 @@ function SpanTimelineRow({ ctx }) {
|
|
|
53
53
|
}
|
|
54
54
|
),
|
|
55
55
|
children: [
|
|
56
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-stretch",
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-stretch pl-1", children: [
|
|
57
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
58
|
+
domains_traces_components_timelineStructureSign.TimelineStructureSign,
|
|
59
|
+
{
|
|
60
|
+
guides,
|
|
61
|
+
isRootSpan,
|
|
62
|
+
isLastChild,
|
|
63
|
+
hasStem: expansion.hasChildren && isExpanded,
|
|
64
|
+
dot: /* @__PURE__ */ jsxRuntime.jsx(
|
|
65
|
+
"span",
|
|
66
|
+
{
|
|
67
|
+
"aria-hidden": true,
|
|
68
|
+
title: spanUI?.label,
|
|
69
|
+
style: { backgroundColor: spanUI?.color },
|
|
70
|
+
className: "size-2 shrink-0 rounded-full"
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
}
|
|
74
|
+
),
|
|
75
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
59
76
|
"button",
|
|
60
77
|
{
|
|
61
78
|
type: "button",
|
|
62
79
|
className: utils_cn.cn(
|
|
63
80
|
"text-foreground",
|
|
64
|
-
"flex min-w-0 flex-1 cursor-pointer items-center
|
|
81
|
+
"flex min-w-0 flex-1 cursor-pointer items-center rounded-md pr-2 pl-1.5 text-left",
|
|
65
82
|
primitives_transitions.focusRingInset
|
|
66
83
|
),
|
|
67
|
-
children:
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
{
|
|
80
|
-
as: "span",
|
|
81
|
-
variant: "caption",
|
|
82
|
-
"data-highlight": span.matchedInPayloadOnly ? void 0 : "",
|
|
83
|
-
"data-highlight-indirect": span.matchedInPayloadOnly ? "" : void 0,
|
|
84
|
-
title: span.matchedInPayloadOnly ? "Matches your search in this span’s details" : void 0,
|
|
85
|
-
className: "min-w-0 truncate",
|
|
86
|
-
children: span.name
|
|
87
|
-
}
|
|
88
|
-
)
|
|
89
|
-
]
|
|
84
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
85
|
+
Txt.Txt,
|
|
86
|
+
{
|
|
87
|
+
as: "span",
|
|
88
|
+
variant: "caption",
|
|
89
|
+
"data-highlight": span.matchedInPayloadOnly ? void 0 : "",
|
|
90
|
+
"data-highlight-indirect": span.matchedInPayloadOnly ? "" : void 0,
|
|
91
|
+
title: span.matchedInPayloadOnly ? "Matches your search in this span’s details" : void 0,
|
|
92
|
+
className: "min-w-0 truncate",
|
|
93
|
+
children: span.name
|
|
94
|
+
}
|
|
95
|
+
)
|
|
90
96
|
}
|
|
91
97
|
),
|
|
92
98
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-7 shrink-0 items-center justify-center", children: expansion.hasChildren && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-timeline-row.cjs.js","sources":["../../../../src/domains/traces/components/span-timeline-row.tsx"],"sourcesContent":["import { ChevronDownIcon, ChevronRightIcon } from 'lucide-react';\nimport { useEffect, useRef } from 'react';\nimport { getSpanTimingLayout } from '../utils/span-timing';\nimport type { SpanRowContext } from './span-rows';\nimport { SpanTimingHoverCard } from './span-timing-hover-card';\nimport { TimelineStructureSign } from './timeline-structure-sign';\nimport { HoverCard, HoverCardTrigger } from '@/ds/components/HoverCard';\nimport { Txt } from '@/ds/components/Txt/Txt';\nimport { focusRing, focusRingInset } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\nimport { formatDurationPrecise } from '@/utils/duration';\n\nexport type SpanTimelineRowProps = {\n ctx: SpanRowContext;\n};\n\n/**\n * One row of `TraceSpanTimeline`: compact single-line name cell plus a bar on the\n * shared trace time axis. The row spans both grid columns (subgrid) so hover and\n * selection cover the name and the bar together.\n */\nexport function SpanTimelineRow({ ctx }: SpanTimelineRowProps) {\n const {\n span,\n spanUI,\n
|
|
1
|
+
{"version":3,"file":"span-timeline-row.cjs.js","sources":["../../../../src/domains/traces/components/span-timeline-row.tsx"],"sourcesContent":["import { ChevronDownIcon, ChevronRightIcon } from 'lucide-react';\nimport { useEffect, useRef } from 'react';\nimport { getSpanTimingLayout } from '../utils/span-timing';\nimport type { SpanRowContext } from './span-rows';\nimport { SpanTimingHoverCard } from './span-timing-hover-card';\nimport { TimelineStructureSign } from './timeline-structure-sign';\nimport { HoverCard, HoverCardTrigger } from '@/ds/components/HoverCard';\nimport { Txt } from '@/ds/components/Txt/Txt';\nimport { focusRing, focusRingInset } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\nimport { formatDurationPrecise } from '@/utils/duration';\n\nexport type SpanTimelineRowProps = {\n ctx: SpanRowContext;\n};\n\n/**\n * One row of `TraceSpanTimeline`: compact single-line name cell plus a bar on the\n * shared trace time axis. The row spans both grid columns (subgrid) so hover and\n * selection cover the name and the bar together.\n */\nexport function SpanTimelineRow({ ctx }: SpanTimelineRowProps) {\n const {\n span,\n spanUI,\n isRootSpan,\n isLastChild,\n guides,\n isExpanded,\n isSelected,\n isFaded,\n isRevealed,\n overallLatency,\n overallStartTime,\n onSpanClick,\n expansion,\n } = ctx;\n const rowRef = useRef<HTMLDivElement>(null);\n const shouldScrollIntoView = isSelected || isRevealed;\n\n // Nested rows mount late, once expansion opens, so scroll on mount as well as on change.\n useEffect(() => {\n if (!shouldScrollIntoView) return;\n // A highlighted span is centered so it never sits at the panel's edge; a clicked one only moves if hidden.\n rowRef.current?.scrollIntoView({ block: isRevealed ? 'center' : 'nearest', behavior: 'smooth' });\n }, [shouldScrollIntoView, isRevealed]);\n\n const { startShiftMs, leftPercent, widthPercent } = getSpanTimingLayout(span, overallLatency, overallStartTime);\n const toggleLabel = isExpanded\n ? `Collapse children (${expansion.numOfChildren})`\n : `Expand children (${expansion.numOfChildren})`;\n\n return (\n <div\n ref={rowRef}\n aria-label={`View details for span ${span.name}`}\n aria-selected={isSelected}\n // The whole row selects the span; the name button is the keyboard target and its click bubbles here.\n onClick={() => onSpanClick?.(span.id)}\n className={cn(\n 'col-span-2 grid h-7 cursor-pointer grid-cols-subgrid items-stretch rounded-md opacity-80 hover:bg-fill-subtle',\n {\n 'opacity-40 dark:opacity-30 [&:hover]:opacity-70 dark:[&:hover]:opacity-60': isFaded,\n 'bg-fill-hover': isSelected,\n },\n )}\n >\n <div className=\"flex min-w-0 items-stretch pl-1\">\n <TimelineStructureSign\n guides={guides}\n isRootSpan={isRootSpan}\n isLastChild={isLastChild}\n hasStem={expansion.hasChildren && isExpanded}\n dot={\n <span\n aria-hidden\n title={spanUI?.label}\n style={{ backgroundColor: spanUI?.color }}\n className=\"size-2 shrink-0 rounded-full\"\n />\n }\n />\n\n <button\n type=\"button\"\n className={cn(\n 'text-foreground',\n 'flex min-w-0 flex-1 cursor-pointer items-center rounded-md pr-2 pl-1.5 text-left',\n focusRingInset,\n )}\n >\n <Txt\n as=\"span\"\n variant=\"caption\"\n data-highlight={span.matchedInPayloadOnly ? undefined : ''}\n data-highlight-indirect={span.matchedInPayloadOnly ? '' : undefined}\n title={span.matchedInPayloadOnly ? 'Matches your search in this span’s details' : undefined}\n className=\"min-w-0 truncate\"\n >\n {span.name}\n </Txt>\n </button>\n\n {/* Slot is always present so names stay aligned whether or not the span has children. */}\n <div className=\"flex w-7 shrink-0 items-center justify-center\">\n {expansion.hasChildren && (\n <button\n type=\"button\"\n onClick={e => {\n e.stopPropagation();\n expansion.toggleChildren();\n }}\n aria-label={toggleLabel}\n aria-expanded={isExpanded}\n className={cn(\n 'flex size-5 cursor-pointer items-center justify-center rounded-md',\n 'hover:bg-fill [&:hover>svg]:opacity-100 [&>svg]:size-4 [&>svg]:opacity-50',\n focusRing,\n )}\n >\n {isExpanded ? <ChevronDownIcon /> : <ChevronRightIcon />}\n </button>\n )}\n </div>\n </div>\n\n <HoverCard>\n <HoverCardTrigger\n render={<div />}\n className=\"grid min-w-0 cursor-help grid-cols-[minmax(0,1fr)_auto] items-center gap-2 px-2\"\n >\n <div className=\"relative h-4 w-full rounded-sm bg-fill-subtle\">\n <div\n data-testid=\"span-timeline-bar\"\n className=\"absolute inset-y-0 rounded-sm\"\n style={{\n left: `${leftPercent}%`,\n width: widthPercent ? `${widthPercent}%` : '2px',\n backgroundColor: spanUI?.color,\n }}\n />\n </div>\n <Txt as=\"p\" variant=\"meta\" font=\"mono\" tone=\"muted\" className=\"w-12 text-right\">\n {formatDurationPrecise(span.latency)}\n </Txt>\n </HoverCardTrigger>\n <SpanTimingHoverCard span={span} startShiftMs={startShiftMs} />\n </HoverCard>\n </div>\n );\n}\n"],"names":["useRef","useEffect","getSpanTimingLayout","jsxs","cn","jsx","TimelineStructureSign","focusRingInset","Txt","focusRing","ChevronDownIcon","ChevronRightIcon","HoverCard","HoverCardTrigger","formatDurationPrecise","SpanTimingHoverCard"],"mappings":";;;;;;;;;;;;;;;;AAqBO,SAAS,eAAA,CAAgB,EAAE,GAAA,EAAI,EAAyB;AAC7D,EAAA,MAAM;AAAA,IACJ,IAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,cAAA;AAAA,IACA,gBAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACF,GAAI,GAAA;AACJ,EAAA,MAAM,MAAA,GAASA,aAAuB,IAAI,CAAA;AAC1C,EAAA,MAAM,uBAAuB,UAAA,IAAc,UAAA;AAG3C,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,oBAAA,EAAsB;AAE3B,IAAA,MAAA,CAAO,OAAA,EAAS,eAAe,EAAE,KAAA,EAAO,aAAa,QAAA,GAAW,SAAA,EAAW,QAAA,EAAU,QAAA,EAAU,CAAA;AAAA,EACjG,CAAA,EAAG,CAAC,oBAAA,EAAsB,UAAU,CAAC,CAAA;AAErC,EAAA,MAAM,EAAE,cAAc,WAAA,EAAa,YAAA,KAAiBC,mDAAA,CAAoB,IAAA,EAAM,gBAAgB,gBAAgB,CAAA;AAC9G,EAAA,MAAM,WAAA,GAAc,aAChB,CAAA,mBAAA,EAAsB,SAAA,CAAU,aAAa,CAAA,CAAA,CAAA,GAC7C,CAAA,iBAAA,EAAoB,UAAU,aAAa,CAAA,CAAA,CAAA;AAE/C,EAAA,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,MAAA;AAAA,MACL,YAAA,EAAY,CAAA,sBAAA,EAAyB,IAAA,CAAK,IAAI,CAAA,CAAA;AAAA,MAC9C,eAAA,EAAe,UAAA;AAAA,MAEf,OAAA,EAAS,MAAM,WAAA,GAAc,IAAA,CAAK,EAAE,CAAA;AAAA,MACpC,SAAA,EAAWC,WAAA;AAAA,QACT,+GAAA;AAAA,QACA;AAAA,UACE,2EAAA,EAA6E,OAAA;AAAA,UAC7E,eAAA,EAAiB;AAAA;AACnB,OACF;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAAD,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,iCAAA,EACb,QAAA,EAAA;AAAA,0BAAAE,cAAA;AAAA,YAACC,qEAAA;AAAA,YAAA;AAAA,cACC,MAAA;AAAA,cACA,UAAA;AAAA,cACA,WAAA;AAAA,cACA,OAAA,EAAS,UAAU,WAAA,IAAe,UAAA;AAAA,cAClC,GAAA,kBACED,cAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,aAAA,EAAW,IAAA;AAAA,kBACX,OAAO,MAAA,EAAQ,KAAA;AAAA,kBACf,KAAA,EAAO,EAAE,eAAA,EAAiB,MAAA,EAAQ,KAAA,EAAM;AAAA,kBACxC,SAAA,EAAU;AAAA;AAAA;AACZ;AAAA,WAEJ;AAAA,0BAEAA,cAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,QAAA;AAAA,cACL,SAAA,EAAWD,WAAA;AAAA,gBACT,iBAAA;AAAA,gBACA,kFAAA;AAAA,gBACAG;AAAA,eACF;AAAA,cAEA,QAAA,kBAAAF,cAAA;AAAA,gBAACG,OAAA;AAAA,gBAAA;AAAA,kBACC,EAAA,EAAG,MAAA;AAAA,kBACH,OAAA,EAAQ,SAAA;AAAA,kBACR,gBAAA,EAAgB,IAAA,CAAK,oBAAA,GAAuB,MAAA,GAAY,EAAA;AAAA,kBACxD,yBAAA,EAAyB,IAAA,CAAK,oBAAA,GAAuB,EAAA,GAAK,MAAA;AAAA,kBAC1D,KAAA,EAAO,IAAA,CAAK,oBAAA,GAAuB,4CAAA,GAA+C,MAAA;AAAA,kBAClF,SAAA,EAAU,kBAAA;AAAA,kBAET,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA;AACR;AAAA,WACF;AAAA,0BAGAH,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,+CAAA,EACZ,oBAAU,WAAA,oBACTA,cAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,QAAA;AAAA,cACL,SAAS,CAAA,CAAA,KAAK;AACZ,gBAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,gBAAA,SAAA,CAAU,cAAA,EAAe;AAAA,cAC3B,CAAA;AAAA,cACA,YAAA,EAAY,WAAA;AAAA,cACZ,eAAA,EAAe,UAAA;AAAA,cACf,SAAA,EAAWD,WAAA;AAAA,gBACT,mEAAA;AAAA,gBACA,2EAAA;AAAA,gBACAK;AAAA,eACF;AAAA,cAEC,QAAA,EAAA,UAAA,mBAAaJ,cAAA,CAACK,2BAAA,EAAA,EAAgB,CAAA,kCAAMC,4BAAA,EAAA,EAAiB;AAAA;AAAA,WACxD,EAEJ;AAAA,SAAA,EACF,CAAA;AAAA,wCAECC,mBAAA,EAAA,EACC,QAAA,EAAA;AAAA,0BAAAT,eAAA;AAAA,YAACU,0BAAA;AAAA,YAAA;AAAA,cACC,MAAA,iCAAS,KAAA,EAAA,EAAI,CAAA;AAAA,cACb,SAAA,EAAU,iFAAA;AAAA,cAEV,QAAA,EAAA;AAAA,gCAAAR,cAAA,CAAC,KAAA,EAAA,EAAI,WAAU,+CAAA,EACb,QAAA,kBAAAA,cAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,aAAA,EAAY,mBAAA;AAAA,oBACZ,SAAA,EAAU,+BAAA;AAAA,oBACV,KAAA,EAAO;AAAA,sBACL,IAAA,EAAM,GAAG,WAAW,CAAA,CAAA,CAAA;AAAA,sBACpB,KAAA,EAAO,YAAA,GAAe,CAAA,EAAG,YAAY,CAAA,CAAA,CAAA,GAAM,KAAA;AAAA,sBAC3C,iBAAiB,MAAA,EAAQ;AAAA;AAC3B;AAAA,iBACF,EACF,CAAA;AAAA,gCACAA,cAAA,CAACG,OAAA,EAAA,EAAI,EAAA,EAAG,GAAA,EAAI,SAAQ,MAAA,EAAO,IAAA,EAAK,MAAA,EAAO,IAAA,EAAK,SAAQ,SAAA,EAAU,iBAAA,EAC3D,QAAA,EAAAM,oCAAA,CAAsB,IAAA,CAAK,OAAO,CAAA,EACrC;AAAA;AAAA;AAAA,WACF;AAAA,0BACAT,cAAA,CAACU,iEAAA,EAAA,EAAoB,IAAA,EAAY,YAAA,EAA4B;AAAA,SAAA,EAC/D;AAAA;AAAA;AAAA,GACF;AAEJ;;;;"}
|
|
@@ -14,9 +14,9 @@ function SpanTimelineRow({ ctx }) {
|
|
|
14
14
|
const {
|
|
15
15
|
span,
|
|
16
16
|
spanUI,
|
|
17
|
-
depth,
|
|
18
17
|
isRootSpan,
|
|
19
18
|
isLastChild,
|
|
19
|
+
guides,
|
|
20
20
|
isExpanded,
|
|
21
21
|
isSelected,
|
|
22
22
|
isFaded,
|
|
@@ -49,40 +49,46 @@ function SpanTimelineRow({ ctx }) {
|
|
|
49
49
|
}
|
|
50
50
|
),
|
|
51
51
|
children: [
|
|
52
|
-
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-stretch",
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-stretch pl-1", children: [
|
|
53
|
+
/* @__PURE__ */ jsx(
|
|
54
|
+
TimelineStructureSign,
|
|
55
|
+
{
|
|
56
|
+
guides,
|
|
57
|
+
isRootSpan,
|
|
58
|
+
isLastChild,
|
|
59
|
+
hasStem: expansion.hasChildren && isExpanded,
|
|
60
|
+
dot: /* @__PURE__ */ jsx(
|
|
61
|
+
"span",
|
|
62
|
+
{
|
|
63
|
+
"aria-hidden": true,
|
|
64
|
+
title: spanUI?.label,
|
|
65
|
+
style: { backgroundColor: spanUI?.color },
|
|
66
|
+
className: "size-2 shrink-0 rounded-full"
|
|
67
|
+
}
|
|
68
|
+
)
|
|
69
|
+
}
|
|
70
|
+
),
|
|
71
|
+
/* @__PURE__ */ jsx(
|
|
55
72
|
"button",
|
|
56
73
|
{
|
|
57
74
|
type: "button",
|
|
58
75
|
className: cn(
|
|
59
76
|
"text-foreground",
|
|
60
|
-
"flex min-w-0 flex-1 cursor-pointer items-center
|
|
77
|
+
"flex min-w-0 flex-1 cursor-pointer items-center rounded-md pr-2 pl-1.5 text-left",
|
|
61
78
|
focusRingInset
|
|
62
79
|
),
|
|
63
|
-
children:
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
{
|
|
76
|
-
as: "span",
|
|
77
|
-
variant: "caption",
|
|
78
|
-
"data-highlight": span.matchedInPayloadOnly ? void 0 : "",
|
|
79
|
-
"data-highlight-indirect": span.matchedInPayloadOnly ? "" : void 0,
|
|
80
|
-
title: span.matchedInPayloadOnly ? "Matches your search in this span’s details" : void 0,
|
|
81
|
-
className: "min-w-0 truncate",
|
|
82
|
-
children: span.name
|
|
83
|
-
}
|
|
84
|
-
)
|
|
85
|
-
]
|
|
80
|
+
children: /* @__PURE__ */ jsx(
|
|
81
|
+
Txt,
|
|
82
|
+
{
|
|
83
|
+
as: "span",
|
|
84
|
+
variant: "caption",
|
|
85
|
+
"data-highlight": span.matchedInPayloadOnly ? void 0 : "",
|
|
86
|
+
"data-highlight-indirect": span.matchedInPayloadOnly ? "" : void 0,
|
|
87
|
+
title: span.matchedInPayloadOnly ? "Matches your search in this span’s details" : void 0,
|
|
88
|
+
className: "min-w-0 truncate",
|
|
89
|
+
children: span.name
|
|
90
|
+
}
|
|
91
|
+
)
|
|
86
92
|
}
|
|
87
93
|
),
|
|
88
94
|
/* @__PURE__ */ jsx("div", { className: "flex w-7 shrink-0 items-center justify-center", children: expansion.hasChildren && /* @__PURE__ */ jsx(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-timeline-row.es.js","sources":["../../../../src/domains/traces/components/span-timeline-row.tsx"],"sourcesContent":["import { ChevronDownIcon, ChevronRightIcon } from 'lucide-react';\nimport { useEffect, useRef } from 'react';\nimport { getSpanTimingLayout } from '../utils/span-timing';\nimport type { SpanRowContext } from './span-rows';\nimport { SpanTimingHoverCard } from './span-timing-hover-card';\nimport { TimelineStructureSign } from './timeline-structure-sign';\nimport { HoverCard, HoverCardTrigger } from '@/ds/components/HoverCard';\nimport { Txt } from '@/ds/components/Txt/Txt';\nimport { focusRing, focusRingInset } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\nimport { formatDurationPrecise } from '@/utils/duration';\n\nexport type SpanTimelineRowProps = {\n ctx: SpanRowContext;\n};\n\n/**\n * One row of `TraceSpanTimeline`: compact single-line name cell plus a bar on the\n * shared trace time axis. The row spans both grid columns (subgrid) so hover and\n * selection cover the name and the bar together.\n */\nexport function SpanTimelineRow({ ctx }: SpanTimelineRowProps) {\n const {\n span,\n spanUI,\n
|
|
1
|
+
{"version":3,"file":"span-timeline-row.es.js","sources":["../../../../src/domains/traces/components/span-timeline-row.tsx"],"sourcesContent":["import { ChevronDownIcon, ChevronRightIcon } from 'lucide-react';\nimport { useEffect, useRef } from 'react';\nimport { getSpanTimingLayout } from '../utils/span-timing';\nimport type { SpanRowContext } from './span-rows';\nimport { SpanTimingHoverCard } from './span-timing-hover-card';\nimport { TimelineStructureSign } from './timeline-structure-sign';\nimport { HoverCard, HoverCardTrigger } from '@/ds/components/HoverCard';\nimport { Txt } from '@/ds/components/Txt/Txt';\nimport { focusRing, focusRingInset } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\nimport { formatDurationPrecise } from '@/utils/duration';\n\nexport type SpanTimelineRowProps = {\n ctx: SpanRowContext;\n};\n\n/**\n * One row of `TraceSpanTimeline`: compact single-line name cell plus a bar on the\n * shared trace time axis. The row spans both grid columns (subgrid) so hover and\n * selection cover the name and the bar together.\n */\nexport function SpanTimelineRow({ ctx }: SpanTimelineRowProps) {\n const {\n span,\n spanUI,\n isRootSpan,\n isLastChild,\n guides,\n isExpanded,\n isSelected,\n isFaded,\n isRevealed,\n overallLatency,\n overallStartTime,\n onSpanClick,\n expansion,\n } = ctx;\n const rowRef = useRef<HTMLDivElement>(null);\n const shouldScrollIntoView = isSelected || isRevealed;\n\n // Nested rows mount late, once expansion opens, so scroll on mount as well as on change.\n useEffect(() => {\n if (!shouldScrollIntoView) return;\n // A highlighted span is centered so it never sits at the panel's edge; a clicked one only moves if hidden.\n rowRef.current?.scrollIntoView({ block: isRevealed ? 'center' : 'nearest', behavior: 'smooth' });\n }, [shouldScrollIntoView, isRevealed]);\n\n const { startShiftMs, leftPercent, widthPercent } = getSpanTimingLayout(span, overallLatency, overallStartTime);\n const toggleLabel = isExpanded\n ? `Collapse children (${expansion.numOfChildren})`\n : `Expand children (${expansion.numOfChildren})`;\n\n return (\n <div\n ref={rowRef}\n aria-label={`View details for span ${span.name}`}\n aria-selected={isSelected}\n // The whole row selects the span; the name button is the keyboard target and its click bubbles here.\n onClick={() => onSpanClick?.(span.id)}\n className={cn(\n 'col-span-2 grid h-7 cursor-pointer grid-cols-subgrid items-stretch rounded-md opacity-80 hover:bg-fill-subtle',\n {\n 'opacity-40 dark:opacity-30 [&:hover]:opacity-70 dark:[&:hover]:opacity-60': isFaded,\n 'bg-fill-hover': isSelected,\n },\n )}\n >\n <div className=\"flex min-w-0 items-stretch pl-1\">\n <TimelineStructureSign\n guides={guides}\n isRootSpan={isRootSpan}\n isLastChild={isLastChild}\n hasStem={expansion.hasChildren && isExpanded}\n dot={\n <span\n aria-hidden\n title={spanUI?.label}\n style={{ backgroundColor: spanUI?.color }}\n className=\"size-2 shrink-0 rounded-full\"\n />\n }\n />\n\n <button\n type=\"button\"\n className={cn(\n 'text-foreground',\n 'flex min-w-0 flex-1 cursor-pointer items-center rounded-md pr-2 pl-1.5 text-left',\n focusRingInset,\n )}\n >\n <Txt\n as=\"span\"\n variant=\"caption\"\n data-highlight={span.matchedInPayloadOnly ? undefined : ''}\n data-highlight-indirect={span.matchedInPayloadOnly ? '' : undefined}\n title={span.matchedInPayloadOnly ? 'Matches your search in this span’s details' : undefined}\n className=\"min-w-0 truncate\"\n >\n {span.name}\n </Txt>\n </button>\n\n {/* Slot is always present so names stay aligned whether or not the span has children. */}\n <div className=\"flex w-7 shrink-0 items-center justify-center\">\n {expansion.hasChildren && (\n <button\n type=\"button\"\n onClick={e => {\n e.stopPropagation();\n expansion.toggleChildren();\n }}\n aria-label={toggleLabel}\n aria-expanded={isExpanded}\n className={cn(\n 'flex size-5 cursor-pointer items-center justify-center rounded-md',\n 'hover:bg-fill [&:hover>svg]:opacity-100 [&>svg]:size-4 [&>svg]:opacity-50',\n focusRing,\n )}\n >\n {isExpanded ? <ChevronDownIcon /> : <ChevronRightIcon />}\n </button>\n )}\n </div>\n </div>\n\n <HoverCard>\n <HoverCardTrigger\n render={<div />}\n className=\"grid min-w-0 cursor-help grid-cols-[minmax(0,1fr)_auto] items-center gap-2 px-2\"\n >\n <div className=\"relative h-4 w-full rounded-sm bg-fill-subtle\">\n <div\n data-testid=\"span-timeline-bar\"\n className=\"absolute inset-y-0 rounded-sm\"\n style={{\n left: `${leftPercent}%`,\n width: widthPercent ? `${widthPercent}%` : '2px',\n backgroundColor: spanUI?.color,\n }}\n />\n </div>\n <Txt as=\"p\" variant=\"meta\" font=\"mono\" tone=\"muted\" className=\"w-12 text-right\">\n {formatDurationPrecise(span.latency)}\n </Txt>\n </HoverCardTrigger>\n <SpanTimingHoverCard span={span} startShiftMs={startShiftMs} />\n </HoverCard>\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
const dataKeysAndValues = require('../../../data-keys-and-values-
|
|
6
|
+
const dataKeysAndValues = require('../../../data-keys-and-values-DBXIqeXt.cjs');
|
|
7
7
|
const hoverCard = require('../../../hover-card-DVBz-iu-.cjs');
|
|
8
8
|
const Txt = require('../../../Txt-CIS2G5Jx.cjs');
|
|
9
9
|
const utils_cn = require('../../../cn-DlOJCxrS.cjs');
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { D as DataKeysAndValues } from '../../../data-keys-and-values-
|
|
2
|
+
import { D as DataKeysAndValues } from '../../../data-keys-and-values-DHp6cHJo.js';
|
|
3
3
|
import { a as HoverCardContent } from '../../../hover-card-CJ1fcJvo.js';
|
|
4
4
|
import { T as Txt } from '../../../Txt-BtIGLRk1.js';
|
|
5
5
|
import { c as cn } from '../../../cn-CQUhN5Jx.js';
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
const React = require('react');
|
|
7
7
|
const domains_traces_components_spanTokenUsage_utils = require('./span-token-usage.utils.cjs.js');
|
|
8
|
-
const dataKeysAndValues = require('../../../data-keys-and-values-
|
|
8
|
+
const dataKeysAndValues = require('../../../data-keys-and-values-DBXIqeXt.cjs');
|
|
9
9
|
const Txt = require('../../../Txt-CIS2G5Jx.cjs');
|
|
10
10
|
const utils_cn = require('../../../cn-DlOJCxrS.cjs');
|
|
11
11
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { Fragment } from 'react';
|
|
3
3
|
import { getTokenUsageView } from './span-token-usage.utils.es.js';
|
|
4
|
-
import { D as DataKeysAndValues } from '../../../data-keys-and-values-
|
|
4
|
+
import { D as DataKeysAndValues } from '../../../data-keys-and-values-DHp6cHJo.js';
|
|
5
5
|
import { T as Txt } from '../../../Txt-BtIGLRk1.js';
|
|
6
6
|
import { c as cn } from '../../../cn-CQUhN5Jx.js';
|
|
7
7
|
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
const SPAN_TREE_INDENT = 24;
|
|
8
|
+
const SPAN_TREE_PAD_Y = 4.5;
|
|
9
|
+
const SPAN_TREE_LINE = 20;
|
|
10
|
+
const BADGE_HALF = 10;
|
|
11
|
+
const GAP = 2;
|
|
12
|
+
const RADIUS = 8;
|
|
13
|
+
const MID = SPAN_TREE_PAD_Y + SPAN_TREE_LINE / 2;
|
|
14
|
+
const SPAN_TREE_META_GAP = 1;
|
|
15
|
+
const railStyle = { color: "oklch(var(--fill-tint) 0 0)", opacity: 0.19 };
|
|
16
|
+
function SpanTreeRail({ depth, guides, isLastChild, hasStem }) {
|
|
17
|
+
const x = (col) => col * SPAN_TREE_INDENT + SPAN_TREE_INDENT / 2 + 0.5;
|
|
18
|
+
const parts = [];
|
|
19
|
+
const vertical = (key, col, top, testId) => /* @__PURE__ */ jsxRuntime.jsx("line", { "data-testid": testId, x1: x(col), x2: x(col), y1: top, y2: "100%" }, key);
|
|
20
|
+
guides.forEach((show, col) => {
|
|
21
|
+
if (show) parts.push(vertical(`guide-${col}`, col, 0, "span-tree-guide"));
|
|
22
|
+
});
|
|
23
|
+
if (depth > 0) {
|
|
24
|
+
const cx = x(depth - 1);
|
|
25
|
+
const end = x(depth) - 0.5 - BADGE_HALF - GAP;
|
|
26
|
+
parts.push(
|
|
27
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: `M${cx} 0V${MID - RADIUS}Q${cx} ${MID} ${cx + RADIUS} ${MID}H${end}`, fill: "none" }, "elbow")
|
|
28
|
+
);
|
|
29
|
+
if (!isLastChild) parts.push(vertical("trunk", depth - 1, 0));
|
|
30
|
+
}
|
|
31
|
+
if (hasStem) parts.push(vertical("stem", depth, MID + BADGE_HALF + GAP));
|
|
32
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33
|
+
"svg",
|
|
34
|
+
{
|
|
35
|
+
"aria-hidden": true,
|
|
36
|
+
className: "pointer-events-none absolute top-0 left-1 h-[calc(100%+1px)] w-full overflow-visible",
|
|
37
|
+
stroke: "currentColor",
|
|
38
|
+
strokeWidth: 1,
|
|
39
|
+
style: railStyle,
|
|
40
|
+
children: parts
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
exports.SPAN_TREE_INDENT = SPAN_TREE_INDENT;
|
|
46
|
+
exports.SPAN_TREE_LINE = SPAN_TREE_LINE;
|
|
47
|
+
exports.SPAN_TREE_META_GAP = SPAN_TREE_META_GAP;
|
|
48
|
+
exports.SPAN_TREE_PAD_Y = SPAN_TREE_PAD_Y;
|
|
49
|
+
exports.SpanTreeRail = SpanTreeRail;
|
|
50
|
+
//# sourceMappingURL=span-tree-rail.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"span-tree-rail.cjs.js","sources":["../../../../src/domains/traces/components/span-tree-rail.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\n/** Width of one nesting level; a row's badge sits centred in column `depth`. */\nexport const SPAN_TREE_INDENT = 24;\n/** Vertical padding of a tree row. */\nexport const SPAN_TREE_PAD_Y = 4.5;\n/** Height of the name line; the badge and the elbow centre on it. */\nexport const SPAN_TREE_LINE = 20;\n\nconst BADGE_HALF = 10;\nconst GAP = 2;\nconst RADIUS = 8;\nconst MID = SPAN_TREE_PAD_Y + SPAN_TREE_LINE / 2;\n\n/** Gap between the name line and the duration line; with the padding, rows land on whole pixels (46px). */\nexport const SPAN_TREE_META_GAP = 1;\n\n/**\n * `--border-strong` is the neutral tint at 19% alpha. Every line is drawn at full strength in one SVG and\n * the 19% is applied once to the whole rail, so a pixel two lines share (a join, a half-pixel end) is\n * painted once and never comes out brighter or darker than the line.\n */\nconst railStyle = { color: 'oklch(var(--fill-tint) 0 0)', opacity: 0.19 };\n\ntype SpanTreeRailProps = {\n depth: number;\n /** Per ancestor level (shallowest first): whether that level's connector continues past this row. */\n guides: boolean[];\n isLastChild?: boolean;\n /** Draw the line from this row's badge down to its children. */\n hasStem?: boolean;\n};\n\n/**\n * Tree connectors of one span row, drawn over the row's left edge: a guide per ancestor level that\n * continues, a rounded elbow from the parent's line into the badge, and a stem down to the children.\n * Vertical lines run 1px past the row to bridge the gap to the next one.\n */\nexport function SpanTreeRail({ depth, guides, isLastChild, hasStem }: SpanTreeRailProps) {\n // +0.5 centres a 1px stroke on a pixel column so vertical lines stay crisp.\n const x = (col: number) => col * SPAN_TREE_INDENT + SPAN_TREE_INDENT / 2 + 0.5;\n const parts: ReactNode[] = [];\n const vertical = (key: string, col: number, top: number, testId?: string) => (\n <line key={key} data-testid={testId} x1={x(col)} x2={x(col)} y1={top} y2=\"100%\" />\n );\n\n guides.forEach((show, col) => {\n if (show) parts.push(vertical(`guide-${col}`, col, 0, 'span-tree-guide'));\n });\n\n if (depth > 0) {\n const cx = x(depth - 1);\n const end = x(depth) - 0.5 - BADGE_HALF - GAP;\n // Rounded elbow from the top of the row into the badge; later siblings keep the trunk going.\n parts.push(\n <path key=\"elbow\" d={`M${cx} 0V${MID - RADIUS}Q${cx} ${MID} ${cx + RADIUS} ${MID}H${end}`} fill=\"none\" />,\n );\n if (!isLastChild) parts.push(vertical('trunk', depth - 1, 0));\n }\n\n if (hasStem) parts.push(vertical('stem', depth, MID + BADGE_HALF + GAP));\n\n return (\n <svg\n aria-hidden\n className=\"pointer-events-none absolute top-0 left-1 h-[calc(100%+1px)] w-full overflow-visible\"\n stroke=\"currentColor\"\n strokeWidth={1}\n style={railStyle}\n >\n {parts}\n </svg>\n );\n}\n"],"names":["jsx"],"mappings":";;;;;;AAGO,MAAM,gBAAA,GAAmB;AAEzB,MAAM,eAAA,GAAkB;AAExB,MAAM,cAAA,GAAiB;AAE9B,MAAM,UAAA,GAAa,EAAA;AACnB,MAAM,GAAA,GAAM,CAAA;AACZ,MAAM,MAAA,GAAS,CAAA;AACf,MAAM,GAAA,GAAM,kBAAkB,cAAA,GAAiB,CAAA;AAGxC,MAAM,kBAAA,GAAqB;AAOlC,MAAM,SAAA,GAAY,EAAE,KAAA,EAAO,6BAAA,EAA+B,SAAS,IAAA,EAAK;AAgBjE,SAAS,aAAa,EAAE,KAAA,EAAO,MAAA,EAAQ,WAAA,EAAa,SAAQ,EAAsB;AAEvF,EAAA,MAAM,IAAI,CAAC,GAAA,KAAgB,GAAA,GAAM,gBAAA,GAAmB,mBAAmB,CAAA,GAAI,GAAA;AAC3E,EAAA,MAAM,QAAqB,EAAC;AAC5B,EAAA,MAAM,QAAA,GAAW,CAAC,GAAA,EAAa,GAAA,EAAa,KAAa,MAAA,qBACvDA,cAAA,CAAC,MAAA,EAAA,EAAe,aAAA,EAAa,MAAA,EAAQ,EAAA,EAAI,EAAE,GAAG,CAAA,EAAG,IAAI,CAAA,CAAE,GAAG,GAAG,EAAA,EAAI,GAAA,EAAK,EAAA,EAAG,MAAA,EAAA,EAA9D,GAAqE,CAAA;AAGlF,EAAA,MAAA,CAAO,OAAA,CAAQ,CAAC,IAAA,EAAM,GAAA,KAAQ;AAC5B,IAAA,IAAI,IAAA,EAAM,KAAA,CAAM,IAAA,CAAK,QAAA,CAAS,CAAA,MAAA,EAAS,GAAG,CAAA,CAAA,EAAI,GAAA,EAAK,CAAA,EAAG,iBAAiB,CAAC,CAAA;AAAA,EAC1E,CAAC,CAAA;AAED,EAAA,IAAI,QAAQ,CAAA,EAAG;AACb,IAAA,MAAM,EAAA,GAAK,CAAA,CAAE,KAAA,GAAQ,CAAC,CAAA;AACtB,IAAA,MAAM,GAAA,GAAM,CAAA,CAAE,KAAK,CAAA,GAAI,MAAM,UAAA,GAAa,GAAA;AAE1C,IAAA,KAAA,CAAM,IAAA;AAAA,sBACJA,cAAA,CAAC,UAAiB,CAAA,EAAG,CAAA,CAAA,EAAI,EAAE,CAAA,GAAA,EAAM,GAAA,GAAM,MAAM,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,EAAI,EAAA,GAAK,MAAM,CAAA,CAAA,EAAI,GAAG,IAAI,GAAG,CAAA,CAAA,EAAI,IAAA,EAAK,MAAA,EAAA,EAAtF,OAA6F;AAAA,KACzG;AACA,IAAA,IAAI,CAAC,aAAa,KAAA,CAAM,IAAA,CAAK,SAAS,OAAA,EAAS,KAAA,GAAQ,CAAA,EAAG,CAAC,CAAC,CAAA;AAAA,EAC9D;AAEA,EAAA,IAAI,OAAA,QAAe,IAAA,CAAK,QAAA,CAAS,QAAQ,KAAA,EAAO,GAAA,GAAM,UAAA,GAAa,GAAG,CAAC,CAAA;AAEvE,EAAA,uBACEA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAW,IAAA;AAAA,MACX,SAAA,EAAU,sFAAA;AAAA,MACV,MAAA,EAAO,cAAA;AAAA,MACP,WAAA,EAAa,CAAA;AAAA,MACb,KAAA,EAAO,SAAA;AAAA,MAEN,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ;;;;;;;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
const SPAN_TREE_INDENT = 24;
|
|
4
|
+
const SPAN_TREE_PAD_Y = 4.5;
|
|
5
|
+
const SPAN_TREE_LINE = 20;
|
|
6
|
+
const BADGE_HALF = 10;
|
|
7
|
+
const GAP = 2;
|
|
8
|
+
const RADIUS = 8;
|
|
9
|
+
const MID = SPAN_TREE_PAD_Y + SPAN_TREE_LINE / 2;
|
|
10
|
+
const SPAN_TREE_META_GAP = 1;
|
|
11
|
+
const railStyle = { color: "oklch(var(--fill-tint) 0 0)", opacity: 0.19 };
|
|
12
|
+
function SpanTreeRail({ depth, guides, isLastChild, hasStem }) {
|
|
13
|
+
const x = (col) => col * SPAN_TREE_INDENT + SPAN_TREE_INDENT / 2 + 0.5;
|
|
14
|
+
const parts = [];
|
|
15
|
+
const vertical = (key, col, top, testId) => /* @__PURE__ */ jsx("line", { "data-testid": testId, x1: x(col), x2: x(col), y1: top, y2: "100%" }, key);
|
|
16
|
+
guides.forEach((show, col) => {
|
|
17
|
+
if (show) parts.push(vertical(`guide-${col}`, col, 0, "span-tree-guide"));
|
|
18
|
+
});
|
|
19
|
+
if (depth > 0) {
|
|
20
|
+
const cx = x(depth - 1);
|
|
21
|
+
const end = x(depth) - 0.5 - BADGE_HALF - GAP;
|
|
22
|
+
parts.push(
|
|
23
|
+
/* @__PURE__ */ jsx("path", { d: `M${cx} 0V${MID - RADIUS}Q${cx} ${MID} ${cx + RADIUS} ${MID}H${end}`, fill: "none" }, "elbow")
|
|
24
|
+
);
|
|
25
|
+
if (!isLastChild) parts.push(vertical("trunk", depth - 1, 0));
|
|
26
|
+
}
|
|
27
|
+
if (hasStem) parts.push(vertical("stem", depth, MID + BADGE_HALF + GAP));
|
|
28
|
+
return /* @__PURE__ */ jsx(
|
|
29
|
+
"svg",
|
|
30
|
+
{
|
|
31
|
+
"aria-hidden": true,
|
|
32
|
+
className: "pointer-events-none absolute top-0 left-1 h-[calc(100%+1px)] w-full overflow-visible",
|
|
33
|
+
stroke: "currentColor",
|
|
34
|
+
strokeWidth: 1,
|
|
35
|
+
style: railStyle,
|
|
36
|
+
children: parts
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { SPAN_TREE_INDENT, SPAN_TREE_LINE, SPAN_TREE_META_GAP, SPAN_TREE_PAD_Y, SpanTreeRail };
|
|
42
|
+
//# sourceMappingURL=span-tree-rail.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"span-tree-rail.es.js","sources":["../../../../src/domains/traces/components/span-tree-rail.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\n/** Width of one nesting level; a row's badge sits centred in column `depth`. */\nexport const SPAN_TREE_INDENT = 24;\n/** Vertical padding of a tree row. */\nexport const SPAN_TREE_PAD_Y = 4.5;\n/** Height of the name line; the badge and the elbow centre on it. */\nexport const SPAN_TREE_LINE = 20;\n\nconst BADGE_HALF = 10;\nconst GAP = 2;\nconst RADIUS = 8;\nconst MID = SPAN_TREE_PAD_Y + SPAN_TREE_LINE / 2;\n\n/** Gap between the name line and the duration line; with the padding, rows land on whole pixels (46px). */\nexport const SPAN_TREE_META_GAP = 1;\n\n/**\n * `--border-strong` is the neutral tint at 19% alpha. Every line is drawn at full strength in one SVG and\n * the 19% is applied once to the whole rail, so a pixel two lines share (a join, a half-pixel end) is\n * painted once and never comes out brighter or darker than the line.\n */\nconst railStyle = { color: 'oklch(var(--fill-tint) 0 0)', opacity: 0.19 };\n\ntype SpanTreeRailProps = {\n depth: number;\n /** Per ancestor level (shallowest first): whether that level's connector continues past this row. */\n guides: boolean[];\n isLastChild?: boolean;\n /** Draw the line from this row's badge down to its children. */\n hasStem?: boolean;\n};\n\n/**\n * Tree connectors of one span row, drawn over the row's left edge: a guide per ancestor level that\n * continues, a rounded elbow from the parent's line into the badge, and a stem down to the children.\n * Vertical lines run 1px past the row to bridge the gap to the next one.\n */\nexport function SpanTreeRail({ depth, guides, isLastChild, hasStem }: SpanTreeRailProps) {\n // +0.5 centres a 1px stroke on a pixel column so vertical lines stay crisp.\n const x = (col: number) => col * SPAN_TREE_INDENT + SPAN_TREE_INDENT / 2 + 0.5;\n const parts: ReactNode[] = [];\n const vertical = (key: string, col: number, top: number, testId?: string) => (\n <line key={key} data-testid={testId} x1={x(col)} x2={x(col)} y1={top} y2=\"100%\" />\n );\n\n guides.forEach((show, col) => {\n if (show) parts.push(vertical(`guide-${col}`, col, 0, 'span-tree-guide'));\n });\n\n if (depth > 0) {\n const cx = x(depth - 1);\n const end = x(depth) - 0.5 - BADGE_HALF - GAP;\n // Rounded elbow from the top of the row into the badge; later siblings keep the trunk going.\n parts.push(\n <path key=\"elbow\" d={`M${cx} 0V${MID - RADIUS}Q${cx} ${MID} ${cx + RADIUS} ${MID}H${end}`} fill=\"none\" />,\n );\n if (!isLastChild) parts.push(vertical('trunk', depth - 1, 0));\n }\n\n if (hasStem) parts.push(vertical('stem', depth, MID + BADGE_HALF + GAP));\n\n return (\n <svg\n aria-hidden\n className=\"pointer-events-none absolute top-0 left-1 h-[calc(100%+1px)] w-full overflow-visible\"\n stroke=\"currentColor\"\n strokeWidth={1}\n style={railStyle}\n >\n {parts}\n </svg>\n );\n}\n"],"names":[],"mappings":";;AAGO,MAAM,gBAAA,GAAmB;AAEzB,MAAM,eAAA,GAAkB;AAExB,MAAM,cAAA,GAAiB;AAE9B,MAAM,UAAA,GAAa,EAAA;AACnB,MAAM,GAAA,GAAM,CAAA;AACZ,MAAM,MAAA,GAAS,CAAA;AACf,MAAM,GAAA,GAAM,kBAAkB,cAAA,GAAiB,CAAA;AAGxC,MAAM,kBAAA,GAAqB;AAOlC,MAAM,SAAA,GAAY,EAAE,KAAA,EAAO,6BAAA,EAA+B,SAAS,IAAA,EAAK;AAgBjE,SAAS,aAAa,EAAE,KAAA,EAAO,MAAA,EAAQ,WAAA,EAAa,SAAQ,EAAsB;AAEvF,EAAA,MAAM,IAAI,CAAC,GAAA,KAAgB,GAAA,GAAM,gBAAA,GAAmB,mBAAmB,CAAA,GAAI,GAAA;AAC3E,EAAA,MAAM,QAAqB,EAAC;AAC5B,EAAA,MAAM,QAAA,GAAW,CAAC,GAAA,EAAa,GAAA,EAAa,KAAa,MAAA,qBACvD,GAAA,CAAC,MAAA,EAAA,EAAe,aAAA,EAAa,MAAA,EAAQ,EAAA,EAAI,EAAE,GAAG,CAAA,EAAG,IAAI,CAAA,CAAE,GAAG,GAAG,EAAA,EAAI,GAAA,EAAK,EAAA,EAAG,MAAA,EAAA,EAA9D,GAAqE,CAAA;AAGlF,EAAA,MAAA,CAAO,OAAA,CAAQ,CAAC,IAAA,EAAM,GAAA,KAAQ;AAC5B,IAAA,IAAI,IAAA,EAAM,KAAA,CAAM,IAAA,CAAK,QAAA,CAAS,CAAA,MAAA,EAAS,GAAG,CAAA,CAAA,EAAI,GAAA,EAAK,CAAA,EAAG,iBAAiB,CAAC,CAAA;AAAA,EAC1E,CAAC,CAAA;AAED,EAAA,IAAI,QAAQ,CAAA,EAAG;AACb,IAAA,MAAM,EAAA,GAAK,CAAA,CAAE,KAAA,GAAQ,CAAC,CAAA;AACtB,IAAA,MAAM,GAAA,GAAM,CAAA,CAAE,KAAK,CAAA,GAAI,MAAM,UAAA,GAAa,GAAA;AAE1C,IAAA,KAAA,CAAM,IAAA;AAAA,sBACJ,GAAA,CAAC,UAAiB,CAAA,EAAG,CAAA,CAAA,EAAI,EAAE,CAAA,GAAA,EAAM,GAAA,GAAM,MAAM,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,EAAI,EAAA,GAAK,MAAM,CAAA,CAAA,EAAI,GAAG,IAAI,GAAG,CAAA,CAAA,EAAI,IAAA,EAAK,MAAA,EAAA,EAAtF,OAA6F;AAAA,KACzG;AACA,IAAA,IAAI,CAAC,aAAa,KAAA,CAAM,IAAA,CAAK,SAAS,OAAA,EAAS,KAAA,GAAQ,CAAA,EAAG,CAAC,CAAC,CAAA;AAAA,EAC9D;AAEA,EAAA,IAAI,OAAA,QAAe,IAAA,CAAK,QAAA,CAAS,QAAQ,KAAA,EAAO,GAAA,GAAM,UAAA,GAAa,GAAG,CAAC,CAAA;AAEvE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAW,IAAA;AAAA,MACX,SAAA,EAAU,sFAAA;AAAA,MACV,MAAA,EAAO,cAAA;AAAA,MACP,WAAA,EAAa,CAAA;AAAA,MACb,KAAA,EAAO,SAAA;AAAA,MAEN,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ;;;;"}
|
|
@@ -6,7 +6,7 @@ const jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
const domains_traces_components_timelineNameCol = require('./timeline-name-col.cjs.js');
|
|
7
7
|
|
|
8
8
|
function SpanTreeRow({ ctx, meta, trailing }) {
|
|
9
|
-
const { span, spanUI,
|
|
9
|
+
const { span, spanUI, isRootSpan, isLastChild, guides, isExpanded, isSelected, isFaded, onSpanClick, expansion } = ctx;
|
|
10
10
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
11
11
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12
12
|
domains_traces_components_timelineNameCol.TimelineNameCol,
|
|
@@ -14,11 +14,11 @@ function SpanTreeRow({ ctx, meta, trailing }) {
|
|
|
14
14
|
span,
|
|
15
15
|
spanUI,
|
|
16
16
|
isFaded,
|
|
17
|
-
depth,
|
|
18
17
|
onSpanClick,
|
|
19
18
|
selectedSpanId: isSelected ? span.id : void 0,
|
|
20
19
|
revealSpanId: ctx.isRevealed ? span.id : void 0,
|
|
21
20
|
isLastChild,
|
|
21
|
+
guides,
|
|
22
22
|
hasChildren: expansion.hasChildren,
|
|
23
23
|
numOfChildren: expansion.numOfChildren,
|
|
24
24
|
isRootSpan,
|