@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,10 @@
|
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { NetworkNode as o } from "./NetworkNode.js";
|
|
3
|
+
import { Badge as i } from "../../Components/Badges/Badge.js";
|
|
4
|
+
function p({ proxy: e }) {
|
|
5
|
+
const r = e.implementation === "harp" ? "purple" : "green";
|
|
6
|
+
return /* @__PURE__ */ t(o, { tone: "purple", title: e.name, children: /* @__PURE__ */ t("div", { className: "flex justify-start", children: /* @__PURE__ */ t(i, { color: r, className: "text-xs", children: e.implementation.toUpperCase() }) }) });
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
p as ProxyNode
|
|
10
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { NetworkMap } from "./NetworkMap.js";
|
|
2
|
+
export type { NetworkMapProps, NetworkTopology, NetworkEntrypoint, NetworkProxy, NetworkEndpoint, NetworkConnection, } from "./NetworkMap.js";
|
|
3
|
+
export { NetworkNode, NetworkNodeDetail } from "./NetworkNode.js";
|
|
4
|
+
export type { NetworkNodeProps, NetworkNodeDetailProps } from "./NetworkNode.js";
|
|
5
|
+
export { EntrypointNode, type EntrypointNodeProps } from "./EntrypointNode.js";
|
|
6
|
+
export { ProxyNode, type ProxyNodeProps } from "./ProxyNode.js";
|
|
7
|
+
export { EndpointNode, type EndpointNodeProps } from "./EndpointNode.js";
|
|
8
|
+
export { CircuitBreakerStatus, type CircuitBreakerStatusProps } from "./CircuitBreakerStatus.js";
|
|
9
|
+
export { NetworkEdges, type NetworkEdgesProps } from "./NetworkEdges.js";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { NetworkMap as e } from "./NetworkMap.js";
|
|
2
|
+
import { NetworkNode as p, NetworkNodeDetail as N } from "./NetworkNode.js";
|
|
3
|
+
import { EntrypointNode as d } from "./EntrypointNode.js";
|
|
4
|
+
import { ProxyNode as m } from "./ProxyNode.js";
|
|
5
|
+
import { EndpointNode as k } from "./EndpointNode.js";
|
|
6
|
+
import { CircuitBreakerStatus as n } from "./CircuitBreakerStatus.js";
|
|
7
|
+
import { NetworkEdges as E } from "./NetworkEdges.js";
|
|
8
|
+
export {
|
|
9
|
+
n as CircuitBreakerStatus,
|
|
10
|
+
k as EndpointNode,
|
|
11
|
+
d as EntrypointNode,
|
|
12
|
+
E as NetworkEdges,
|
|
13
|
+
e as NetworkMap,
|
|
14
|
+
p as NetworkNode,
|
|
15
|
+
N as NetworkNodeDetail,
|
|
16
|
+
m as ProxyNode
|
|
17
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type ComponentProps } from "react";
|
|
2
|
+
export interface TpdexBadgeProps extends Omit<ComponentProps<"span">, "children"> {
|
|
3
|
+
/**
|
|
4
|
+
* Response time in milliseconds, used to estimate a score when none was measured
|
|
5
|
+
*/
|
|
6
|
+
responseTime?: number;
|
|
7
|
+
/**
|
|
8
|
+
* Measured TPDEX score (0-100). Pass this only when the score was measured: supplying it is what
|
|
9
|
+
* tells the badge it is showing a measurement rather than an estimate.
|
|
10
|
+
*/
|
|
11
|
+
score?: number;
|
|
12
|
+
/**
|
|
13
|
+
* Whether to show the numeric score alongside the rating label
|
|
14
|
+
*/
|
|
15
|
+
showScore?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Badge displaying a TPDEX performance rating.
|
|
19
|
+
*
|
|
20
|
+
* A transaction that has not ended carries no score, so the badge estimates one from the response
|
|
21
|
+
* time and **says that it did**: an estimate is marked with a leading tilde and a dashed outline.
|
|
22
|
+
* The two claims must not look alike, because filtering treats an unscored transaction as matching
|
|
23
|
+
* no bounded range, so a user who reads an `A` and filters for 90 and above would otherwise watch
|
|
24
|
+
* the row vanish with nothing on screen explaining it.
|
|
25
|
+
*/
|
|
26
|
+
export declare function TpdexBadge({ responseTime, score, showScore, className, ...props }: TpdexBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsxs as i } from "react/jsx-runtime";
|
|
2
|
+
import { getTpdexRating as d, getTpdexTextClassName as c, calculateTpdexScore as p } from "../../Models/Tpdex.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { twMerge as f } from "tailwind-merge";
|
|
5
|
+
function g({ responseTime: l, score: o, showScore: n = !1, className: r, ...m }) {
|
|
6
|
+
const t = o === void 0, a = t ? p(l || 0) : o, e = d(a), s = `${e.label}, ${a} out of 100`;
|
|
7
|
+
return /* @__PURE__ */ i(
|
|
8
|
+
"span",
|
|
9
|
+
{
|
|
10
|
+
className: f(
|
|
11
|
+
"inline-flex items-center rounded font-medium px-2 py-0.5 text-xs",
|
|
12
|
+
e.className,
|
|
13
|
+
c(e),
|
|
14
|
+
// Outline rather than border, so an estimate occupies exactly the same space as a
|
|
15
|
+
// measurement and a column of badges does not jog sideways.
|
|
16
|
+
t && "outline-dashed outline-1 -outline-offset-2 outline-white/70",
|
|
17
|
+
r
|
|
18
|
+
),
|
|
19
|
+
role: "img",
|
|
20
|
+
"aria-label": t ? `Estimated TPDEX ${s}, from response time` : `TPDEX ${s}`,
|
|
21
|
+
title: t ? `TPDEX ${e.label} (${a}/100), estimated from response time: this transaction has no measured score yet` : `TPDEX Score: ${a}/100 (${e.label})`,
|
|
22
|
+
...m,
|
|
23
|
+
children: [
|
|
24
|
+
t ? `~${e.label}` : e.label,
|
|
25
|
+
n && /* @__PURE__ */ i("span", { className: "ml-1 opacity-90", children: [
|
|
26
|
+
"(",
|
|
27
|
+
a,
|
|
28
|
+
")"
|
|
29
|
+
] })
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
g as TpdexBadge
|
|
36
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { FacetListCard } from "../../Components/Facets/index.js";
|
|
2
|
+
import type { FilterChangeHandler, Filters } from "../../Models/Filters/index.js";
|
|
3
|
+
import type { TransactionFacets } from "../../Models/Transactions/facets.js";
|
|
4
|
+
import { type ComponentProps } from "react";
|
|
5
|
+
export interface TransactionFiltersCardProps extends Omit<ComponentProps<typeof FacetListCard>, "children" | "filters" | "onFiltersChange" | "onResetFilters"> {
|
|
6
|
+
/** Current filter values using unified Filters type */
|
|
7
|
+
filters: Filters;
|
|
8
|
+
/** Unified filter change handler */
|
|
9
|
+
onFiltersChange: FilterChangeHandler;
|
|
10
|
+
/** Handler for resetting all filters */
|
|
11
|
+
onResetFilters: () => void;
|
|
12
|
+
/** Custom title for the filters card */
|
|
13
|
+
title?: string;
|
|
14
|
+
/** Whether to show default header */
|
|
15
|
+
showDefaultHeader?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Values each facet can offer, with their counts. Only the consumer knows what exists in the
|
|
18
|
+
* whole result set, so a facet with no entry here offers nothing rather than something invented.
|
|
19
|
+
*/
|
|
20
|
+
facets?: TransactionFacets;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* TransactionFiltersCard lays out the facets a transaction list can be narrowed by.
|
|
24
|
+
*
|
|
25
|
+
* It knows which facets exist and how they are presented. It does not know what values they can
|
|
26
|
+
* offer: those come from the consumer, because only the consumer sees the whole result set. A
|
|
27
|
+
* facet given no options renders empty, which is honest, rather than offering endpoints nobody
|
|
28
|
+
* called and counts nobody measured.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```tsx
|
|
32
|
+
* <TransactionFiltersCard
|
|
33
|
+
* filters={filters}
|
|
34
|
+
* onFiltersChange={handleFilterChange}
|
|
35
|
+
* onResetFilters={() => setFilters({})}
|
|
36
|
+
* title="Filter Transactions"
|
|
37
|
+
* showDefaultHeader
|
|
38
|
+
* />
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare function TransactionFiltersCard({ filters, onFiltersChange, onResetFilters, title, showDefaultHeader, facets, ...cardProps }: TransactionFiltersCardProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { jsxs as i, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { canonicalStatusToken as s } from "../../Models/Transactions/encoding.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { FacetListCard as c } from "../../Components/Facets/FacetListCard.js";
|
|
5
|
+
import { DateRangeFacet as l } from "../../Components/Facets/Variants/DateRangeFacet.js";
|
|
6
|
+
import { MultipleChoiceFacet as u } from "../../Components/Facets/Variants/MultipleChoiceFacet.js";
|
|
7
|
+
import { PerformanceFacet as O } from "../../Components/Facets/Variants/PerformanceFacet.js";
|
|
8
|
+
function j({
|
|
9
|
+
filters: t,
|
|
10
|
+
onFiltersChange: e,
|
|
11
|
+
onResetFilters: n,
|
|
12
|
+
title: m = "Filters",
|
|
13
|
+
showDefaultHeader: p = !0,
|
|
14
|
+
facets: o = {},
|
|
15
|
+
...r
|
|
16
|
+
}) {
|
|
17
|
+
const d = Array.isArray(t.status) ? { ...t, status: t.status.map(s) } : t;
|
|
18
|
+
return /* @__PURE__ */ i(
|
|
19
|
+
c,
|
|
20
|
+
{
|
|
21
|
+
filters: t,
|
|
22
|
+
onResetFilters: n,
|
|
23
|
+
title: m,
|
|
24
|
+
showDefaultHeader: p,
|
|
25
|
+
...r,
|
|
26
|
+
children: [
|
|
27
|
+
/* @__PURE__ */ a(
|
|
28
|
+
l,
|
|
29
|
+
{
|
|
30
|
+
name: "time",
|
|
31
|
+
title: "Time",
|
|
32
|
+
filters: t,
|
|
33
|
+
onFiltersChange: e,
|
|
34
|
+
startDatePlaceholder: "Start date",
|
|
35
|
+
endDatePlaceholder: "End date",
|
|
36
|
+
defaultOpen: !0
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
/* @__PURE__ */ a(
|
|
40
|
+
u,
|
|
41
|
+
{
|
|
42
|
+
name: "endpoint",
|
|
43
|
+
title: "Endpoint",
|
|
44
|
+
filters: t,
|
|
45
|
+
onFiltersChange: e,
|
|
46
|
+
options: o.endpoint,
|
|
47
|
+
defaultOpen: !0
|
|
48
|
+
}
|
|
49
|
+
),
|
|
50
|
+
/* @__PURE__ */ a(
|
|
51
|
+
u,
|
|
52
|
+
{
|
|
53
|
+
name: "method",
|
|
54
|
+
title: "Method",
|
|
55
|
+
filters: t,
|
|
56
|
+
onFiltersChange: e,
|
|
57
|
+
options: o.method,
|
|
58
|
+
defaultOpen: !0
|
|
59
|
+
}
|
|
60
|
+
),
|
|
61
|
+
/* @__PURE__ */ a(
|
|
62
|
+
u,
|
|
63
|
+
{
|
|
64
|
+
name: "status",
|
|
65
|
+
title: "Status",
|
|
66
|
+
filters: d,
|
|
67
|
+
onFiltersChange: e,
|
|
68
|
+
options: o.status,
|
|
69
|
+
defaultOpen: !0
|
|
70
|
+
}
|
|
71
|
+
),
|
|
72
|
+
/* @__PURE__ */ a(
|
|
73
|
+
u,
|
|
74
|
+
{
|
|
75
|
+
name: "cacheStatus",
|
|
76
|
+
title: "Cache Status",
|
|
77
|
+
filters: t,
|
|
78
|
+
onFiltersChange: e,
|
|
79
|
+
options: o.cacheStatus,
|
|
80
|
+
defaultOpen: !0
|
|
81
|
+
}
|
|
82
|
+
),
|
|
83
|
+
/* @__PURE__ */ a(
|
|
84
|
+
u,
|
|
85
|
+
{
|
|
86
|
+
name: "flags",
|
|
87
|
+
title: "Flags",
|
|
88
|
+
filters: t,
|
|
89
|
+
onFiltersChange: e,
|
|
90
|
+
options: o.flags,
|
|
91
|
+
defaultOpen: !0
|
|
92
|
+
}
|
|
93
|
+
),
|
|
94
|
+
/* @__PURE__ */ a(
|
|
95
|
+
u,
|
|
96
|
+
{
|
|
97
|
+
name: "tags",
|
|
98
|
+
title: "Tags",
|
|
99
|
+
filters: t,
|
|
100
|
+
onFiltersChange: e,
|
|
101
|
+
options: o.tags,
|
|
102
|
+
defaultOpen: !0
|
|
103
|
+
}
|
|
104
|
+
),
|
|
105
|
+
/* @__PURE__ */ a(
|
|
106
|
+
O,
|
|
107
|
+
{
|
|
108
|
+
name: "tpdex",
|
|
109
|
+
title: "Performance Index",
|
|
110
|
+
filters: t,
|
|
111
|
+
onFiltersChange: e,
|
|
112
|
+
defaultOpen: !0
|
|
113
|
+
}
|
|
114
|
+
)
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
export {
|
|
120
|
+
j as TransactionFiltersCard
|
|
121
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type EndpointNodeType, type Selection } from "../../Models/Transactions/endpoints.js";
|
|
2
|
+
import type { Transaction } from "../../Models/Transactions/types.js";
|
|
3
|
+
import { type ComponentProps } from "react";
|
|
4
|
+
export interface TreeNode {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
path: string;
|
|
8
|
+
type: EndpointNodeType;
|
|
9
|
+
apiName: string;
|
|
10
|
+
/** Path segments below the API, empty for the API node. */
|
|
11
|
+
segments: string[];
|
|
12
|
+
children?: TreeNode[];
|
|
13
|
+
transactionCount?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface TransactionsExplorerSidebarProps extends Omit<ComponentProps<"div">, "onSelect"> {
|
|
16
|
+
/** Transaction data to build the tree from */
|
|
17
|
+
transactions: Transaction[];
|
|
18
|
+
/** Currently selected node */
|
|
19
|
+
selected?: Selection | null;
|
|
20
|
+
/** Expanded node ids. When omitted the sidebar keeps its own, and `onToggleExpand` only reports. */
|
|
21
|
+
expandedNodes?: Set<string>;
|
|
22
|
+
/** Handler when a node is selected */
|
|
23
|
+
onSelect?: (selection: Selection) => void;
|
|
24
|
+
/** Handler when a node is expanded/collapsed */
|
|
25
|
+
onToggleExpand?: (nodeId: string) => void;
|
|
26
|
+
/** Custom title for the sidebar */
|
|
27
|
+
title?: string;
|
|
28
|
+
}
|
|
29
|
+
/** One pass over the transactions: a trie per API, each node counting the transactions at or below it. */
|
|
30
|
+
declare function buildApiTree(transactions: Transaction[]): TreeNode[];
|
|
31
|
+
/**
|
|
32
|
+
* TransactionsExplorerSidebar provides a hierarchical tree view of API endpoints.
|
|
33
|
+
* Features the same clean design as other sidebar components in the Elements namespace.
|
|
34
|
+
*/
|
|
35
|
+
export declare function TransactionsExplorerSidebar({ transactions, selected, expandedNodes: controlledExpandedNodes, onSelect, onToggleExpand, title, className, ...props }: TransactionsExplorerSidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export { buildApiTree };
|
|
37
|
+
export type { Selection };
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { jsxs as g, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronDownIcon as E, ChevronRightIcon as T, DocumentIcon as j, FolderOpenIcon as y, FolderIcon as N } from "@heroicons/react/24/outline";
|
|
3
|
+
import { apiOf as I, segmentsOf as M } from "../../Models/Transactions/endpoints.js";
|
|
4
|
+
import { MAX_TREE_DEPTH as f } from "../../Models/Transactions/treeDepth.js";
|
|
5
|
+
import { useState as O, useMemo as A } from "react";
|
|
6
|
+
import { twMerge as w } from "tailwind-merge";
|
|
7
|
+
function v(e) {
|
|
8
|
+
return { type: e.type, apiName: e.apiName, segments: e.segments };
|
|
9
|
+
}
|
|
10
|
+
const P = (e, i) => e.apiName === i.apiName && e.segments.length === i.segments.length && e.segments.every((l, t) => l === i.segments[t]);
|
|
11
|
+
function S(e) {
|
|
12
|
+
const i = /* @__PURE__ */ new Map();
|
|
13
|
+
for (const t of e) {
|
|
14
|
+
const r = I(t);
|
|
15
|
+
let a = i.get(r);
|
|
16
|
+
a || (a = { count: 0, children: /* @__PURE__ */ new Map() }, i.set(r, a)), a.count++;
|
|
17
|
+
let s = a;
|
|
18
|
+
const o = M(t);
|
|
19
|
+
(o.length > f ? [...o.slice(0, f), o.slice(f).join("/")] : o).forEach((d, u) => {
|
|
20
|
+
let m = s.children.get(d);
|
|
21
|
+
m || (m = { count: 0, children: /* @__PURE__ */ new Map(), folded: u === f ? o : void 0 }, s.children.set(d, m)), m.count++, s = m;
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
const l = (t, r, a) => [...a.children].map(([s, o]) => {
|
|
25
|
+
const c = o.folded ?? [...r, s], d = l(t, c, o);
|
|
26
|
+
return {
|
|
27
|
+
id: [t, ...c].join("/"),
|
|
28
|
+
name: s,
|
|
29
|
+
path: [t, ...c].join("/"),
|
|
30
|
+
type: d.length > 0 ? "folder" : "endpoint",
|
|
31
|
+
apiName: t,
|
|
32
|
+
segments: c,
|
|
33
|
+
children: d.length > 0 ? d : void 0,
|
|
34
|
+
transactionCount: o.count
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
return [...i].map(
|
|
38
|
+
([t, r]) => ({
|
|
39
|
+
id: t,
|
|
40
|
+
name: t,
|
|
41
|
+
path: t,
|
|
42
|
+
type: "api",
|
|
43
|
+
apiName: t,
|
|
44
|
+
segments: [],
|
|
45
|
+
children: l(t, [], r),
|
|
46
|
+
transactionCount: r.count
|
|
47
|
+
})
|
|
48
|
+
).sort((t, r) => t.name.localeCompare(r.name));
|
|
49
|
+
}
|
|
50
|
+
function b({
|
|
51
|
+
node: e,
|
|
52
|
+
level: i = 0,
|
|
53
|
+
selected: l,
|
|
54
|
+
expandedNodes: t,
|
|
55
|
+
onSelect: r,
|
|
56
|
+
onToggleExpand: a
|
|
57
|
+
}) {
|
|
58
|
+
const s = t.has(e.id), o = l !== null && P(l, v(e)), c = e.children && e.children.length > 0, d = () => {
|
|
59
|
+
r(v(e)), c && a(e.id);
|
|
60
|
+
}, u = (h) => {
|
|
61
|
+
h.stopPropagation(), a(e.id);
|
|
62
|
+
}, m = () => {
|
|
63
|
+
switch (e.type) {
|
|
64
|
+
case "api":
|
|
65
|
+
return s ? /* @__PURE__ */ n(y, { className: "h-4 w-4 text-blue-500" }) : /* @__PURE__ */ n(N, { className: "h-4 w-4 text-blue-500" });
|
|
66
|
+
case "folder":
|
|
67
|
+
return s ? /* @__PURE__ */ n(y, { className: "h-4 w-4 text-yellow-500" }) : /* @__PURE__ */ n(N, { className: "h-4 w-4 text-yellow-500" });
|
|
68
|
+
case "endpoint":
|
|
69
|
+
return /* @__PURE__ */ n(j, { className: "h-4 w-4 text-gray-400" });
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
return /* @__PURE__ */ g("div", { children: [
|
|
73
|
+
/* @__PURE__ */ g(
|
|
74
|
+
"div",
|
|
75
|
+
{
|
|
76
|
+
className: w(
|
|
77
|
+
"flex items-center px-2 py-1 cursor-pointer hover:bg-gray-100 rounded text-sm",
|
|
78
|
+
o && "bg-blue-50 hover:bg-blue-100"
|
|
79
|
+
),
|
|
80
|
+
style: { paddingLeft: `${i * 1.5 + 0.5}rem` },
|
|
81
|
+
onClick: d,
|
|
82
|
+
children: [
|
|
83
|
+
c && // Named by its node, with the state in `aria-expanded` rather than in
|
|
84
|
+
// the name: an icon alone left a screen reader saying "button".
|
|
85
|
+
/* @__PURE__ */ n(
|
|
86
|
+
"button",
|
|
87
|
+
{
|
|
88
|
+
type: "button",
|
|
89
|
+
onClick: u,
|
|
90
|
+
"aria-label": e.name,
|
|
91
|
+
"aria-expanded": s,
|
|
92
|
+
className: "p-0.5 hover:bg-gray-200 rounded mr-1",
|
|
93
|
+
children: s ? /* @__PURE__ */ n(E, { className: "h-3 w-3", "aria-hidden": "true" }) : /* @__PURE__ */ n(T, { className: "h-3 w-3", "aria-hidden": "true" })
|
|
94
|
+
}
|
|
95
|
+
),
|
|
96
|
+
!c && /* @__PURE__ */ n("div", { className: "w-5 mr-1" }),
|
|
97
|
+
/* @__PURE__ */ g("div", { className: "flex items-center space-x-2 flex-1", children: [
|
|
98
|
+
m(),
|
|
99
|
+
/* @__PURE__ */ n("span", { className: w("truncate", o && "font-medium"), children: e.name }),
|
|
100
|
+
e.transactionCount !== void 0 && /* @__PURE__ */ n("span", { className: "text-[11px] text-gray-600 font-light ml-auto", children: e.transactionCount })
|
|
101
|
+
] })
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
),
|
|
105
|
+
c && s && /* @__PURE__ */ n("div", { children: e.children.map((h) => /* @__PURE__ */ n(
|
|
106
|
+
b,
|
|
107
|
+
{
|
|
108
|
+
node: h,
|
|
109
|
+
level: i + 1,
|
|
110
|
+
selected: l,
|
|
111
|
+
expandedNodes: t,
|
|
112
|
+
onSelect: r,
|
|
113
|
+
onToggleExpand: a
|
|
114
|
+
},
|
|
115
|
+
h.id
|
|
116
|
+
)) })
|
|
117
|
+
] });
|
|
118
|
+
}
|
|
119
|
+
function L({
|
|
120
|
+
transactions: e,
|
|
121
|
+
selected: i = null,
|
|
122
|
+
expandedNodes: l,
|
|
123
|
+
onSelect: t = () => {
|
|
124
|
+
},
|
|
125
|
+
onToggleExpand: r,
|
|
126
|
+
title: a = "API Endpoints",
|
|
127
|
+
className: s,
|
|
128
|
+
...o
|
|
129
|
+
}) {
|
|
130
|
+
const [c, d] = O(/* @__PURE__ */ new Set()), u = l ?? c, m = (p) => {
|
|
131
|
+
l || d((C) => {
|
|
132
|
+
const x = new Set(C);
|
|
133
|
+
return x.delete(p) || x.add(p), x;
|
|
134
|
+
}), r?.(p);
|
|
135
|
+
}, h = A(() => S(e), [e]);
|
|
136
|
+
return /* @__PURE__ */ g("div", { className: w("bg-white rounded-lg shadow overflow-hidden flex flex-col", s), ...o, children: [
|
|
137
|
+
/* @__PURE__ */ n("div", { className: "px-4 py-3 border-b border-gray-200 bg-gray-50", children: /* @__PURE__ */ n("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ n("h3", { className: "text-sm font-medium text-gray-900", children: a }) }) }),
|
|
138
|
+
/* @__PURE__ */ n("div", { className: "flex-1 overflow-y-auto p-2", children: h.length === 0 ? /* @__PURE__ */ n("p", { className: "text-sm text-gray-500 p-4 text-center", children: "No APIs found" }) : h.map((p) => /* @__PURE__ */ n(
|
|
139
|
+
b,
|
|
140
|
+
{
|
|
141
|
+
node: p,
|
|
142
|
+
selected: i,
|
|
143
|
+
expandedNodes: u,
|
|
144
|
+
onSelect: t,
|
|
145
|
+
onToggleExpand: m
|
|
146
|
+
},
|
|
147
|
+
p.id
|
|
148
|
+
)) })
|
|
149
|
+
] });
|
|
150
|
+
}
|
|
151
|
+
export {
|
|
152
|
+
L as TransactionsExplorerSidebar,
|
|
153
|
+
S as buildApiTree
|
|
154
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type FilterChangeHandler, type Filters } from "../../Models/Filters/index.js";
|
|
2
|
+
import { type ComponentProps } from "react";
|
|
3
|
+
import { TransactionFiltersCard } from "./TransactionFiltersCard.js";
|
|
4
|
+
export interface TransactionsFiltersSidebarProps extends Omit<ComponentProps<typeof TransactionFiltersCard>, "filters" | "onFiltersChange" | "onResetFilters"> {
|
|
5
|
+
/** Current filter values using unified Filters type */
|
|
6
|
+
filters: Filters;
|
|
7
|
+
/** Unified filter change handler */
|
|
8
|
+
onFiltersChange: FilterChangeHandler;
|
|
9
|
+
/** Handler for resetting all filters */
|
|
10
|
+
onResetFilters: () => void;
|
|
11
|
+
/** Custom title for the sidebar */
|
|
12
|
+
title?: string;
|
|
13
|
+
/** Whether to show default header */
|
|
14
|
+
showDefaultHeader?: boolean;
|
|
15
|
+
/** Custom className for the container */
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* TransactionsFiltersSidebar component that provides transaction filtering in a sidebar layout.
|
|
20
|
+
* Designed to match the ExplorerPage tree view aesthetic with clean header and count displays.
|
|
21
|
+
*/
|
|
22
|
+
export declare function TransactionsFiltersSidebar({ filters, onFiltersChange, onResetFilters, facets, title, showDefaultHeader, className, ...props }: TransactionsFiltersSidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsxs as i, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { HeadingLevel as c } from "../../Components/Typography/HeadingLevel.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import { twMerge as m } from "tailwind-merge";
|
|
5
|
+
import { TransactionFiltersCard as f } from "./TransactionFiltersCard.js";
|
|
6
|
+
import { countActiveFilters as p } from "../../Models/Filters/active.js";
|
|
7
|
+
import { FacetResetLink as h } from "../../Components/Facets/FacetResetLink.js";
|
|
8
|
+
function F({
|
|
9
|
+
filters: t,
|
|
10
|
+
onFiltersChange: l,
|
|
11
|
+
onResetFilters: r,
|
|
12
|
+
facets: a,
|
|
13
|
+
title: o = "Filters",
|
|
14
|
+
showDefaultHeader: u = !0,
|
|
15
|
+
className: s,
|
|
16
|
+
...d
|
|
17
|
+
}) {
|
|
18
|
+
const n = p(t);
|
|
19
|
+
return /* @__PURE__ */ i("div", { className: m("bg-white rounded-lg shadow overflow-hidden flex flex-col", s), ...d, children: [
|
|
20
|
+
/* @__PURE__ */ e("div", { className: "px-4 py-3 border-b border-gray-200 bg-gray-50", children: /* @__PURE__ */ i("div", { className: "flex items-center justify-between", children: [
|
|
21
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-medium text-gray-900", children: o }),
|
|
22
|
+
n > 0 && r && /* @__PURE__ */ e(h, { title: "all filters", onReset: r, children: "reset all" })
|
|
23
|
+
] }) }),
|
|
24
|
+
/* @__PURE__ */ e("div", { className: "flex-1 overflow-y-auto p-2", children: /* @__PURE__ */ e(c, { level: 3, children: /* @__PURE__ */ e(
|
|
25
|
+
f,
|
|
26
|
+
{
|
|
27
|
+
filters: t,
|
|
28
|
+
onFiltersChange: l,
|
|
29
|
+
onResetFilters: r,
|
|
30
|
+
facets: a,
|
|
31
|
+
showDefaultHeader: !1,
|
|
32
|
+
skipCardWrapper: !0
|
|
33
|
+
}
|
|
34
|
+
) }) })
|
|
35
|
+
] });
|
|
36
|
+
}
|
|
37
|
+
export {
|
|
38
|
+
F as TransactionsFiltersSidebar
|
|
39
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transaction Elements
|
|
3
|
+
*
|
|
4
|
+
* Domain-specific components for working with transaction data.
|
|
5
|
+
* These components provide higher-level abstractions that combine
|
|
6
|
+
* UI components with transaction-specific business logic.
|
|
7
|
+
*/
|
|
8
|
+
export { TransactionFiltersCard } from "./TransactionFiltersCard.js";
|
|
9
|
+
export type { TransactionFiltersCardProps } from "./TransactionFiltersCard.js";
|
|
10
|
+
export { TransactionsFiltersSidebar } from "./TransactionsFiltersSidebar.js";
|
|
11
|
+
export type { TransactionsFiltersSidebarProps } from "./TransactionsFiltersSidebar.js";
|
|
12
|
+
export { TransactionsExplorerSidebar, buildApiTree } from "./TransactionsExplorerSidebar.js";
|
|
13
|
+
export type { Selection, TransactionsExplorerSidebarProps, TreeNode } from "./TransactionsExplorerSidebar.js";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TransactionFiltersCard as o } from "./TransactionFiltersCard.js";
|
|
2
|
+
import { TransactionsFiltersSidebar as i } from "./TransactionsFiltersSidebar.js";
|
|
3
|
+
import { TransactionsExplorerSidebar as s, buildApiTree as n } from "./TransactionsExplorerSidebar.js";
|
|
4
|
+
export {
|
|
5
|
+
o as TransactionFiltersCard,
|
|
6
|
+
s as TransactionsExplorerSidebar,
|
|
7
|
+
i as TransactionsFiltersSidebar,
|
|
8
|
+
n as buildApiTree
|
|
9
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Elements Namespace
|
|
3
|
+
*
|
|
4
|
+
* This namespace contains domain-specific component compositions that combine
|
|
5
|
+
* basic UI components with business logic and data models. Elements provide
|
|
6
|
+
* higher-level abstractions that are specialized for specific use cases
|
|
7
|
+
* while maintaining consistency with the overall design system.
|
|
8
|
+
*
|
|
9
|
+
* Elements are organized by domain:
|
|
10
|
+
* - Transactions: Components for working with transaction data
|
|
11
|
+
* - System: Components for system architecture visualization
|
|
12
|
+
* - Http: Badges for HTTP method / status / cache
|
|
13
|
+
* - Tpdex: The TPDEX performance badge
|
|
14
|
+
*/
|
|
15
|
+
export * from "./Transactions/index.js";
|
|
16
|
+
export * from "./System/index.js";
|
|
17
|
+
export * from "./Http/index.js";
|
|
18
|
+
export * from "./Tpdex/index.js";
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CacheBadge as o } from "./Http/CacheBadge.js";
|
|
2
|
+
import { CacheIndicator as p } from "./Http/CacheIndicator.js";
|
|
3
|
+
import { CircuitBreakerStatus as x } from "./System/CircuitBreakerStatus.js";
|
|
4
|
+
import { EndpointNode as m } from "./System/EndpointNode.js";
|
|
5
|
+
import { EntrypointNode as i } from "./System/EntrypointNode.js";
|
|
6
|
+
import { NetworkEdges as n } from "./System/NetworkEdges.js";
|
|
7
|
+
import { NetworkMap as c } from "./System/NetworkMap.js";
|
|
8
|
+
import { NetworkNode as T, NetworkNodeDetail as l } from "./System/NetworkNode.js";
|
|
9
|
+
import { ProxyNode as u } from "./System/ProxyNode.js";
|
|
10
|
+
import { RequestMethodBadge as C } from "./Http/RequestMethodBadge.js";
|
|
11
|
+
import { ResponseStatusBadge as w } from "./Http/ResponseStatusBadge.js";
|
|
12
|
+
import { TpdexBadge as b } from "./Tpdex/TpdexBadge.js";
|
|
13
|
+
import { TransactionFiltersCard as R } from "./Transactions/TransactionFiltersCard.js";
|
|
14
|
+
import { TransactionsExplorerSidebar as F, buildApiTree as M } from "./Transactions/TransactionsExplorerSidebar.js";
|
|
15
|
+
import { TransactionsFiltersSidebar as A } from "./Transactions/TransactionsFiltersSidebar.js";
|
|
16
|
+
import { getTpdexRating as I, getTpdexTextClassName as P, tpdexScale as j } from "../Models/Tpdex.js";
|
|
17
|
+
export {
|
|
18
|
+
o as CacheBadge,
|
|
19
|
+
p as CacheIndicator,
|
|
20
|
+
x as CircuitBreakerStatus,
|
|
21
|
+
m as EndpointNode,
|
|
22
|
+
i as EntrypointNode,
|
|
23
|
+
n as NetworkEdges,
|
|
24
|
+
c as NetworkMap,
|
|
25
|
+
T as NetworkNode,
|
|
26
|
+
l as NetworkNodeDetail,
|
|
27
|
+
u as ProxyNode,
|
|
28
|
+
C as RequestMethodBadge,
|
|
29
|
+
w as ResponseStatusBadge,
|
|
30
|
+
b as TpdexBadge,
|
|
31
|
+
R as TransactionFiltersCard,
|
|
32
|
+
F as TransactionsExplorerSidebar,
|
|
33
|
+
A as TransactionsFiltersSidebar,
|
|
34
|
+
M as buildApiTree,
|
|
35
|
+
I as getTpdexRating,
|
|
36
|
+
P as getTpdexTextClassName,
|
|
37
|
+
j as tpdexScale
|
|
38
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Filters } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Number of individually selected filter values, counting each bound of a range and each
|
|
4
|
+
* selected choice of a facet. An empty selection and an unset bound are not
|
|
5
|
+
* selections, so a facet the user has not touched contributes nothing.
|
|
6
|
+
*/
|
|
7
|
+
export declare function countActiveFilters(filters: Filters | undefined): number;
|
|
8
|
+
/**
|
|
9
|
+
* Whether the user has narrowed the results at all, by a facet or by the search term. Tells an
|
|
10
|
+
* empty result set that matched nothing apart from one that has nothing to show yet.
|
|
11
|
+
*/
|
|
12
|
+
export declare function hasActiveFilters(filters: Filters | undefined, search: string | undefined): boolean;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
function n(e) {
|
|
2
|
+
return e ? Object.values(e).reduce((t, r) => Array.isArray(r) ? t + r.length : typeof r == "object" && r !== null ? t + Object.values(r).filter((i) => i != null && i !== "").length : r != null && r !== "" ? t + 1 : t, 0) : 0;
|
|
3
|
+
}
|
|
4
|
+
function c(e, t) {
|
|
5
|
+
return n(e) > 0 || (t ?? "").trim() !== "";
|
|
6
|
+
}
|
|
7
|
+
export {
|
|
8
|
+
n as countActiveFilters,
|
|
9
|
+
c as hasActiveFilters
|
|
10
|
+
};
|