@msqd/lydia 0.0.0-stage → 0.6.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/LICENSE +373 -0
- package/README.md +151 -2
- package/THIRD_PARTY_NOTICES.md +29 -0
- package/dist/Components/Badges/Badge.d.ts +20 -0
- package/dist/Components/Badges/Badge.js +33 -0
- package/dist/Components/Badges/index.d.ts +1 -0
- package/dist/Components/Badges/index.js +4 -0
- package/dist/Components/Buttons/Button.d.ts +8 -0
- package/dist/Components/Buttons/Button.js +30 -0
- package/dist/Components/Buttons/ButtonGroup.d.ts +13 -0
- package/dist/Components/Buttons/ButtonGroup.js +61 -0
- package/dist/Components/Buttons/index.d.ts +2 -0
- package/dist/Components/Buttons/index.js +6 -0
- package/dist/Components/Cards/Card.d.ts +38 -0
- package/dist/Components/Cards/Card.js +31 -0
- package/dist/Components/Cards/StatCard.d.ts +14 -0
- package/dist/Components/Cards/StatCard.js +27 -0
- package/dist/Components/Cards/index.d.ts +2 -0
- package/dist/Components/Cards/index.js +7 -0
- package/dist/Components/Charts/Components/ThinBarChart.d.ts +35 -0
- package/dist/Components/Charts/Components/ThinBarChart.js +41 -0
- package/dist/Components/Charts/Components/WideBarChart.d.ts +48 -0
- package/dist/Components/Charts/Components/WideBarChart.js +50 -0
- package/dist/Components/Charts/Components/index.d.ts +2 -0
- package/dist/Components/Charts/Components/index.js +6 -0
- package/dist/Components/Charts/Hooks/index.d.ts +2 -0
- package/dist/Components/Charts/Hooks/index.js +7 -0
- package/dist/Components/Charts/Hooks/useChartDimensions.d.ts +24 -0
- package/dist/Components/Charts/Hooks/useChartDimensions.js +42 -0
- package/dist/Components/Charts/Hooks/useThemeColors.d.ts +10 -0
- package/dist/Components/Charts/Hooks/useThemeColors.js +51 -0
- package/dist/Components/Charts/SummaryPerformancesChart.d.ts +7 -0
- package/dist/Components/Charts/SummaryPerformancesChart.js +93 -0
- package/dist/Components/Charts/SummaryRateChart.d.ts +9 -0
- package/dist/Components/Charts/SummaryRateChart.js +81 -0
- package/dist/Components/Charts/TransactionsChart.d.ts +6 -0
- package/dist/Components/Charts/TransactionsChart.js +70 -0
- package/dist/Components/Charts/Utils/ChartBarCalculator.d.ts +48 -0
- package/dist/Components/Charts/Utils/ChartBarCalculator.js +66 -0
- package/dist/Components/Charts/Utils/ChartColors.d.ts +13 -0
- package/dist/Components/Charts/Utils/ChartColors.js +10 -0
- package/dist/Components/Charts/Utils/ChartTooltipFormatter.d.ts +43 -0
- package/dist/Components/Charts/Utils/ChartTooltipFormatter.js +57 -0
- package/dist/Components/Charts/Utils/ReactEChartsCore.d.ts +4 -0
- package/dist/Components/Charts/Utils/ReactEChartsCore.js +5 -0
- package/dist/Components/Charts/Utils/ThemeColor.d.ts +21 -0
- package/dist/Components/Charts/Utils/ThemeColor.js +54 -0
- package/dist/Components/Charts/Utils/TimeFormatter.d.ts +9 -0
- package/dist/Components/Charts/Utils/TimeFormatter.js +25 -0
- package/dist/Components/Charts/Utils/escapeTooltipHtml.d.ts +6 -0
- package/dist/Components/Charts/Utils/escapeTooltipHtml.js +5 -0
- package/dist/Components/Charts/Utils/index.d.ts +5 -0
- package/dist/Components/Charts/Utils/index.js +14 -0
- package/dist/Components/Charts/index.d.ts +6 -0
- package/dist/Components/Charts/index.js +29 -0
- package/dist/Components/Colors/Colors.d.ts +19 -0
- package/dist/Components/Colors/Colors.js +154 -0
- package/dist/Components/Colors/index.d.ts +1 -0
- package/dist/Components/Colors/index.js +4 -0
- package/dist/Components/DataTable/DataTable.d.ts +86 -0
- package/dist/Components/DataTable/DataTable.js +122 -0
- package/dist/Components/DataTable/Paginator.d.ts +41 -0
- package/dist/Components/DataTable/Paginator.js +122 -0
- package/dist/Components/DataTable/ProportionBar.d.ts +48 -0
- package/dist/Components/DataTable/ProportionBar.js +20 -0
- package/dist/Components/DataTable/index.d.ts +3 -0
- package/dist/Components/DataTable/index.js +9 -0
- package/dist/Components/Dialog/Dialog.d.ts +49 -0
- package/dist/Components/Dialog/Dialog.js +83 -0
- package/dist/Components/Dialog/Drawer.d.ts +45 -0
- package/dist/Components/Dialog/Drawer.js +120 -0
- package/dist/Components/Dialog/index.d.ts +3 -0
- package/dist/Components/Dialog/index.js +12 -0
- package/dist/Components/Dialog/modal.types.d.ts +47 -0
- package/dist/Components/Dialog/modal.types.js +8 -0
- package/dist/Components/Facets/FacetCount.d.ts +11 -0
- package/dist/Components/Facets/FacetCount.js +8 -0
- package/dist/Components/Facets/FacetCountsCaption.d.ts +16 -0
- package/dist/Components/Facets/FacetCountsCaption.js +14 -0
- package/dist/Components/Facets/FacetInnerLightButton.d.ts +10 -0
- package/dist/Components/Facets/FacetInnerLightButton.js +17 -0
- package/dist/Components/Facets/FacetLabel.d.ts +13 -0
- package/dist/Components/Facets/FacetLabel.js +15 -0
- package/dist/Components/Facets/FacetList.d.ts +40 -0
- package/dist/Components/Facets/FacetList.js +37 -0
- package/dist/Components/Facets/FacetListCard.d.ts +38 -0
- package/dist/Components/Facets/FacetListCard.js +47 -0
- package/dist/Components/Facets/FacetResetLink.d.ts +13 -0
- package/dist/Components/Facets/FacetResetLink.js +23 -0
- package/dist/Components/Facets/Variants/DateRangeFacet.d.ts +47 -0
- package/dist/Components/Facets/Variants/DateRangeFacet.js +51 -0
- package/dist/Components/Facets/Variants/MultipleChoiceFacet.d.ts +67 -0
- package/dist/Components/Facets/Variants/MultipleChoiceFacet.js +200 -0
- package/dist/Components/Facets/Variants/PerformanceFacet.d.ts +61 -0
- package/dist/Components/Facets/Variants/PerformanceFacet.js +77 -0
- package/dist/Components/Facets/Variants/SingleChoiceFacet.d.ts +56 -0
- package/dist/Components/Facets/Variants/SingleChoiceFacet.js +54 -0
- package/dist/Components/Facets/Variants/index.d.ts +8 -0
- package/dist/Components/Facets/Variants/index.js +10 -0
- package/dist/Components/Facets/Variants/nestedValues.d.ts +33 -0
- package/dist/Components/Facets/Variants/nestedValues.js +87 -0
- package/dist/Components/Facets/index.d.ts +15 -0
- package/dist/Components/Facets/index.js +27 -0
- package/dist/Components/Formatter/BodyNotice.d.ts +9 -0
- package/dist/Components/Formatter/BodyNotice.js +21 -0
- package/dist/Components/Formatter/CodeFormatter.d.ts +47 -0
- package/dist/Components/Formatter/CodeFormatter.js +47 -0
- package/dist/Components/Formatter/HeadersDisplay.d.ts +9 -0
- package/dist/Components/Formatter/HeadersDisplay.js +18 -0
- package/dist/Components/Formatter/JsonTreeView.d.ts +27 -0
- package/dist/Components/Formatter/JsonTreeView.js +145 -0
- package/dist/Components/Formatter/PerformanceMetrics.d.ts +27 -0
- package/dist/Components/Formatter/PerformanceMetrics.js +29 -0
- package/dist/Components/Formatter/SyntaxHighlighter.d.ts +11 -0
- package/dist/Components/Formatter/SyntaxHighlighter.js +16 -0
- package/dist/Components/Formatter/VirtualizedCodeView.d.ts +24 -0
- package/dist/Components/Formatter/VirtualizedCodeView.js +47 -0
- package/dist/Components/Formatter/bodyLimits.d.ts +6 -0
- package/dist/Components/Formatter/bodyLimits.js +6 -0
- package/dist/Components/Formatter/index.d.ts +8 -0
- package/dist/Components/Formatter/index.js +16 -0
- package/dist/Components/Formatter/syntaxTheme.d.ts +8 -0
- package/dist/Components/Formatter/syntaxTheme.js +15 -0
- package/dist/Components/Formatter/useCodeHighlighting.d.ts +15 -0
- package/dist/Components/Formatter/useCodeHighlighting.js +47 -0
- package/dist/Components/Formatter/useVirtualization.d.ts +29 -0
- package/dist/Components/Formatter/useVirtualization.js +18 -0
- package/dist/Components/Inputs/Checkbox/Checkbox.d.ts +6 -0
- package/dist/Components/Inputs/Checkbox/Checkbox.js +75 -0
- package/dist/Components/Inputs/Checkbox/index.d.ts +1 -0
- package/dist/Components/Inputs/Checkbox/index.js +4 -0
- package/dist/Components/Inputs/DateRangeSelector/DateRangeSelector.d.ts +48 -0
- package/dist/Components/Inputs/DateRangeSelector/DateRangeSelector.js +71 -0
- package/dist/Components/Inputs/DateRangeSelector/index.d.ts +1 -0
- package/dist/Components/Inputs/DateRangeSelector/index.js +4 -0
- package/dist/Components/Inputs/Field/Field.d.ts +19 -0
- package/dist/Components/Inputs/Field/Field.js +35 -0
- package/dist/Components/Inputs/Field/index.d.ts +2 -0
- package/dist/Components/Inputs/Field/index.js +7 -0
- package/dist/Components/Inputs/Field/useField.d.ts +33 -0
- package/dist/Components/Inputs/Field/useField.js +36 -0
- package/dist/Components/Inputs/Input/Input.d.ts +85 -0
- package/dist/Components/Inputs/Input/Input.js +146 -0
- package/dist/Components/Inputs/Input/index.d.ts +1 -0
- package/dist/Components/Inputs/Input/index.js +4 -0
- package/dist/Components/Inputs/InputAddon/InputAddon.d.ts +21 -0
- package/dist/Components/Inputs/InputAddon/InputAddon.js +18 -0
- package/dist/Components/Inputs/InputAddon/index.d.ts +1 -0
- package/dist/Components/Inputs/InputAddon/index.js +4 -0
- package/dist/Components/Inputs/InputButton/InputButton.d.ts +21 -0
- package/dist/Components/Inputs/InputButton/InputButton.js +29 -0
- package/dist/Components/Inputs/InputButton/index.d.ts +1 -0
- package/dist/Components/Inputs/InputButton/index.js +4 -0
- package/dist/Components/Inputs/InputIcon/InputIcon.d.ts +20 -0
- package/dist/Components/Inputs/InputIcon/InputIcon.js +16 -0
- package/dist/Components/Inputs/InputIcon/index.d.ts +1 -0
- package/dist/Components/Inputs/InputIcon/index.js +4 -0
- package/dist/Components/Inputs/KeyboardShortcut/KeyboardShortcut.d.ts +12 -0
- package/dist/Components/Inputs/KeyboardShortcut/KeyboardShortcut.js +18 -0
- package/dist/Components/Inputs/KeyboardShortcut/index.d.ts +1 -0
- package/dist/Components/Inputs/KeyboardShortcut/index.js +4 -0
- package/dist/Components/Inputs/Radio/Radio.d.ts +3 -0
- package/dist/Components/Inputs/Radio/Radio.js +59 -0
- package/dist/Components/Inputs/Radio/index.d.ts +1 -0
- package/dist/Components/Inputs/Radio/index.js +4 -0
- package/dist/Components/Inputs/SearchInput/SearchInput.d.ts +9 -0
- package/dist/Components/Inputs/SearchInput/SearchInput.js +48 -0
- package/dist/Components/Inputs/SearchInput/index.d.ts +2 -0
- package/dist/Components/Inputs/SearchInput/index.js +4 -0
- package/dist/Components/Inputs/Sliders/RangeSlider.d.ts +40 -0
- package/dist/Components/Inputs/Sliders/RangeSlider.js +160 -0
- package/dist/Components/Inputs/Sliders/index.d.ts +2 -0
- package/dist/Components/Inputs/Sliders/index.js +4 -0
- package/dist/Components/Inputs/Textarea/Textarea.d.ts +56 -0
- package/dist/Components/Inputs/Textarea/Textarea.js +79 -0
- package/dist/Components/Inputs/Textarea/index.d.ts +1 -0
- package/dist/Components/Inputs/Textarea/index.js +4 -0
- package/dist/Components/Inputs/choiceInput.d.ts +12 -0
- package/dist/Components/Inputs/choiceInput.js +8 -0
- package/dist/Components/Inputs/index.d.ts +11 -0
- package/dist/Components/Inputs/index.js +24 -0
- package/dist/Components/Layouts/DefaultLayout.d.ts +30 -0
- package/dist/Components/Layouts/DefaultLayout.js +25 -0
- package/dist/Components/Layouts/index.d.ts +2 -0
- package/dist/Components/Layouts/index.js +4 -0
- package/dist/Components/NavBar/Assets/defaultAvatar.d.ts +4 -0
- package/dist/Components/NavBar/Assets/defaultAvatar.js +28 -0
- package/dist/Components/NavBar/Assets/index.d.ts +2 -0
- package/dist/Components/NavBar/Assets/index.js +4 -0
- package/dist/Components/NavBar/NavBar.d.ts +58 -0
- package/dist/Components/NavBar/NavBar.js +141 -0
- package/dist/Components/NavBar/index.d.ts +1 -0
- package/dist/Components/NavBar/index.js +5 -0
- package/dist/Components/Tabs/Tabs.d.ts +24 -0
- package/dist/Components/Tabs/Tabs.js +69 -0
- package/dist/Components/Tabs/index.d.ts +2 -0
- package/dist/Components/Tabs/index.js +5 -0
- package/dist/Components/Toast/Toast.d.ts +28 -0
- package/dist/Components/Toast/Toast.js +128 -0
- package/dist/Components/Toast/ToastContainer.d.ts +29 -0
- package/dist/Components/Toast/ToastContainer.js +28 -0
- package/dist/Components/Toast/ToastContext.d.ts +103 -0
- package/dist/Components/Toast/ToastContext.js +124 -0
- package/dist/Components/Toast/index.d.ts +3 -0
- package/dist/Components/Toast/index.js +13 -0
- package/dist/Components/Typography/HeadingLevel.d.ts +28 -0
- package/dist/Components/Typography/HeadingLevel.js +20 -0
- package/dist/Components/Typography/Paragraphs.d.ts +8 -0
- package/dist/Components/Typography/Paragraphs.js +6 -0
- package/dist/Components/Typography/Section.d.ts +8 -0
- package/dist/Components/Typography/Section.js +6 -0
- package/dist/Components/Typography/Titles.d.ts +31 -0
- package/dist/Components/Typography/Titles.js +14 -0
- package/dist/Components/Typography/index.d.ts +4 -0
- package/dist/Components/Typography/index.js +17 -0
- package/dist/Components/Utilities/Foldable.d.ts +42 -0
- package/dist/Components/Utilities/Foldable.js +39 -0
- package/dist/Components/Utilities/index.d.ts +2 -0
- package/dist/Components/Utilities/index.js +6 -0
- package/dist/Components/Utilities/useClickOutside.d.ts +21 -0
- package/dist/Components/Utilities/useClickOutside.js +23 -0
- package/dist/Components/index.d.ts +16 -0
- package/dist/Components/index.js +158 -0
- package/dist/Elements/Http/CacheBadge.d.ts +13 -0
- package/dist/Elements/Http/CacheBadge.js +34 -0
- package/dist/Elements/Http/CacheIndicator.d.ts +17 -0
- package/dist/Elements/Http/CacheIndicator.js +47 -0
- package/dist/Elements/Http/RequestMethodBadge.d.ts +5 -0
- package/dist/Elements/Http/RequestMethodBadge.js +13 -0
- package/dist/Elements/Http/ResponseStatusBadge.d.ts +19 -0
- package/dist/Elements/Http/ResponseStatusBadge.js +20 -0
- package/dist/Elements/Http/index.d.ts +4 -0
- package/dist/Elements/Http/index.js +10 -0
- package/dist/Elements/System/CircuitBreakerStatus.d.ts +11 -0
- package/dist/Elements/System/CircuitBreakerStatus.js +98 -0
- package/dist/Elements/System/EndpointNode.d.ts +10 -0
- package/dist/Elements/System/EndpointNode.js +19 -0
- package/dist/Elements/System/EntrypointNode.d.ts +9 -0
- package/dist/Elements/System/EntrypointNode.js +17 -0
- package/dist/Elements/System/NetworkEdges.d.ts +37 -0
- package/dist/Elements/System/NetworkEdges.js +52 -0
- package/dist/Elements/System/NetworkMap.d.ts +33 -0
- package/dist/Elements/System/NetworkMap.js +121 -0
- package/dist/Elements/System/NetworkNode.d.ts +29 -0
- package/dist/Elements/System/NetworkNode.js +31 -0
- package/dist/Elements/System/ProxyNode.d.ts +8 -0
- package/dist/Elements/System/ProxyNode.js +10 -0
- package/dist/Elements/System/index.d.ts +9 -0
- package/dist/Elements/System/index.js +17 -0
- package/dist/Elements/Tpdex/TpdexBadge.d.ts +26 -0
- package/dist/Elements/Tpdex/TpdexBadge.js +36 -0
- package/dist/Elements/Tpdex/index.d.ts +4 -0
- package/dist/Elements/Tpdex/index.js +8 -0
- package/dist/Elements/Transactions/TransactionFiltersCard.d.ts +41 -0
- package/dist/Elements/Transactions/TransactionFiltersCard.js +121 -0
- package/dist/Elements/Transactions/TransactionsExplorerSidebar.d.ts +37 -0
- package/dist/Elements/Transactions/TransactionsExplorerSidebar.js +154 -0
- package/dist/Elements/Transactions/TransactionsFiltersSidebar.d.ts +22 -0
- package/dist/Elements/Transactions/TransactionsFiltersSidebar.js +39 -0
- package/dist/Elements/Transactions/index.d.ts +13 -0
- package/dist/Elements/Transactions/index.js +9 -0
- package/dist/Elements/index.d.ts +18 -0
- package/dist/Elements/index.js +38 -0
- package/dist/Models/Filters/active.d.ts +12 -0
- package/dist/Models/Filters/active.js +10 -0
- package/dist/Models/Filters/dates.d.ts +8 -0
- package/dist/Models/Filters/dates.js +16 -0
- package/dist/Models/Filters/index.d.ts +4 -0
- package/dist/Models/Filters/index.js +13 -0
- package/dist/Models/Filters/read.d.ts +9 -0
- package/dist/Models/Filters/read.js +22 -0
- package/dist/Models/Filters/types.d.ts +50 -0
- package/dist/Models/Filters/types.js +1 -0
- package/dist/Models/Http/body.d.ts +7 -0
- package/dist/Models/Http/body.js +6 -0
- package/dist/Models/Http/contentDisposition.d.ts +7 -0
- package/dist/Models/Http/contentDisposition.js +51 -0
- package/dist/Models/Http/dataUrl.d.ts +12 -0
- package/dist/Models/Http/dataUrl.js +21 -0
- package/dist/Models/Http/headers.d.ts +18 -0
- package/dist/Models/Http/headers.js +7 -0
- package/dist/Models/Http/index.d.ts +2 -0
- package/dist/Models/Http/index.js +6 -0
- package/dist/Models/Http/percent.d.ts +5 -0
- package/dist/Models/Http/percent.js +17 -0
- package/dist/Models/Http/requestTarget.d.ts +11 -0
- package/dist/Models/Http/requestTarget.js +7 -0
- package/dist/Models/System/index.d.ts +1 -0
- package/dist/Models/System/index.js +7 -0
- package/dist/Models/System/types.d.ts +20 -0
- package/dist/Models/System/types.js +48 -0
- package/dist/Models/Tpdex.d.ts +36 -0
- package/dist/Models/Tpdex.js +38 -0
- package/dist/Models/Transactions/Overview.d.ts +19 -0
- package/dist/Models/Transactions/Overview.js +1 -0
- package/dist/Models/Transactions/encoding.d.ts +49 -0
- package/dist/Models/Transactions/encoding.js +26 -0
- package/dist/Models/Transactions/endpoints.d.ts +15 -0
- package/dist/Models/Transactions/endpoints.js +21 -0
- package/dist/Models/Transactions/facets.d.ts +25 -0
- package/dist/Models/Transactions/facets.js +40 -0
- package/dist/Models/Transactions/filtering.d.ts +20 -0
- package/dist/Models/Transactions/filtering.js +34 -0
- package/dist/Models/Transactions/treeDepth.d.ts +2 -0
- package/dist/Models/Transactions/treeDepth.js +4 -0
- package/dist/Models/Transactions/types.d.ts +58 -0
- package/dist/Models/Transactions/types.js +1 -0
- package/dist/Models/index.d.ts +10 -0
- package/dist/Models/index.js +46 -0
- package/dist/Pages/Alerts/AlertsPage.d.ts +18 -0
- package/dist/Pages/Alerts/AlertsPage.js +104 -0
- package/dist/Pages/Alerts/index.d.ts +1 -0
- package/dist/Pages/Alerts/index.js +4 -0
- package/dist/Pages/Explorer/ExplorerPage.d.ts +6 -0
- package/dist/Pages/Explorer/ExplorerPage.js +55 -0
- package/dist/Pages/Explorer/index.d.ts +1 -0
- package/dist/Pages/Explorer/index.js +4 -0
- package/dist/Pages/Overview/OverviewPage.d.ts +11 -0
- package/dist/Pages/Overview/OverviewPage.js +10 -0
- package/dist/Pages/Overview/Sections/Components/TransactionsHistoryView.d.ts +7 -0
- package/dist/Pages/Overview/Sections/Components/TransactionsHistoryView.js +32 -0
- package/dist/Pages/Overview/Sections/Components/index.d.ts +1 -0
- package/dist/Pages/Overview/Sections/Components/index.js +4 -0
- package/dist/Pages/Overview/Sections/HistorySection.d.ts +18 -0
- package/dist/Pages/Overview/Sections/HistorySection.js +21 -0
- package/dist/Pages/Overview/Sections/SummarySection.d.ts +44 -0
- package/dist/Pages/Overview/Sections/SummarySection.js +127 -0
- package/dist/Pages/Overview/index.d.ts +4 -0
- package/dist/Pages/Overview/index.js +8 -0
- package/dist/Pages/SystemPage/SystemPage.d.ts +8 -0
- package/dist/Pages/SystemPage/SystemPage.js +16 -0
- package/dist/Pages/SystemPage/index.d.ts +1 -0
- package/dist/Pages/SystemPage/index.js +4 -0
- package/dist/Pages/Transactions/Detail/Components/DownloadButton.d.ts +33 -0
- package/dist/Pages/Transactions/Detail/Components/DownloadButton.js +62 -0
- package/dist/Pages/Transactions/Detail/Components/TransactionMessage.d.ts +16 -0
- package/dist/Pages/Transactions/Detail/Components/TransactionMessage.js +44 -0
- package/dist/Pages/Transactions/Detail/Components/TransactionMetadata.d.ts +21 -0
- package/dist/Pages/Transactions/Detail/Components/TransactionMetadata.js +127 -0
- package/dist/Pages/Transactions/Detail/Components/index.d.ts +6 -0
- package/dist/Pages/Transactions/Detail/Components/index.js +8 -0
- package/dist/Pages/Transactions/Detail/TransactionsDetailPage.d.ts +8 -0
- package/dist/Pages/Transactions/Detail/TransactionsDetailPage.js +15 -0
- package/dist/Pages/Transactions/Detail/Utils/BodyPreview.d.ts +15 -0
- package/dist/Pages/Transactions/Detail/Utils/BodyPreview.js +30 -0
- package/dist/Pages/Transactions/Detail/Utils/ContentRenderer.d.ts +28 -0
- package/dist/Pages/Transactions/Detail/Utils/ContentRenderer.js +115 -0
- package/dist/Pages/Transactions/Detail/Utils/index.d.ts +4 -0
- package/dist/Pages/Transactions/Detail/Utils/index.js +9 -0
- package/dist/Pages/Transactions/Detail/index.d.ts +4 -0
- package/dist/Pages/Transactions/Detail/index.js +8 -0
- package/dist/Pages/Transactions/List/TransactionsListPage.d.ts +80 -0
- package/dist/Pages/Transactions/List/TransactionsListPage.js +220 -0
- package/dist/Pages/Transactions/List/index.d.ts +4 -0
- package/dist/Pages/Transactions/List/index.js +6 -0
- package/dist/Pages/Transactions/List/useClientSideTransactions.d.ts +38 -0
- package/dist/Pages/Transactions/List/useClientSideTransactions.js +32 -0
- package/dist/Pages/Transactions/index.d.ts +4 -0
- package/dist/Pages/Transactions/index.js +6 -0
- package/dist/Pages/index.d.ts +5 -0
- package/dist/Pages/index.js +18 -0
- package/dist/Settings.d.ts +13 -0
- package/dist/Settings.js +16 -0
- package/dist/css/Components/Formatter/prism.css +79 -0
- package/dist/css/Components/Inputs/Input/Input.css +73 -0
- package/dist/css/Components/Inputs/Sliders/RangeSliderStyles.css +92 -0
- package/dist/css/components.css +6 -0
- package/dist/css/fonts/Lato-Bold.woff2 +0 -0
- package/dist/css/fonts/Lato-BoldItalic.woff2 +0 -0
- package/dist/css/fonts/Lato-Italic.woff2 +0 -0
- package/dist/css/fonts/Lato-Regular.woff2 +0 -0
- package/dist/css/fonts/OFL.txt +93 -0
- package/dist/css/theme.css +109 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +250 -0
- package/dist/logo.svg +1 -0
- package/dist/styles/styles.css +1 -0
- package/package.json +367 -3
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { jsx as r, jsxs as l, Fragment as g } from "react/jsx-runtime";
|
|
2
|
+
import { ArrowTopRightOnSquareIcon as p } from "@heroicons/react/24/outline";
|
|
3
|
+
import { H2 as x, H3 as o } from "../../../Components/Typography/Titles.js";
|
|
4
|
+
import { TpdexBadge as N } from "../../../Elements/Tpdex/TpdexBadge.js";
|
|
5
|
+
import { twMerge as d } from "tailwind-merge";
|
|
6
|
+
import { Card as v } from "../../../Components/Cards/Card.js";
|
|
7
|
+
import { SummaryPerformancesChart as y } from "../../../Components/Charts/SummaryPerformancesChart.js";
|
|
8
|
+
import { SummaryRateChart as h } from "../../../Components/Charts/SummaryRateChart.js";
|
|
9
|
+
const S = (e) => /* @__PURE__ */ r("a", { ...e }), m = (e, a) => a ? `${e} (${a})` : e;
|
|
10
|
+
function f({ windowLabel: e, className: a }) {
|
|
11
|
+
return e ? /* @__PURE__ */ l("div", { className: a, children: [
|
|
12
|
+
e,
|
|
13
|
+
" average"
|
|
14
|
+
] }) : null;
|
|
15
|
+
}
|
|
16
|
+
const n = Object.assign(
|
|
17
|
+
({ className: e, children: a, ...i }) => /* @__PURE__ */ r(v, { className: d("overflow-hidden relative h-60", e), ...i, children: a }),
|
|
18
|
+
{
|
|
19
|
+
Title: ({ children: e }) => /* @__PURE__ */ r("div", { className: "flex items-start relative z-10", children: e }),
|
|
20
|
+
Link: ({ to: e, linkComponent: a, children: i }) => e === void 0 ? null : /* @__PURE__ */ l(
|
|
21
|
+
a,
|
|
22
|
+
{
|
|
23
|
+
href: e,
|
|
24
|
+
className: "leading-7 text-gray-400 mx-1 font-medium text-xs px-2 whitespace-nowrap z-10 flex items-center gap-1",
|
|
25
|
+
children: [
|
|
26
|
+
/* @__PURE__ */ r(p, { className: "h-3 w-3" }),
|
|
27
|
+
i
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
),
|
|
31
|
+
Badge: ({ children: e }) => /* @__PURE__ */ r("div", { className: "inline-flex flex-col self-center relative z-10 items-start", children: e }),
|
|
32
|
+
AbsoluteChart: ({ children: e }) => /* @__PURE__ */ r("div", { className: "absolute w-full h-full left-0 top-0", children: e })
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
function u({
|
|
36
|
+
rate: e,
|
|
37
|
+
period: a,
|
|
38
|
+
windowLabel: i,
|
|
39
|
+
className: t
|
|
40
|
+
}) {
|
|
41
|
+
return /* @__PURE__ */ r(n.Badge, { children: /* @__PURE__ */ l("div", { className: d("bg-white ring-1 text-lg px-4 py-2 rounded", t), children: [
|
|
42
|
+
e,
|
|
43
|
+
" ",
|
|
44
|
+
/* @__PURE__ */ l("span", { className: "font-light", children: [
|
|
45
|
+
"/",
|
|
46
|
+
a
|
|
47
|
+
] }),
|
|
48
|
+
/* @__PURE__ */ r(f, { windowLabel: i, className: "text-xs font-normal text-gray-500 text-right" })
|
|
49
|
+
] }) });
|
|
50
|
+
}
|
|
51
|
+
function T({
|
|
52
|
+
data: e,
|
|
53
|
+
to: a,
|
|
54
|
+
linkComponent: i,
|
|
55
|
+
windowLabel: t
|
|
56
|
+
}) {
|
|
57
|
+
return /* @__PURE__ */ l(n, { children: [
|
|
58
|
+
/* @__PURE__ */ l(n.Title, { children: [
|
|
59
|
+
/* @__PURE__ */ r(o, { children: m("Performances", t) }),
|
|
60
|
+
/* @__PURE__ */ r(n.Link, { to: a, linkComponent: i, children: "details" })
|
|
61
|
+
] }),
|
|
62
|
+
/* @__PURE__ */ r(n.Badge, { children: /* @__PURE__ */ l("div", { className: "flex flex-col items-center gap-1", children: [
|
|
63
|
+
/* @__PURE__ */ r(N, { score: e.mean, className: "ring-1 ring-white" }),
|
|
64
|
+
/* @__PURE__ */ r(f, { windowLabel: t, className: "text-xs font-normal text-right" })
|
|
65
|
+
] }) }),
|
|
66
|
+
/* @__PURE__ */ r(n.AbsoluteChart, { children: /* @__PURE__ */ r(y, { data: e.data }) })
|
|
67
|
+
] });
|
|
68
|
+
}
|
|
69
|
+
function P({
|
|
70
|
+
data: e,
|
|
71
|
+
to: a,
|
|
72
|
+
linkComponent: i,
|
|
73
|
+
windowLabel: t
|
|
74
|
+
}) {
|
|
75
|
+
return /* @__PURE__ */ l(n, { children: [
|
|
76
|
+
/* @__PURE__ */ l(n.Title, { children: [
|
|
77
|
+
/* @__PURE__ */ r(o, { children: m("Transactions", t) }),
|
|
78
|
+
/* @__PURE__ */ r(n.Link, { to: a, linkComponent: i, children: "details" })
|
|
79
|
+
] }),
|
|
80
|
+
/* @__PURE__ */ r(u, { className: "ring-blue-200", rate: e.rate, period: e.period, windowLabel: t }),
|
|
81
|
+
/* @__PURE__ */ r(n.AbsoluteChart, { children: /* @__PURE__ */ r(h, { data: e.data, color: "--color-chart-transactions" }) })
|
|
82
|
+
] });
|
|
83
|
+
}
|
|
84
|
+
function A({ data: e, to: a, linkComponent: i, windowLabel: t }) {
|
|
85
|
+
return /* @__PURE__ */ l(n, { children: [
|
|
86
|
+
/* @__PURE__ */ l(n.Title, { children: [
|
|
87
|
+
/* @__PURE__ */ r(o, { children: m("Errors", t) }),
|
|
88
|
+
/* @__PURE__ */ r(n.Link, { to: a, linkComponent: i, children: "details" })
|
|
89
|
+
] }),
|
|
90
|
+
/* @__PURE__ */ r(u, { className: "ring-danger-200", rate: e.rate, period: e.period, windowLabel: t }),
|
|
91
|
+
/* @__PURE__ */ r(n.AbsoluteChart, { children: /* @__PURE__ */ r(h, { data: e.data, color: "--color-danger-200" }) })
|
|
92
|
+
] });
|
|
93
|
+
}
|
|
94
|
+
const H = ({
|
|
95
|
+
performance: e,
|
|
96
|
+
transactions: a,
|
|
97
|
+
errors: i,
|
|
98
|
+
links: t = {},
|
|
99
|
+
linkComponent: s = S,
|
|
100
|
+
windowLabel: c
|
|
101
|
+
}) => /* @__PURE__ */ l(g, { children: [
|
|
102
|
+
/* @__PURE__ */ r("div", { className: "flex justify-end my-2", children: /* @__PURE__ */ r(x, { className: "grow", children: "Summary" }) }),
|
|
103
|
+
/* @__PURE__ */ l("div", { className: "grid grid-cols-3 gap-4 mb-8", children: [
|
|
104
|
+
/* @__PURE__ */ r(
|
|
105
|
+
T,
|
|
106
|
+
{
|
|
107
|
+
data: e,
|
|
108
|
+
to: t.performance,
|
|
109
|
+
linkComponent: s,
|
|
110
|
+
windowLabel: c
|
|
111
|
+
}
|
|
112
|
+
),
|
|
113
|
+
/* @__PURE__ */ r(
|
|
114
|
+
P,
|
|
115
|
+
{
|
|
116
|
+
data: a,
|
|
117
|
+
to: t.transactions,
|
|
118
|
+
linkComponent: s,
|
|
119
|
+
windowLabel: c
|
|
120
|
+
}
|
|
121
|
+
),
|
|
122
|
+
/* @__PURE__ */ r(A, { data: i, to: t.errors, linkComponent: s, windowLabel: c })
|
|
123
|
+
] })
|
|
124
|
+
] });
|
|
125
|
+
export {
|
|
126
|
+
H as SummarySection
|
|
127
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { OverviewPage } from "./OverviewPage.js";
|
|
2
|
+
export type { OverviewPageProps, SummarySectionProps, ChartDataPoint, PerformanceData, RateData, } from "./OverviewPage.js";
|
|
3
|
+
export { SummarySection } from "./Sections/SummarySection.js";
|
|
4
|
+
export { HistorySection, type HistorySectionProps } from "./Sections/HistorySection.js";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { OverviewPage as e } from "./OverviewPage.js";
|
|
2
|
+
import { SummarySection as m } from "./Sections/SummarySection.js";
|
|
3
|
+
import { HistorySection as f } from "./Sections/HistorySection.js";
|
|
4
|
+
export {
|
|
5
|
+
f as HistorySection,
|
|
6
|
+
e as OverviewPage,
|
|
7
|
+
m as SummarySection
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type NetworkTopology } from "../../Elements/System/index.js";
|
|
2
|
+
import type { ComponentProps } from "react";
|
|
3
|
+
export interface SystemPageProps extends ComponentProps<"div"> {
|
|
4
|
+
/** Network topology to render in the architecture map. */
|
|
5
|
+
topology: NetworkTopology;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function SystemPage({ topology, className, ...props }: SystemPageProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
2
|
+
import { Section as m } from "../../Components/Typography/Section.js";
|
|
3
|
+
import { H2 as s } from "../../Components/Typography/Titles.js";
|
|
4
|
+
import { P as n } from "../../Components/Typography/Paragraphs.js";
|
|
5
|
+
import { HeadingLevel as c } from "../../Components/Typography/HeadingLevel.js";
|
|
6
|
+
import { NetworkMap as l } from "../../Elements/System/NetworkMap.js";
|
|
7
|
+
function x({ topology: e, className: o = "", ...t }) {
|
|
8
|
+
return /* @__PURE__ */ r("div", { className: `space-y-6 ${o}`, ...t, children: /* @__PURE__ */ i(m, { children: [
|
|
9
|
+
/* @__PURE__ */ r(s, { children: "System Architecture" }),
|
|
10
|
+
/* @__PURE__ */ r(n, { className: "text-gray-600 mb-6", children: "Network topology showing traffic flow from ingresses through proxies to endpoints." }),
|
|
11
|
+
/* @__PURE__ */ r(c, { level: 2, children: /* @__PURE__ */ r(l, { topology: e }) })
|
|
12
|
+
] }) });
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
x as SystemPage
|
|
16
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SystemPage, type SystemPageProps } from "./SystemPage.js";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Button } from "../../../../Components/Buttons/index.js";
|
|
2
|
+
import { type HttpBody } from "../../../../Models/Http/body.js";
|
|
3
|
+
import { type ComponentProps } from "react";
|
|
4
|
+
export interface DownloadButtonProps extends Omit<ComponentProps<typeof Button>, "onClick"> {
|
|
5
|
+
/**
|
|
6
|
+
* Data to be downloaded. A `data:` URL is decoded to its bytes, any other string is saved as text and
|
|
7
|
+
* parsed documents as JSON.
|
|
8
|
+
*/
|
|
9
|
+
data: HttpBody;
|
|
10
|
+
/**
|
|
11
|
+
* Filename for the download
|
|
12
|
+
*/
|
|
13
|
+
filename: string;
|
|
14
|
+
/**
|
|
15
|
+
* MIME type for the download. Defaults to the data URL's own type, else `text/plain` for text and
|
|
16
|
+
* `application/json` for parsed documents.
|
|
17
|
+
*/
|
|
18
|
+
mimeType?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Whether to show the download icon
|
|
21
|
+
*/
|
|
22
|
+
showIcon?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Custom onClick handler (in addition to download)
|
|
25
|
+
*/
|
|
26
|
+
onDownload?: () => void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Button component that handles file downloads
|
|
30
|
+
* Supports text, parsed documents and `data:` URLs, base64 or percent-encoded.
|
|
31
|
+
* A failure is shown as text under the button.
|
|
32
|
+
*/
|
|
33
|
+
export declare function DownloadButton({ data, filename, mimeType, showIcon, onDownload, children, variant, size, className, ...props }: DownloadButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsxs as d, jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import { ArrowDownTrayIcon as x } from "@heroicons/react/24/outline";
|
|
3
|
+
import { stringifyBody as y } from "../../../../Models/Http/body.js";
|
|
4
|
+
import { decodeDataUrl as B } from "../../../../Models/Http/dataUrl.js";
|
|
5
|
+
import { useState as D } from "react";
|
|
6
|
+
import { twMerge as g } from "tailwind-merge";
|
|
7
|
+
import { Button as E } from "../../../../Components/Buttons/Button.js";
|
|
8
|
+
const j = 1e3;
|
|
9
|
+
function L(e, t) {
|
|
10
|
+
if (typeof e != "string")
|
|
11
|
+
return new Blob([y(e)], { type: t ?? "application/json" });
|
|
12
|
+
if (/^data:/i.test(e)) {
|
|
13
|
+
const r = B(e);
|
|
14
|
+
return new Blob([r.bytes], { type: t ?? r.mimeType ?? "text/plain" });
|
|
15
|
+
}
|
|
16
|
+
return new Blob([e], { type: t ?? "text/plain" });
|
|
17
|
+
}
|
|
18
|
+
function M({
|
|
19
|
+
data: e,
|
|
20
|
+
filename: t,
|
|
21
|
+
mimeType: r,
|
|
22
|
+
showIcon: n = !0,
|
|
23
|
+
onDownload: p,
|
|
24
|
+
children: f = "Download",
|
|
25
|
+
variant: u = "primary",
|
|
26
|
+
size: w = "sm",
|
|
27
|
+
className: b,
|
|
28
|
+
...h
|
|
29
|
+
}) {
|
|
30
|
+
const [l, i] = D();
|
|
31
|
+
return /* @__PURE__ */ d("div", { className: "inline-flex flex-col items-center gap-1", children: [
|
|
32
|
+
/* @__PURE__ */ d(
|
|
33
|
+
E,
|
|
34
|
+
{
|
|
35
|
+
variant: u,
|
|
36
|
+
size: w,
|
|
37
|
+
onClick: () => {
|
|
38
|
+
let c;
|
|
39
|
+
try {
|
|
40
|
+
c = L(e, r);
|
|
41
|
+
} catch (s) {
|
|
42
|
+
i(s instanceof Error ? s.message : "The download failed");
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
i(void 0);
|
|
46
|
+
const a = URL.createObjectURL(c), o = document.createElement("a");
|
|
47
|
+
o.href = a, o.download = t, document.body.appendChild(o), o.click(), document.body.removeChild(o), setTimeout(() => URL.revokeObjectURL(a), j), p?.();
|
|
48
|
+
},
|
|
49
|
+
className: g(n && "flex items-center gap-2", b),
|
|
50
|
+
...h,
|
|
51
|
+
children: [
|
|
52
|
+
n && /* @__PURE__ */ m(x, { className: "h-4 w-4", "aria-hidden": "true" }),
|
|
53
|
+
f
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
),
|
|
57
|
+
l && /* @__PURE__ */ m("p", { role: "alert", className: "text-xs text-red-600", children: l })
|
|
58
|
+
] });
|
|
59
|
+
}
|
|
60
|
+
export {
|
|
61
|
+
M as DownloadButton
|
|
62
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { HttpMessage } from "../../../../Models/Transactions/types.js";
|
|
2
|
+
import { type ComponentProps } from "react";
|
|
3
|
+
export interface TransactionMessageProps extends ComponentProps<"div"> {
|
|
4
|
+
/** Section title, e.g. "Request" or "Response". */
|
|
5
|
+
title: string;
|
|
6
|
+
/** The HTTP message (headers + body) to display. */
|
|
7
|
+
message: HttpMessage;
|
|
8
|
+
/** Default open state for the foldable. */
|
|
9
|
+
defaultOpen?: boolean;
|
|
10
|
+
/** Maximum height for content display. */
|
|
11
|
+
maxContentHeight?: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Displays one HTTP message (request or response) — its headers and body — in a foldable section.
|
|
15
|
+
*/
|
|
16
|
+
export declare function TransactionMessage({ title, message, defaultOpen, maxContentHeight, className, ...props }: TransactionMessageProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx as t, jsxs as r } from "react/jsx-runtime";
|
|
2
|
+
import { Subheading as i } from "../../../../Components/Typography/HeadingLevel.js";
|
|
3
|
+
import { Foldable as m } from "../../../../Components/Utilities/Foldable.js";
|
|
4
|
+
import "react";
|
|
5
|
+
import { twMerge as l } from "tailwind-merge";
|
|
6
|
+
import { ContentRenderer as s, isPreviewedBody as h } from "../Utils/ContentRenderer.js";
|
|
7
|
+
import { HeadersDisplay as p } from "../../../../Components/Formatter/HeadersDisplay.js";
|
|
8
|
+
import { contentPaddingClassName as y } from "../../../../Components/Cards/Card.js";
|
|
9
|
+
function j({
|
|
10
|
+
title: d,
|
|
11
|
+
message: e,
|
|
12
|
+
defaultOpen: n = !0,
|
|
13
|
+
maxContentHeight: o = 384,
|
|
14
|
+
className: a,
|
|
15
|
+
...c
|
|
16
|
+
}) {
|
|
17
|
+
return /* @__PURE__ */ t("div", { className: l(y, a), ...c, children: /* @__PURE__ */ t(m, { title: d, defaultOpen: n && !h(e.body, e.contentType), children: /* @__PURE__ */ r("div", { className: "space-y-4", children: [
|
|
18
|
+
/* @__PURE__ */ r("div", { children: [
|
|
19
|
+
/* @__PURE__ */ t(i, { className: "text-sm font-medium text-gray-900 mb-2", children: "Headers" }),
|
|
20
|
+
/* @__PURE__ */ t("div", { className: "max-h-64 overflow-auto", children: /* @__PURE__ */ t(p, { headers: e.headers }) })
|
|
21
|
+
] }),
|
|
22
|
+
e.body && /* @__PURE__ */ r("div", { children: [
|
|
23
|
+
/* @__PURE__ */ r("div", { className: "flex items-center justify-between mb-2", children: [
|
|
24
|
+
/* @__PURE__ */ t(i, { className: "text-sm font-medium text-gray-900", children: "Body" }),
|
|
25
|
+
e.size && /* @__PURE__ */ r("span", { className: "text-xs text-gray-500", children: [
|
|
26
|
+
e.size,
|
|
27
|
+
" bytes"
|
|
28
|
+
] })
|
|
29
|
+
] }),
|
|
30
|
+
/* @__PURE__ */ t(
|
|
31
|
+
s,
|
|
32
|
+
{
|
|
33
|
+
content: e.body,
|
|
34
|
+
contentType: e.contentType,
|
|
35
|
+
headers: e.headers,
|
|
36
|
+
maxHeight: o
|
|
37
|
+
}
|
|
38
|
+
)
|
|
39
|
+
] })
|
|
40
|
+
] }) }) });
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
j as TransactionMessage
|
|
44
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { DetailedTransaction } from "../../../../Models/Transactions/types.js";
|
|
2
|
+
import { type ComponentProps } from "react";
|
|
3
|
+
export interface TransactionMetadataProps extends ComponentProps<"div"> {
|
|
4
|
+
/**
|
|
5
|
+
* Transaction data
|
|
6
|
+
*/
|
|
7
|
+
transaction: DetailedTransaction;
|
|
8
|
+
/**
|
|
9
|
+
* Tags to display
|
|
10
|
+
*/
|
|
11
|
+
tags?: Record<string, string>;
|
|
12
|
+
/**
|
|
13
|
+
* Default open state for the foldable
|
|
14
|
+
*/
|
|
15
|
+
defaultOpen?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Component that displays transaction metadata in a foldable section
|
|
19
|
+
* Includes URL, status, timing, client info, and tags
|
|
20
|
+
*/
|
|
21
|
+
export declare function TransactionMetadata({ transaction, tags, defaultOpen, className, ...props }: TransactionMetadataProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { jsx as e, jsxs as s } from "react/jsx-runtime";
|
|
2
|
+
import { ClipboardDocumentIcon as N, ArrowRightIcon as v } from "@heroicons/react/24/outline";
|
|
3
|
+
import { Foldable as y } from "../../../../Components/Utilities/Foldable.js";
|
|
4
|
+
import { TpdexBadge as a } from "../../../../Elements/Tpdex/TpdexBadge.js";
|
|
5
|
+
import { splitRequestTarget as C } from "../../../../Models/Http/requestTarget.js";
|
|
6
|
+
import "react";
|
|
7
|
+
import { twMerge as T } from "tailwind-merge";
|
|
8
|
+
import { useSuccessToast as S } from "../../../../Components/Toast/ToastContext.js";
|
|
9
|
+
import { RequestMethodBadge as l } from "../../../../Elements/Http/RequestMethodBadge.js";
|
|
10
|
+
import { Button as b } from "../../../../Components/Buttons/Button.js";
|
|
11
|
+
import { ResponseStatusBadge as c } from "../../../../Elements/Http/ResponseStatusBadge.js";
|
|
12
|
+
import { CacheBadge as w } from "../../../../Elements/Http/CacheBadge.js";
|
|
13
|
+
import { Badge as A } from "../../../../Components/Badges/Badge.js";
|
|
14
|
+
import { contentPaddingClassName as R } from "../../../../Components/Cards/Card.js";
|
|
15
|
+
import { CacheIndicator as D } from "../../../../Elements/Http/CacheIndicator.js";
|
|
16
|
+
function H({
|
|
17
|
+
transaction: t,
|
|
18
|
+
tags: d = {},
|
|
19
|
+
defaultOpen: o = !1,
|
|
20
|
+
className: n,
|
|
21
|
+
...h
|
|
22
|
+
}) {
|
|
23
|
+
const i = S(), x = new Date(t.timestamp).toLocaleString(), p = async (r, m) => {
|
|
24
|
+
try {
|
|
25
|
+
await navigator.clipboard.writeText(r), i("Copied", `${m} copied to clipboard`);
|
|
26
|
+
} catch {
|
|
27
|
+
i("Copy", m);
|
|
28
|
+
}
|
|
29
|
+
}, g = () => {
|
|
30
|
+
const { path: r, query: m } = C(t.url);
|
|
31
|
+
return /* @__PURE__ */ s("span", { className: "font-normal", children: [
|
|
32
|
+
/* @__PURE__ */ e(l, { method: t.method }),
|
|
33
|
+
t.apiName && /* @__PURE__ */ e("span", { className: "inline-flex items-center bg-gray-50 px-1 ml-2 py-0.5 text-xs font-medium text-gray-700 ring-1 ring-inset ring-gray-600/20", children: t.apiName }),
|
|
34
|
+
/* @__PURE__ */ e("span", { className: "text-gray-500 font-mono text-xs ml-1", title: t.url, children: r }),
|
|
35
|
+
m && /* @__PURE__ */ e("span", { className: "text-gray-500 font-mono text-xs", title: t.url, children: m })
|
|
36
|
+
] });
|
|
37
|
+
}, u = () => /* @__PURE__ */ e("span", { className: "font-normal", children: /* @__PURE__ */ e(c, { statusCode: t.statusCode }) }), f = () => /* @__PURE__ */ s("div", { className: "flex gap-x-1 items-center font-normal", children: [
|
|
38
|
+
/* @__PURE__ */ e(a, { score: t.tpdex, responseTime: t.responseTime }),
|
|
39
|
+
/* @__PURE__ */ s("span", { className: "text-sm", children: [
|
|
40
|
+
t.responseTime,
|
|
41
|
+
"ms"
|
|
42
|
+
] }),
|
|
43
|
+
/* @__PURE__ */ e(D, { cacheStatus: t.cacheStatus, cached: t.cached, size: "sm" })
|
|
44
|
+
] });
|
|
45
|
+
return /* @__PURE__ */ e("div", { className: T(R, n), ...h, children: /* @__PURE__ */ e(
|
|
46
|
+
y,
|
|
47
|
+
{
|
|
48
|
+
title: /* @__PURE__ */ s("div", { className: "flex gap-x-1 items-center", children: [
|
|
49
|
+
/* @__PURE__ */ e(g, {}),
|
|
50
|
+
/* @__PURE__ */ e(v, { className: "h-4 w-4 text-gray-400 mx-1" }),
|
|
51
|
+
/* @__PURE__ */ e(u, {}),
|
|
52
|
+
/* @__PURE__ */ e("div", { className: "flex-1" }),
|
|
53
|
+
/* @__PURE__ */ e(f, {})
|
|
54
|
+
] }),
|
|
55
|
+
defaultOpen: o,
|
|
56
|
+
children: /* @__PURE__ */ s("div", { className: "space-y-4", children: [
|
|
57
|
+
/* @__PURE__ */ s("div", { className: "flex items-center justify-between p-4 bg-gray-50 rounded-md", children: [
|
|
58
|
+
/* @__PURE__ */ s("div", { className: "flex items-center space-x-3", children: [
|
|
59
|
+
/* @__PURE__ */ e(l, { method: t.method }),
|
|
60
|
+
/* @__PURE__ */ e("span", { className: "font-mono text-sm text-gray-900 break-all", children: t.url })
|
|
61
|
+
] }),
|
|
62
|
+
/* @__PURE__ */ s(
|
|
63
|
+
b,
|
|
64
|
+
{
|
|
65
|
+
variant: "secondary",
|
|
66
|
+
size: "sm",
|
|
67
|
+
onClick: () => p(`${t.method} ${t.url}`, "Transaction URL"),
|
|
68
|
+
className: "flex items-center space-x-1 flex-shrink-0",
|
|
69
|
+
children: [
|
|
70
|
+
/* @__PURE__ */ e(N, { className: "h-4 w-4" }),
|
|
71
|
+
/* @__PURE__ */ e("span", { children: "Copy" })
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
)
|
|
75
|
+
] }),
|
|
76
|
+
/* @__PURE__ */ s("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4", children: [
|
|
77
|
+
/* @__PURE__ */ s("div", { children: [
|
|
78
|
+
/* @__PURE__ */ e("div", { className: "text-sm font-medium text-gray-500", children: "Status" }),
|
|
79
|
+
/* @__PURE__ */ e("div", { className: "mt-1", children: /* @__PURE__ */ e(c, { statusCode: t.statusCode }) })
|
|
80
|
+
] }),
|
|
81
|
+
/* @__PURE__ */ s("div", { children: [
|
|
82
|
+
/* @__PURE__ */ e("div", { className: "text-sm font-medium text-gray-500", children: "Duration" }),
|
|
83
|
+
/* @__PURE__ */ s("div", { className: "mt-1 text-sm text-gray-900", children: [
|
|
84
|
+
t.responseTime,
|
|
85
|
+
"ms"
|
|
86
|
+
] })
|
|
87
|
+
] }),
|
|
88
|
+
/* @__PURE__ */ s("div", { children: [
|
|
89
|
+
/* @__PURE__ */ e("div", { className: "text-sm font-medium text-gray-500", children: "TPDEX" }),
|
|
90
|
+
/* @__PURE__ */ e("div", { className: "mt-1", children: /* @__PURE__ */ e(a, { score: t.tpdex, responseTime: t.responseTime, showScore: !0 }) })
|
|
91
|
+
] }),
|
|
92
|
+
(t.cacheStatus || t.cached) && /* @__PURE__ */ s("div", { children: [
|
|
93
|
+
/* @__PURE__ */ e("div", { className: "text-sm font-medium text-gray-500", children: "Cache Status" }),
|
|
94
|
+
/* @__PURE__ */ e("div", { className: "mt-1", children: /* @__PURE__ */ e(w, { cacheStatus: t.cacheStatus, cached: t.cached }) })
|
|
95
|
+
] }),
|
|
96
|
+
/* @__PURE__ */ s("div", { children: [
|
|
97
|
+
/* @__PURE__ */ e("div", { className: "text-sm font-medium text-gray-500", children: "Client" }),
|
|
98
|
+
/* @__PURE__ */ e("div", { className: "mt-1 text-sm text-gray-900", children: t.client })
|
|
99
|
+
] }),
|
|
100
|
+
/* @__PURE__ */ s("div", { children: [
|
|
101
|
+
/* @__PURE__ */ e("div", { className: "text-sm font-medium text-gray-500", children: "Created" }),
|
|
102
|
+
/* @__PURE__ */ e("div", { className: "mt-1 text-sm text-gray-900", children: x })
|
|
103
|
+
] }),
|
|
104
|
+
t.userAgent && /* @__PURE__ */ s("div", { children: [
|
|
105
|
+
/* @__PURE__ */ e("div", { className: "text-sm font-medium text-gray-500", children: "User Agent" }),
|
|
106
|
+
/* @__PURE__ */ e("div", { className: "mt-1 text-sm text-gray-900 font-mono truncate", title: t.userAgent, children: t.userAgent })
|
|
107
|
+
] })
|
|
108
|
+
] }),
|
|
109
|
+
t.remoteAddress && /* @__PURE__ */ s("div", { children: [
|
|
110
|
+
/* @__PURE__ */ e("div", { className: "text-sm font-medium text-gray-500", children: "Remote Address" }),
|
|
111
|
+
/* @__PURE__ */ e("div", { className: "mt-1 text-sm text-gray-900 font-mono", children: t.remoteAddress })
|
|
112
|
+
] }),
|
|
113
|
+
Object.keys(d).length > 0 && /* @__PURE__ */ s("div", { children: [
|
|
114
|
+
/* @__PURE__ */ e("div", { className: "text-sm font-medium text-gray-500 mb-2", children: "Tags" }),
|
|
115
|
+
/* @__PURE__ */ e("div", { className: "flex flex-wrap gap-2", children: Object.entries(d).map(([r, m]) => /* @__PURE__ */ s(A, { color: "blue", children: [
|
|
116
|
+
r,
|
|
117
|
+
"=",
|
|
118
|
+
m
|
|
119
|
+
] }, r)) })
|
|
120
|
+
] })
|
|
121
|
+
] })
|
|
122
|
+
}
|
|
123
|
+
) });
|
|
124
|
+
}
|
|
125
|
+
export {
|
|
126
|
+
H as TransactionMetadata
|
|
127
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { DownloadButton } from "./DownloadButton.js";
|
|
2
|
+
export { TransactionMetadata } from "./TransactionMetadata.js";
|
|
3
|
+
export { TransactionMessage } from "./TransactionMessage.js";
|
|
4
|
+
export type { DownloadButtonProps } from "./DownloadButton.js";
|
|
5
|
+
export type { TransactionMetadataProps } from "./TransactionMetadata.js";
|
|
6
|
+
export type { TransactionMessageProps } from "./TransactionMessage.js";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DownloadButton as t } from "./DownloadButton.js";
|
|
2
|
+
import { TransactionMetadata as e } from "./TransactionMetadata.js";
|
|
3
|
+
import { TransactionMessage as s } from "./TransactionMessage.js";
|
|
4
|
+
export {
|
|
5
|
+
t as DownloadButton,
|
|
6
|
+
s as TransactionMessage,
|
|
7
|
+
e as TransactionMetadata
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ComponentProps } from "react";
|
|
2
|
+
import type { DetailedTransaction } from "../../../Models/Transactions/types.js";
|
|
3
|
+
export interface TransactionsDetailPageProps extends ComponentProps<"div"> {
|
|
4
|
+
className?: string;
|
|
5
|
+
/** The detailed transaction to display. */
|
|
6
|
+
transaction: DetailedTransaction;
|
|
7
|
+
}
|
|
8
|
+
export declare function TransactionsDetailPage({ className, transaction, ...props }: TransactionsDetailPageProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsxs as l, Fragment as o, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { twMerge as d } from "tailwind-merge";
|
|
3
|
+
import { TransactionMetadata as n } from "./Components/TransactionMetadata.js";
|
|
4
|
+
import { TransactionMessage as t } from "./Components/TransactionMessage.js";
|
|
5
|
+
function g({ className: r, transaction: s, ...a }) {
|
|
6
|
+
const i = /* @__PURE__ */ l(o, { children: [
|
|
7
|
+
/* @__PURE__ */ e(n, { transaction: s, tags: s.tags, defaultOpen: !1 }),
|
|
8
|
+
/* @__PURE__ */ e(t, { title: "Request", message: s.request, defaultOpen: !0 }),
|
|
9
|
+
/* @__PURE__ */ e(t, { title: "Response", message: s.response, defaultOpen: !0 })
|
|
10
|
+
] });
|
|
11
|
+
return /* @__PURE__ */ e("div", { className: d("h-full", r), ...a, children: /* @__PURE__ */ e("div", { className: "h-full divide-y divide-gray-100 overflow-hidden", children: i }) });
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
g as TransactionsDetailPage
|
|
15
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface BodyPreviewProps {
|
|
2
|
+
/** The whole body, too large to be formatted. */
|
|
3
|
+
body: string;
|
|
4
|
+
/** Name the whole body is saved under. */
|
|
5
|
+
filename: string;
|
|
6
|
+
/** MIME type the whole body is saved as. */
|
|
7
|
+
mimeType?: string;
|
|
8
|
+
/** Maximum height of the body in pixels. */
|
|
9
|
+
maxHeight?: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Shows the start of a body too large to format, with the choice of the whole body as plain text
|
|
13
|
+
* or as a download. Only the preview is drawn until the reader asks for more.
|
|
14
|
+
*/
|
|
15
|
+
export declare function BodyPreview({ body, filename, mimeType, maxHeight }: BodyPreviewProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsxs as a, jsx as o, Fragment as p } from "react/jsx-runtime";
|
|
2
|
+
import { BodyNotice as f } from "../../../../Components/Formatter/BodyNotice.js";
|
|
3
|
+
import { formatFileSize as i } from "../../../../Components/Formatter/PerformanceMetrics.js";
|
|
4
|
+
import { PREVIEW_SIZE as d } from "../../../../Components/Formatter/bodyLimits.js";
|
|
5
|
+
import { useState as h } from "react";
|
|
6
|
+
import { DownloadButton as w } from "../Components/DownloadButton.js";
|
|
7
|
+
import { CodeFormatter as x } from "../../../../Components/Formatter/CodeFormatter.js";
|
|
8
|
+
import { Button as u } from "../../../../Components/Buttons/Button.js";
|
|
9
|
+
function I({ body: e, filename: l, mimeType: s, maxHeight: t = 384 }) {
|
|
10
|
+
const [m, c] = h(), r = m === e, n = i(e.length);
|
|
11
|
+
return /* @__PURE__ */ a("div", { className: "overflow-hidden rounded-md border border-gray-200 bg-white", children: [
|
|
12
|
+
/* @__PURE__ */ o(f, { actions: /* @__PURE__ */ a(p, { children: [
|
|
13
|
+
/* @__PURE__ */ o(u, { variant: "secondary", size: "sm", onClick: () => c(r ? void 0 : e), children: r ? "Show preview only" : "Show all" }),
|
|
14
|
+
/* @__PURE__ */ o(w, { data: e, filename: l, mimeType: s, variant: "secondary" })
|
|
15
|
+
] }), children: r ? `Showing all ${n} as plain text, not reformatted.` : `Showing the first ${i(d)} of ${n}.` }),
|
|
16
|
+
r ? /* @__PURE__ */ o(x, { language: "text", code: e, maxHeight: t, className: "rounded-none border-0" }) : /* @__PURE__ */ o(
|
|
17
|
+
"pre",
|
|
18
|
+
{
|
|
19
|
+
tabIndex: 0,
|
|
20
|
+
"aria-label": "Body preview",
|
|
21
|
+
className: "overflow-auto whitespace-pre-wrap break-all p-3 font-mono text-xs leading-5",
|
|
22
|
+
style: { maxHeight: t },
|
|
23
|
+
children: e.slice(0, d)
|
|
24
|
+
}
|
|
25
|
+
)
|
|
26
|
+
] });
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
I as BodyPreview
|
|
30
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type HttpBody } from "../../../../Models/Http/body.js";
|
|
2
|
+
import { type HttpHeader } from "../../../../Models/Http/headers.js";
|
|
3
|
+
import type { ContentType } from "../../../../Models/Transactions/types.js";
|
|
4
|
+
export interface ContentRendererProps {
|
|
5
|
+
/**
|
|
6
|
+
* Content to render
|
|
7
|
+
*/
|
|
8
|
+
content: HttpBody | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Content type
|
|
11
|
+
*/
|
|
12
|
+
contentType?: ContentType;
|
|
13
|
+
/**
|
|
14
|
+
* Headers associated with the content, looked up by name rather than displayed.
|
|
15
|
+
*/
|
|
16
|
+
headers?: HttpHeader[];
|
|
17
|
+
/**
|
|
18
|
+
* Maximum height for code formatter
|
|
19
|
+
*/
|
|
20
|
+
maxHeight?: number;
|
|
21
|
+
}
|
|
22
|
+
/** Whether the body is code too large to format, which is shown as a preview. */
|
|
23
|
+
export declare function isPreviewedBody(content: HttpBody | undefined, contentType: ContentType | undefined): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Utility component that renders different content types appropriately
|
|
26
|
+
* Supports JSON, XML, HTML, text, images, and binary content
|
|
27
|
+
*/
|
|
28
|
+
export declare function ContentRenderer({ content, contentType, headers, maxHeight }: ContentRendererProps): import("react/jsx-runtime").JSX.Element;
|