@msqd/lydia 0.0.0-stage → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/LICENSE +373 -0
  2. package/README.md +151 -2
  3. package/THIRD_PARTY_NOTICES.md +29 -0
  4. package/dist/Components/Badges/Badge.d.ts +20 -0
  5. package/dist/Components/Badges/Badge.js +33 -0
  6. package/dist/Components/Badges/index.d.ts +1 -0
  7. package/dist/Components/Badges/index.js +4 -0
  8. package/dist/Components/Buttons/Button.d.ts +8 -0
  9. package/dist/Components/Buttons/Button.js +30 -0
  10. package/dist/Components/Buttons/ButtonGroup.d.ts +13 -0
  11. package/dist/Components/Buttons/ButtonGroup.js +61 -0
  12. package/dist/Components/Buttons/index.d.ts +2 -0
  13. package/dist/Components/Buttons/index.js +6 -0
  14. package/dist/Components/Cards/Card.d.ts +38 -0
  15. package/dist/Components/Cards/Card.js +31 -0
  16. package/dist/Components/Cards/StatCard.d.ts +14 -0
  17. package/dist/Components/Cards/StatCard.js +27 -0
  18. package/dist/Components/Cards/index.d.ts +2 -0
  19. package/dist/Components/Cards/index.js +7 -0
  20. package/dist/Components/Charts/Components/ThinBarChart.d.ts +35 -0
  21. package/dist/Components/Charts/Components/ThinBarChart.js +41 -0
  22. package/dist/Components/Charts/Components/WideBarChart.d.ts +48 -0
  23. package/dist/Components/Charts/Components/WideBarChart.js +50 -0
  24. package/dist/Components/Charts/Components/index.d.ts +2 -0
  25. package/dist/Components/Charts/Components/index.js +6 -0
  26. package/dist/Components/Charts/Hooks/index.d.ts +2 -0
  27. package/dist/Components/Charts/Hooks/index.js +7 -0
  28. package/dist/Components/Charts/Hooks/useChartDimensions.d.ts +24 -0
  29. package/dist/Components/Charts/Hooks/useChartDimensions.js +42 -0
  30. package/dist/Components/Charts/Hooks/useThemeColors.d.ts +10 -0
  31. package/dist/Components/Charts/Hooks/useThemeColors.js +51 -0
  32. package/dist/Components/Charts/SummaryPerformancesChart.d.ts +7 -0
  33. package/dist/Components/Charts/SummaryPerformancesChart.js +93 -0
  34. package/dist/Components/Charts/SummaryRateChart.d.ts +9 -0
  35. package/dist/Components/Charts/SummaryRateChart.js +81 -0
  36. package/dist/Components/Charts/TransactionsChart.d.ts +6 -0
  37. package/dist/Components/Charts/TransactionsChart.js +70 -0
  38. package/dist/Components/Charts/Utils/ChartBarCalculator.d.ts +48 -0
  39. package/dist/Components/Charts/Utils/ChartBarCalculator.js +66 -0
  40. package/dist/Components/Charts/Utils/ChartColors.d.ts +13 -0
  41. package/dist/Components/Charts/Utils/ChartColors.js +10 -0
  42. package/dist/Components/Charts/Utils/ChartTooltipFormatter.d.ts +43 -0
  43. package/dist/Components/Charts/Utils/ChartTooltipFormatter.js +57 -0
  44. package/dist/Components/Charts/Utils/ReactEChartsCore.d.ts +4 -0
  45. package/dist/Components/Charts/Utils/ReactEChartsCore.js +5 -0
  46. package/dist/Components/Charts/Utils/ThemeColor.d.ts +21 -0
  47. package/dist/Components/Charts/Utils/ThemeColor.js +54 -0
  48. package/dist/Components/Charts/Utils/TimeFormatter.d.ts +9 -0
  49. package/dist/Components/Charts/Utils/TimeFormatter.js +25 -0
  50. package/dist/Components/Charts/Utils/escapeTooltipHtml.d.ts +6 -0
  51. package/dist/Components/Charts/Utils/escapeTooltipHtml.js +5 -0
  52. package/dist/Components/Charts/Utils/index.d.ts +5 -0
  53. package/dist/Components/Charts/Utils/index.js +14 -0
  54. package/dist/Components/Charts/index.d.ts +6 -0
  55. package/dist/Components/Charts/index.js +29 -0
  56. package/dist/Components/Colors/Colors.d.ts +19 -0
  57. package/dist/Components/Colors/Colors.js +154 -0
  58. package/dist/Components/Colors/index.d.ts +1 -0
  59. package/dist/Components/Colors/index.js +4 -0
  60. package/dist/Components/DataTable/DataTable.d.ts +86 -0
  61. package/dist/Components/DataTable/DataTable.js +122 -0
  62. package/dist/Components/DataTable/Paginator.d.ts +41 -0
  63. package/dist/Components/DataTable/Paginator.js +122 -0
  64. package/dist/Components/DataTable/ProportionBar.d.ts +48 -0
  65. package/dist/Components/DataTable/ProportionBar.js +20 -0
  66. package/dist/Components/DataTable/index.d.ts +3 -0
  67. package/dist/Components/DataTable/index.js +9 -0
  68. package/dist/Components/Dialog/Dialog.d.ts +49 -0
  69. package/dist/Components/Dialog/Dialog.js +83 -0
  70. package/dist/Components/Dialog/Drawer.d.ts +45 -0
  71. package/dist/Components/Dialog/Drawer.js +120 -0
  72. package/dist/Components/Dialog/index.d.ts +3 -0
  73. package/dist/Components/Dialog/index.js +12 -0
  74. package/dist/Components/Dialog/modal.types.d.ts +47 -0
  75. package/dist/Components/Dialog/modal.types.js +8 -0
  76. package/dist/Components/Facets/FacetCount.d.ts +11 -0
  77. package/dist/Components/Facets/FacetCount.js +8 -0
  78. package/dist/Components/Facets/FacetCountsCaption.d.ts +16 -0
  79. package/dist/Components/Facets/FacetCountsCaption.js +14 -0
  80. package/dist/Components/Facets/FacetInnerLightButton.d.ts +10 -0
  81. package/dist/Components/Facets/FacetInnerLightButton.js +17 -0
  82. package/dist/Components/Facets/FacetLabel.d.ts +13 -0
  83. package/dist/Components/Facets/FacetLabel.js +15 -0
  84. package/dist/Components/Facets/FacetList.d.ts +40 -0
  85. package/dist/Components/Facets/FacetList.js +37 -0
  86. package/dist/Components/Facets/FacetListCard.d.ts +38 -0
  87. package/dist/Components/Facets/FacetListCard.js +47 -0
  88. package/dist/Components/Facets/FacetResetLink.d.ts +13 -0
  89. package/dist/Components/Facets/FacetResetLink.js +23 -0
  90. package/dist/Components/Facets/Variants/DateRangeFacet.d.ts +47 -0
  91. package/dist/Components/Facets/Variants/DateRangeFacet.js +51 -0
  92. package/dist/Components/Facets/Variants/MultipleChoiceFacet.d.ts +67 -0
  93. package/dist/Components/Facets/Variants/MultipleChoiceFacet.js +200 -0
  94. package/dist/Components/Facets/Variants/PerformanceFacet.d.ts +61 -0
  95. package/dist/Components/Facets/Variants/PerformanceFacet.js +77 -0
  96. package/dist/Components/Facets/Variants/SingleChoiceFacet.d.ts +56 -0
  97. package/dist/Components/Facets/Variants/SingleChoiceFacet.js +54 -0
  98. package/dist/Components/Facets/Variants/index.d.ts +8 -0
  99. package/dist/Components/Facets/Variants/index.js +10 -0
  100. package/dist/Components/Facets/Variants/nestedValues.d.ts +33 -0
  101. package/dist/Components/Facets/Variants/nestedValues.js +87 -0
  102. package/dist/Components/Facets/index.d.ts +15 -0
  103. package/dist/Components/Facets/index.js +27 -0
  104. package/dist/Components/Formatter/BodyNotice.d.ts +9 -0
  105. package/dist/Components/Formatter/BodyNotice.js +21 -0
  106. package/dist/Components/Formatter/CodeFormatter.d.ts +47 -0
  107. package/dist/Components/Formatter/CodeFormatter.js +47 -0
  108. package/dist/Components/Formatter/HeadersDisplay.d.ts +9 -0
  109. package/dist/Components/Formatter/HeadersDisplay.js +18 -0
  110. package/dist/Components/Formatter/JsonTreeView.d.ts +27 -0
  111. package/dist/Components/Formatter/JsonTreeView.js +149 -0
  112. package/dist/Components/Formatter/PerformanceMetrics.d.ts +27 -0
  113. package/dist/Components/Formatter/PerformanceMetrics.js +29 -0
  114. package/dist/Components/Formatter/SyntaxHighlighter.d.ts +11 -0
  115. package/dist/Components/Formatter/SyntaxHighlighter.js +16 -0
  116. package/dist/Components/Formatter/VirtualizedCodeView.d.ts +24 -0
  117. package/dist/Components/Formatter/VirtualizedCodeView.js +47 -0
  118. package/dist/Components/Formatter/bodyLimits.d.ts +6 -0
  119. package/dist/Components/Formatter/bodyLimits.js +6 -0
  120. package/dist/Components/Formatter/index.d.ts +8 -0
  121. package/dist/Components/Formatter/index.js +16 -0
  122. package/dist/Components/Formatter/syntaxTheme.d.ts +8 -0
  123. package/dist/Components/Formatter/syntaxTheme.js +15 -0
  124. package/dist/Components/Formatter/useCodeHighlighting.d.ts +15 -0
  125. package/dist/Components/Formatter/useCodeHighlighting.js +47 -0
  126. package/dist/Components/Formatter/useVirtualization.d.ts +29 -0
  127. package/dist/Components/Formatter/useVirtualization.js +18 -0
  128. package/dist/Components/Inputs/Checkbox/Checkbox.d.ts +6 -0
  129. package/dist/Components/Inputs/Checkbox/Checkbox.js +75 -0
  130. package/dist/Components/Inputs/Checkbox/index.d.ts +1 -0
  131. package/dist/Components/Inputs/Checkbox/index.js +4 -0
  132. package/dist/Components/Inputs/DateRangeSelector/DateRangeSelector.d.ts +48 -0
  133. package/dist/Components/Inputs/DateRangeSelector/DateRangeSelector.js +71 -0
  134. package/dist/Components/Inputs/DateRangeSelector/index.d.ts +1 -0
  135. package/dist/Components/Inputs/DateRangeSelector/index.js +4 -0
  136. package/dist/Components/Inputs/Field/Field.d.ts +19 -0
  137. package/dist/Components/Inputs/Field/Field.js +35 -0
  138. package/dist/Components/Inputs/Field/index.d.ts +2 -0
  139. package/dist/Components/Inputs/Field/index.js +7 -0
  140. package/dist/Components/Inputs/Field/useField.d.ts +33 -0
  141. package/dist/Components/Inputs/Field/useField.js +36 -0
  142. package/dist/Components/Inputs/Input/Input.d.ts +85 -0
  143. package/dist/Components/Inputs/Input/Input.js +146 -0
  144. package/dist/Components/Inputs/Input/index.d.ts +1 -0
  145. package/dist/Components/Inputs/Input/index.js +4 -0
  146. package/dist/Components/Inputs/InputAddon/InputAddon.d.ts +21 -0
  147. package/dist/Components/Inputs/InputAddon/InputAddon.js +18 -0
  148. package/dist/Components/Inputs/InputAddon/index.d.ts +1 -0
  149. package/dist/Components/Inputs/InputAddon/index.js +4 -0
  150. package/dist/Components/Inputs/InputButton/InputButton.d.ts +21 -0
  151. package/dist/Components/Inputs/InputButton/InputButton.js +29 -0
  152. package/dist/Components/Inputs/InputButton/index.d.ts +1 -0
  153. package/dist/Components/Inputs/InputButton/index.js +4 -0
  154. package/dist/Components/Inputs/InputIcon/InputIcon.d.ts +20 -0
  155. package/dist/Components/Inputs/InputIcon/InputIcon.js +16 -0
  156. package/dist/Components/Inputs/InputIcon/index.d.ts +1 -0
  157. package/dist/Components/Inputs/InputIcon/index.js +4 -0
  158. package/dist/Components/Inputs/KeyboardShortcut/KeyboardShortcut.d.ts +12 -0
  159. package/dist/Components/Inputs/KeyboardShortcut/KeyboardShortcut.js +18 -0
  160. package/dist/Components/Inputs/KeyboardShortcut/index.d.ts +1 -0
  161. package/dist/Components/Inputs/KeyboardShortcut/index.js +4 -0
  162. package/dist/Components/Inputs/Radio/Radio.d.ts +3 -0
  163. package/dist/Components/Inputs/Radio/Radio.js +59 -0
  164. package/dist/Components/Inputs/Radio/index.d.ts +1 -0
  165. package/dist/Components/Inputs/Radio/index.js +4 -0
  166. package/dist/Components/Inputs/SearchInput/SearchInput.d.ts +9 -0
  167. package/dist/Components/Inputs/SearchInput/SearchInput.js +48 -0
  168. package/dist/Components/Inputs/SearchInput/index.d.ts +2 -0
  169. package/dist/Components/Inputs/SearchInput/index.js +4 -0
  170. package/dist/Components/Inputs/Sliders/RangeSlider.d.ts +40 -0
  171. package/dist/Components/Inputs/Sliders/RangeSlider.js +160 -0
  172. package/dist/Components/Inputs/Sliders/index.d.ts +2 -0
  173. package/dist/Components/Inputs/Sliders/index.js +4 -0
  174. package/dist/Components/Inputs/Textarea/Textarea.d.ts +56 -0
  175. package/dist/Components/Inputs/Textarea/Textarea.js +79 -0
  176. package/dist/Components/Inputs/Textarea/index.d.ts +1 -0
  177. package/dist/Components/Inputs/Textarea/index.js +4 -0
  178. package/dist/Components/Inputs/choiceInput.d.ts +12 -0
  179. package/dist/Components/Inputs/choiceInput.js +8 -0
  180. package/dist/Components/Inputs/index.d.ts +11 -0
  181. package/dist/Components/Inputs/index.js +24 -0
  182. package/dist/Components/Layouts/DefaultLayout.d.ts +30 -0
  183. package/dist/Components/Layouts/DefaultLayout.js +25 -0
  184. package/dist/Components/Layouts/index.d.ts +2 -0
  185. package/dist/Components/Layouts/index.js +4 -0
  186. package/dist/Components/NavBar/Assets/defaultAvatar.d.ts +4 -0
  187. package/dist/Components/NavBar/Assets/defaultAvatar.js +28 -0
  188. package/dist/Components/NavBar/Assets/index.d.ts +2 -0
  189. package/dist/Components/NavBar/Assets/index.js +4 -0
  190. package/dist/Components/NavBar/NavBar.d.ts +58 -0
  191. package/dist/Components/NavBar/NavBar.js +141 -0
  192. package/dist/Components/NavBar/index.d.ts +1 -0
  193. package/dist/Components/NavBar/index.js +5 -0
  194. package/dist/Components/Tabs/Tabs.d.ts +24 -0
  195. package/dist/Components/Tabs/Tabs.js +69 -0
  196. package/dist/Components/Tabs/index.d.ts +2 -0
  197. package/dist/Components/Tabs/index.js +5 -0
  198. package/dist/Components/Toast/Toast.d.ts +28 -0
  199. package/dist/Components/Toast/Toast.js +128 -0
  200. package/dist/Components/Toast/ToastContainer.d.ts +29 -0
  201. package/dist/Components/Toast/ToastContainer.js +28 -0
  202. package/dist/Components/Toast/ToastContext.d.ts +103 -0
  203. package/dist/Components/Toast/ToastContext.js +124 -0
  204. package/dist/Components/Toast/index.d.ts +3 -0
  205. package/dist/Components/Toast/index.js +13 -0
  206. package/dist/Components/Typography/HeadingLevel.d.ts +28 -0
  207. package/dist/Components/Typography/HeadingLevel.js +20 -0
  208. package/dist/Components/Typography/Paragraphs.d.ts +8 -0
  209. package/dist/Components/Typography/Paragraphs.js +6 -0
  210. package/dist/Components/Typography/Section.d.ts +8 -0
  211. package/dist/Components/Typography/Section.js +6 -0
  212. package/dist/Components/Typography/Titles.d.ts +31 -0
  213. package/dist/Components/Typography/Titles.js +14 -0
  214. package/dist/Components/Typography/index.d.ts +4 -0
  215. package/dist/Components/Typography/index.js +17 -0
  216. package/dist/Components/Utilities/Foldable.d.ts +42 -0
  217. package/dist/Components/Utilities/Foldable.js +39 -0
  218. package/dist/Components/Utilities/index.d.ts +2 -0
  219. package/dist/Components/Utilities/index.js +6 -0
  220. package/dist/Components/Utilities/useClickOutside.d.ts +21 -0
  221. package/dist/Components/Utilities/useClickOutside.js +23 -0
  222. package/dist/Components/index.d.ts +16 -0
  223. package/dist/Components/index.js +158 -0
  224. package/dist/Elements/Http/CacheBadge.d.ts +13 -0
  225. package/dist/Elements/Http/CacheBadge.js +34 -0
  226. package/dist/Elements/Http/CacheIndicator.d.ts +17 -0
  227. package/dist/Elements/Http/CacheIndicator.js +47 -0
  228. package/dist/Elements/Http/RequestMethodBadge.d.ts +5 -0
  229. package/dist/Elements/Http/RequestMethodBadge.js +13 -0
  230. package/dist/Elements/Http/ResponseStatusBadge.d.ts +19 -0
  231. package/dist/Elements/Http/ResponseStatusBadge.js +20 -0
  232. package/dist/Elements/Http/index.d.ts +4 -0
  233. package/dist/Elements/Http/index.js +10 -0
  234. package/dist/Elements/System/CircuitBreakerStatus.d.ts +11 -0
  235. package/dist/Elements/System/CircuitBreakerStatus.js +98 -0
  236. package/dist/Elements/System/EndpointNode.d.ts +10 -0
  237. package/dist/Elements/System/EndpointNode.js +19 -0
  238. package/dist/Elements/System/EntrypointNode.d.ts +9 -0
  239. package/dist/Elements/System/EntrypointNode.js +17 -0
  240. package/dist/Elements/System/NetworkEdges.d.ts +37 -0
  241. package/dist/Elements/System/NetworkEdges.js +52 -0
  242. package/dist/Elements/System/NetworkMap.d.ts +33 -0
  243. package/dist/Elements/System/NetworkMap.js +121 -0
  244. package/dist/Elements/System/NetworkNode.d.ts +29 -0
  245. package/dist/Elements/System/NetworkNode.js +31 -0
  246. package/dist/Elements/System/ProxyNode.d.ts +8 -0
  247. package/dist/Elements/System/ProxyNode.js +10 -0
  248. package/dist/Elements/System/index.d.ts +9 -0
  249. package/dist/Elements/System/index.js +17 -0
  250. package/dist/Elements/Tpdex/TpdexBadge.d.ts +26 -0
  251. package/dist/Elements/Tpdex/TpdexBadge.js +36 -0
  252. package/dist/Elements/Tpdex/index.d.ts +4 -0
  253. package/dist/Elements/Tpdex/index.js +8 -0
  254. package/dist/Elements/Transactions/TransactionFiltersCard.d.ts +41 -0
  255. package/dist/Elements/Transactions/TransactionFiltersCard.js +121 -0
  256. package/dist/Elements/Transactions/TransactionsExplorerSidebar.d.ts +37 -0
  257. package/dist/Elements/Transactions/TransactionsExplorerSidebar.js +154 -0
  258. package/dist/Elements/Transactions/TransactionsFiltersSidebar.d.ts +22 -0
  259. package/dist/Elements/Transactions/TransactionsFiltersSidebar.js +39 -0
  260. package/dist/Elements/Transactions/index.d.ts +13 -0
  261. package/dist/Elements/Transactions/index.js +9 -0
  262. package/dist/Elements/index.d.ts +18 -0
  263. package/dist/Elements/index.js +38 -0
  264. package/dist/Models/Filters/active.d.ts +12 -0
  265. package/dist/Models/Filters/active.js +10 -0
  266. package/dist/Models/Filters/dates.d.ts +8 -0
  267. package/dist/Models/Filters/dates.js +16 -0
  268. package/dist/Models/Filters/index.d.ts +4 -0
  269. package/dist/Models/Filters/index.js +13 -0
  270. package/dist/Models/Filters/read.d.ts +9 -0
  271. package/dist/Models/Filters/read.js +22 -0
  272. package/dist/Models/Filters/types.d.ts +50 -0
  273. package/dist/Models/Filters/types.js +1 -0
  274. package/dist/Models/Http/body.d.ts +7 -0
  275. package/dist/Models/Http/body.js +6 -0
  276. package/dist/Models/Http/contentDisposition.d.ts +7 -0
  277. package/dist/Models/Http/contentDisposition.js +51 -0
  278. package/dist/Models/Http/dataUrl.d.ts +12 -0
  279. package/dist/Models/Http/dataUrl.js +21 -0
  280. package/dist/Models/Http/headers.d.ts +18 -0
  281. package/dist/Models/Http/headers.js +7 -0
  282. package/dist/Models/Http/index.d.ts +2 -0
  283. package/dist/Models/Http/index.js +6 -0
  284. package/dist/Models/Http/percent.d.ts +5 -0
  285. package/dist/Models/Http/percent.js +17 -0
  286. package/dist/Models/Http/requestTarget.d.ts +11 -0
  287. package/dist/Models/Http/requestTarget.js +7 -0
  288. package/dist/Models/System/index.d.ts +1 -0
  289. package/dist/Models/System/index.js +7 -0
  290. package/dist/Models/System/types.d.ts +20 -0
  291. package/dist/Models/System/types.js +48 -0
  292. package/dist/Models/Tpdex.d.ts +36 -0
  293. package/dist/Models/Tpdex.js +38 -0
  294. package/dist/Models/Transactions/Overview.d.ts +19 -0
  295. package/dist/Models/Transactions/Overview.js +1 -0
  296. package/dist/Models/Transactions/encoding.d.ts +49 -0
  297. package/dist/Models/Transactions/encoding.js +26 -0
  298. package/dist/Models/Transactions/endpoints.d.ts +15 -0
  299. package/dist/Models/Transactions/endpoints.js +21 -0
  300. package/dist/Models/Transactions/facets.d.ts +25 -0
  301. package/dist/Models/Transactions/facets.js +40 -0
  302. package/dist/Models/Transactions/filtering.d.ts +20 -0
  303. package/dist/Models/Transactions/filtering.js +34 -0
  304. package/dist/Models/Transactions/treeDepth.d.ts +2 -0
  305. package/dist/Models/Transactions/treeDepth.js +4 -0
  306. package/dist/Models/Transactions/types.d.ts +58 -0
  307. package/dist/Models/Transactions/types.js +1 -0
  308. package/dist/Models/index.d.ts +10 -0
  309. package/dist/Models/index.js +46 -0
  310. package/dist/Pages/Alerts/AlertsPage.d.ts +18 -0
  311. package/dist/Pages/Alerts/AlertsPage.js +104 -0
  312. package/dist/Pages/Alerts/index.d.ts +1 -0
  313. package/dist/Pages/Alerts/index.js +4 -0
  314. package/dist/Pages/Explorer/ExplorerPage.d.ts +6 -0
  315. package/dist/Pages/Explorer/ExplorerPage.js +55 -0
  316. package/dist/Pages/Explorer/index.d.ts +1 -0
  317. package/dist/Pages/Explorer/index.js +4 -0
  318. package/dist/Pages/Overview/OverviewPage.d.ts +11 -0
  319. package/dist/Pages/Overview/OverviewPage.js +10 -0
  320. package/dist/Pages/Overview/Sections/Components/TransactionsHistoryView.d.ts +7 -0
  321. package/dist/Pages/Overview/Sections/Components/TransactionsHistoryView.js +32 -0
  322. package/dist/Pages/Overview/Sections/Components/index.d.ts +1 -0
  323. package/dist/Pages/Overview/Sections/Components/index.js +4 -0
  324. package/dist/Pages/Overview/Sections/HistorySection.d.ts +18 -0
  325. package/dist/Pages/Overview/Sections/HistorySection.js +21 -0
  326. package/dist/Pages/Overview/Sections/SummarySection.d.ts +44 -0
  327. package/dist/Pages/Overview/Sections/SummarySection.js +127 -0
  328. package/dist/Pages/Overview/index.d.ts +4 -0
  329. package/dist/Pages/Overview/index.js +8 -0
  330. package/dist/Pages/SystemPage/SystemPage.d.ts +8 -0
  331. package/dist/Pages/SystemPage/SystemPage.js +16 -0
  332. package/dist/Pages/SystemPage/index.d.ts +1 -0
  333. package/dist/Pages/SystemPage/index.js +4 -0
  334. package/dist/Pages/Transactions/Detail/Components/DownloadButton.d.ts +33 -0
  335. package/dist/Pages/Transactions/Detail/Components/DownloadButton.js +62 -0
  336. package/dist/Pages/Transactions/Detail/Components/TransactionMessage.d.ts +16 -0
  337. package/dist/Pages/Transactions/Detail/Components/TransactionMessage.js +44 -0
  338. package/dist/Pages/Transactions/Detail/Components/TransactionMetadata.d.ts +21 -0
  339. package/dist/Pages/Transactions/Detail/Components/TransactionMetadata.js +127 -0
  340. package/dist/Pages/Transactions/Detail/Components/index.d.ts +6 -0
  341. package/dist/Pages/Transactions/Detail/Components/index.js +8 -0
  342. package/dist/Pages/Transactions/Detail/TransactionsDetailPage.d.ts +8 -0
  343. package/dist/Pages/Transactions/Detail/TransactionsDetailPage.js +15 -0
  344. package/dist/Pages/Transactions/Detail/Utils/BodyPreview.d.ts +15 -0
  345. package/dist/Pages/Transactions/Detail/Utils/BodyPreview.js +30 -0
  346. package/dist/Pages/Transactions/Detail/Utils/ContentRenderer.d.ts +28 -0
  347. package/dist/Pages/Transactions/Detail/Utils/ContentRenderer.js +115 -0
  348. package/dist/Pages/Transactions/Detail/Utils/index.d.ts +4 -0
  349. package/dist/Pages/Transactions/Detail/Utils/index.js +9 -0
  350. package/dist/Pages/Transactions/Detail/index.d.ts +4 -0
  351. package/dist/Pages/Transactions/Detail/index.js +8 -0
  352. package/dist/Pages/Transactions/List/TransactionsListPage.d.ts +80 -0
  353. package/dist/Pages/Transactions/List/TransactionsListPage.js +220 -0
  354. package/dist/Pages/Transactions/List/index.d.ts +4 -0
  355. package/dist/Pages/Transactions/List/index.js +6 -0
  356. package/dist/Pages/Transactions/List/useClientSideTransactions.d.ts +38 -0
  357. package/dist/Pages/Transactions/List/useClientSideTransactions.js +32 -0
  358. package/dist/Pages/Transactions/index.d.ts +4 -0
  359. package/dist/Pages/Transactions/index.js +6 -0
  360. package/dist/Pages/index.d.ts +5 -0
  361. package/dist/Pages/index.js +18 -0
  362. package/dist/Settings.d.ts +13 -0
  363. package/dist/Settings.js +16 -0
  364. package/dist/css/Components/Formatter/prism.css +79 -0
  365. package/dist/css/Components/Inputs/Input/Input.css +73 -0
  366. package/dist/css/Components/Inputs/Sliders/RangeSliderStyles.css +92 -0
  367. package/dist/css/components.css +6 -0
  368. package/dist/css/fonts/Lato-Bold.woff2 +0 -0
  369. package/dist/css/fonts/Lato-BoldItalic.woff2 +0 -0
  370. package/dist/css/fonts/Lato-Italic.woff2 +0 -0
  371. package/dist/css/fonts/Lato-Regular.woff2 +0 -0
  372. package/dist/css/fonts/OFL.txt +93 -0
  373. package/dist/css/theme.css +109 -0
  374. package/dist/index.d.ts +4 -0
  375. package/dist/index.js +250 -0
  376. package/dist/logo.svg +1 -0
  377. package/dist/styles/styles.css +1 -0
  378. package/package.json +367 -3
