@mastra/playground-ui 48.0.0-alpha.9 → 48.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +328 -0
- package/dist/{Button-Bm94fEF2.cjs → Button-B4Ixj2aW.cjs} +4 -3
- package/dist/Button-B4Ixj2aW.cjs.map +1 -0
- package/dist/{Button-Bx2lFdqb.js → Button-C-9Pzy-Z.js} +4 -3
- package/dist/Button-C-9Pzy-Z.js.map +1 -0
- package/dist/{Notice-B9cdEg8R.cjs → Notice-DSfh1Ap5.cjs} +2 -2
- package/dist/{Notice-B9cdEg8R.cjs.map → Notice-DSfh1Ap5.cjs.map} +1 -1
- package/dist/{Notice-DIK9IZsq.js → Notice-DWHQgxkA.js} +2 -2
- package/dist/{Notice-DIK9IZsq.js.map → Notice-DWHQgxkA.js.map} +1 -1
- package/dist/{SessionExpired-C5ADs4NL.cjs → SessionExpired-CL4bppLl.cjs} +2 -2
- package/dist/{SessionExpired-C5ADs4NL.cjs.map → SessionExpired-CL4bppLl.cjs.map} +1 -1
- package/dist/{SessionExpired-CHF__hq9.js → SessionExpired-qvMB5AP_.js} +2 -2
- package/dist/{SessionExpired-CHF__hq9.js.map → SessionExpired-qvMB5AP_.js.map} +1 -1
- package/dist/Shimmer.css +37 -0
- package/dist/{combobox-sa_Pxyl4.js → combobox-CH9vBToX.js} +2 -2
- package/dist/{combobox-sa_Pxyl4.js.map → combobox-CH9vBToX.js.map} +1 -1
- package/dist/{combobox-DXwbHjvQ.cjs → combobox-Z3NehlIY.cjs} +2 -2
- package/dist/{combobox-DXwbHjvQ.cjs.map → combobox-Z3NehlIY.cjs.map} +1 -1
- package/dist/{command-Duq1xsiS.js → command-BZ7S7MR-.js} +2 -2
- package/dist/{command-Duq1xsiS.js.map → command-BZ7S7MR-.js.map} +1 -1
- package/dist/{command-qsEykgml.cjs → command-DJwcGKv_.cjs} +2 -2
- package/dist/{command-qsEykgml.cjs.map → command-DJwcGKv_.cjs.map} +1 -1
- package/dist/components/AlertDialog.cjs.js +1 -1
- package/dist/components/AlertDialog.es.js +1 -1
- package/dist/components/Button.cjs.js +1 -1
- package/dist/components/Button.es.js +1 -1
- package/dist/components/ChatShell.cjs.js +10 -6
- package/dist/components/ChatShell.cjs.js.map +1 -1
- package/dist/components/ChatShell.es.js +10 -6
- package/dist/components/ChatShell.es.js.map +1 -1
- package/dist/components/ClampedText.cjs.js +1 -1
- package/dist/components/ClampedText.es.js +1 -1
- package/dist/components/CodeBlock.cjs.js +6 -5
- package/dist/components/CodeBlock.cjs.js.map +1 -1
- package/dist/components/CodeBlock.es.js +4 -3
- package/dist/components/CodeBlock.es.js.map +1 -1
- package/dist/components/CodeEditor.cjs.js +1 -1
- package/dist/components/CodeEditor.es.js +1 -1
- package/dist/components/Columns.cjs.js +1 -1
- package/dist/components/Columns.es.js +1 -1
- package/dist/components/Combobox.cjs.js +1 -1
- package/dist/components/Combobox.es.js +1 -1
- 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/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/DataFilter.cjs.js +2 -2
- package/dist/components/DataFilter.es.js +2 -2
- package/dist/components/DataList.cjs.js +2 -2
- package/dist/components/DataList.es.js +2 -2
- 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 +1 -1
- package/dist/components/Dialog.es.js +1 -1
- package/dist/components/Drawer.cjs.js +1 -1
- package/dist/components/Drawer.es.js +1 -1
- package/dist/components/DropdownMenu.cjs.js +1 -1
- package/dist/components/DropdownMenu.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +4 -4
- package/dist/components/EnvironmentVariablesEditor.es.js +4 -4
- package/dist/components/ErrorBoundary.cjs.js +1 -1
- package/dist/components/ErrorBoundary.es.js +1 -1
- package/dist/components/FormFieldBlocks.cjs.js +2 -2
- package/dist/components/FormFieldBlocks.es.js +2 -2
- package/dist/components/HoverCard.cjs.js +1 -1
- package/dist/components/HoverCard.es.js +1 -1
- package/dist/components/InputGroup.cjs.js +1 -1
- package/dist/components/InputGroup.es.js +1 -1
- package/dist/components/JSONSchemaForm.cjs.js +2 -2
- package/dist/components/JSONSchemaForm.es.js +2 -2
- package/dist/components/KeyValueList.cjs.js +1 -1
- package/dist/components/KeyValueList.es.js +1 -1
- package/dist/components/ListSearch.cjs.js +1 -1
- package/dist/components/ListSearch.es.js +1 -1
- package/dist/components/MainSidebar.cjs.js +73 -50
- package/dist/components/MainSidebar.cjs.js.map +1 -1
- package/dist/components/MainSidebar.es.js +73 -50
- package/dist/components/MainSidebar.es.js.map +1 -1
- package/dist/components/MarkdownRenderer.cjs.js +1 -1
- package/dist/components/MarkdownRenderer.es.js +1 -1
- package/dist/components/MessageScroller.cjs.js +1 -1
- package/dist/components/MessageScroller.es.js +1 -1
- package/dist/components/Notice.cjs.js +1 -1
- package/dist/components/Notice.es.js +1 -1
- package/dist/components/PrevNextNav.cjs.js +1 -1
- package/dist/components/PrevNextNav.es.js +1 -1
- package/dist/components/PropertyFilter.cjs.js +3 -3
- package/dist/components/PropertyFilter.es.js +4 -4
- package/dist/components/RuleBuilder.cjs.js +2 -2
- package/dist/components/RuleBuilder.es.js +2 -2
- package/dist/components/SankeyChart.cjs.js +10 -709
- package/dist/components/SankeyChart.cjs.js.map +1 -1
- package/dist/components/SankeyChart.es.js +2 -706
- package/dist/components/SankeyChart.es.js.map +1 -1
- package/dist/components/Select.cjs.js +1 -1
- package/dist/components/Select.es.js +1 -1
- package/dist/components/SessionExpired.cjs.js +1 -1
- package/dist/components/SessionExpired.es.js +1 -1
- package/dist/components/Shimmer.cjs.js +2 -15
- package/dist/components/Shimmer.cjs.js.map +1 -1
- package/dist/components/Shimmer.es.js +2 -15
- package/dist/components/Shimmer.es.js.map +1 -1
- package/dist/components/SideDialog.cjs.js +3 -3
- package/dist/components/SideDialog.es.js +3 -3
- package/dist/components/Tabs.cjs.js +4 -3
- package/dist/components/Tabs.cjs.js.map +1 -1
- package/dist/components/Tabs.es.js +2 -1
- package/dist/components/Tabs.es.js.map +1 -1
- package/dist/components/ThreadList.cjs.js +1 -1
- package/dist/components/ThreadList.es.js +1 -1
- package/dist/components/ThreadRail.cjs.js +6 -5
- package/dist/components/ThreadRail.cjs.js.map +1 -1
- package/dist/components/ThreadRail.es.js +6 -6
- 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/ai/ask-user.cjs.js +1 -1
- package/dist/components/ai/ask-user.es.js +1 -1
- package/dist/components/ai/plan.cjs.js +2 -2
- package/dist/components/ai/plan.es.js +2 -2
- package/dist/{copy-button-H2iaKMng.js → copy-button-B1GWIQ-x.js} +2 -2
- package/dist/{copy-button-H2iaKMng.js.map → copy-button-B1GWIQ-x.js.map} +1 -1
- package/dist/{copy-button-BKFcsNE1.cjs → copy-button-DwZ3c7D4.cjs} +2 -2
- package/dist/{copy-button-BKFcsNE1.cjs.map → copy-button-DwZ3c7D4.cjs.map} +1 -1
- package/dist/{data-code-section-D2zjah_b.cjs → data-code-section-BjmFgJpC.cjs} +5 -5
- package/dist/{data-code-section-D2zjah_b.cjs.map → data-code-section-BjmFgJpC.cjs.map} +1 -1
- package/dist/{data-code-section-MHMkC6q9.js → data-code-section-PJM5l3aS.js} +5 -5
- package/dist/{data-code-section-MHMkC6q9.js.map → data-code-section-PJM5l3aS.js.map} +1 -1
- package/dist/{data-list-CnQRIUyN.js → data-list-CnQWE0QP.js} +2 -2
- package/dist/{data-list-CnQRIUyN.js.map → data-list-CnQWE0QP.js.map} +1 -1
- package/dist/{data-list-Cb-piK4z.cjs → data-list-Cnnnx_vD.cjs} +2 -2
- package/dist/{data-list-Cb-piK4z.cjs.map → data-list-Cnnnx_vD.cjs.map} +1 -1
- package/dist/{data-panel-BEvHk4wg.js → data-panel-BQqPr6ew.js} +3 -3
- package/dist/{data-panel-BEvHk4wg.js.map → data-panel-BQqPr6ew.js.map} +1 -1
- package/dist/{data-panel-BumsjXVz.cjs → data-panel-C85h9XvH.cjs} +3 -3
- package/dist/{data-panel-BumsjXVz.cjs.map → data-panel-C85h9XvH.cjs.map} +1 -1
- package/dist/{date-time-range-picker-yJBIm34J.js → date-time-range-picker-BQpZVrH7.js} +4 -4
- package/dist/{date-time-range-picker-yJBIm34J.js.map → date-time-range-picker-BQpZVrH7.js.map} +1 -1
- package/dist/{date-time-range-picker-ue0m5G27.cjs → date-time-range-picker-sT6pHDmU.cjs} +4 -4
- package/dist/{date-time-range-picker-ue0m5G27.cjs.map → date-time-range-picker-sT6pHDmU.cjs.map} +1 -1
- package/dist/{dialog-ClItuCFY.cjs → dialog-5ZYCeKf-.cjs} +2 -2
- package/dist/{dialog-ClItuCFY.cjs.map → dialog-5ZYCeKf-.cjs.map} +1 -1
- package/dist/{dialog-bnt6epW2.js → dialog-DDXW5M21.js} +2 -2
- package/dist/{dialog-bnt6epW2.js.map → dialog-DDXW5M21.js.map} +1 -1
- package/dist/domains/logs/components/log-details-view.cjs.js +2 -2
- package/dist/domains/logs/components/log-details-view.es.js +2 -2
- package/dist/domains/logs/components/logs-error-content.cjs.js +1 -1
- package/dist/domains/logs/components/logs-error-content.es.js +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/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/card-action-buttons.cjs.js +1 -1
- package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
- package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
- package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
- package/dist/domains/metrics/components/latency-card-view.cjs.js +4 -3
- package/dist/domains/metrics/components/latency-card-view.cjs.js.map +1 -1
- package/dist/domains/metrics/components/latency-card-view.es.js +2 -1
- package/dist/domains/metrics/components/latency-card-view.es.js.map +1 -1
- package/dist/domains/metrics/components/memory-card-view.cjs.js +5 -4
- package/dist/domains/metrics/components/memory-card-view.cjs.js.map +1 -1
- package/dist/domains/metrics/components/memory-card-view.es.js +3 -2
- package/dist/domains/metrics/components/memory-card-view.es.js.map +1 -1
- package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +1 -1
- package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +1 -1
- package/dist/domains/metrics/components/scores-card-view.cjs.js +5 -4
- package/dist/domains/metrics/components/scores-card-view.cjs.js.map +1 -1
- package/dist/domains/metrics/components/scores-card-view.es.js +3 -2
- package/dist/domains/metrics/components/scores-card-view.es.js.map +1 -1
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +4 -3
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js.map +1 -1
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +2 -1
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js.map +1 -1
- package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +4 -3
- package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js.map +1 -1
- package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +2 -1
- package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js.map +1 -1
- package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +4 -3
- package/dist/domains/metrics/components/traces-volume-card-view.cjs.js.map +1 -1
- package/dist/domains/metrics/components/traces-volume-card-view.es.js +2 -1
- package/dist/domains/metrics/components/traces-volume-card-view.es.js.map +1 -1
- package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
- package/dist/domains/traces/components/no-traces-info.es.js +1 -1
- package/dist/domains/traces/components/shared.cjs.js +8 -0
- package/dist/domains/traces/components/shared.cjs.js.map +1 -1
- package/dist/domains/traces/components/shared.es.js +8 -0
- package/dist/domains/traces/components/shared.es.js.map +1 -1
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +6 -5
- 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 -3
- package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
- package/dist/domains/traces/components/timeline-name-col.cjs.js +6 -2
- package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
- package/dist/domains/traces/components/timeline-name-col.es.js +6 -2
- package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
- package/dist/domains/traces/components/timeline-timing-col.cjs.js +1 -1
- package/dist/domains/traces/components/timeline-timing-col.es.js +1 -1
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +3 -3
- package/dist/domains/traces/components/trace-columns-menu.es.js +3 -3
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +4 -10
- 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 +5 -11
- package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
- package/dist/domains/traces/components/traces-error-content.cjs.js +1 -1
- package/dist/domains/traces/components/traces-error-content.es.js +1 -1
- package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +2 -2
- package/dist/domains/traces/components/traces-list-mode-toggle.es.js +2 -2
- package/dist/domains/traces/components/traces-list-view.cjs.js +2 -2
- package/dist/domains/traces/components/traces-list-view.es.js +2 -2
- package/dist/domains/traces/components/traces-toolbar.cjs.js +1 -1
- package/dist/domains/traces/components/traces-toolbar.es.js +1 -1
- package/dist/domains/traces/hooks/use-entity-names.cjs.js +12 -4
- package/dist/domains/traces/hooks/use-entity-names.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-entity-names.es.js +12 -4
- package/dist/domains/traces/hooks/use-entity-names.es.js.map +1 -1
- package/dist/{drawer-DZ9amYo_.js → drawer-C8jNXutE.js} +2 -2
- package/dist/{drawer-DZ9amYo_.js.map → drawer-C8jNXutE.js.map} +1 -1
- package/dist/{drawer-CdsTitFp.cjs → drawer-CNnvBMfD.cjs} +2 -2
- package/dist/{drawer-CdsTitFp.cjs.map → drawer-CNnvBMfD.cjs.map} +1 -1
- package/dist/{dropdown-menu-ppWztidX.cjs → dropdown-menu-BZGlERgf.cjs} +4 -3
- package/dist/dropdown-menu-BZGlERgf.cjs.map +1 -0
- package/dist/{dropdown-menu-DEFygDZI.js → dropdown-menu-DCMh8P4w.js} +4 -3
- package/dist/dropdown-menu-DCMh8P4w.js.map +1 -0
- 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/entity-learning-api.cjs.js +113 -0
- package/dist/ee/signals/entity-learning-api.cjs.js.map +1 -0
- package/dist/ee/signals/entity-learning-api.d.ts +2 -0
- package/dist/ee/signals/entity-learning-api.es.js +99 -0
- package/dist/ee/signals/entity-learning-api.es.js.map +1 -0
- package/dist/ee/signals/examples-pager.cjs.js +49 -0
- package/dist/ee/signals/examples-pager.cjs.js.map +1 -0
- package/dist/ee/signals/examples-pager.d.ts +2 -0
- package/dist/ee/signals/examples-pager.es.js +44 -0
- package/dist/ee/signals/examples-pager.es.js.map +1 -0
- package/dist/ee/signals/flow-card.cjs.js +105 -0
- package/dist/ee/signals/flow-card.cjs.js.map +1 -0
- package/dist/ee/signals/flow-card.d.ts +2 -0
- package/dist/ee/signals/flow-card.es.js +101 -0
- package/dist/ee/signals/flow-card.es.js.map +1 -0
- package/dist/ee/signals/hooks/theme-query-guards.cjs.js +20 -0
- package/dist/ee/signals/hooks/theme-query-guards.cjs.js.map +1 -0
- package/dist/ee/signals/hooks/theme-query-guards.d.ts +2 -0
- package/dist/ee/signals/hooks/theme-query-guards.es.js +14 -0
- package/dist/ee/signals/hooks/theme-query-guards.es.js.map +1 -0
- package/dist/ee/signals/hooks/use-entity-learning-progress.cjs.js +19 -0
- package/dist/ee/signals/hooks/use-entity-learning-progress.cjs.js.map +1 -0
- package/dist/ee/signals/hooks/use-entity-learning-progress.d.ts +2 -0
- package/dist/ee/signals/hooks/use-entity-learning-progress.es.js +15 -0
- package/dist/ee/signals/hooks/use-entity-learning-progress.es.js.map +1 -0
- package/dist/ee/signals/hooks/use-noise-examples.cjs.js +32 -0
- package/dist/ee/signals/hooks/use-noise-examples.cjs.js.map +1 -0
- package/dist/ee/signals/hooks/use-noise-examples.d.ts +2 -0
- package/dist/ee/signals/hooks/use-noise-examples.es.js +28 -0
- package/dist/ee/signals/hooks/use-noise-examples.es.js.map +1 -0
- package/dist/ee/signals/hooks/use-noise.cjs.js +22 -0
- package/dist/ee/signals/hooks/use-noise.cjs.js.map +1 -0
- package/dist/ee/signals/hooks/use-noise.d.ts +2 -0
- package/dist/ee/signals/hooks/use-noise.es.js +18 -0
- package/dist/ee/signals/hooks/use-noise.es.js.map +1 -0
- package/dist/ee/signals/hooks/use-snapshot-playback.cjs.js +22 -0
- package/dist/ee/signals/hooks/use-snapshot-playback.cjs.js.map +1 -0
- package/dist/ee/signals/hooks/use-snapshot-playback.d.ts +2 -0
- package/dist/ee/signals/hooks/use-snapshot-playback.es.js +18 -0
- package/dist/ee/signals/hooks/use-snapshot-playback.es.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-detail.cjs.js +27 -0
- package/dist/ee/signals/hooks/use-theme-detail.cjs.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-detail.d.ts +2 -0
- package/dist/ee/signals/hooks/use-theme-detail.es.js +23 -0
- package/dist/ee/signals/hooks/use-theme-detail.es.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-entities.cjs.js +18 -0
- package/dist/ee/signals/hooks/use-theme-entities.cjs.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-entities.d.ts +2 -0
- package/dist/ee/signals/hooks/use-theme-entities.es.js +14 -0
- package/dist/ee/signals/hooks/use-theme-entities.es.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-examples.cjs.js +40 -0
- package/dist/ee/signals/hooks/use-theme-examples.cjs.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-examples.d.ts +2 -0
- package/dist/ee/signals/hooks/use-theme-examples.es.js +36 -0
- package/dist/ee/signals/hooks/use-theme-examples.es.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-flow.cjs.js +23 -0
- package/dist/ee/signals/hooks/use-theme-flow.cjs.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-flow.d.ts +2 -0
- package/dist/ee/signals/hooks/use-theme-flow.es.js +19 -0
- package/dist/ee/signals/hooks/use-theme-flow.es.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-flows.cjs.js +22 -0
- package/dist/ee/signals/hooks/use-theme-flows.cjs.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-flows.d.ts +2 -0
- package/dist/ee/signals/hooks/use-theme-flows.es.js +18 -0
- package/dist/ee/signals/hooks/use-theme-flows.es.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-history.cjs.js +20 -0
- package/dist/ee/signals/hooks/use-theme-history.cjs.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-history.d.ts +2 -0
- package/dist/ee/signals/hooks/use-theme-history.es.js +16 -0
- package/dist/ee/signals/hooks/use-theme-history.es.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-paths.cjs.js +21 -0
- package/dist/ee/signals/hooks/use-theme-paths.cjs.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-paths.d.ts +2 -0
- package/dist/ee/signals/hooks/use-theme-paths.es.js +17 -0
- package/dist/ee/signals/hooks/use-theme-paths.es.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-snapshots.cjs.js +22 -0
- package/dist/ee/signals/hooks/use-theme-snapshots.cjs.js.map +1 -0
- package/dist/ee/signals/hooks/use-theme-snapshots.d.ts +2 -0
- package/dist/ee/signals/hooks/use-theme-snapshots.es.js +18 -0
- package/dist/ee/signals/hooks/use-theme-snapshots.es.js.map +1 -0
- package/dist/ee/signals/hooks/use-trace-insight.cjs.js +21 -0
- package/dist/ee/signals/hooks/use-trace-insight.cjs.js.map +1 -0
- package/dist/ee/signals/hooks/use-trace-insight.d.ts +2 -0
- package/dist/ee/signals/hooks/use-trace-insight.es.js +17 -0
- package/dist/ee/signals/hooks/use-trace-insight.es.js.map +1 -0
- package/dist/ee/signals/hooks.cjs.js +30 -0
- package/dist/ee/signals/hooks.cjs.js.map +1 -0
- package/dist/ee/signals/hooks.d.ts +2 -0
- package/dist/ee/signals/hooks.es.js +12 -0
- package/dist/ee/signals/hooks.es.js.map +1 -0
- package/dist/ee/signals/lifeline-point.cjs.js +73 -0
- package/dist/ee/signals/lifeline-point.cjs.js.map +1 -0
- package/dist/ee/signals/lifeline-point.d.ts +2 -0
- package/dist/ee/signals/lifeline-point.es.js +69 -0
- package/dist/ee/signals/lifeline-point.es.js.map +1 -0
- package/dist/ee/signals/lifeline-row.cjs.js +118 -0
- package/dist/ee/signals/lifeline-row.cjs.js.map +1 -0
- package/dist/ee/signals/lifeline-row.d.ts +2 -0
- package/dist/ee/signals/lifeline-row.es.js +114 -0
- package/dist/ee/signals/lifeline-row.es.js.map +1 -0
- package/dist/ee/signals/noise-detail-panel.cjs.js +96 -0
- package/dist/ee/signals/noise-detail-panel.cjs.js.map +1 -0
- package/dist/ee/signals/noise-detail-panel.d.ts +2 -0
- package/dist/ee/signals/noise-detail-panel.es.js +92 -0
- package/dist/ee/signals/noise-detail-panel.es.js.map +1 -0
- package/dist/ee/signals/sankey-signals-data.cjs.js +138 -0
- package/dist/ee/signals/sankey-signals-data.cjs.js.map +1 -0
- package/dist/ee/signals/sankey-signals-data.d.ts +2 -0
- package/dist/ee/signals/sankey-signals-data.es.js +127 -0
- package/dist/ee/signals/sankey-signals-data.es.js.map +1 -0
- package/dist/ee/signals/sankey-signals.cjs.js +367 -0
- package/dist/ee/signals/sankey-signals.cjs.js.map +1 -0
- package/dist/ee/signals/sankey-signals.d.ts +2 -0
- package/dist/ee/signals/sankey-signals.es.js +363 -0
- package/dist/ee/signals/sankey-signals.es.js.map +1 -0
- package/dist/ee/signals/signal-delta-column.cjs.js +90 -0
- package/dist/ee/signals/signal-delta-column.cjs.js.map +1 -0
- package/dist/ee/signals/signal-delta-column.d.ts +2 -0
- package/dist/ee/signals/signal-delta-column.es.js +86 -0
- package/dist/ee/signals/signal-delta-column.es.js.map +1 -0
- package/dist/ee/signals/signal-formatting.cjs.js +83 -0
- package/dist/ee/signals/signal-formatting.cjs.js.map +1 -0
- package/dist/ee/signals/signal-formatting.d.ts +2 -0
- package/dist/ee/signals/signal-formatting.es.js +70 -0
- package/dist/ee/signals/signal-formatting.es.js.map +1 -0
- package/dist/ee/signals/signal-lifelines.cjs.js +69 -0
- package/dist/ee/signals/signal-lifelines.cjs.js.map +1 -0
- package/dist/ee/signals/signal-lifelines.d.ts +2 -0
- package/dist/ee/signals/signal-lifelines.es.js +65 -0
- package/dist/ee/signals/signal-lifelines.es.js.map +1 -0
- package/dist/ee/signals/signals-error-state.cjs.js +28 -0
- package/dist/ee/signals/signals-error-state.cjs.js.map +1 -0
- package/dist/ee/signals/signals-error-state.d.ts +2 -0
- package/dist/ee/signals/signals-error-state.es.js +24 -0
- package/dist/ee/signals/signals-error-state.es.js.map +1 -0
- package/dist/ee/signals/signals-loading-skeleton.cjs.js +57 -0
- package/dist/ee/signals/signals-loading-skeleton.cjs.js.map +1 -0
- package/dist/ee/signals/signals-loading-skeleton.d.ts +2 -0
- package/dist/ee/signals/signals-loading-skeleton.es.js +52 -0
- package/dist/ee/signals/signals-loading-skeleton.es.js.map +1 -0
- package/dist/ee/signals/snapshot-timeline-data.cjs.js +40 -0
- package/dist/ee/signals/snapshot-timeline-data.cjs.js.map +1 -0
- package/dist/ee/signals/snapshot-timeline-data.d.ts +2 -0
- package/dist/ee/signals/snapshot-timeline-data.es.js +34 -0
- package/dist/ee/signals/snapshot-timeline-data.es.js.map +1 -0
- package/dist/ee/signals/snapshot-timeline.cjs.js +109 -0
- package/dist/ee/signals/snapshot-timeline.cjs.js.map +1 -0
- package/dist/ee/signals/snapshot-timeline.d.ts +2 -0
- package/dist/ee/signals/snapshot-timeline.es.js +104 -0
- package/dist/ee/signals/snapshot-timeline.es.js.map +1 -0
- package/dist/ee/signals/sortable-signal-headers.cjs.js +145 -0
- package/dist/ee/signals/sortable-signal-headers.cjs.js.map +1 -0
- package/dist/ee/signals/sortable-signal-headers.d.ts +2 -0
- package/dist/ee/signals/sortable-signal-headers.es.js +141 -0
- package/dist/ee/signals/sortable-signal-headers.es.js.map +1 -0
- package/dist/ee/signals/theme-compare-data.cjs.js +46 -0
- package/dist/ee/signals/theme-compare-data.cjs.js.map +1 -0
- package/dist/ee/signals/theme-compare-data.d.ts +2 -0
- package/dist/ee/signals/theme-compare-data.es.js +41 -0
- package/dist/ee/signals/theme-compare-data.es.js.map +1 -0
- package/dist/ee/signals/theme-compare-sparkline.cjs.js +67 -0
- package/dist/ee/signals/theme-compare-sparkline.cjs.js.map +1 -0
- package/dist/ee/signals/theme-compare-sparkline.d.ts +2 -0
- package/dist/ee/signals/theme-compare-sparkline.es.js +63 -0
- package/dist/ee/signals/theme-compare-sparkline.es.js.map +1 -0
- package/dist/ee/signals/theme-compare.cjs.js +103 -0
- package/dist/ee/signals/theme-compare.cjs.js.map +1 -0
- package/dist/ee/signals/theme-compare.d.ts +2 -0
- package/dist/ee/signals/theme-compare.es.js +99 -0
- package/dist/ee/signals/theme-compare.es.js.map +1 -0
- package/dist/ee/signals/theme-detail-panel.cjs.js +171 -0
- package/dist/ee/signals/theme-detail-panel.cjs.js.map +1 -0
- package/dist/ee/signals/theme-detail-panel.d.ts +2 -0
- package/dist/ee/signals/theme-detail-panel.es.js +167 -0
- package/dist/ee/signals/theme-detail-panel.es.js.map +1 -0
- package/dist/ee/signals/theme-drilldown-data.cjs.js +115 -0
- package/dist/ee/signals/theme-drilldown-data.cjs.js.map +1 -0
- package/dist/ee/signals/theme-drilldown-data.d.ts +2 -0
- package/dist/ee/signals/theme-drilldown-data.es.js +109 -0
- package/dist/ee/signals/theme-drilldown-data.es.js.map +1 -0
- package/dist/ee/signals/theme-filter-banner.cjs.js +64 -0
- package/dist/ee/signals/theme-filter-banner.cjs.js.map +1 -0
- package/dist/ee/signals/theme-filter-banner.d.ts +2 -0
- package/dist/ee/signals/theme-filter-banner.es.js +60 -0
- package/dist/ee/signals/theme-filter-banner.es.js.map +1 -0
- package/dist/ee/signals/theme-lifelines-data.cjs.js +62 -0
- package/dist/ee/signals/theme-lifelines-data.cjs.js.map +1 -0
- package/dist/ee/signals/theme-lifelines-data.d.ts +2 -0
- package/dist/ee/signals/theme-lifelines-data.es.js +56 -0
- package/dist/ee/signals/theme-lifelines-data.es.js.map +1 -0
- package/dist/ee/signals/theme-lifelines.cjs.js +75 -0
- package/dist/ee/signals/theme-lifelines.cjs.js.map +1 -0
- package/dist/ee/signals/theme-lifelines.d.ts +2 -0
- package/dist/ee/signals/theme-lifelines.es.js +71 -0
- package/dist/ee/signals/theme-lifelines.es.js.map +1 -0
- package/dist/ee/signals/theme-trend-chart.cjs.js +83 -0
- package/dist/ee/signals/theme-trend-chart.cjs.js.map +1 -0
- package/dist/ee/signals/theme-trend-chart.d.ts +2 -0
- package/dist/ee/signals/theme-trend-chart.es.js +79 -0
- package/dist/ee/signals/theme-trend-chart.es.js.map +1 -0
- package/dist/ee/signals/theme-trend.cjs.js +27 -0
- package/dist/ee/signals/theme-trend.cjs.js.map +1 -0
- package/dist/ee/signals/theme-trend.d.ts +2 -0
- package/dist/ee/signals/theme-trend.es.js +22 -0
- package/dist/ee/signals/theme-trend.es.js.map +1 -0
- package/dist/ee/signals/trace-insight-view.cjs.js +89 -0
- package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -0
- package/dist/ee/signals/trace-insight-view.d.ts +2 -0
- package/dist/ee/signals/trace-insight-view.es.js +85 -0
- package/dist/ee/signals/trace-insight-view.es.js.map +1 -0
- package/dist/ee/signals/trace-intelligence-context.cjs.js +24 -0
- package/dist/ee/signals/trace-intelligence-context.cjs.js.map +1 -0
- package/dist/ee/signals/trace-intelligence-context.d.ts +2 -0
- package/dist/ee/signals/trace-intelligence-context.es.js +19 -0
- package/dist/ee/signals/trace-intelligence-context.es.js.map +1 -0
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js +45 -0
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js.map +1 -0
- package/dist/ee/signals/trace-intelligence-explainer.d.ts +2 -0
- package/dist/ee/signals/trace-intelligence-explainer.es.js +41 -0
- package/dist/ee/signals/trace-intelligence-explainer.es.js.map +1 -0
- package/dist/ee/signals/trace-intelligence-provider.cjs.js +19 -0
- package/dist/ee/signals/trace-intelligence-provider.cjs.js.map +1 -0
- package/dist/ee/signals/trace-intelligence-provider.d.ts +2 -0
- package/dist/ee/signals/trace-intelligence-provider.es.js +15 -0
- package/dist/ee/signals/trace-intelligence-provider.es.js.map +1 -0
- package/dist/ee/signals/types.cjs.js +3 -0
- package/dist/ee/signals/types.cjs.js.map +1 -0
- package/dist/ee/signals/types.d.ts +2 -0
- package/dist/ee/signals/types.es.js +2 -0
- package/dist/ee/signals/types.es.js.map +1 -0
- package/dist/ee/signals/use-trace-intelligence.cjs.js +13 -0
- package/dist/ee/signals/use-trace-intelligence.cjs.js.map +1 -0
- package/dist/ee/signals/use-trace-intelligence.d.ts +2 -0
- package/dist/ee/signals/use-trace-intelligence.es.js +9 -0
- package/dist/ee/signals/use-trace-intelligence.es.js.map +1 -0
- package/dist/ee/signals/view-mode-tab.cjs.js +18 -0
- package/dist/ee/signals/view-mode-tab.cjs.js.map +1 -0
- package/dist/ee/signals/view-mode-tab.d.ts +2 -0
- package/dist/ee/signals/view-mode-tab.es.js +14 -0
- package/dist/ee/signals/view-mode-tab.es.js.map +1 -0
- package/dist/ee/signals.cjs.js +38 -0
- package/dist/ee/signals.cjs.js.map +1 -1
- package/dist/ee/signals.es.js +18 -0
- package/dist/ee/signals.es.js.map +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/{hover-card-crVofiZO.js → hover-card-Bs845QbV.js} +2 -2
- package/dist/{hover-card-crVofiZO.js.map → hover-card-Bs845QbV.js.map} +1 -1
- package/dist/{hover-card-Bx258om1.cjs → hover-card-Cd9QK50X.cjs} +2 -2
- package/dist/{hover-card-Bx258om1.cjs.map → hover-card-Cd9QK50X.cjs.map} +1 -1
- package/dist/{input-group-CH72YUVL.cjs → input-group-BTaw3Ycd.cjs} +2 -2
- package/dist/{input-group-CH72YUVL.cjs.map → input-group-BTaw3Ycd.cjs.map} +1 -1
- package/dist/{input-group-Dzs-ai0n.js → input-group-CWT_IwX0.js} +2 -2
- package/dist/{input-group-Dzs-ai0n.js.map → input-group-CWT_IwX0.js.map} +1 -1
- package/dist/{markdown-renderer-Bi2fWeoF.js → markdown-renderer-DszxuuNM.js} +36 -18
- package/dist/markdown-renderer-DszxuuNM.js.map +1 -0
- package/dist/{markdown-renderer-DwfNrhEH.cjs → markdown-renderer-g8xNLOc0.cjs} +36 -18
- package/dist/markdown-renderer-g8xNLOc0.cjs.map +1 -0
- package/dist/{message-scroller-BmzjZZNs.cjs → message-scroller-BssU0EKT.cjs} +89 -16
- package/dist/message-scroller-BssU0EKT.cjs.map +1 -0
- package/dist/{message-scroller-D5O7sUS5.js → message-scroller-DlVS0FW7.js} +89 -16
- package/dist/message-scroller-DlVS0FW7.js.map +1 -0
- package/dist/{property-filter-applied-DI4w1ACS.js → property-filter-applied-C2teL4uw.js} +3 -3
- package/dist/{property-filter-applied-DI4w1ACS.js.map → property-filter-applied-C2teL4uw.js.map} +1 -1
- package/dist/{property-filter-applied-BhxbHAN8.cjs → property-filter-applied-ChK5XtsC.cjs} +3 -3
- package/dist/{property-filter-applied-BhxbHAN8.cjs.map → property-filter-applied-ChK5XtsC.cjs.map} +1 -1
- package/dist/resize/panel-drawer.cjs.js +1 -1
- package/dist/resize/panel-drawer.es.js +1 -1
- package/dist/sankey-chart-Bp-DrL1q.cjs +925 -0
- package/dist/sankey-chart-Bp-DrL1q.cjs.map +1 -0
- package/dist/sankey-chart-zhW_F0Rm.js +915 -0
- package/dist/sankey-chart-zhW_F0Rm.js.map +1 -0
- package/dist/{search-field-block-DCnFZzRK.js → search-field-block-D0PBxCxK.js} +2 -2
- package/dist/{search-field-block-DCnFZzRK.js.map → search-field-block-D0PBxCxK.js.map} +1 -1
- package/dist/{search-field-block-D6TdrHZX.cjs → search-field-block-D4vuLoZI.cjs} +2 -2
- package/dist/{search-field-block-D6TdrHZX.cjs.map → search-field-block-D4vuLoZI.cjs.map} +1 -1
- package/dist/{select-Beo8qQ0e.js → select-B_E0ADD5.js} +2 -2
- package/dist/{select-Beo8qQ0e.js.map → select-B_E0ADD5.js.map} +1 -1
- package/dist/{select-B6ce20XX.cjs → select-OAXqZLkC.cjs} +2 -2
- package/dist/{select-B6ce20XX.cjs.map → select-OAXqZLkC.cjs.map} +1 -1
- package/dist/{select-field-block-svlHplxW.cjs → select-field-block-BN9oU5B5.cjs} +2 -2
- package/dist/{select-field-block-svlHplxW.cjs.map → select-field-block-BN9oU5B5.cjs.map} +1 -1
- package/dist/{select-field-block-DXw3tD0y.js → select-field-block-D1Na8gZW.js} +2 -2
- package/dist/{select-field-block-DXw3tD0y.js.map → select-field-block-D1Na8gZW.js.map} +1 -1
- package/dist/src/domains/traces/hooks/use-entity-names.d.ts +2 -1
- package/dist/src/ds/components/ChatShell/chat-shell.d.ts +9 -6
- package/dist/src/ds/components/MainSidebar/main-sidebar-nav-item-classes.d.ts +13 -2
- package/dist/src/ds/components/MainSidebar/main-sidebar-nav-link.d.ts +2 -2
- package/dist/src/ds/components/MarkdownRenderer/markdown-renderer.d.ts +3 -1
- package/dist/src/ds/components/SankeyChart/sankey-chart.d.ts +7 -2
- package/dist/src/ds/components/SankeyChart/sankey-portal-tooltip.d.ts +8 -0
- package/dist/src/ds/components/SankeyChart/use-sankey-geometry-transition.d.ts +11 -0
- package/dist/src/ds/components/SankeyChart/use-sankey-hover-tooltip.d.ts +15 -0
- package/dist/src/ds/components/ThreadRail/thread-rail-turns.d.ts +2 -0
- package/dist/src/ee/signals/entity-learning-api.d.ts +13 -0
- package/dist/src/ee/signals/examples-pager.d.ts +7 -0
- package/dist/src/ee/signals/flow-card.d.ts +14 -0
- package/dist/src/ee/signals/hooks/index.d.ts +11 -0
- package/dist/src/ee/signals/hooks/theme-query-guards.d.ts +3 -0
- package/dist/src/ee/signals/hooks/use-entity-learning-progress.d.ts +1 -0
- package/dist/src/ee/signals/hooks/use-noise-examples.d.ts +2 -0
- package/dist/src/ee/signals/hooks/use-noise.d.ts +2 -0
- package/dist/src/ee/signals/hooks/use-snapshot-playback.d.ts +9 -0
- package/dist/src/ee/signals/hooks/use-theme-detail.d.ts +2 -0
- package/dist/src/ee/signals/hooks/use-theme-entities.d.ts +1 -0
- package/dist/src/ee/signals/hooks/use-theme-examples.d.ts +2 -0
- package/dist/src/ee/signals/hooks/use-theme-flow.d.ts +2 -0
- package/dist/src/ee/signals/hooks/use-theme-flows.d.ts +2 -0
- package/dist/src/ee/signals/hooks/use-theme-history.d.ts +2 -0
- package/dist/src/ee/signals/hooks/use-theme-paths.d.ts +2 -0
- package/dist/src/ee/signals/hooks/use-theme-snapshots.d.ts +2 -0
- package/dist/src/ee/signals/hooks/use-trace-insight.d.ts +1 -0
- package/dist/src/ee/signals/index.d.ts +9 -0
- package/dist/src/ee/signals/lifeline-point.d.ts +8 -0
- package/dist/src/ee/signals/lifeline-row.d.ts +11 -0
- package/dist/src/ee/signals/noise-detail-panel.d.ts +10 -0
- package/dist/src/ee/signals/sankey-signals-data.d.ts +41 -0
- package/dist/src/ee/signals/sankey-signals.d.ts +12 -0
- package/dist/src/ee/signals/signal-delta-column.d.ts +12 -0
- package/dist/src/ee/signals/signal-formatting.d.ts +15 -0
- package/dist/src/ee/signals/signal-lifelines.d.ts +9 -0
- package/dist/src/ee/signals/signals-error-state.d.ts +5 -0
- package/dist/src/ee/signals/signals-loading-skeleton.d.ts +2 -0
- package/dist/src/ee/signals/snapshot-timeline-data.d.ts +12 -0
- package/dist/src/ee/signals/snapshot-timeline.d.ts +25 -0
- package/dist/src/ee/signals/sortable-signal-headers.d.ts +6 -0
- package/dist/src/ee/signals/theme-compare-data.d.ts +24 -0
- package/dist/src/ee/signals/theme-compare-sparkline.d.ts +5 -0
- package/dist/src/ee/signals/theme-compare.d.ts +17 -0
- package/dist/src/ee/signals/theme-detail-panel.d.ts +11 -0
- package/dist/src/ee/signals/theme-drilldown-data.d.ts +10 -0
- package/dist/src/ee/signals/theme-filter-banner.d.ts +8 -0
- package/dist/src/ee/signals/theme-lifelines-data.d.ts +35 -0
- package/dist/src/ee/signals/theme-lifelines.d.ts +17 -0
- package/dist/src/ee/signals/theme-trend-chart.d.ts +6 -0
- package/dist/src/ee/signals/theme-trend.d.ts +17 -0
- package/dist/src/ee/signals/trace-insight-view.d.ts +6 -0
- package/dist/src/ee/signals/trace-intelligence-context.d.ts +10 -0
- package/dist/src/ee/signals/trace-intelligence-explainer.d.ts +2 -0
- package/dist/src/ee/signals/trace-intelligence-provider.d.ts +11 -0
- package/dist/src/ee/signals/types.d.ts +1 -0
- package/dist/src/ee/signals/use-trace-intelligence.d.ts +1 -0
- package/dist/src/ee/signals/view-mode-tab.d.ts +6 -0
- package/dist/src/test/msw-server.d.ts +1 -0
- package/dist/src/test/vitest-setup.d.ts +1 -0
- package/dist/style.css +306 -18
- package/dist/tabs-root-BBPou4QC.js +69 -0
- package/dist/tabs-root-BBPou4QC.js.map +1 -0
- package/dist/tabs-root-VtBc6K2q.cjs +72 -0
- package/dist/tabs-root-VtBc6K2q.cjs.map +1 -0
- package/dist/{tabs-tab-BkUCE-4E.cjs → tabs-tab-Cq4YR31P.cjs} +2 -67
- package/dist/tabs-tab-Cq4YR31P.cjs.map +1 -0
- package/dist/{tabs-tab-DDGltcUc.js → tabs-tab-D5JTAehi.js} +6 -69
- package/dist/tabs-tab-D5JTAehi.js.map +1 -0
- package/dist/{time-picker-mLzcoQMO.js → time-picker-CkqREdQB.js} +2 -2
- package/dist/{time-picker-mLzcoQMO.js.map → time-picker-CkqREdQB.js.map} +1 -1
- package/dist/{time-picker-BOQtPoyD.cjs → time-picker-Dy2oyq8P.cjs} +2 -2
- package/dist/{time-picker-BOQtPoyD.cjs.map → time-picker-Dy2oyq8P.cjs.map} +1 -1
- package/dist/{traces-data-list-DtuaCDES.js → traces-data-list-B3wMvCfk.js} +2 -2
- package/dist/{traces-data-list-DtuaCDES.js.map → traces-data-list-B3wMvCfk.js.map} +1 -1
- package/dist/{traces-data-list-vsvvvEiP.cjs → traces-data-list-pTNo_zbS.cjs} +2 -2
- package/dist/{traces-data-list-vsvvvEiP.cjs.map → traces-data-list-pTNo_zbS.cjs.map} +1 -1
- package/package.json +8 -8
- package/theme.css +6 -8
- package/dist/Button-Bm94fEF2.cjs.map +0 -1
- package/dist/Button-Bx2lFdqb.js.map +0 -1
- package/dist/dropdown-menu-DEFygDZI.js.map +0 -1
- package/dist/dropdown-menu-ppWztidX.cjs.map +0 -1
- package/dist/markdown-renderer-Bi2fWeoF.js.map +0 -1
- package/dist/markdown-renderer-DwfNrhEH.cjs.map +0 -1
- package/dist/message-scroller-BmzjZZNs.cjs.map +0 -1
- package/dist/message-scroller-D5O7sUS5.js.map +0 -1
- package/dist/tabs-tab-BkUCE-4E.cjs.map +0 -1
- package/dist/tabs-tab-DDGltcUc.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-delta-column.es.js","sources":["../../../src/ee/signals/signal-delta-column.tsx"],"sourcesContent":["import { getSignalHue } from './signal-colors';\nimport { formatSignalName, SIGNAL_DESCRIPTIONS } from './signal-formatting';\nimport { computeThemeShareDeltas, themeShareSeries } from './theme-compare-data';\nimport { ThemeCompareSparkline } from './theme-compare-sparkline';\nimport type { ThemeSelection } from './theme-drilldown-data';\nimport type { ThemeFlowResponse, TraceSignalName } from './types';\nimport { nodeColor } from '@/ds/components/SankeyChart';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\n\nfunction percent(share: number) {\n return `${Math.round(share * 100)}%`;\n}\n\nfunction deltaLabel(delta: number) {\n const points = Math.round(delta * 100);\n return `${points >= 0 ? '+' : ''}${points}%`;\n}\n\nexport function SignalDeltaColumn({\n signalName,\n fromFlow,\n toFlow,\n flows,\n positions,\n fromIndex,\n toIndex,\n onThemeSelect,\n}: {\n signalName: TraceSignalName;\n fromFlow: ThemeFlowResponse;\n toFlow: ThemeFlowResponse;\n flows: Array<ThemeFlowResponse | undefined>;\n positions: number[];\n fromIndex: number;\n toIndex: number;\n onThemeSelect: (selection: ThemeSelection, snapshotIndex: number) => void;\n}) {\n const deltas = computeThemeShareDeltas(fromFlow, toFlow, signalName);\n const detailIndexFor = (delta: { toShare: number }) => (delta.toShare > 0 ? toIndex : fromIndex);\n\n return (\n <section aria-label={`${formatSignalName(signalName)} changes`} className=\"min-w-0\">\n <h3\n className=\"font-mono text-xs font-semibold tracking-widest uppercase\"\n style={{ color: nodeColor(getSignalHue(signalName)) }}\n >\n <Tooltip>\n <TooltipTrigger className=\"cursor-default uppercase\">{signalName}</TooltipTrigger>\n <TooltipContent>{SIGNAL_DESCRIPTIONS[signalName]}</TooltipContent>\n </Tooltip>\n </h3>\n <ul className=\"mt-2 space-y-1.5\">\n {deltas.length === 0 ? <li className=\"text-neutral3 text-xs\">No themes in either snapshot.</li> : null}\n {deltas.map(delta => {\n const themeId = delta.themeId;\n const card = (\n <>\n <div className=\"flex items-baseline justify-between gap-2\">\n <span className=\"text-neutral6 truncate text-xs font-medium\" title={delta.label}>\n {delta.label}\n </span>\n <span className=\"text-neutral6 shrink-0 font-mono text-xs font-semibold tabular-nums\">\n {deltaLabel(delta.delta)}\n </span>\n </div>\n <p className=\"text-neutral3 font-mono text-[11px] tabular-nums\">\n {percent(delta.fromShare)} → {percent(delta.toShare)}\n </p>\n <ThemeCompareSparkline\n series={themeShareSeries(flows, signalName, delta.label)}\n positions={positions}\n markerIndexes={[fromIndex, toIndex]}\n />\n </>\n );\n return (\n <li\n key={delta.label}\n className={`border-border1 rounded-lg border ${\n delta.delta > 0 ? 'bg-green-500/5' : delta.delta < 0 ? 'bg-red-500/5' : 'bg-surface3'\n }`}\n >\n {themeId === undefined ? (\n <div className=\"px-2.5 py-2\">{card}</div>\n ) : (\n <button\n aria-label={`View theme details for ${delta.label}`}\n className=\"hover:border-border2 block w-full cursor-pointer rounded-lg px-2.5 py-2 text-left transition-colors hover:bg-white/[0.03]\"\n onClick={() => onThemeSelect({ signalName, themeId, label: delta.label }, detailIndexFor(delta))}\n type=\"button\"\n >\n {card}\n </button>\n )}\n </li>\n );\n })}\n </ul>\n </section>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const SIGNAL_PROCESSING_ORDER = ["goal", "sentiment", "behavior", "outcome"];
|
|
6
|
+
function formatSignalName(signalName) {
|
|
7
|
+
return signalName.charAt(0).toUpperCase() + signalName.slice(1);
|
|
8
|
+
}
|
|
9
|
+
const SIGNAL_DESCRIPTIONS = {
|
|
10
|
+
goal: "What the user wanted from the interaction.",
|
|
11
|
+
sentiment: "The tone the user expressed during the interaction.",
|
|
12
|
+
behavior: "What the agent did in response.",
|
|
13
|
+
outcome: "How the interaction ended."
|
|
14
|
+
};
|
|
15
|
+
function isTraceSignalName(value) {
|
|
16
|
+
return Object.prototype.hasOwnProperty.call(SIGNAL_DESCRIPTIONS, value);
|
|
17
|
+
}
|
|
18
|
+
function getSignalDescription(signalName) {
|
|
19
|
+
return isTraceSignalName(signalName) ? SIGNAL_DESCRIPTIONS[signalName] : void 0;
|
|
20
|
+
}
|
|
21
|
+
function traceLabel(count) {
|
|
22
|
+
return `${count} ${count === 1 ? "trace" : "traces"}`;
|
|
23
|
+
}
|
|
24
|
+
function themeLabel(count) {
|
|
25
|
+
return `${count} ${count === 1 ? "theme" : "themes"}`;
|
|
26
|
+
}
|
|
27
|
+
function shareSentence(traceCount, coverage) {
|
|
28
|
+
if (coverage <= 0) return `${traceLabel(traceCount)} in this snapshot`;
|
|
29
|
+
const stageTotal = Math.round(traceCount / coverage);
|
|
30
|
+
return `${traceCount} of ${stageTotal} traces in this snapshot (${Math.round(coverage * 100)}%)`;
|
|
31
|
+
}
|
|
32
|
+
const SNAPSHOT_CUTOFF_FORMAT = new Intl.DateTimeFormat("en-US", {
|
|
33
|
+
month: "short",
|
|
34
|
+
day: "numeric",
|
|
35
|
+
year: "numeric",
|
|
36
|
+
hour: "2-digit",
|
|
37
|
+
minute: "2-digit",
|
|
38
|
+
hour12: false,
|
|
39
|
+
timeZone: "UTC"
|
|
40
|
+
});
|
|
41
|
+
const SNAPSHOT_DATE_FORMAT = new Intl.DateTimeFormat("en-US", {
|
|
42
|
+
month: "short",
|
|
43
|
+
day: "numeric",
|
|
44
|
+
year: "numeric",
|
|
45
|
+
timeZone: "UTC"
|
|
46
|
+
});
|
|
47
|
+
function formatSnapshotDate(value) {
|
|
48
|
+
const date = new Date(value);
|
|
49
|
+
if (Number.isNaN(date.getTime())) return value;
|
|
50
|
+
return SNAPSHOT_DATE_FORMAT.format(date);
|
|
51
|
+
}
|
|
52
|
+
function formatSnapshotCutoff(cutoffAt) {
|
|
53
|
+
const date = new Date(cutoffAt);
|
|
54
|
+
if (Number.isNaN(date.getTime())) return cutoffAt;
|
|
55
|
+
return SNAPSHOT_CUTOFF_FORMAT.format(date);
|
|
56
|
+
}
|
|
57
|
+
function formatSnapshotWindow(startedAt, endedAt) {
|
|
58
|
+
const start = new Date(startedAt);
|
|
59
|
+
const end = new Date(endedAt);
|
|
60
|
+
if (Number.isNaN(start.getTime()) || Number.isNaN(end.getTime())) return `${startedAt}–${endedAt}`;
|
|
61
|
+
const monthDay = new Intl.DateTimeFormat("en-US", { month: "short", day: "numeric", timeZone: "UTC" });
|
|
62
|
+
const day = new Intl.DateTimeFormat("en-US", { day: "numeric", timeZone: "UTC" });
|
|
63
|
+
const year = new Intl.DateTimeFormat("en-US", { year: "numeric", timeZone: "UTC" });
|
|
64
|
+
const sameYear = start.getUTCFullYear() === end.getUTCFullYear();
|
|
65
|
+
const sameMonth = sameYear && start.getUTCMonth() === end.getUTCMonth();
|
|
66
|
+
const sameDay = sameMonth && start.getUTCDate() === end.getUTCDate();
|
|
67
|
+
if (sameDay) return `${monthDay.format(start)}, ${year.format(start)}`;
|
|
68
|
+
if (sameMonth) return `${monthDay.format(start)}–${day.format(end)}, ${year.format(end)}`;
|
|
69
|
+
if (sameYear) return `${monthDay.format(start)}–${monthDay.format(end)}, ${year.format(end)}`;
|
|
70
|
+
return `${monthDay.format(start)}, ${year.format(start)}–${monthDay.format(end)}, ${year.format(end)}`;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
exports.SIGNAL_DESCRIPTIONS = SIGNAL_DESCRIPTIONS;
|
|
74
|
+
exports.SIGNAL_PROCESSING_ORDER = SIGNAL_PROCESSING_ORDER;
|
|
75
|
+
exports.formatSignalName = formatSignalName;
|
|
76
|
+
exports.formatSnapshotCutoff = formatSnapshotCutoff;
|
|
77
|
+
exports.formatSnapshotDate = formatSnapshotDate;
|
|
78
|
+
exports.formatSnapshotWindow = formatSnapshotWindow;
|
|
79
|
+
exports.getSignalDescription = getSignalDescription;
|
|
80
|
+
exports.shareSentence = shareSentence;
|
|
81
|
+
exports.themeLabel = themeLabel;
|
|
82
|
+
exports.traceLabel = traceLabel;
|
|
83
|
+
//# sourceMappingURL=signal-formatting.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-formatting.cjs.js","sources":["../../../src/ee/signals/signal-formatting.ts"],"sourcesContent":["import type { TraceSignalName } from './types';\n\n/** Order signals are produced during an interaction. */\nexport const SIGNAL_PROCESSING_ORDER: TraceSignalName[] = ['goal', 'sentiment', 'behavior', 'outcome'];\n\nexport function formatSignalName(signalName: TraceSignalName) {\n return signalName.charAt(0).toUpperCase() + signalName.slice(1);\n}\n\n/** Plain-language meaning of each trace signal, shown wherever a signal heading appears. */\nexport const SIGNAL_DESCRIPTIONS: Record<TraceSignalName, string> = {\n goal: 'What the user wanted from the interaction.',\n sentiment: 'The tone the user expressed during the interaction.',\n behavior: 'What the agent did in response.',\n outcome: 'How the interaction ended.',\n};\n\nfunction isTraceSignalName(value: string): value is TraceSignalName {\n return Object.prototype.hasOwnProperty.call(SIGNAL_DESCRIPTIONS, value);\n}\n\n/** Signal description lookup for callers that only hold an untyped column id. */\nexport function getSignalDescription(signalName: string): string | undefined {\n return isTraceSignalName(signalName) ? SIGNAL_DESCRIPTIONS[signalName] : undefined;\n}\n\nexport function traceLabel(count: number) {\n return `${count} ${count === 1 ? 'trace' : 'traces'}`;\n}\n\nexport function themeLabel(count: number) {\n return `${count} ${count === 1 ? 'theme' : 'themes'}`;\n}\n\n/** \"28 of 70 traces in this snapshot (40%)\" — replaces the old \"Stage share\" stat. */\nexport function shareSentence(traceCount: number, coverage: number) {\n if (coverage <= 0) return `${traceLabel(traceCount)} in this snapshot`;\n const stageTotal = Math.round(traceCount / coverage);\n return `${traceCount} of ${stageTotal} traces in this snapshot (${Math.round(coverage * 100)}%)`;\n}\n\n// Hoisted: TimelineTrack formats every tick on each render.\nconst SNAPSHOT_CUTOFF_FORMAT = new Intl.DateTimeFormat('en-US', {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n hour12: false,\n timeZone: 'UTC',\n});\n\nconst SNAPSHOT_DATE_FORMAT = new Intl.DateTimeFormat('en-US', {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n timeZone: 'UTC',\n});\n\nexport function formatSnapshotDate(value: string) {\n const date = new Date(value);\n if (Number.isNaN(date.getTime())) return value;\n return SNAPSHOT_DATE_FORMAT.format(date);\n}\n\nexport function formatSnapshotCutoff(cutoffAt: string) {\n const date = new Date(cutoffAt);\n // Fall back to the raw server value instead of letting Intl throw on Invalid Date.\n if (Number.isNaN(date.getTime())) return cutoffAt;\n return SNAPSHOT_CUTOFF_FORMAT.format(date);\n}\n\nexport function formatSnapshotWindow(startedAt: string, endedAt: string) {\n const start = new Date(startedAt);\n const end = new Date(endedAt);\n // Fall back to the raw server values instead of letting Intl throw on Invalid Date.\n if (Number.isNaN(start.getTime()) || Number.isNaN(end.getTime())) return `${startedAt}–${endedAt}`;\n const monthDay = new Intl.DateTimeFormat('en-US', { month: 'short', day: 'numeric', timeZone: 'UTC' });\n const day = new Intl.DateTimeFormat('en-US', { day: 'numeric', timeZone: 'UTC' });\n const year = new Intl.DateTimeFormat('en-US', { year: 'numeric', timeZone: 'UTC' });\n const sameYear = start.getUTCFullYear() === end.getUTCFullYear();\n const sameMonth = sameYear && start.getUTCMonth() === end.getUTCMonth();\n const sameDay = sameMonth && start.getUTCDate() === end.getUTCDate();\n\n if (sameDay) return `${monthDay.format(start)}, ${year.format(start)}`;\n if (sameMonth) return `${monthDay.format(start)}–${day.format(end)}, ${year.format(end)}`;\n if (sameYear) return `${monthDay.format(start)}–${monthDay.format(end)}, ${year.format(end)}`;\n return `${monthDay.format(start)}, ${year.format(start)}–${monthDay.format(end)}, ${year.format(end)}`;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
const SIGNAL_PROCESSING_ORDER = ["goal", "sentiment", "behavior", "outcome"];
|
|
2
|
+
function formatSignalName(signalName) {
|
|
3
|
+
return signalName.charAt(0).toUpperCase() + signalName.slice(1);
|
|
4
|
+
}
|
|
5
|
+
const SIGNAL_DESCRIPTIONS = {
|
|
6
|
+
goal: "What the user wanted from the interaction.",
|
|
7
|
+
sentiment: "The tone the user expressed during the interaction.",
|
|
8
|
+
behavior: "What the agent did in response.",
|
|
9
|
+
outcome: "How the interaction ended."
|
|
10
|
+
};
|
|
11
|
+
function isTraceSignalName(value) {
|
|
12
|
+
return Object.prototype.hasOwnProperty.call(SIGNAL_DESCRIPTIONS, value);
|
|
13
|
+
}
|
|
14
|
+
function getSignalDescription(signalName) {
|
|
15
|
+
return isTraceSignalName(signalName) ? SIGNAL_DESCRIPTIONS[signalName] : void 0;
|
|
16
|
+
}
|
|
17
|
+
function traceLabel(count) {
|
|
18
|
+
return `${count} ${count === 1 ? "trace" : "traces"}`;
|
|
19
|
+
}
|
|
20
|
+
function themeLabel(count) {
|
|
21
|
+
return `${count} ${count === 1 ? "theme" : "themes"}`;
|
|
22
|
+
}
|
|
23
|
+
function shareSentence(traceCount, coverage) {
|
|
24
|
+
if (coverage <= 0) return `${traceLabel(traceCount)} in this snapshot`;
|
|
25
|
+
const stageTotal = Math.round(traceCount / coverage);
|
|
26
|
+
return `${traceCount} of ${stageTotal} traces in this snapshot (${Math.round(coverage * 100)}%)`;
|
|
27
|
+
}
|
|
28
|
+
const SNAPSHOT_CUTOFF_FORMAT = new Intl.DateTimeFormat("en-US", {
|
|
29
|
+
month: "short",
|
|
30
|
+
day: "numeric",
|
|
31
|
+
year: "numeric",
|
|
32
|
+
hour: "2-digit",
|
|
33
|
+
minute: "2-digit",
|
|
34
|
+
hour12: false,
|
|
35
|
+
timeZone: "UTC"
|
|
36
|
+
});
|
|
37
|
+
const SNAPSHOT_DATE_FORMAT = new Intl.DateTimeFormat("en-US", {
|
|
38
|
+
month: "short",
|
|
39
|
+
day: "numeric",
|
|
40
|
+
year: "numeric",
|
|
41
|
+
timeZone: "UTC"
|
|
42
|
+
});
|
|
43
|
+
function formatSnapshotDate(value) {
|
|
44
|
+
const date = new Date(value);
|
|
45
|
+
if (Number.isNaN(date.getTime())) return value;
|
|
46
|
+
return SNAPSHOT_DATE_FORMAT.format(date);
|
|
47
|
+
}
|
|
48
|
+
function formatSnapshotCutoff(cutoffAt) {
|
|
49
|
+
const date = new Date(cutoffAt);
|
|
50
|
+
if (Number.isNaN(date.getTime())) return cutoffAt;
|
|
51
|
+
return SNAPSHOT_CUTOFF_FORMAT.format(date);
|
|
52
|
+
}
|
|
53
|
+
function formatSnapshotWindow(startedAt, endedAt) {
|
|
54
|
+
const start = new Date(startedAt);
|
|
55
|
+
const end = new Date(endedAt);
|
|
56
|
+
if (Number.isNaN(start.getTime()) || Number.isNaN(end.getTime())) return `${startedAt}–${endedAt}`;
|
|
57
|
+
const monthDay = new Intl.DateTimeFormat("en-US", { month: "short", day: "numeric", timeZone: "UTC" });
|
|
58
|
+
const day = new Intl.DateTimeFormat("en-US", { day: "numeric", timeZone: "UTC" });
|
|
59
|
+
const year = new Intl.DateTimeFormat("en-US", { year: "numeric", timeZone: "UTC" });
|
|
60
|
+
const sameYear = start.getUTCFullYear() === end.getUTCFullYear();
|
|
61
|
+
const sameMonth = sameYear && start.getUTCMonth() === end.getUTCMonth();
|
|
62
|
+
const sameDay = sameMonth && start.getUTCDate() === end.getUTCDate();
|
|
63
|
+
if (sameDay) return `${monthDay.format(start)}, ${year.format(start)}`;
|
|
64
|
+
if (sameMonth) return `${monthDay.format(start)}–${day.format(end)}, ${year.format(end)}`;
|
|
65
|
+
if (sameYear) return `${monthDay.format(start)}–${monthDay.format(end)}, ${year.format(end)}`;
|
|
66
|
+
return `${monthDay.format(start)}, ${year.format(start)}–${monthDay.format(end)}, ${year.format(end)}`;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export { SIGNAL_DESCRIPTIONS, SIGNAL_PROCESSING_ORDER, formatSignalName, formatSnapshotCutoff, formatSnapshotDate, formatSnapshotWindow, getSignalDescription, shareSentence, themeLabel, traceLabel };
|
|
70
|
+
//# sourceMappingURL=signal-formatting.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-formatting.es.js","sources":["../../../src/ee/signals/signal-formatting.ts"],"sourcesContent":["import type { TraceSignalName } from './types';\n\n/** Order signals are produced during an interaction. */\nexport const SIGNAL_PROCESSING_ORDER: TraceSignalName[] = ['goal', 'sentiment', 'behavior', 'outcome'];\n\nexport function formatSignalName(signalName: TraceSignalName) {\n return signalName.charAt(0).toUpperCase() + signalName.slice(1);\n}\n\n/** Plain-language meaning of each trace signal, shown wherever a signal heading appears. */\nexport const SIGNAL_DESCRIPTIONS: Record<TraceSignalName, string> = {\n goal: 'What the user wanted from the interaction.',\n sentiment: 'The tone the user expressed during the interaction.',\n behavior: 'What the agent did in response.',\n outcome: 'How the interaction ended.',\n};\n\nfunction isTraceSignalName(value: string): value is TraceSignalName {\n return Object.prototype.hasOwnProperty.call(SIGNAL_DESCRIPTIONS, value);\n}\n\n/** Signal description lookup for callers that only hold an untyped column id. */\nexport function getSignalDescription(signalName: string): string | undefined {\n return isTraceSignalName(signalName) ? SIGNAL_DESCRIPTIONS[signalName] : undefined;\n}\n\nexport function traceLabel(count: number) {\n return `${count} ${count === 1 ? 'trace' : 'traces'}`;\n}\n\nexport function themeLabel(count: number) {\n return `${count} ${count === 1 ? 'theme' : 'themes'}`;\n}\n\n/** \"28 of 70 traces in this snapshot (40%)\" — replaces the old \"Stage share\" stat. */\nexport function shareSentence(traceCount: number, coverage: number) {\n if (coverage <= 0) return `${traceLabel(traceCount)} in this snapshot`;\n const stageTotal = Math.round(traceCount / coverage);\n return `${traceCount} of ${stageTotal} traces in this snapshot (${Math.round(coverage * 100)}%)`;\n}\n\n// Hoisted: TimelineTrack formats every tick on each render.\nconst SNAPSHOT_CUTOFF_FORMAT = new Intl.DateTimeFormat('en-US', {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n hour12: false,\n timeZone: 'UTC',\n});\n\nconst SNAPSHOT_DATE_FORMAT = new Intl.DateTimeFormat('en-US', {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n timeZone: 'UTC',\n});\n\nexport function formatSnapshotDate(value: string) {\n const date = new Date(value);\n if (Number.isNaN(date.getTime())) return value;\n return SNAPSHOT_DATE_FORMAT.format(date);\n}\n\nexport function formatSnapshotCutoff(cutoffAt: string) {\n const date = new Date(cutoffAt);\n // Fall back to the raw server value instead of letting Intl throw on Invalid Date.\n if (Number.isNaN(date.getTime())) return cutoffAt;\n return SNAPSHOT_CUTOFF_FORMAT.format(date);\n}\n\nexport function formatSnapshotWindow(startedAt: string, endedAt: string) {\n const start = new Date(startedAt);\n const end = new Date(endedAt);\n // Fall back to the raw server values instead of letting Intl throw on Invalid Date.\n if (Number.isNaN(start.getTime()) || Number.isNaN(end.getTime())) return `${startedAt}–${endedAt}`;\n const monthDay = new Intl.DateTimeFormat('en-US', { month: 'short', day: 'numeric', timeZone: 'UTC' });\n const day = new Intl.DateTimeFormat('en-US', { day: 'numeric', timeZone: 'UTC' });\n const year = new Intl.DateTimeFormat('en-US', { year: 'numeric', timeZone: 'UTC' });\n const sameYear = start.getUTCFullYear() === end.getUTCFullYear();\n const sameMonth = sameYear && start.getUTCMonth() === end.getUTCMonth();\n const sameDay = sameMonth && start.getUTCDate() === end.getUTCDate();\n\n if (sameDay) return `${monthDay.format(start)}, ${year.format(start)}`;\n if (sameMonth) return `${monthDay.format(start)}–${day.format(end)}, ${year.format(end)}`;\n if (sameYear) return `${monthDay.format(start)}–${monthDay.format(end)}, ${year.format(end)}`;\n return `${monthDay.format(start)}, ${year.format(start)}–${monthDay.format(end)}, ${year.format(end)}`;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
const lucideReact = require('lucide-react');
|
|
7
|
+
const React = require('react');
|
|
8
|
+
const ee_signals_lifelineRow = require('./lifeline-row.cjs.js');
|
|
9
|
+
const ee_signals_signalColors = require('./signal-colors.cjs.js');
|
|
10
|
+
const ee_signals_signalFormatting = require('./signal-formatting.cjs.js');
|
|
11
|
+
const ee_signals_themeLifelinesData = require('./theme-lifelines-data.cjs.js');
|
|
12
|
+
const sankeyColor = require('../../sankeyColor-DONd5cg9.cjs');
|
|
13
|
+
const tooltip = require('../../tooltip-CLz5PtEE.cjs');
|
|
14
|
+
|
|
15
|
+
function SignalLifelines({
|
|
16
|
+
signalName,
|
|
17
|
+
flows,
|
|
18
|
+
snapshots,
|
|
19
|
+
positions,
|
|
20
|
+
onThemeSelect
|
|
21
|
+
}) {
|
|
22
|
+
const [isCollapsed, setIsCollapsed] = React.useState(false);
|
|
23
|
+
const rows = ee_signals_themeLifelinesData.buildThemeLifelines(flows, signalName);
|
|
24
|
+
const hue = ee_signals_signalColors.getSignalHue(signalName);
|
|
25
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-label": `${ee_signals_signalFormatting.formatSignalName(signalName)} lifelines`, className: "min-w-0", children: [
|
|
26
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-mono text-xs font-semibold tracking-widest uppercase", style: { color: sankeyColor.nodeColor(hue) }, children: /* @__PURE__ */ jsxRuntime.jsxs(tooltip.Tooltip, { children: [
|
|
27
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
28
|
+
tooltip.TooltipTrigger,
|
|
29
|
+
{
|
|
30
|
+
render: /* @__PURE__ */ jsxRuntime.jsx(
|
|
31
|
+
"button",
|
|
32
|
+
{
|
|
33
|
+
"aria-expanded": !isCollapsed,
|
|
34
|
+
className: "flex items-center gap-1.5 transition-opacity hover:opacity-80",
|
|
35
|
+
onClick: () => setIsCollapsed((previous) => !previous),
|
|
36
|
+
type: "button"
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
children: [
|
|
40
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
41
|
+
lucideReact.ChevronDown,
|
|
42
|
+
{
|
|
43
|
+
"aria-hidden": "true",
|
|
44
|
+
className: `size-3.5 transition-transform ${isCollapsed ? "-rotate-90" : ""}`
|
|
45
|
+
}
|
|
46
|
+
),
|
|
47
|
+
signalName
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
),
|
|
51
|
+
/* @__PURE__ */ jsxRuntime.jsx(tooltip.TooltipContent, { children: ee_signals_signalFormatting.SIGNAL_DESCRIPTIONS[signalName] })
|
|
52
|
+
] }) }),
|
|
53
|
+
isCollapsed ? void 0 : rows.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-neutral3 mt-2 text-xs", children: "No themes in these landmarks." }) : /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "mt-2 space-y-0.5", children: rows.map((row) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
54
|
+
ee_signals_lifelineRow.LifelineRow,
|
|
55
|
+
{
|
|
56
|
+
row,
|
|
57
|
+
signalName,
|
|
58
|
+
snapshots,
|
|
59
|
+
positions,
|
|
60
|
+
hue,
|
|
61
|
+
onThemeSelect
|
|
62
|
+
},
|
|
63
|
+
row.label
|
|
64
|
+
)) })
|
|
65
|
+
] });
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
exports.SignalLifelines = SignalLifelines;
|
|
69
|
+
//# sourceMappingURL=signal-lifelines.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-lifelines.cjs.js","sources":["../../../src/ee/signals/signal-lifelines.tsx"],"sourcesContent":["import { ChevronDown } from 'lucide-react';\nimport { useState } from 'react';\n\nimport { LifelineRow } from './lifeline-row';\nimport { getSignalHue } from './signal-colors';\nimport { formatSignalName, SIGNAL_DESCRIPTIONS } from './signal-formatting';\nimport type { ThemeSelection } from './theme-drilldown-data';\nimport { buildThemeLifelines } from './theme-lifelines-data';\nimport type { ThemeFlowResponse, ThemeSnapshot, TraceSignalName } from './types';\nimport { nodeColor } from '@/ds/components/SankeyChart';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\n\nexport function SignalLifelines({\n signalName,\n flows,\n snapshots,\n positions,\n onThemeSelect,\n}: {\n signalName: TraceSignalName;\n flows: Array<ThemeFlowResponse | undefined>;\n snapshots: ThemeSnapshot[];\n positions: number[];\n onThemeSelect: (selection: ThemeSelection, snapshotIndex: number) => void;\n}) {\n const [isCollapsed, setIsCollapsed] = useState(false);\n const rows = buildThemeLifelines(flows, signalName);\n const hue = getSignalHue(signalName);\n\n return (\n <section aria-label={`${formatSignalName(signalName)} lifelines`} className=\"min-w-0\">\n <h3 className=\"font-mono text-xs font-semibold tracking-widest uppercase\" style={{ color: nodeColor(hue) }}>\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n aria-expanded={!isCollapsed}\n className=\"flex items-center gap-1.5 transition-opacity hover:opacity-80\"\n onClick={() => setIsCollapsed(previous => !previous)}\n type=\"button\"\n />\n }\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={`size-3.5 transition-transform ${isCollapsed ? '-rotate-90' : ''}`}\n />\n {signalName}\n </TooltipTrigger>\n <TooltipContent>{SIGNAL_DESCRIPTIONS[signalName]}</TooltipContent>\n </Tooltip>\n </h3>\n {isCollapsed ? undefined : rows.length === 0 ? (\n <p className=\"text-neutral3 mt-2 text-xs\">No themes in these landmarks.</p>\n ) : (\n <ul className=\"mt-2 space-y-0.5\">\n {rows.map(row => (\n <LifelineRow\n key={row.label}\n row={row}\n signalName={signalName}\n snapshots={snapshots}\n positions={positions}\n hue={hue}\n onThemeSelect={onThemeSelect}\n />\n ))}\n </ul>\n )}\n </section>\n );\n}\n"],"names":["useState","buildThemeLifelines","getSignalHue","jsxs","formatSignalName","jsx","nodeColor","Tooltip","TooltipTrigger","ChevronDown","TooltipContent","SIGNAL_DESCRIPTIONS","LifelineRow"],"mappings":";;;;;;;;;;;;;;AAYO,SAAS,eAAA,CAAgB;AAAA,EAC9B,UAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAMG;AACD,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,eAAS,KAAK,CAAA;AACpD,EAAA,MAAM,IAAA,GAAOC,iDAAA,CAAoB,KAAA,EAAO,UAAU,CAAA;AAClD,EAAA,MAAM,GAAA,GAAMC,qCAAa,UAAU,CAAA;AAEnC,EAAA,uBACEC,eAAA,CAAC,aAAQ,YAAA,EAAY,CAAA,EAAGC,6CAAiB,UAAU,CAAC,CAAA,UAAA,CAAA,EAAc,SAAA,EAAU,SAAA,EAC1E,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,2DAAA,EAA4D,KAAA,EAAO,EAAE,KAAA,EAAOC,qBAAA,CAAU,GAAG,CAAA,EAAE,EACvG,QAAA,kBAAAH,eAAA,CAACI,eAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAAJ,eAAA;AAAA,QAACK,sBAAA;AAAA,QAAA;AAAA,UACC,MAAA,kBACEH,cAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,iBAAe,CAAC,WAAA;AAAA,cAChB,SAAA,EAAU,+DAAA;AAAA,cACV,OAAA,EAAS,MAAM,cAAA,CAAe,CAAA,QAAA,KAAY,CAAC,QAAQ,CAAA;AAAA,cACnD,IAAA,EAAK;AAAA;AAAA,WACP;AAAA,UAGF,QAAA,EAAA;AAAA,4BAAAA,cAAA;AAAA,cAACI,uBAAA;AAAA,cAAA;AAAA,gBACC,aAAA,EAAY,MAAA;AAAA,gBACZ,SAAA,EAAW,CAAA,8BAAA,EAAiC,WAAA,GAAc,YAAA,GAAe,EAAE,CAAA;AAAA;AAAA,aAC7E;AAAA,YACC;AAAA;AAAA;AAAA,OACH;AAAA,sBACAJ,cAAA,CAACK,sBAAA,EAAA,EAAgB,QAAA,EAAAC,+CAAA,CAAoB,UAAU,CAAA,EAAE;AAAA,KAAA,EACnD,CAAA,EACF,CAAA;AAAA,IACC,cAAc,MAAA,GAAY,IAAA,CAAK,MAAA,KAAW,CAAA,kCACxC,GAAA,EAAA,EAAE,SAAA,EAAU,4BAAA,EAA6B,QAAA,EAAA,+BAAA,EAA6B,oBAEvEN,cAAA,CAAC,IAAA,EAAA,EAAG,WAAU,kBAAA,EACX,QAAA,EAAA,IAAA,CAAK,IAAI,CAAA,GAAA,qBACRA,cAAA;AAAA,MAACO,kCAAA;AAAA,MAAA;AAAA,QAEC,GAAA;AAAA,QACA,UAAA;AAAA,QACA,SAAA;AAAA,QACA,SAAA;AAAA,QACA,GAAA;AAAA,QACA;AAAA,OAAA;AAAA,MANK,GAAA,CAAI;AAAA,KAQZ,CAAA,EACH;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { ChevronDown } from 'lucide-react';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { LifelineRow } from './lifeline-row.es.js';
|
|
5
|
+
import { getSignalHue } from './signal-colors.es.js';
|
|
6
|
+
import { SIGNAL_DESCRIPTIONS, formatSignalName } from './signal-formatting.es.js';
|
|
7
|
+
import { buildThemeLifelines } from './theme-lifelines-data.es.js';
|
|
8
|
+
import { n as nodeColor } from '../../sankeyColor-CQ5nkgtL.js';
|
|
9
|
+
import { T as Tooltip, c as TooltipTrigger, a as TooltipContent } from '../../tooltip-BFbYhBj1.js';
|
|
10
|
+
|
|
11
|
+
function SignalLifelines({
|
|
12
|
+
signalName,
|
|
13
|
+
flows,
|
|
14
|
+
snapshots,
|
|
15
|
+
positions,
|
|
16
|
+
onThemeSelect
|
|
17
|
+
}) {
|
|
18
|
+
const [isCollapsed, setIsCollapsed] = useState(false);
|
|
19
|
+
const rows = buildThemeLifelines(flows, signalName);
|
|
20
|
+
const hue = getSignalHue(signalName);
|
|
21
|
+
return /* @__PURE__ */ jsxs("section", { "aria-label": `${formatSignalName(signalName)} lifelines`, className: "min-w-0", children: [
|
|
22
|
+
/* @__PURE__ */ jsx("h3", { className: "font-mono text-xs font-semibold tracking-widest uppercase", style: { color: nodeColor(hue) }, children: /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
23
|
+
/* @__PURE__ */ jsxs(
|
|
24
|
+
TooltipTrigger,
|
|
25
|
+
{
|
|
26
|
+
render: /* @__PURE__ */ jsx(
|
|
27
|
+
"button",
|
|
28
|
+
{
|
|
29
|
+
"aria-expanded": !isCollapsed,
|
|
30
|
+
className: "flex items-center gap-1.5 transition-opacity hover:opacity-80",
|
|
31
|
+
onClick: () => setIsCollapsed((previous) => !previous),
|
|
32
|
+
type: "button"
|
|
33
|
+
}
|
|
34
|
+
),
|
|
35
|
+
children: [
|
|
36
|
+
/* @__PURE__ */ jsx(
|
|
37
|
+
ChevronDown,
|
|
38
|
+
{
|
|
39
|
+
"aria-hidden": "true",
|
|
40
|
+
className: `size-3.5 transition-transform ${isCollapsed ? "-rotate-90" : ""}`
|
|
41
|
+
}
|
|
42
|
+
),
|
|
43
|
+
signalName
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
),
|
|
47
|
+
/* @__PURE__ */ jsx(TooltipContent, { children: SIGNAL_DESCRIPTIONS[signalName] })
|
|
48
|
+
] }) }),
|
|
49
|
+
isCollapsed ? void 0 : rows.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-neutral3 mt-2 text-xs", children: "No themes in these landmarks." }) : /* @__PURE__ */ jsx("ul", { className: "mt-2 space-y-0.5", children: rows.map((row) => /* @__PURE__ */ jsx(
|
|
50
|
+
LifelineRow,
|
|
51
|
+
{
|
|
52
|
+
row,
|
|
53
|
+
signalName,
|
|
54
|
+
snapshots,
|
|
55
|
+
positions,
|
|
56
|
+
hue,
|
|
57
|
+
onThemeSelect
|
|
58
|
+
},
|
|
59
|
+
row.label
|
|
60
|
+
)) })
|
|
61
|
+
] });
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export { SignalLifelines };
|
|
65
|
+
//# sourceMappingURL=signal-lifelines.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-lifelines.es.js","sources":["../../../src/ee/signals/signal-lifelines.tsx"],"sourcesContent":["import { ChevronDown } from 'lucide-react';\nimport { useState } from 'react';\n\nimport { LifelineRow } from './lifeline-row';\nimport { getSignalHue } from './signal-colors';\nimport { formatSignalName, SIGNAL_DESCRIPTIONS } from './signal-formatting';\nimport type { ThemeSelection } from './theme-drilldown-data';\nimport { buildThemeLifelines } from './theme-lifelines-data';\nimport type { ThemeFlowResponse, ThemeSnapshot, TraceSignalName } from './types';\nimport { nodeColor } from '@/ds/components/SankeyChart';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\n\nexport function SignalLifelines({\n signalName,\n flows,\n snapshots,\n positions,\n onThemeSelect,\n}: {\n signalName: TraceSignalName;\n flows: Array<ThemeFlowResponse | undefined>;\n snapshots: ThemeSnapshot[];\n positions: number[];\n onThemeSelect: (selection: ThemeSelection, snapshotIndex: number) => void;\n}) {\n const [isCollapsed, setIsCollapsed] = useState(false);\n const rows = buildThemeLifelines(flows, signalName);\n const hue = getSignalHue(signalName);\n\n return (\n <section aria-label={`${formatSignalName(signalName)} lifelines`} className=\"min-w-0\">\n <h3 className=\"font-mono text-xs font-semibold tracking-widest uppercase\" style={{ color: nodeColor(hue) }}>\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n aria-expanded={!isCollapsed}\n className=\"flex items-center gap-1.5 transition-opacity hover:opacity-80\"\n onClick={() => setIsCollapsed(previous => !previous)}\n type=\"button\"\n />\n }\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={`size-3.5 transition-transform ${isCollapsed ? '-rotate-90' : ''}`}\n />\n {signalName}\n </TooltipTrigger>\n <TooltipContent>{SIGNAL_DESCRIPTIONS[signalName]}</TooltipContent>\n </Tooltip>\n </h3>\n {isCollapsed ? undefined : rows.length === 0 ? (\n <p className=\"text-neutral3 mt-2 text-xs\">No themes in these landmarks.</p>\n ) : (\n <ul className=\"mt-2 space-y-0.5\">\n {rows.map(row => (\n <LifelineRow\n key={row.label}\n row={row}\n signalName={signalName}\n snapshots={snapshots}\n positions={positions}\n hue={hue}\n onThemeSelect={onThemeSelect}\n />\n ))}\n </ul>\n )}\n </section>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;AAYO,SAAS,eAAA,CAAgB;AAAA,EAC9B,UAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAMG;AACD,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,KAAK,CAAA;AACpD,EAAA,MAAM,IAAA,GAAO,mBAAA,CAAoB,KAAA,EAAO,UAAU,CAAA;AAClD,EAAA,MAAM,GAAA,GAAM,aAAa,UAAU,CAAA;AAEnC,EAAA,uBACE,IAAA,CAAC,aAAQ,YAAA,EAAY,CAAA,EAAG,iBAAiB,UAAU,CAAC,CAAA,UAAA,CAAA,EAAc,SAAA,EAAU,SAAA,EAC1E,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,2DAAA,EAA4D,KAAA,EAAO,EAAE,KAAA,EAAO,SAAA,CAAU,GAAG,CAAA,EAAE,EACvG,QAAA,kBAAA,IAAA,CAAC,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAA,IAAA;AAAA,QAAC,cAAA;AAAA,QAAA;AAAA,UACC,MAAA,kBACE,GAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,iBAAe,CAAC,WAAA;AAAA,cAChB,SAAA,EAAU,+DAAA;AAAA,cACV,OAAA,EAAS,MAAM,cAAA,CAAe,CAAA,QAAA,KAAY,CAAC,QAAQ,CAAA;AAAA,cACnD,IAAA,EAAK;AAAA;AAAA,WACP;AAAA,UAGF,QAAA,EAAA;AAAA,4BAAA,GAAA;AAAA,cAAC,WAAA;AAAA,cAAA;AAAA,gBACC,aAAA,EAAY,MAAA;AAAA,gBACZ,SAAA,EAAW,CAAA,8BAAA,EAAiC,WAAA,GAAc,YAAA,GAAe,EAAE,CAAA;AAAA;AAAA,aAC7E;AAAA,YACC;AAAA;AAAA;AAAA,OACH;AAAA,sBACA,GAAA,CAAC,cAAA,EAAA,EAAgB,QAAA,EAAA,mBAAA,CAAoB,UAAU,CAAA,EAAE;AAAA,KAAA,EACnD,CAAA,EACF,CAAA;AAAA,IACC,cAAc,MAAA,GAAY,IAAA,CAAK,MAAA,KAAW,CAAA,uBACxC,GAAA,EAAA,EAAE,SAAA,EAAU,4BAAA,EAA6B,QAAA,EAAA,+BAAA,EAA6B,oBAEvE,GAAA,CAAC,IAAA,EAAA,EAAG,WAAU,kBAAA,EACX,QAAA,EAAA,IAAA,CAAK,IAAI,CAAA,GAAA,qBACR,GAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QAEC,GAAA;AAAA,QACA,UAAA;AAAA,QACA,SAAA;AAAA,QACA,SAAA;AAAA,QACA,GAAA;AAAA,QACA;AAAA,OAAA;AAAA,MANK,GAAA,CAAI;AAAA,KAQZ,CAAA,EACH;AAAA,GAAA,EAEJ,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
const lucideReact = require('lucide-react');
|
|
7
|
+
const Button = require('../../Button-B4Ixj2aW.cjs');
|
|
8
|
+
|
|
9
|
+
function SignalsErrorState({
|
|
10
|
+
message,
|
|
11
|
+
onRetry,
|
|
12
|
+
onClear
|
|
13
|
+
}) {
|
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: "border-border1 bg-surface2 m-4 rounded-lg border p-6 lg:m-6", role: "alert", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
|
|
15
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.TriangleAlert, { "aria-hidden": "true", className: "mt-0.5 size-5 shrink-0 text-red-500" }),
|
|
16
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
17
|
+
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-neutral6 text-sm font-semibold", children: message }),
|
|
18
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-neutral3 mt-1 text-xs", children: "Check the connection and try again." }),
|
|
19
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 flex flex-wrap gap-2", children: [
|
|
20
|
+
/* @__PURE__ */ jsxRuntime.jsx(Button.Button, { onClick: onRetry, size: "sm", type: "button", variant: "outline", children: "Retry" }),
|
|
21
|
+
onClear ? /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { onClick: onClear, size: "sm", type: "button", variant: "ghost", children: "Clear filter" }) : null
|
|
22
|
+
] })
|
|
23
|
+
] })
|
|
24
|
+
] }) });
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
exports.SignalsErrorState = SignalsErrorState;
|
|
28
|
+
//# sourceMappingURL=signals-error-state.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signals-error-state.cjs.js","sources":["../../../src/ee/signals/signals-error-state.tsx"],"sourcesContent":["import { TriangleAlert } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\n\nexport function SignalsErrorState({\n message,\n onRetry,\n onClear,\n}: {\n message: string;\n onRetry: () => void;\n onClear?: () => void;\n}) {\n return (\n <section className=\"border-border1 bg-surface2 m-4 rounded-lg border p-6 lg:m-6\" role=\"alert\">\n <div className=\"flex items-start gap-3\">\n <TriangleAlert aria-hidden=\"true\" className=\"mt-0.5 size-5 shrink-0 text-red-500\" />\n <div>\n <h1 className=\"text-neutral6 text-sm font-semibold\">{message}</h1>\n <p className=\"text-neutral3 mt-1 text-xs\">Check the connection and try again.</p>\n <div className=\"mt-4 flex flex-wrap gap-2\">\n <Button onClick={onRetry} size=\"sm\" type=\"button\" variant=\"outline\">\n Retry\n </Button>\n {onClear ? (\n <Button onClick={onClear} size=\"sm\" type=\"button\" variant=\"ghost\">\n Clear filter\n </Button>\n ) : null}\n </div>\n </div>\n </div>\n </section>\n );\n}\n"],"names":["jsx","jsxs","TriangleAlert","Button"],"mappings":";;;;;;;;AAGO,SAAS,iBAAA,CAAkB;AAAA,EAChC,OAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,EAIG;AACD,EAAA,uBACEA,cAAA,CAAC,aAAQ,SAAA,EAAU,6DAAA,EAA8D,MAAK,OAAA,EACpF,QAAA,kBAAAC,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,wBAAA,EACb,QAAA,EAAA;AAAA,oBAAAD,cAAA,CAACE,yBAAA,EAAA,EAAc,aAAA,EAAY,MAAA,EAAO,SAAA,EAAU,qCAAA,EAAsC,CAAA;AAAA,oCACjF,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAAF,cAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,qCAAA,EAAuC,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,sBAC7DA,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,4BAAA,EAA6B,QAAA,EAAA,qCAAA,EAAmC,CAAA;AAAA,sBAC7EC,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2BAAA,EACb,QAAA,EAAA;AAAA,wBAAAD,cAAA,CAACG,aAAA,EAAA,EAAO,SAAS,OAAA,EAAS,IAAA,EAAK,MAAK,IAAA,EAAK,QAAA,EAAS,OAAA,EAAQ,SAAA,EAAU,QAAA,EAAA,OAAA,EAEpE,CAAA;AAAA,QACC,OAAA,mBACCH,cAAA,CAACG,aAAA,EAAA,EAAO,OAAA,EAAS,OAAA,EAAS,IAAA,EAAK,IAAA,EAAK,IAAA,EAAK,QAAA,EAAS,OAAA,EAAQ,OAAA,EAAQ,QAAA,EAAA,cAAA,EAElE,CAAA,GACE;AAAA,OAAA,EACN;AAAA,KAAA,EACF;AAAA,GAAA,EACF,CAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { TriangleAlert } from 'lucide-react';
|
|
3
|
+
import { B as Button } from '../../Button-C-9Pzy-Z.js';
|
|
4
|
+
|
|
5
|
+
function SignalsErrorState({
|
|
6
|
+
message,
|
|
7
|
+
onRetry,
|
|
8
|
+
onClear
|
|
9
|
+
}) {
|
|
10
|
+
return /* @__PURE__ */ jsx("section", { className: "border-border1 bg-surface2 m-4 rounded-lg border p-6 lg:m-6", role: "alert", children: /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
|
|
11
|
+
/* @__PURE__ */ jsx(TriangleAlert, { "aria-hidden": "true", className: "mt-0.5 size-5 shrink-0 text-red-500" }),
|
|
12
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
13
|
+
/* @__PURE__ */ jsx("h1", { className: "text-neutral6 text-sm font-semibold", children: message }),
|
|
14
|
+
/* @__PURE__ */ jsx("p", { className: "text-neutral3 mt-1 text-xs", children: "Check the connection and try again." }),
|
|
15
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-4 flex flex-wrap gap-2", children: [
|
|
16
|
+
/* @__PURE__ */ jsx(Button, { onClick: onRetry, size: "sm", type: "button", variant: "outline", children: "Retry" }),
|
|
17
|
+
onClear ? /* @__PURE__ */ jsx(Button, { onClick: onClear, size: "sm", type: "button", variant: "ghost", children: "Clear filter" }) : null
|
|
18
|
+
] })
|
|
19
|
+
] })
|
|
20
|
+
] }) });
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { SignalsErrorState };
|
|
24
|
+
//# sourceMappingURL=signals-error-state.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signals-error-state.es.js","sources":["../../../src/ee/signals/signals-error-state.tsx"],"sourcesContent":["import { TriangleAlert } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\n\nexport function SignalsErrorState({\n message,\n onRetry,\n onClear,\n}: {\n message: string;\n onRetry: () => void;\n onClear?: () => void;\n}) {\n return (\n <section className=\"border-border1 bg-surface2 m-4 rounded-lg border p-6 lg:m-6\" role=\"alert\">\n <div className=\"flex items-start gap-3\">\n <TriangleAlert aria-hidden=\"true\" className=\"mt-0.5 size-5 shrink-0 text-red-500\" />\n <div>\n <h1 className=\"text-neutral6 text-sm font-semibold\">{message}</h1>\n <p className=\"text-neutral3 mt-1 text-xs\">Check the connection and try again.</p>\n <div className=\"mt-4 flex flex-wrap gap-2\">\n <Button onClick={onRetry} size=\"sm\" type=\"button\" variant=\"outline\">\n Retry\n </Button>\n {onClear ? (\n <Button onClick={onClear} size=\"sm\" type=\"button\" variant=\"ghost\">\n Clear filter\n </Button>\n ) : null}\n </div>\n </div>\n </div>\n </section>\n );\n}\n"],"names":[],"mappings":";;;;AAGO,SAAS,iBAAA,CAAkB;AAAA,EAChC,OAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,EAIG;AACD,EAAA,uBACE,GAAA,CAAC,aAAQ,SAAA,EAAU,6DAAA,EAA8D,MAAK,OAAA,EACpF,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,wBAAA,EACb,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,aAAA,EAAA,EAAc,aAAA,EAAY,MAAA,EAAO,SAAA,EAAU,qCAAA,EAAsC,CAAA;AAAA,yBACjF,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,qCAAA,EAAuC,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,sBAC7D,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,4BAAA,EAA6B,QAAA,EAAA,qCAAA,EAAmC,CAAA;AAAA,sBAC7E,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2BAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,SAAS,OAAA,EAAS,IAAA,EAAK,MAAK,IAAA,EAAK,QAAA,EAAS,OAAA,EAAQ,SAAA,EAAU,QAAA,EAAA,OAAA,EAEpE,CAAA;AAAA,QACC,OAAA,mBACC,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAS,OAAA,EAAS,IAAA,EAAK,IAAA,EAAK,IAAA,EAAK,QAAA,EAAS,OAAA,EAAQ,OAAA,EAAQ,QAAA,EAAA,cAAA,EAElE,CAAA,GACE;AAAA,OAAA,EACN;AAAA,KAAA,EACF;AAAA,GAAA,EACF,CAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
const skeleton = require('../../skeleton-C0zXt2_f.cjs');
|
|
7
|
+
|
|
8
|
+
function DistributionSkeleton() {
|
|
9
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-border1 bg-surface2 space-y-3 rounded-lg border p-4", children: [
|
|
10
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: "h-3 w-20" }),
|
|
11
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: "h-2 w-full" }),
|
|
12
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: "h-3 w-4/5" }),
|
|
13
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: "h-3 w-3/5" })
|
|
14
|
+
] });
|
|
15
|
+
}
|
|
16
|
+
function AnalysisSkeletons() {
|
|
17
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
18
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-3 sm:grid-cols-2 xl:grid-cols-4", children: [
|
|
19
|
+
/* @__PURE__ */ jsxRuntime.jsx(DistributionSkeleton, {}),
|
|
20
|
+
/* @__PURE__ */ jsxRuntime.jsx(DistributionSkeleton, {}),
|
|
21
|
+
/* @__PURE__ */ jsxRuntime.jsx(DistributionSkeleton, {}),
|
|
22
|
+
/* @__PURE__ */ jsxRuntime.jsx(DistributionSkeleton, {})
|
|
23
|
+
] }),
|
|
24
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: "h-80 w-full" })
|
|
25
|
+
] });
|
|
26
|
+
}
|
|
27
|
+
function SignalsFrameLoadingSkeleton() {
|
|
28
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { "aria-label": "Loading snapshot flow", className: "space-y-5", role: "status", children: [
|
|
29
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Loading snapshot flow" }),
|
|
30
|
+
/* @__PURE__ */ jsxRuntime.jsx(AnalysisSkeletons, {})
|
|
31
|
+
] });
|
|
32
|
+
}
|
|
33
|
+
function SignalsLoadingSkeleton() {
|
|
34
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
35
|
+
"div",
|
|
36
|
+
{
|
|
37
|
+
"aria-label": "Loading trace intelligence",
|
|
38
|
+
className: "space-y-5 p-4 lg:p-6",
|
|
39
|
+
"data-testid": "signals-loading-skeleton",
|
|
40
|
+
role: "status",
|
|
41
|
+
children: [
|
|
42
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Loading trace intelligence" }),
|
|
43
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
44
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: "h-5 w-24" }),
|
|
45
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: "h-7 w-96 max-w-full" }),
|
|
46
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: "h-4 w-xl max-w-full" })
|
|
47
|
+
] }),
|
|
48
|
+
/* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: "h-14 w-full" }),
|
|
49
|
+
/* @__PURE__ */ jsxRuntime.jsx(AnalysisSkeletons, {})
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
exports.SignalsFrameLoadingSkeleton = SignalsFrameLoadingSkeleton;
|
|
56
|
+
exports.SignalsLoadingSkeleton = SignalsLoadingSkeleton;
|
|
57
|
+
//# sourceMappingURL=signals-loading-skeleton.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signals-loading-skeleton.cjs.js","sources":["../../../src/ee/signals/signals-loading-skeleton.tsx"],"sourcesContent":["import { Skeleton } from '@/ds/components/Skeleton';\n\nfunction DistributionSkeleton() {\n return (\n <div className=\"border-border1 bg-surface2 space-y-3 rounded-lg border p-4\">\n <Skeleton className=\"h-3 w-20\" />\n <Skeleton className=\"h-2 w-full\" />\n <Skeleton className=\"h-3 w-4/5\" />\n <Skeleton className=\"h-3 w-3/5\" />\n </div>\n );\n}\n\nfunction AnalysisSkeletons() {\n return (\n <>\n <div className=\"grid gap-3 sm:grid-cols-2 xl:grid-cols-4\">\n <DistributionSkeleton />\n <DistributionSkeleton />\n <DistributionSkeleton />\n <DistributionSkeleton />\n </div>\n <Skeleton className=\"h-80 w-full\" />\n </>\n );\n}\n\nexport function SignalsFrameLoadingSkeleton() {\n return (\n <section aria-label=\"Loading snapshot flow\" className=\"space-y-5\" role=\"status\">\n <span className=\"sr-only\">Loading snapshot flow</span>\n <AnalysisSkeletons />\n </section>\n );\n}\n\nexport function SignalsLoadingSkeleton() {\n return (\n <div\n aria-label=\"Loading trace intelligence\"\n className=\"space-y-5 p-4 lg:p-6\"\n data-testid=\"signals-loading-skeleton\"\n role=\"status\"\n >\n <span className=\"sr-only\">Loading trace intelligence</span>\n <div className=\"space-y-3\">\n <Skeleton className=\"h-5 w-24\" />\n <Skeleton className=\"h-7 w-96 max-w-full\" />\n <Skeleton className=\"h-4 w-xl max-w-full\" />\n </div>\n <Skeleton className=\"h-14 w-full\" />\n <AnalysisSkeletons />\n </div>\n );\n}\n"],"names":["jsxs","jsx","Skeleton","Fragment"],"mappings":";;;;;;;AAEA,SAAS,oBAAA,GAAuB;AAC9B,EAAA,uBACEA,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,4DAAA,EACb,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAACC,iBAAA,EAAA,EAAS,WAAU,UAAA,EAAW,CAAA;AAAA,oBAC/BD,cAAA,CAACC,iBAAA,EAAA,EAAS,SAAA,EAAU,YAAA,EAAa,CAAA;AAAA,oBACjCD,cAAA,CAACC,iBAAA,EAAA,EAAS,SAAA,EAAU,WAAA,EAAY,CAAA;AAAA,oBAChCD,cAAA,CAACC,iBAAA,EAAA,EAAS,SAAA,EAAU,WAAA,EAAY;AAAA,GAAA,EAClC,CAAA;AAEJ;AAEA,SAAS,iBAAA,GAAoB;AAC3B,EAAA,uBACEF,eAAA,CAAAG,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAH,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,0CAAA,EACb,QAAA,EAAA;AAAA,sBAAAC,cAAA,CAAC,oBAAA,EAAA,EAAqB,CAAA;AAAA,qCACrB,oBAAA,EAAA,EAAqB,CAAA;AAAA,qCACrB,oBAAA,EAAA,EAAqB,CAAA;AAAA,qCACrB,oBAAA,EAAA,EAAqB;AAAA,KAAA,EACxB,CAAA;AAAA,oBACAA,cAAA,CAACC,iBAAA,EAAA,EAAS,SAAA,EAAU,aAAA,EAAc;AAAA,GAAA,EACpC,CAAA;AAEJ;AAEO,SAAS,2BAAA,GAA8B;AAC5C,EAAA,uCACG,SAAA,EAAA,EAAQ,YAAA,EAAW,yBAAwB,SAAA,EAAU,WAAA,EAAY,MAAK,QAAA,EACrE,QAAA,EAAA;AAAA,oBAAAD,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,uBAAA,EAAqB,CAAA;AAAA,mCAC9C,iBAAA,EAAA,EAAkB;AAAA,GAAA,EACrB,CAAA;AAEJ;AAEO,SAAS,sBAAA,GAAyB;AACvC,EAAA,uBACED,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAW,4BAAA;AAAA,MACX,SAAA,EAAU,sBAAA;AAAA,MACV,aAAA,EAAY,0BAAA;AAAA,MACZ,IAAA,EAAK,QAAA;AAAA,MAEL,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,4BAAA,EAA0B,CAAA;AAAA,wBACpDD,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,WAAA,EACb,QAAA,EAAA;AAAA,0BAAAC,cAAA,CAACC,iBAAA,EAAA,EAAS,WAAU,UAAA,EAAW,CAAA;AAAA,0BAC/BD,cAAA,CAACC,iBAAA,EAAA,EAAS,SAAA,EAAU,qBAAA,EAAsB,CAAA;AAAA,0BAC1CD,cAAA,CAACC,iBAAA,EAAA,EAAS,SAAA,EAAU,qBAAA,EAAsB;AAAA,SAAA,EAC5C,CAAA;AAAA,wBACAD,cAAA,CAACC,iBAAA,EAAA,EAAS,SAAA,EAAU,aAAA,EAAc,CAAA;AAAA,uCACjC,iBAAA,EAAA,EAAkB;AAAA;AAAA;AAAA,GACrB;AAEJ;;;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { S as Skeleton } from '../../skeleton-C5-7V8Ni.js';
|
|
3
|
+
|
|
4
|
+
function DistributionSkeleton() {
|
|
5
|
+
return /* @__PURE__ */ jsxs("div", { className: "border-border1 bg-surface2 space-y-3 rounded-lg border p-4", children: [
|
|
6
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-20" }),
|
|
7
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-2 w-full" }),
|
|
8
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-4/5" }),
|
|
9
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-3/5" })
|
|
10
|
+
] });
|
|
11
|
+
}
|
|
12
|
+
function AnalysisSkeletons() {
|
|
13
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
14
|
+
/* @__PURE__ */ jsxs("div", { className: "grid gap-3 sm:grid-cols-2 xl:grid-cols-4", children: [
|
|
15
|
+
/* @__PURE__ */ jsx(DistributionSkeleton, {}),
|
|
16
|
+
/* @__PURE__ */ jsx(DistributionSkeleton, {}),
|
|
17
|
+
/* @__PURE__ */ jsx(DistributionSkeleton, {}),
|
|
18
|
+
/* @__PURE__ */ jsx(DistributionSkeleton, {})
|
|
19
|
+
] }),
|
|
20
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-80 w-full" })
|
|
21
|
+
] });
|
|
22
|
+
}
|
|
23
|
+
function SignalsFrameLoadingSkeleton() {
|
|
24
|
+
return /* @__PURE__ */ jsxs("section", { "aria-label": "Loading snapshot flow", className: "space-y-5", role: "status", children: [
|
|
25
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Loading snapshot flow" }),
|
|
26
|
+
/* @__PURE__ */ jsx(AnalysisSkeletons, {})
|
|
27
|
+
] });
|
|
28
|
+
}
|
|
29
|
+
function SignalsLoadingSkeleton() {
|
|
30
|
+
return /* @__PURE__ */ jsxs(
|
|
31
|
+
"div",
|
|
32
|
+
{
|
|
33
|
+
"aria-label": "Loading trace intelligence",
|
|
34
|
+
className: "space-y-5 p-4 lg:p-6",
|
|
35
|
+
"data-testid": "signals-loading-skeleton",
|
|
36
|
+
role: "status",
|
|
37
|
+
children: [
|
|
38
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Loading trace intelligence" }),
|
|
39
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
40
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-5 w-24" }),
|
|
41
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-7 w-96 max-w-full" }),
|
|
42
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-xl max-w-full" })
|
|
43
|
+
] }),
|
|
44
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-14 w-full" }),
|
|
45
|
+
/* @__PURE__ */ jsx(AnalysisSkeletons, {})
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export { SignalsFrameLoadingSkeleton, SignalsLoadingSkeleton };
|
|
52
|
+
//# sourceMappingURL=signals-loading-skeleton.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signals-loading-skeleton.es.js","sources":["../../../src/ee/signals/signals-loading-skeleton.tsx"],"sourcesContent":["import { Skeleton } from '@/ds/components/Skeleton';\n\nfunction DistributionSkeleton() {\n return (\n <div className=\"border-border1 bg-surface2 space-y-3 rounded-lg border p-4\">\n <Skeleton className=\"h-3 w-20\" />\n <Skeleton className=\"h-2 w-full\" />\n <Skeleton className=\"h-3 w-4/5\" />\n <Skeleton className=\"h-3 w-3/5\" />\n </div>\n );\n}\n\nfunction AnalysisSkeletons() {\n return (\n <>\n <div className=\"grid gap-3 sm:grid-cols-2 xl:grid-cols-4\">\n <DistributionSkeleton />\n <DistributionSkeleton />\n <DistributionSkeleton />\n <DistributionSkeleton />\n </div>\n <Skeleton className=\"h-80 w-full\" />\n </>\n );\n}\n\nexport function SignalsFrameLoadingSkeleton() {\n return (\n <section aria-label=\"Loading snapshot flow\" className=\"space-y-5\" role=\"status\">\n <span className=\"sr-only\">Loading snapshot flow</span>\n <AnalysisSkeletons />\n </section>\n );\n}\n\nexport function SignalsLoadingSkeleton() {\n return (\n <div\n aria-label=\"Loading trace intelligence\"\n className=\"space-y-5 p-4 lg:p-6\"\n data-testid=\"signals-loading-skeleton\"\n role=\"status\"\n >\n <span className=\"sr-only\">Loading trace intelligence</span>\n <div className=\"space-y-3\">\n <Skeleton className=\"h-5 w-24\" />\n <Skeleton className=\"h-7 w-96 max-w-full\" />\n <Skeleton className=\"h-4 w-xl max-w-full\" />\n </div>\n <Skeleton className=\"h-14 w-full\" />\n <AnalysisSkeletons />\n </div>\n );\n}\n"],"names":[],"mappings":";;;AAEA,SAAS,oBAAA,GAAuB;AAC9B,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,4DAAA,EACb,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,WAAU,UAAA,EAAW,CAAA;AAAA,oBAC/B,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,YAAA,EAAa,CAAA;AAAA,oBACjC,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,WAAA,EAAY,CAAA;AAAA,oBAChC,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,WAAA,EAAY;AAAA,GAAA,EAClC,CAAA;AAEJ;AAEA,SAAS,iBAAA,GAAoB;AAC3B,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,0CAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,oBAAA,EAAA,EAAqB,CAAA;AAAA,0BACrB,oBAAA,EAAA,EAAqB,CAAA;AAAA,0BACrB,oBAAA,EAAA,EAAqB,CAAA;AAAA,0BACrB,oBAAA,EAAA,EAAqB;AAAA,KAAA,EACxB,CAAA;AAAA,oBACA,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,aAAA,EAAc;AAAA,GAAA,EACpC,CAAA;AAEJ;AAEO,SAAS,2BAAA,GAA8B;AAC5C,EAAA,4BACG,SAAA,EAAA,EAAQ,YAAA,EAAW,yBAAwB,SAAA,EAAU,WAAA,EAAY,MAAK,QAAA,EACrE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,uBAAA,EAAqB,CAAA;AAAA,wBAC9C,iBAAA,EAAA,EAAkB;AAAA,GAAA,EACrB,CAAA;AAEJ;AAEO,SAAS,sBAAA,GAAyB;AACvC,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAW,4BAAA;AAAA,MACX,SAAA,EAAU,sBAAA;AAAA,MACV,aAAA,EAAY,0BAAA;AAAA,MACZ,IAAA,EAAK,QAAA;AAAA,MAEL,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,4BAAA,EAA0B,CAAA;AAAA,wBACpD,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,WAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,QAAA,EAAA,EAAS,WAAU,UAAA,EAAW,CAAA;AAAA,0BAC/B,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,qBAAA,EAAsB,CAAA;AAAA,0BAC1C,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,qBAAA,EAAsB;AAAA,SAAA,EAC5C,CAAA;AAAA,wBACA,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,aAAA,EAAc,CAAA;AAAA,4BACjC,iBAAA,EAAA,EAAkB;AAAA;AAAA;AAAA,GACrB;AAEJ;;;;"}
|