@@ -0,0 +1,115 @@
1
+ import { jsx as t, jsxs as r } from "react/jsx-runtime";
2
+ import { DocumentIcon as x, PhotoIcon as h } from "@heroicons/react/24/outline";
3
+ import { FORMAT_CAP as N } from "../../../../Components/Formatter/bodyLimits.js";
4
+ import { stringifyBody as v } from "../../../../Models/Http/body.js";
5
+ import { contentDispositionFilename as b } from "../../../../Models/Http/contentDisposition.js";
6
+ import { findHeader as l } from "../../../../Models/Http/headers.js";
7
+ import { useMemo as y } from "react";
8
+ import { DownloadButton as c } from "../Components/DownloadButton.js";
9
+ import { BodyPreview as w } from "./BodyPreview.js";
10
+ import { CodeFormatter as P } from "../../../../Components/Formatter/CodeFormatter.js";
11
+ const D = /^data:application\/pdf(;[^,]*)?,/i, j = (e) => e?.split(";")[0]?.trim().toLowerCase() === "application/pdf";
12
+ function C(e, i) {
13
+ return typeof e == "string" && i !== "image" && i !== "binary" && e.length > N;
14
+ }
15
+ function F(e, i) {
16
+ switch (e) {
17
+ case "json":
18
+ return "json";
19
+ case "xml":
20
+ case "html":
21
+ return "html";
22
+ // HTML is the closest to XML
23
+ case "text":
24
+ return "text";
25
+ default:
26
+ return typeof i == "string" ? "text" : "json";
27
+ }
28
+ }
29
+ function S({ content: e, contentType: i, headers: m, maxHeight: p = 384 }) {
30
+ const d = l(m, "Content-Disposition"), f = y(
31
+ () => d === void 0 ? void 0 : b(d),
32
+ [d]
33
+ ), o = f ?? "file.bin", a = y(() => {
34
+ if (e === void 0) return "";
35
+ try {
36
+ return v(e);
37
+ } catch {
38
+ return;
39
+ }
40
+ }, [e]);
41
+ if (e === void 0 || e === "")
42
+ return /* @__PURE__ */ t("p", { className: "text-sm text-gray-500", children: "Empty body" });
43
+ if (a === void 0)
44
+ return /* @__PURE__ */ t("p", { role: "alert", className: "text-sm text-red-600", children: "This body cannot be displayed: it is nested too deeply." });
45
+ const s = l(m, "Content-Type"), n = l(m, "Content-Length");
46
+ switch (i) {
47
+ case "image": {
48
+ const g = typeof e == "string" && e.startsWith("data:image"), u = typeof e == "string" && e.includes("[Binary");
49
+ return g ? /* @__PURE__ */ r("div", { className: "space-y-4", children: [
50
+ /* @__PURE__ */ t("div", { className: "bg-gray-50 rounded-md p-4", children: /* @__PURE__ */ t(
51
+ "img",
52
+ {
53
+ src: e,
54
+ alt: "Response image",
55
+ className: "max-w-full h-auto mx-auto",
56
+ style: { maxHeight: "400px" }
57
+ }
58
+ ) }),
59
+ /* @__PURE__ */ t("div", { className: "flex justify-center", children: /* @__PURE__ */ t(c, { data: e, filename: "image.png", mimeType: s || "image/png" }) })
60
+ ] }) : u ? /* @__PURE__ */ r("div", { className: "text-center p-8 bg-gray-50 rounded-md space-y-4", children: [
61
+ /* @__PURE__ */ t(h, { className: "h-12 w-12 text-gray-400 mx-auto" }),
62
+ /* @__PURE__ */ r("div", { children: [
63
+ /* @__PURE__ */ t("p", { className: "text-sm text-gray-900 font-medium", children: a }),
64
+ n && /* @__PURE__ */ r("p", { className: "text-xs text-gray-500 mt-1", children: [
65
+ "Size: ",
66
+ n,
67
+ " bytes"
68
+ ] })
69
+ ] })
70
+ ] }) : /* @__PURE__ */ t("div", { className: "text-center p-4 bg-gray-50 rounded-md", children: /* @__PURE__ */ t("span", { className: "text-sm text-gray-500", children: "Image content" }) });
71
+ }
72
+ case "binary":
73
+ return j(s) && typeof e == "string" && D.test(e) ? /* @__PURE__ */ r("div", { className: "space-y-4", children: [
74
+ /* @__PURE__ */ t("div", { className: "bg-gray-50 rounded-md p-4", children: /* @__PURE__ */ t(
75
+ "iframe",
76
+ {
77
+ src: e,
78
+ title: "PDF Preview",
79
+ referrerPolicy: "no-referrer",
80
+ className: "w-full h-96 border border-gray-300 rounded"
81
+ }
82
+ ) }),
83
+ /* @__PURE__ */ t("div", { className: "flex justify-center", children: /* @__PURE__ */ t(c, { data: e, filename: o, mimeType: "application/pdf" }) })
84
+ ] }) : /* @__PURE__ */ r("div", { className: "text-center p-8 bg-gray-50 rounded-md space-y-4", children: [
85
+ /* @__PURE__ */ t(x, { className: "h-12 w-12 text-gray-400 mx-auto" }),
86
+ /* @__PURE__ */ r("div", { children: [
87
+ /* @__PURE__ */ t("p", { className: "text-sm text-gray-900 font-medium", children: a }),
88
+ n && /* @__PURE__ */ r("p", { className: "text-xs text-gray-500 mt-1", children: [
89
+ "Size: ",
90
+ n,
91
+ " bytes"
92
+ ] }),
93
+ /* @__PURE__ */ r("p", { className: "text-xs text-gray-500", children: [
94
+ "Filename: ",
95
+ o
96
+ ] })
97
+ ] }),
98
+ /* @__PURE__ */ t("div", { className: "flex justify-center", children: /* @__PURE__ */ t(c, { data: e, filename: o, mimeType: s }) })
99
+ ] });
100
+ default:
101
+ return C(a, i) ? /* @__PURE__ */ t(
102
+ w,
103
+ {
104
+ body: a,
105
+ filename: f ?? "body.txt",
106
+ mimeType: s,
107
+ maxHeight: p
108
+ }
109
+ ) : /* @__PURE__ */ t(P, { language: F(i, e), code: a, maxHeight: p });
110
+ }
111
+ }
112
+ export {
113
+ S as ContentRenderer,
114
+ C as isPreviewedBody
115
+ };
@@ -0,0 +1,4 @@
1
+ export { ContentRenderer } from "./ContentRenderer.js";
2
+ export { calculateTpdexScore, getTpdexRating, calculateAggregateTpdexScore, tpdexScale, } from "../../../../Models/Tpdex.js";
3
+ export type { ContentRendererProps } from "./ContentRenderer.js";
4
+ export type { TpdexRating } from "../../../../Models/Tpdex.js";
@@ -0,0 +1,9 @@
1
+ import { ContentRenderer as r } from "./ContentRenderer.js";
2
+ import { calculateAggregateTpdexScore as c, calculateTpdexScore as o, getTpdexRating as p, tpdexScale as x } from "../../../../Models/Tpdex.js";
3
+ export {
4
+ r as ContentRenderer,
5
+ c as calculateAggregateTpdexScore,
6
+ o as calculateTpdexScore,
7
+ p as getTpdexRating,
8
+ x as tpdexScale
9
+ };
@@ -0,0 +1,4 @@
1
+ export { TransactionsDetailPage } from "./TransactionsDetailPage.js";
2
+ export type { TransactionsDetailPageProps } from "./TransactionsDetailPage.js";
3
+ export { ContentRenderer, type ContentRendererProps } from "./Utils/ContentRenderer.js";
4
+ export { BodyPreview, type BodyPreviewProps } from "./Utils/BodyPreview.js";
@@ -0,0 +1,8 @@
1
+ import { TransactionsDetailPage as o } from "./TransactionsDetailPage.js";
2
+ import { ContentRenderer as n } from "./Utils/ContentRenderer.js";
3
+ import { BodyPreview as f } from "./Utils/BodyPreview.js";
4
+ export {
5
+ f as BodyPreview,
6
+ n as ContentRenderer,
7
+ o as TransactionsDetailPage
8
+ };
@@ -0,0 +1,80 @@
1
+ import { type ComponentProps } from "react";
2
+ import { type FilterChangeHandler, type Filters } from "../../../Models/Filters/index.js";
3
+ import type { TransactionFacets } from "../../../Models/Transactions/facets.js";
4
+ import type { Transaction } from "../../../Models/Transactions/types.js";
5
+ interface TransactionsListPageBaseProps extends ComponentProps<"div"> {
6
+ className?: string;
7
+ onRowClick?: (id: string) => void;
8
+ /** Called when the user chooses a row. */
9
+ onTransactionSelect?: (transaction: Transaction) => void;
10
+ /**
11
+ * Id of the highlighted row, `null` for none. The page then holds no selection of its own and
12
+ * never clears one: whoever shows the selected transaction (a drawer, say) clears it when it
13
+ * closes. Leave it out and the page keeps its own, which nothing but another row click changes.
14
+ */
15
+ selectedId?: string | null;
16
+ isDrawerOpen?: boolean;
17
+ /**
18
+ * The transactions to render, exactly as given. This page does not filter, search or paginate
19
+ * them: the consumer does, wherever the whole dataset lives.
20
+ */
21
+ transactions: Transaction[];
22
+ /**
23
+ * Layout variant. "embedded" hides the title, the search and the filters (for use inside
24
+ * another component).
25
+ */
26
+ variant?: "page" | "embedded";
27
+ /** Current facet selections. Displayed and reported, never applied here. */
28
+ filters?: Filters;
29
+ /** Called when a facet changes. The filters sidebar renders only when this is provided. */
30
+ onFiltersChange?: FilterChangeHandler;
31
+ /**
32
+ * Values each facet can offer, with their counts. Only the consumer knows what exists in the
33
+ * whole result set, so a facet with no entry offers nothing rather than something invented.
34
+ */
35
+ facets?: TransactionFacets;
36
+ /**
37
+ * Called when the user asks to start over. Expected to clear the facets **and** the search
38
+ * term, since the control that triggers it is labelled as resetting everything.
39
+ */
40
+ onResetFilters?: () => void;
41
+ /** Current search term. */
42
+ search?: string;
43
+ /** Called when the search term changes. The search field renders only when this is provided. */
44
+ onSearchChange?: (search: string) => void;
45
+ /** Current page, 1-based. */
46
+ page?: number;
47
+ /** Total matching transactions. Only the consumer knows this; a page of results cannot infer it. */
48
+ total?: number;
49
+ /** Number of pages. Derived from `total` and `itemsPerPage` when omitted. */
50
+ pageCount?: number;
51
+ /** Page size, used for the pagination summary. This page never slices the list itself. */
52
+ itemsPerPage?: number;
53
+ /** Called when the user asks for another page. */
54
+ onPageChange?: (page: number) => void;
55
+ /**
56
+ * Ids of the favourite transactions. Favourites are per-user state only the consumer holds; the
57
+ * page shows them and never keeps any.
58
+ */
59
+ favorites?: ReadonlySet<string>;
60
+ /** Called when the user toggles a star. The star column renders only when this is provided. */
61
+ onFavoriteChange?: (id: string, favorite: boolean) => void;
62
+ /** True while the consumer is fetching, so an empty list reads as "not yet" rather than "none". */
63
+ isLoading?: boolean;
64
+ }
65
+ /**
66
+ * Sidebar state. `filtersOpen` and `onFiltersOpenChange` go together to control the sidebar, and
67
+ * you persist it yourself if you want it remembered: `filtersOpen` alone would leave the toggle
68
+ * dead, so it does not compile. Leave `filtersOpen` out and the page keeps its own state, closed at
69
+ * first, forgotten on unmount; `onFiltersOpenChange` alone then just reports the changes.
70
+ */
71
+ type FiltersOpenProps = {
72
+ filtersOpen: boolean;
73
+ onFiltersOpenChange: (open: boolean) => void;
74
+ } | {
75
+ filtersOpen?: undefined;
76
+ onFiltersOpenChange?: (open: boolean) => void;
77
+ };
78
+ export type TransactionsListPageProps = TransactionsListPageBaseProps & FiltersOpenProps;
79
+ export declare function TransactionsListPage({ className, onRowClick, onTransactionSelect, selectedId, isDrawerOpen, filtersOpen: filtersOpenProp, onFiltersOpenChange, itemsPerPage, transactions, variant, filters, onFiltersChange, onResetFilters, facets, search, onSearchChange, page, total, pageCount, onPageChange, isLoading, favorites, onFavoriteChange, ...props }: TransactionsListPageProps): import("react/jsx-runtime").JSX.Element;
80
+ export {};
@@ -0,0 +1,220 @@
1
+ import { jsxs as s, jsx as t, Fragment as Y } from "react/jsx-runtime";
2
+ import { ChevronDoubleLeftIcon as _, ChevronDoubleRightIcon as G } from "@heroicons/react/16/solid";
3
+ import { StarIcon as J } from "@heroicons/react/24/outline";
4
+ import { P as Q } from "../../../Components/Typography/Paragraphs.js";
5
+ import { Section as W } from "../../../Components/Typography/Section.js";
6
+ import { H2 as X } from "../../../Components/Typography/Titles.js";
7
+ import { TpdexBadge as Z } from "../../../Elements/Tpdex/TpdexBadge.js";
8
+ import { formatDistanceToNow as ee } from "date-fns";
9
+ import { useState as w } from "react";
10
+ import { twMerge as te } from "tailwind-merge";
11
+ import { splitRequestTarget as re } from "../../../Models/Http/requestTarget.js";
12
+ import { hasActiveFilters as ae } from "../../../Models/Filters/active.js";
13
+ import { SearchInput as se } from "../../../Components/Inputs/SearchInput/SearchInput.js";
14
+ import { TransactionsFiltersSidebar as oe } from "../../../Elements/Transactions/TransactionsFiltersSidebar.js";
15
+ import { Paginator as ie } from "../../../Components/DataTable/Paginator.js";
16
+ import { DataTable as le } from "../../../Components/DataTable/DataTable.js";
17
+ import { ResponseStatusBadge as ne } from "../../../Elements/Http/ResponseStatusBadge.js";
18
+ import { CacheIndicator as ce } from "../../../Elements/Http/CacheIndicator.js";
19
+ import { RequestMethodBadge as me } from "../../../Elements/Http/RequestMethodBadge.js";
20
+ const de = (e) => {
21
+ const r = new Date(e);
22
+ return Math.abs((/* @__PURE__ */ new Date()).getTime() - r.getTime()) / (1e3 * 60 * 60) < 1 ? ee(r, { addSuffix: !0 }) : r.toLocaleDateString("en-US", {
23
+ month: "short",
24
+ day: "numeric",
25
+ hour: "2-digit",
26
+ minute: "2-digit"
27
+ });
28
+ }, ue = (e) => e < 1e3 ? `${e}ms` : `${(e / 1e3).toFixed(1)}s`, fe = ({
29
+ transaction: e,
30
+ isFavorite: r,
31
+ onChange: a
32
+ }) => /* @__PURE__ */ t(
33
+ "button",
34
+ {
35
+ type: "button",
36
+ "aria-pressed": r,
37
+ "aria-label": `Favourite ${e.method} ${e.url}`,
38
+ onClick: (i) => {
39
+ i.preventDefault(), i.stopPropagation(), a(e.id, !r);
40
+ },
41
+ onKeyDown: (i) => i.stopPropagation(),
42
+ className: "rounded cursor-pointer focus-visible:outline-2 focus-visible:outline-primary-600",
43
+ children: /* @__PURE__ */ t(
44
+ J,
45
+ {
46
+ className: r ? "h-5 w-5 fill-current text-yellow-500" : "h-5 w-5 text-gray-500 hover:text-yellow-500",
47
+ "aria-hidden": "true"
48
+ }
49
+ )
50
+ }
51
+ ), pe = ({ transaction: e }) => {
52
+ const { path: r, query: a } = re(e.url);
53
+ return /* @__PURE__ */ s("span", { className: "font-normal", children: [
54
+ /* @__PURE__ */ t(me, { method: e.method }),
55
+ e.apiName && /* @__PURE__ */ t("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: e.apiName }),
56
+ /* @__PURE__ */ t("span", { className: "text-gray-500 font-mono text-xs ml-1", title: e.url, children: r }),
57
+ a && /* @__PURE__ */ t("span", { className: "text-gray-500 font-mono text-xs", title: e.url, children: a })
58
+ ] });
59
+ }, he = ({ transaction: e }) => /* @__PURE__ */ s("div", { className: "flex gap-x-1 items-center font-normal", children: [
60
+ /* @__PURE__ */ t(Z, { score: e.tpdex, responseTime: e.responseTime }),
61
+ /* @__PURE__ */ t("span", { className: "text-sm", children: ue(e.responseTime) }),
62
+ /* @__PURE__ */ t(ce, { cacheStatus: e.cacheStatus, cached: e.cached, size: "sm" })
63
+ ] }), v = ["request", "response", "duration", "date"], xe = (e, r) => ({
64
+ label: "Favourite",
65
+ labelHidden: !0,
66
+ get: (a) => a,
67
+ format: (a) => /* @__PURE__ */ t(fe, { transaction: a, isFavorite: e.has(a.id), onChange: r }),
68
+ headerClassName: "w-1",
69
+ className: "w-8"
70
+ }), S = {
71
+ request: {
72
+ label: "Request",
73
+ get: (e) => e,
74
+ format: (e) => /* @__PURE__ */ t(pe, { transaction: e }),
75
+ className: "truncate max-w-0 w-full"
76
+ },
77
+ response: {
78
+ label: "Response",
79
+ get: (e) => e,
80
+ format: (e) => /* @__PURE__ */ t("span", { className: "font-normal", children: /* @__PURE__ */ t(ne, { statusCode: e.statusCode }) })
81
+ },
82
+ duration: {
83
+ label: "Duration",
84
+ get: (e) => e,
85
+ format: (e) => /* @__PURE__ */ t(he, { transaction: e })
86
+ },
87
+ date: {
88
+ label: "Date",
89
+ get: (e) => e,
90
+ format: (e) => /* @__PURE__ */ t("div", { title: new Date(e.timestamp).toLocaleString(), children: de(e.timestamp) })
91
+ }
92
+ }, ge = (e, r, a) => r ? `${r}, pagination ${e} the list` : a ? `pagination ${e} the list` : `Pagination, ${e} the list`, be = /* @__PURE__ */ new Set();
93
+ function Ae({
94
+ className: e,
95
+ onRowClick: r,
96
+ onTransactionSelect: a,
97
+ selectedId: i,
98
+ isDrawerOpen: D = !1,
99
+ filtersOpen: p,
100
+ onFiltersOpenChange: T,
101
+ itemsPerPage: h = 20,
102
+ transactions: n,
103
+ variant: I = "page",
104
+ filters: x,
105
+ onFiltersChange: c,
106
+ onResetFilters: m,
107
+ facets: R,
108
+ search: g = "",
109
+ onSearchChange: d,
110
+ page: k = 1,
111
+ total: q,
112
+ pageCount: $,
113
+ onPageChange: O,
114
+ isLoading: P = !1,
115
+ favorites: B = be,
116
+ onFavoriteChange: u,
117
+ ...l
118
+ }) {
119
+ const f = I === "embedded", C = !f && !!d, F = !f && !D && !!c, [H, M] = w(null), A = i === void 0 ? H : i, L = n.find((o) => o.id === A), [j, E] = w(!1), K = p ?? j, b = (o) => {
120
+ p === void 0 && E(o), T?.(o);
121
+ }, y = q ?? n.length, V = $ ?? Math.max(1, Math.ceil(y / h)), z = ae(x, g), U = () => P ? /* @__PURE__ */ t("p", { className: "px-4 py-12 text-center text-sm text-gray-500", role: "status", children: "Loading transactions…" }) : n.length === 0 ? z ? /* @__PURE__ */ s("div", { className: "px-4 py-12 text-center", children: [
122
+ /* @__PURE__ */ t("p", { className: "text-sm text-gray-500", children: "No transactions match these filters." }),
123
+ m && /* @__PURE__ */ t(
124
+ "button",
125
+ {
126
+ type: "button",
127
+ onClick: m,
128
+ className: "mt-2 text-sm text-primary-600 hover:text-primary-500 cursor-pointer",
129
+ children: "Reset filters"
130
+ }
131
+ )
132
+ ] }) : /* @__PURE__ */ t("p", { className: "px-4 py-12 text-center text-sm text-gray-500", children: "No transactions yet." }) : /* @__PURE__ */ t(
133
+ le,
134
+ {
135
+ types: u ? { flags: xe(B, u), ...S } : S,
136
+ columns: u ? ["flags", ...v] : v,
137
+ rows: n,
138
+ onRowClick: (o) => {
139
+ M(o.id), a?.(o), r?.(o.id);
140
+ },
141
+ selected: L,
142
+ rowKey: "id"
143
+ }
144
+ ), N = (o) => /* @__PURE__ */ t(
145
+ ie,
146
+ {
147
+ current: k,
148
+ pages: V,
149
+ perPage: h,
150
+ total: y,
151
+ setPage: O,
152
+ label: ge(o, l["aria-label"], l["aria-labelledby"]),
153
+ labelledBy: l["aria-label"] ? void 0 : l["aria-labelledby"]
154
+ }
155
+ );
156
+ return /* @__PURE__ */ s("div", { className: te("space-y-6", e), ...l, children: [
157
+ !f && /* @__PURE__ */ t(W, { children: /* @__PURE__ */ s("div", { className: "flex items-start justify-between gap-6", children: [
158
+ /* @__PURE__ */ s("div", { className: "flex-1", children: [
159
+ /* @__PURE__ */ t(X, { children: "Transactions" }),
160
+ /* @__PURE__ */ t(Q, { className: "text-gray-500 mt-1", children: "View and manage transaction history across all API endpoints." })
161
+ ] }),
162
+ C && d && /* @__PURE__ */ t("div", { className: "flex-1 max-w-md", children: /* @__PURE__ */ t(
163
+ se,
164
+ {
165
+ label: "",
166
+ placeHolder: "Search by endpoint, method, status...",
167
+ setSearch: d,
168
+ search: g
169
+ }
170
+ ) })
171
+ ] }) }),
172
+ /* @__PURE__ */ s("div", { className: "flex gap-6", children: [
173
+ F && c && /* @__PURE__ */ t(Y, { children: K ? /* @__PURE__ */ s("div", { className: "w-64 flex-shrink-0", children: [
174
+ /* @__PURE__ */ t("div", { className: "text-right mb-4", children: /* @__PURE__ */ s(
175
+ "button",
176
+ {
177
+ onClick: () => b(!1),
178
+ className: "text-gray-500 mx-1 font-normal text-xs hover:text-gray-600 transition-colors cursor-pointer",
179
+ "aria-label": "Hide filters sidebar",
180
+ type: "button",
181
+ children: [
182
+ /* @__PURE__ */ t(_, { className: "h-3 w-3 inline-block mr-1" }),
183
+ "hide"
184
+ ]
185
+ }
186
+ ) }),
187
+ /* @__PURE__ */ t(
188
+ oe,
189
+ {
190
+ filters: x ?? {},
191
+ onFiltersChange: c,
192
+ onResetFilters: m ?? (() => {
193
+ }),
194
+ facets: R
195
+ }
196
+ )
197
+ ] }) : /* @__PURE__ */ t("div", { className: "flex-shrink-0", children: /* @__PURE__ */ s(
198
+ "button",
199
+ {
200
+ onClick: () => b(!0),
201
+ className: "text-gray-500 mx-1 font-normal text-xs hover:text-gray-600 transition-colors flex flex-col items-center cursor-pointer",
202
+ "aria-label": "Show filters sidebar",
203
+ type: "button",
204
+ children: [
205
+ /* @__PURE__ */ t(G, { className: "h-3 w-3" }),
206
+ /* @__PURE__ */ t("div", { className: "w-4", children: /* @__PURE__ */ t("div", { className: "rotate-90 whitespace-nowrap", children: "filters" }) })
207
+ ]
208
+ }
209
+ ) }) }),
210
+ /* @__PURE__ */ t("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ s("div", { className: "rounded-none border-0 overflow-hidden bg-white", children: [
211
+ /* @__PURE__ */ t("div", { className: "border-b border-gray-200", children: N("above") }),
212
+ /* @__PURE__ */ t("div", { className: "overflow-x-auto", children: U() }),
213
+ /* @__PURE__ */ t("div", { className: "border-t border-gray-200", children: N("below") })
214
+ ] }) })
215
+ ] })
216
+ ] });
217
+ }
218
+ export {
219
+ Ae as TransactionsListPage
220
+ };
@@ -0,0 +1,4 @@
1
+ export { TransactionsListPage } from "./TransactionsListPage.js";
2
+ export type { TransactionsListPageProps } from "./TransactionsListPage.js";
3
+ export { useClientSideTransactions } from "./useClientSideTransactions.js";
4
+ export type { ClientSideTransactions, ClientSideTransactionsOptions } from "./useClientSideTransactions.js";
@@ -0,0 +1,6 @@
1
+ import { TransactionsListPage as r } from "./TransactionsListPage.js";
2
+ import { useClientSideTransactions as t } from "./useClientSideTransactions.js";
3
+ export {
4
+ r as TransactionsListPage,
5
+ t as useClientSideTransactions
6
+ };
@@ -0,0 +1,38 @@
1
+ import type { FilterChangeHandler, Filters } from "../../../Models/Filters/index.js";
2
+ import { type TransactionFacets } from "../../../Models/Transactions/facets.js";
3
+ import type { Transaction } from "../../../Models/Transactions/types.js";
4
+ export interface ClientSideTransactionsOptions {
5
+ itemsPerPage?: number;
6
+ initialFilters?: Filters;
7
+ initialSearch?: string;
8
+ }
9
+ export interface ClientSideTransactions {
10
+ transactions: Transaction[];
11
+ facets: TransactionFacets;
12
+ filters: Filters;
13
+ onFiltersChange: FilterChangeHandler;
14
+ onResetFilters: () => void;
15
+ search: string;
16
+ onSearchChange: (search: string) => void;
17
+ page: number;
18
+ pageCount: number;
19
+ total: number;
20
+ itemsPerPage: number;
21
+ onPageChange: (page: number) => void;
22
+ }
23
+ /**
24
+ * Filters, searches and paginates a list of transactions in memory, and returns the whole prop
25
+ * bundle `TransactionsListPage` expects.
26
+ *
27
+ * **This is the fallback, not the recommended path.** A consumer that fetches transactions from a
28
+ * server filters, searches and paginates there, where the whole dataset is; doing it here narrows
29
+ * only the page already fetched, and the totals are the totals of that page. Reach for this when
30
+ * the whole list is already in memory and small: stories, demos, a fixed list in a drawer.
31
+ *
32
+ * Pass a stable `transactions` array. A fresh literal on every render defeats the memo and costs a
33
+ * full filter pass each time; hoist an empty default to a module-level constant.
34
+ *
35
+ * The requested page is clamped for display but remembered, so a list whose data shrinks and grows
36
+ * back underneath returns the reader to where they were.
37
+ */
38
+ export declare function useClientSideTransactions(transactions: Transaction[], { itemsPerPage, initialFilters, initialSearch }?: ClientSideTransactionsOptions): ClientSideTransactions;
@@ -0,0 +1,32 @@
1
+ import { deriveTransactionFacets as k } from "../../../Models/Transactions/facets.js";
2
+ import { filterTransactions as q } from "../../../Models/Transactions/filtering.js";
3
+ import { useState as i, useMemo as f, useCallback as h } from "react";
4
+ function j(t, { itemsPerPage: e = 20, initialFilters: p = {}, initialSearch: C = "" } = {}) {
5
+ const [o, l] = i(p), [s, g] = i(C), [u, n] = i(1), a = f(
6
+ () => q(t, { filters: o, search: s }),
7
+ [t, o, s]
8
+ ), F = f(() => k(t), [t]), m = Math.max(1, Math.ceil(a.length / e)), M = Number.isFinite(u) ? u : 1, c = Math.max(1, Math.min(M, m)), S = h((r, T) => {
9
+ l((b) => ({ ...b, [r]: T })), n(1);
10
+ }, []), d = h(() => {
11
+ l({}), g(""), n(1);
12
+ }, []), x = h((r) => {
13
+ g(r), n(1);
14
+ }, []);
15
+ return {
16
+ transactions: a.slice((c - 1) * e, c * e),
17
+ facets: F,
18
+ filters: o,
19
+ onFiltersChange: S,
20
+ onResetFilters: d,
21
+ search: s,
22
+ onSearchChange: x,
23
+ page: c,
24
+ pageCount: m,
25
+ total: a.length,
26
+ itemsPerPage: e,
27
+ onPageChange: n
28
+ };
29
+ }
30
+ export {
31
+ j as useClientSideTransactions
32
+ };
@@ -0,0 +1,4 @@
1
+ export { TransactionsListPage } from "./List/index.js";
2
+ export type { TransactionsListPageProps } from "./List/index.js";
3
+ export { TransactionsDetailPage } from "./Detail/index.js";
4
+ export type { TransactionsDetailPageProps } from "./Detail/index.js";
@@ -0,0 +1,6 @@
1
+ import { TransactionsDetailPage as r } from "./Detail/TransactionsDetailPage.js";
2
+ import { TransactionsListPage as e } from "./List/TransactionsListPage.js";
3
+ export {
4
+ r as TransactionsDetailPage,
5
+ e as TransactionsListPage
6
+ };
@@ -0,0 +1,5 @@
1
+ export * from "./Overview/index.js";
2
+ export * from "./Transactions/index.js";
3
+ export * from "./Explorer/index.js";
4
+ export * from "./Alerts/index.js";
5
+ export * from "./SystemPage/index.js";
@@ -0,0 +1,18 @@
1
+ import { AlertsPage as o } from "./Alerts/AlertsPage.js";
2
+ import { ExplorerPage as a } from "./Explorer/ExplorerPage.js";
3
+ import { HistorySection as p } from "./Overview/Sections/HistorySection.js";
4
+ import { OverviewPage as f } from "./Overview/OverviewPage.js";
5
+ import { SummarySection as s } from "./Overview/Sections/SummarySection.js";
6
+ import { SystemPage as n } from "./SystemPage/SystemPage.js";
7
+ import { TransactionsDetailPage as c } from "./Transactions/Detail/TransactionsDetailPage.js";
8
+ import { TransactionsListPage as l } from "./Transactions/List/TransactionsListPage.js";
9
+ export {
10
+ o as AlertsPage,
11
+ a as ExplorerPage,
12
+ p as HistorySection,
13
+ f as OverviewPage,
14
+ s as SummarySection,
15
+ n as SystemPage,
16
+ c as TransactionsDetailPage,
17
+ l as TransactionsListPage
18
+ };
@@ -0,0 +1,13 @@
1
+ export declare const defaultEchartOptions: {
2
+ renderer: string;
3
+ tooltip: {
4
+ trigger: string;
5
+ };
6
+ animation: boolean;
7
+ grid: {
8
+ left: number;
9
+ right: number;
10
+ top: number;
11
+ bottom: number;
12
+ };
13
+ };
@@ -0,0 +1,16 @@
1
+ const t = {
2
+ renderer: "svg",
3
+ tooltip: {
4
+ trigger: "axis"
5
+ },
6
+ animation: !1,
7
+ grid: {
8
+ left: 80,
9
+ right: 0,
10
+ top: 10,
11
+ bottom: 20
12
+ }
13
+ };
14
+ export {
15
+ t as defaultEchartOptions
16
+ };