@flanksource/clicky-ui 0.1.0 → 0.2.2

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/README.md +29 -2
  2. package/dist/api-explorer.d.ts +5 -0
  3. package/dist/api-explorer.d.ts.map +1 -0
  4. package/dist/api-explorer.js +25 -0
  5. package/dist/api-explorer.js.map +1 -0
  6. package/dist/clicky.d.ts +2 -0
  7. package/dist/clicky.d.ts.map +1 -0
  8. package/dist/clicky.js +5 -0
  9. package/dist/clicky.js.map +1 -0
  10. package/dist/components/DatePicker.d.ts +18 -0
  11. package/dist/components/DatePicker.d.ts.map +1 -0
  12. package/dist/components/DatePicker.js +63 -0
  13. package/dist/components/DatePicker.js.map +1 -0
  14. package/dist/components/DateTimePicker.d.ts +18 -0
  15. package/dist/components/DateTimePicker.d.ts.map +1 -0
  16. package/dist/components/DateTimePicker.js +84 -0
  17. package/dist/components/DateTimePicker.js.map +1 -0
  18. package/dist/components/FilterBar.d.ts +180 -0
  19. package/dist/components/FilterBar.d.ts.map +1 -0
  20. package/dist/components/FilterBar.js +1685 -0
  21. package/dist/components/FilterBar.js.map +1 -0
  22. package/dist/components/MultiSelect.d.ts +19 -0
  23. package/dist/components/MultiSelect.d.ts.map +1 -0
  24. package/dist/components/MultiSelect.js +143 -0
  25. package/dist/components/MultiSelect.js.map +1 -0
  26. package/dist/components/RangeSlider.d.ts +16 -0
  27. package/dist/components/RangeSlider.d.ts.map +1 -0
  28. package/dist/components/RangeSlider.js +92 -0
  29. package/dist/components/RangeSlider.js.map +1 -0
  30. package/dist/components/button.d.ts +21 -0
  31. package/dist/components/button.d.ts.map +1 -0
  32. package/dist/components/button.js +126 -0
  33. package/dist/components/button.js.map +1 -0
  34. package/dist/components/density-switcher.d.ts +7 -0
  35. package/dist/components/density-switcher.d.ts.map +1 -0
  36. package/dist/components/density-switcher.js +32 -0
  37. package/dist/components/density-switcher.js.map +1 -0
  38. package/dist/components/icon-menu-picker.d.ts +23 -0
  39. package/dist/components/icon-menu-picker.d.ts.map +1 -0
  40. package/dist/components/icon-menu-picker.js +192 -0
  41. package/dist/components/icon-menu-picker.js.map +1 -0
  42. package/dist/components/select.d.ts +15 -0
  43. package/dist/components/select.d.ts.map +1 -0
  44. package/dist/components/select.js +39 -0
  45. package/dist/components/select.js.map +1 -0
  46. package/dist/components/theme-switcher.d.ts +7 -0
  47. package/dist/components/theme-switcher.d.ts.map +1 -0
  48. package/dist/components/theme-switcher.js +42 -0
  49. package/dist/components/theme-switcher.js.map +1 -0
  50. package/dist/components.d.ts +15 -0
  51. package/dist/components.d.ts.map +1 -0
  52. package/dist/components.js +33 -0
  53. package/dist/components.js.map +1 -0
  54. package/dist/data/AnsiHtml.d.ts +7 -0
  55. package/dist/data/AnsiHtml.d.ts.map +1 -0
  56. package/dist/data/AnsiHtml.js +71 -0
  57. package/dist/data/AnsiHtml.js.map +1 -0
  58. package/dist/data/Avatar.d.ts +32 -0
  59. package/dist/data/Avatar.d.ts.map +1 -0
  60. package/dist/data/Avatar.js +201 -0
  61. package/dist/data/Avatar.js.map +1 -0
  62. package/dist/data/AvatarBadge.d.ts +26 -0
  63. package/dist/data/AvatarBadge.d.ts.map +1 -0
  64. package/dist/data/AvatarBadge.js +104 -0
  65. package/dist/data/AvatarBadge.js.map +1 -0
  66. package/dist/data/Badge.d.ts +44 -0
  67. package/dist/data/Badge.d.ts.map +1 -0
  68. package/dist/data/Badge.js +667 -0
  69. package/dist/data/Badge.js.map +1 -0
  70. package/dist/data/Clicky.d.ts +147 -0
  71. package/dist/data/Clicky.d.ts.map +1 -0
  72. package/dist/data/Clicky.fixtures.d.ts +3 -0
  73. package/dist/data/Clicky.fixtures.d.ts.map +1 -0
  74. package/dist/data/Clicky.js +1960 -0
  75. package/dist/data/Clicky.js.map +1 -0
  76. package/dist/data/DataTable.d.ts +95 -0
  77. package/dist/data/DataTable.d.ts.map +1 -0
  78. package/dist/data/DataTable.js +1464 -0
  79. package/dist/data/DataTable.js.map +1 -0
  80. package/dist/data/FilterPill.d.ts +29 -0
  81. package/dist/data/FilterPill.d.ts.map +1 -0
  82. package/dist/data/FilterPill.js +153 -0
  83. package/dist/data/FilterPill.js.map +1 -0
  84. package/dist/data/Gauge.d.ts +15 -0
  85. package/dist/data/Gauge.d.ts.map +1 -0
  86. package/dist/data/Gauge.js +63 -0
  87. package/dist/data/Gauge.js.map +1 -0
  88. package/dist/data/Icon.d.ts +53 -0
  89. package/dist/data/Icon.d.ts.map +1 -0
  90. package/dist/data/Icon.js +115 -0
  91. package/dist/data/Icon.js.map +1 -0
  92. package/dist/data/JsonView.d.ts +8 -0
  93. package/dist/data/JsonView.d.ts.map +1 -0
  94. package/dist/data/JsonView.js +74 -0
  95. package/dist/data/JsonView.js.map +1 -0
  96. package/dist/data/KeyValueList.d.ts +17 -0
  97. package/dist/data/KeyValueList.d.ts.map +1 -0
  98. package/dist/data/KeyValueList.js +33 -0
  99. package/dist/data/KeyValueList.js.map +1 -0
  100. package/dist/data/LogViewer.d.ts +10 -0
  101. package/dist/data/LogViewer.d.ts.map +1 -0
  102. package/dist/data/LogViewer.js +46 -0
  103. package/dist/data/LogViewer.js.map +1 -0
  104. package/dist/data/LogsTable.d.ts +27 -0
  105. package/dist/data/LogsTable.d.ts.map +1 -0
  106. package/dist/data/LogsTable.js +580 -0
  107. package/dist/data/LogsTable.js.map +1 -0
  108. package/dist/data/Markdown.d.ts +6 -0
  109. package/dist/data/Markdown.d.ts.map +1 -0
  110. package/dist/data/Markdown.js +59 -0
  111. package/dist/data/Markdown.js.map +1 -0
  112. package/dist/data/MatrixTable.d.ts +22 -0
  113. package/dist/data/MatrixTable.d.ts.map +1 -0
  114. package/dist/data/MatrixTable.js +164 -0
  115. package/dist/data/MatrixTable.js.map +1 -0
  116. package/dist/data/MethodBadge.d.ts +6 -0
  117. package/dist/data/MethodBadge.d.ts.map +1 -0
  118. package/dist/data/MethodBadge.js +18 -0
  119. package/dist/data/MethodBadge.js.map +1 -0
  120. package/dist/data/ProgressBar.d.ts +13 -0
  121. package/dist/data/ProgressBar.d.ts.map +1 -0
  122. package/dist/data/ProgressBar.js +34 -0
  123. package/dist/data/ProgressBar.js.map +1 -0
  124. package/dist/data/SortableHeader.d.ts +12 -0
  125. package/dist/data/SortableHeader.d.ts.map +1 -0
  126. package/dist/data/SortableHeader.js +33 -0
  127. package/dist/data/SortableHeader.js.map +1 -0
  128. package/dist/data/TabButton.d.ts +12 -0
  129. package/dist/data/TabButton.d.ts.map +1 -0
  130. package/dist/data/TabButton.js +45 -0
  131. package/dist/data/TabButton.js.map +1 -0
  132. package/dist/data/Tree.d.ts +35 -0
  133. package/dist/data/Tree.d.ts.map +1 -0
  134. package/dist/data/Tree.js +236 -0
  135. package/dist/data/Tree.js.map +1 -0
  136. package/dist/data/TreeGroupHeader.d.ts +11 -0
  137. package/dist/data/TreeGroupHeader.d.ts.map +1 -0
  138. package/dist/data/TreeGroupHeader.js +41 -0
  139. package/dist/data/TreeGroupHeader.js.map +1 -0
  140. package/dist/data/TreeNode.d.ts +43 -0
  141. package/dist/data/TreeNode.d.ts.map +1 -0
  142. package/dist/data/TreeNode.js +100 -0
  143. package/dist/data/TreeNode.js.map +1 -0
  144. package/dist/data/cells/StatusDot.d.ts +11 -0
  145. package/dist/data/cells/StatusDot.d.ts.map +1 -0
  146. package/dist/data/cells/StatusDot.js +38 -0
  147. package/dist/data/cells/StatusDot.js.map +1 -0
  148. package/dist/data/cells/TagList.d.ts +59 -0
  149. package/dist/data/cells/TagList.d.ts.map +1 -0
  150. package/dist/data/cells/TagList.js +257 -0
  151. package/dist/data/cells/TagList.js.map +1 -0
  152. package/dist/data/cells/Timestamp.d.ts +46 -0
  153. package/dist/data/cells/Timestamp.d.ts.map +1 -0
  154. package/dist/data/cells/Timestamp.js +146 -0
  155. package/dist/data/cells/Timestamp.js.map +1 -0
  156. package/dist/data/cells/status-mapping.d.ts +8 -0
  157. package/dist/data/cells/status-mapping.d.ts.map +1 -0
  158. package/dist/data/cells/status-mapping.js +44 -0
  159. package/dist/data/cells/status-mapping.js.map +1 -0
  160. package/dist/data/code-highlight.d.ts +12 -0
  161. package/dist/data/code-highlight.d.ts.map +1 -0
  162. package/dist/data/code-highlight.js +28 -0
  163. package/dist/data/code-highlight.js.map +1 -0
  164. package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts +9 -0
  165. package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts.map +1 -0
  166. package/dist/data/diagnostics/DiagnosticsDetailPanel.js +445 -0
  167. package/dist/data/diagnostics/DiagnosticsDetailPanel.js.map +1 -0
  168. package/dist/data/diagnostics/DiagnosticsTree.d.ts +9 -0
  169. package/dist/data/diagnostics/DiagnosticsTree.d.ts.map +1 -0
  170. package/dist/data/diagnostics/DiagnosticsTree.js +78 -0
  171. package/dist/data/diagnostics/DiagnosticsTree.js.map +1 -0
  172. package/dist/data/diagnostics/ErrorDetails.d.ts +20 -0
  173. package/dist/data/diagnostics/ErrorDetails.d.ts.map +1 -0
  174. package/dist/data/diagnostics/ErrorDetails.js +157 -0
  175. package/dist/data/diagnostics/ErrorDetails.js.map +1 -0
  176. package/dist/data/diagnostics/GoroutineCard.d.ts +10 -0
  177. package/dist/data/diagnostics/GoroutineCard.d.ts.map +1 -0
  178. package/dist/data/diagnostics/GoroutineCard.js +75 -0
  179. package/dist/data/diagnostics/GoroutineCard.js.map +1 -0
  180. package/dist/data/diagnostics/JvmStackTrace.d.ts +11 -0
  181. package/dist/data/diagnostics/JvmStackTrace.d.ts.map +1 -0
  182. package/dist/data/diagnostics/JvmStackTrace.js +26 -0
  183. package/dist/data/diagnostics/JvmStackTrace.js.map +1 -0
  184. package/dist/data/diagnostics/RenderedStackTrace.d.ts +18 -0
  185. package/dist/data/diagnostics/RenderedStackTrace.d.ts.map +1 -0
  186. package/dist/data/diagnostics/RenderedStackTrace.js +235 -0
  187. package/dist/data/diagnostics/RenderedStackTrace.js.map +1 -0
  188. package/dist/data/diagnostics/ThreadCard.d.ts +10 -0
  189. package/dist/data/diagnostics/ThreadCard.d.ts.map +1 -0
  190. package/dist/data/diagnostics/ThreadCard.js +78 -0
  191. package/dist/data/diagnostics/ThreadCard.js.map +1 -0
  192. package/dist/data/diagnostics/error-diagnostics.d.ts +26 -0
  193. package/dist/data/diagnostics/error-diagnostics.d.ts.map +1 -0
  194. package/dist/data/diagnostics/error-diagnostics.js +108 -0
  195. package/dist/data/diagnostics/error-diagnostics.js.map +1 -0
  196. package/dist/data/diagnostics/fixtures.d.ts +3 -0
  197. package/dist/data/diagnostics/fixtures.d.ts.map +1 -0
  198. package/dist/data/diagnostics/jvm-stacktrace.d.ts +34 -0
  199. package/dist/data/diagnostics/jvm-stacktrace.d.ts.map +1 -0
  200. package/dist/data/diagnostics/jvm-stacktrace.js +190 -0
  201. package/dist/data/diagnostics/jvm-stacktrace.js.map +1 -0
  202. package/dist/data/diagnostics/stacktrace-parse.d.ts +11 -0
  203. package/dist/data/diagnostics/stacktrace-parse.d.ts.map +1 -0
  204. package/dist/data/diagnostics/stacktrace-parse.js +87 -0
  205. package/dist/data/diagnostics/stacktrace-parse.js.map +1 -0
  206. package/dist/data/diagnostics/stacktrace.d.ts +38 -0
  207. package/dist/data/diagnostics/stacktrace.d.ts.map +1 -0
  208. package/dist/data/diagnostics/stacktrace.js +119 -0
  209. package/dist/data/diagnostics/stacktrace.js.map +1 -0
  210. package/dist/data/diagnostics/types.d.ts +30 -0
  211. package/dist/data/diagnostics/types.d.ts.map +1 -0
  212. package/dist/data/diagnostics/utils.d.ts +8 -0
  213. package/dist/data/diagnostics/utils.d.ts.map +1 -0
  214. package/dist/data/diagnostics/utils.js +59 -0
  215. package/dist/data/diagnostics/utils.js.map +1 -0
  216. package/dist/data/har/HarPanel.d.ts +9 -0
  217. package/dist/data/har/HarPanel.d.ts.map +1 -0
  218. package/dist/data/har/HarPanel.js +175 -0
  219. package/dist/data/har/HarPanel.js.map +1 -0
  220. package/dist/data/har/fixtures.d.ts +3 -0
  221. package/dist/data/har/fixtures.d.ts.map +1 -0
  222. package/dist/data/har/types.d.ts +47 -0
  223. package/dist/data/har/types.d.ts.map +1 -0
  224. package/dist/data.d.ts +39 -0
  225. package/dist/data.d.ts.map +1 -0
  226. package/dist/data.js +109 -0
  227. package/dist/data.js.map +1 -0
  228. package/dist/hooks/use-density.d.ts +22 -0
  229. package/dist/hooks/use-density.d.ts.map +1 -0
  230. package/dist/hooks/use-density.js +54 -0
  231. package/dist/hooks/use-density.js.map +1 -0
  232. package/dist/hooks/use-history-route.d.ts +6 -0
  233. package/dist/hooks/use-history-route.d.ts.map +1 -0
  234. package/dist/hooks/use-history-route.js +31 -0
  235. package/dist/hooks/use-history-route.js.map +1 -0
  236. package/dist/hooks/use-sort.d.ts +17 -0
  237. package/dist/hooks/use-sort.d.ts.map +1 -0
  238. package/dist/hooks/use-sort.js +42 -0
  239. package/dist/hooks/use-sort.js.map +1 -0
  240. package/dist/hooks/use-theme.d.ts +17 -0
  241. package/dist/hooks/use-theme.d.ts.map +1 -0
  242. package/dist/hooks/use-theme.js +68 -0
  243. package/dist/hooks/use-theme.js.map +1 -0
  244. package/dist/hooks.d.ts +5 -0
  245. package/dist/hooks.d.ts.map +1 -0
  246. package/dist/hooks.js +14 -0
  247. package/dist/hooks.js.map +1 -0
  248. package/dist/index.d.ts +7 -0
  249. package/dist/index.d.ts.map +1 -0
  250. package/dist/index.js +195 -0
  251. package/dist/index.js.map +1 -0
  252. package/dist/layout/Section.d.ts +23 -0
  253. package/dist/layout/Section.d.ts.map +1 -0
  254. package/dist/layout/Section.js +73 -0
  255. package/dist/layout/Section.js.map +1 -0
  256. package/dist/layout/SplitPane.d.ts +13 -0
  257. package/dist/layout/SplitPane.d.ts.map +1 -0
  258. package/dist/layout/SplitPane.js +72 -0
  259. package/dist/layout/SplitPane.js.map +1 -0
  260. package/dist/lib/palette.d.ts +4 -0
  261. package/dist/lib/palette.d.ts.map +1 -0
  262. package/dist/lib/palette.js +35 -0
  263. package/dist/lib/palette.js.map +1 -0
  264. package/dist/lib/size.d.ts +6 -0
  265. package/dist/lib/size.d.ts.map +1 -0
  266. package/dist/lib/size.js +14 -0
  267. package/dist/lib/size.js.map +1 -0
  268. package/dist/lib/utils.d.ts +3 -0
  269. package/dist/lib/utils.d.ts.map +1 -0
  270. package/dist/lib/utils.js +9 -0
  271. package/dist/lib/utils.js.map +1 -0
  272. package/dist/overlay/HoverCard.d.ts +13 -0
  273. package/dist/overlay/HoverCard.d.ts.map +1 -0
  274. package/dist/overlay/HoverCard.js +170 -0
  275. package/dist/overlay/HoverCard.js.map +1 -0
  276. package/dist/overlay/Modal.d.ts +17 -0
  277. package/dist/overlay/Modal.d.ts.map +1 -0
  278. package/dist/overlay/Modal.js +91 -0
  279. package/dist/overlay/Modal.js.map +1 -0
  280. package/dist/rpc/AcceptPicker.d.ts +52 -0
  281. package/dist/rpc/AcceptPicker.d.ts.map +1 -0
  282. package/dist/rpc/AcceptPicker.js +126 -0
  283. package/dist/rpc/AcceptPicker.js.map +1 -0
  284. package/dist/rpc/ApiExplorer.d.ts +11 -0
  285. package/dist/rpc/ApiExplorer.d.ts.map +1 -0
  286. package/dist/rpc/ApiExplorer.js +37 -0
  287. package/dist/rpc/ApiExplorer.js.map +1 -0
  288. package/dist/rpc/CommandForm.d.ts +15 -0
  289. package/dist/rpc/CommandForm.d.ts.map +1 -0
  290. package/dist/rpc/CommandForm.js +356 -0
  291. package/dist/rpc/CommandForm.js.map +1 -0
  292. package/dist/rpc/CommandOutput.d.ts +11 -0
  293. package/dist/rpc/CommandOutput.d.ts.map +1 -0
  294. package/dist/rpc/CommandOutput.js +195 -0
  295. package/dist/rpc/CommandOutput.js.map +1 -0
  296. package/dist/rpc/EndpointList.d.ts +18 -0
  297. package/dist/rpc/EndpointList.d.ts.map +1 -0
  298. package/dist/rpc/EndpointList.js +56 -0
  299. package/dist/rpc/EndpointList.js.map +1 -0
  300. package/dist/rpc/EntityExplorerApp.d.ts +15 -0
  301. package/dist/rpc/EntityExplorerApp.d.ts.map +1 -0
  302. package/dist/rpc/EntityExplorerApp.js +282 -0
  303. package/dist/rpc/EntityExplorerApp.js.map +1 -0
  304. package/dist/rpc/ExecutionResult.d.ts +14 -0
  305. package/dist/rpc/ExecutionResult.d.ts.map +1 -0
  306. package/dist/rpc/ExecutionResult.js +51 -0
  307. package/dist/rpc/ExecutionResult.js.map +1 -0
  308. package/dist/rpc/FilterForm.d.ts +22 -0
  309. package/dist/rpc/FilterForm.d.ts.map +1 -0
  310. package/dist/rpc/FilterForm.js +392 -0
  311. package/dist/rpc/FilterForm.js.map +1 -0
  312. package/dist/rpc/InlineError.d.ts +7 -0
  313. package/dist/rpc/InlineError.d.ts.map +1 -0
  314. package/dist/rpc/InlineError.js +54 -0
  315. package/dist/rpc/InlineError.js.map +1 -0
  316. package/dist/rpc/OperationActionDialog.d.ts +12 -0
  317. package/dist/rpc/OperationActionDialog.d.ts.map +1 -0
  318. package/dist/rpc/OperationActionDialog.js +105 -0
  319. package/dist/rpc/OperationActionDialog.js.map +1 -0
  320. package/dist/rpc/OperationCatalog.d.ts +21 -0
  321. package/dist/rpc/OperationCatalog.d.ts.map +1 -0
  322. package/dist/rpc/OperationCatalog.js +339 -0
  323. package/dist/rpc/OperationCatalog.js.map +1 -0
  324. package/dist/rpc/OperationCommandPage.d.ts +22 -0
  325. package/dist/rpc/OperationCommandPage.d.ts.map +1 -0
  326. package/dist/rpc/OperationCommandPage.js +484 -0
  327. package/dist/rpc/OperationCommandPage.js.map +1 -0
  328. package/dist/rpc/OperationEntityPage.d.ts +23 -0
  329. package/dist/rpc/OperationEntityPage.d.ts.map +1 -0
  330. package/dist/rpc/OperationEntityPage.js +218 -0
  331. package/dist/rpc/OperationEntityPage.js.map +1 -0
  332. package/dist/rpc/classify.d.ts +8 -0
  333. package/dist/rpc/classify.d.ts.map +1 -0
  334. package/dist/rpc/classify.js +76 -0
  335. package/dist/rpc/classify.js.map +1 -0
  336. package/dist/rpc/clickyMetadata.d.ts +12 -0
  337. package/dist/rpc/clickyMetadata.d.ts.map +1 -0
  338. package/dist/rpc/clickyMetadata.js +71 -0
  339. package/dist/rpc/clickyMetadata.js.map +1 -0
  340. package/dist/rpc/formMetadata.d.ts +27 -0
  341. package/dist/rpc/formMetadata.d.ts.map +1 -0
  342. package/dist/rpc/formMetadata.js +250 -0
  343. package/dist/rpc/formMetadata.js.map +1 -0
  344. package/dist/rpc/types.d.ts +109 -0
  345. package/dist/rpc/types.d.ts.map +1 -0
  346. package/dist/rpc/types.js +8 -0
  347. package/dist/rpc/types.js.map +1 -0
  348. package/dist/rpc/useOperations.d.ts +346 -0
  349. package/dist/rpc/useOperations.d.ts.map +1 -0
  350. package/dist/rpc/useOperations.js +31 -0
  351. package/dist/rpc/useOperations.js.map +1 -0
  352. package/dist/rpc.d.ts +14 -0
  353. package/dist/rpc.d.ts.map +1 -0
  354. package/dist/rpc.js +37 -0
  355. package/dist/rpc.js.map +1 -0
  356. package/dist/styles.css +2 -0
  357. package/dist/styles.d.ts +1 -0
  358. package/dist/styles.d.ts.map +1 -0
  359. package/dist/styles.js +2 -0
  360. package/dist/styles.js.map +1 -0
  361. package/dist/tailwind-preset.d.ts +4 -0
  362. package/dist/tailwind-preset.d.ts.map +1 -0
  363. package/dist/tailwind-preset.js +69 -0
  364. package/dist/tailwind-preset.js.map +1 -0
  365. package/dist/utils.d.ts +4 -0
  366. package/dist/utils.d.ts.map +1 -0
  367. package/dist/utils.js +12 -0
  368. package/dist/utils.js.map +1 -0
  369. package/package.json +83 -40
  370. package/dist/index.d.mts +0 -834
  371. package/dist/index.d.mts.map +0 -1
  372. package/dist/index.mjs +0 -2918
  373. package/dist/index.mjs.map +0 -1
  374. package/dist/tailwind-preset.d.mts +0 -7
  375. package/dist/tailwind-preset.d.mts.map +0 -1
  376. package/dist/tailwind-preset.mjs +0 -64
  377. package/dist/tailwind-preset.mjs.map +0 -1
  378. package/src/styles/tokens.css +0 -78
package/dist/index.js ADDED
@@ -0,0 +1,195 @@
1
+ import { cn } from "./lib/utils.js";
2
+ import { AVATAR_PALETTE, fnv1a32, paletteClass } from "./lib/palette.js";
3
+ import { SIZE_TOKENS, resolveSize } from "./lib/size.js";
4
+ import { ThemeProvider, useTheme } from "./hooks/use-theme.js";
5
+ import { DensityProvider, useDensity, useDensityValue } from "./hooks/use-density.js";
6
+ import { useSort } from "./hooks/use-sort.js";
7
+ import { useHistoryRoute } from "./hooks/use-history-route.js";
8
+ import { Button, buttonVariants } from "./components/button.js";
9
+ import { DatePicker } from "./components/DatePicker.js";
10
+ import { DateTimePicker } from "./components/DateTimePicker.js";
11
+ import { RangeSlider } from "./components/RangeSlider.js";
12
+ import { FilterBar } from "./components/FilterBar.js";
13
+ import { MultiSelect } from "./components/MultiSelect.js";
14
+ import { Select } from "./components/select.js";
15
+ import { ThemeSwitcher } from "./components/theme-switcher.js";
16
+ import { DensitySwitcher } from "./components/density-switcher.js";
17
+ import { IconMenuPicker } from "./components/icon-menu-picker.js";
18
+ import { SplitPane } from "./layout/SplitPane.js";
19
+ import { DetailEmptyState, Section } from "./layout/Section.js";
20
+ import { HoverCard } from "./overlay/HoverCard.js";
21
+ import { Modal } from "./overlay/Modal.js";
22
+ import { AnsiHtml } from "./data/AnsiHtml.js";
23
+ import { Avatar } from "./data/Avatar.js";
24
+ import { AvatarBadge } from "./data/AvatarBadge.js";
25
+ import { Badge, badgeVariants } from "./data/Badge.js";
26
+ import { DataTable, inferColumns } from "./data/DataTable.js";
27
+ import { Timestamp, chooseTimestampFormat, formatTimestamp, modeToFormat, parseTimestamp } from "./data/cells/Timestamp.js";
28
+ import { TagActionsProvider, TagList, normalizeTags, splitTagToken, tagActionsFromRecord, tagFilterTokens, useTagActions, useTagActionsValue } from "./data/cells/TagList.js";
29
+ import { StatusDot } from "./data/cells/StatusDot.js";
30
+ import { STATUS_TOKEN_GROUPS, normalizeStatus } from "./data/cells/status-mapping.js";
31
+ import { FilterPill, FilterPillGroup, FilterSeparator } from "./data/FilterPill.js";
32
+ import { Gauge } from "./data/Gauge.js";
33
+ import { Icon, setFallbackIconProvider } from "./data/Icon.js";
34
+ import { JsonView } from "./data/JsonView.js";
35
+ import { KeyValueList } from "./data/KeyValueList.js";
36
+ import { LogViewer } from "./data/LogViewer.js";
37
+ import { LogsTable, normalizeLogsTableRows } from "./data/LogsTable.js";
38
+ import { MatrixTable } from "./data/MatrixTable.js";
39
+ import { Markdown } from "./data/Markdown.js";
40
+ import { MethodBadge } from "./data/MethodBadge.js";
41
+ import { ProgressBar } from "./data/ProgressBar.js";
42
+ import { SortableHeader } from "./data/SortableHeader.js";
43
+ import { TabButton } from "./data/TabButton.js";
44
+ import { Tree } from "./data/Tree.js";
45
+ import { TreeNode } from "./data/TreeNode.js";
46
+ import { TreeGroupHeader } from "./data/TreeGroupHeader.js";
47
+ import { DiagnosticsTree } from "./data/diagnostics/DiagnosticsTree.js";
48
+ import { DiagnosticsDetailPanel } from "./data/diagnostics/DiagnosticsDetailPanel.js";
49
+ import { countProcesses, findProcessByPID, processLabel, processStateColor, processStateIcon } from "./data/diagnostics/utils.js";
50
+ import { countGoroutinesByState, countStackByState, detectDumpFormat, parseGoroutineDump, parseStackDump } from "./data/diagnostics/stacktrace.js";
51
+ import { countThreadsByState, parseJvmThreadDump } from "./data/diagnostics/jvm-stacktrace.js";
52
+ import { JvmStackFrameRow, JvmStackTrace } from "./data/diagnostics/JvmStackTrace.js";
53
+ import { StackTrace } from "./data/diagnostics/RenderedStackTrace.js";
54
+ import { parseJavaStackTrace } from "./data/diagnostics/stacktrace-parse.js";
55
+ import { CopyBadge, ErrorDetails, PrettyStackTrace } from "./data/diagnostics/ErrorDetails.js";
56
+ import { compactStackPath, isApplicationStackFrame, normalizeErrorDiagnostics, parseDiagnosticsStackTrace, parseInlineJsonContextValue } from "./data/diagnostics/error-diagnostics.js";
57
+ import { HarPanel } from "./data/har/HarPanel.js";
58
+ import { Clicky } from "./data/Clicky.js";
59
+ import { OperationCatalog } from "./rpc/OperationCatalog.js";
60
+ import { ACCEPT_OPTIONS, AcceptPicker, VIEW_OPTIONS } from "./rpc/AcceptPicker.js";
61
+ import { CommandForm } from "./rpc/CommandForm.js";
62
+ import { CommandOutput } from "./rpc/CommandOutput.js";
63
+ import { FilterForm } from "./rpc/FilterForm.js";
64
+ import { InlineError } from "./rpc/InlineError.js";
65
+ import { OperationActionDialog } from "./rpc/OperationActionDialog.js";
66
+ import { OperationEntityPage } from "./rpc/OperationEntityPage.js";
67
+ import { OperationCommandPage } from "./rpc/OperationCommandPage.js";
68
+ import { EndpointList } from "./rpc/EndpointList.js";
69
+ import { useOpenAPI, useOperationById, useOperations } from "./rpc/useOperations.js";
70
+ import { filterOperationsByDomain, findDetailEndpoint, findListEndpoint, normalizeRows, parseJsonBody } from "./rpc/classify.js";
71
+ import { isPositionalParam } from "./rpc/types.js";
72
+ export {
73
+ ACCEPT_OPTIONS,
74
+ AVATAR_PALETTE,
75
+ AcceptPicker,
76
+ AnsiHtml,
77
+ Avatar,
78
+ AvatarBadge,
79
+ Badge,
80
+ Button,
81
+ Clicky,
82
+ CommandForm,
83
+ CommandOutput,
84
+ CopyBadge,
85
+ DataTable,
86
+ DatePicker,
87
+ DateTimePicker,
88
+ DensityProvider,
89
+ DensitySwitcher,
90
+ DetailEmptyState,
91
+ DiagnosticsDetailPanel,
92
+ DiagnosticsTree,
93
+ EndpointList,
94
+ ErrorDetails,
95
+ FilterBar,
96
+ FilterForm,
97
+ FilterPill,
98
+ FilterPillGroup,
99
+ FilterSeparator,
100
+ Gauge,
101
+ HarPanel,
102
+ HoverCard,
103
+ Icon,
104
+ IconMenuPicker,
105
+ InlineError,
106
+ JsonView,
107
+ JvmStackFrameRow,
108
+ JvmStackTrace,
109
+ KeyValueList,
110
+ LogViewer,
111
+ LogsTable,
112
+ Markdown,
113
+ MatrixTable,
114
+ MethodBadge,
115
+ Modal,
116
+ MultiSelect,
117
+ OperationActionDialog,
118
+ OperationCatalog,
119
+ OperationCommandPage,
120
+ OperationEntityPage,
121
+ PrettyStackTrace,
122
+ ProgressBar,
123
+ RangeSlider,
124
+ SIZE_TOKENS,
125
+ STATUS_TOKEN_GROUPS,
126
+ Section,
127
+ Select,
128
+ SortableHeader,
129
+ SplitPane,
130
+ StackTrace,
131
+ StatusDot,
132
+ TabButton,
133
+ TagActionsProvider,
134
+ TagList,
135
+ ThemeProvider,
136
+ ThemeSwitcher,
137
+ Timestamp,
138
+ Tree,
139
+ TreeGroupHeader,
140
+ TreeNode,
141
+ VIEW_OPTIONS,
142
+ badgeVariants,
143
+ buttonVariants,
144
+ chooseTimestampFormat,
145
+ cn,
146
+ compactStackPath,
147
+ countGoroutinesByState,
148
+ countProcesses,
149
+ countStackByState,
150
+ countThreadsByState,
151
+ detectDumpFormat,
152
+ filterOperationsByDomain,
153
+ findDetailEndpoint,
154
+ findListEndpoint,
155
+ findProcessByPID,
156
+ fnv1a32,
157
+ formatTimestamp,
158
+ inferColumns,
159
+ isApplicationStackFrame,
160
+ isPositionalParam,
161
+ modeToFormat,
162
+ normalizeErrorDiagnostics,
163
+ normalizeLogsTableRows,
164
+ normalizeRows,
165
+ normalizeStatus,
166
+ normalizeTags,
167
+ paletteClass,
168
+ parseDiagnosticsStackTrace,
169
+ parseGoroutineDump,
170
+ parseInlineJsonContextValue,
171
+ parseJavaStackTrace,
172
+ parseJsonBody,
173
+ parseJvmThreadDump,
174
+ parseStackDump,
175
+ parseTimestamp,
176
+ processLabel,
177
+ processStateColor,
178
+ processStateIcon,
179
+ resolveSize,
180
+ setFallbackIconProvider,
181
+ splitTagToken,
182
+ tagActionsFromRecord,
183
+ tagFilterTokens,
184
+ useDensity,
185
+ useDensityValue,
186
+ useHistoryRoute,
187
+ useOpenAPI,
188
+ useOperationById,
189
+ useOperations,
190
+ useSort,
191
+ useTagActions,
192
+ useTagActionsValue,
193
+ useTheme
194
+ };
195
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,23 @@
1
+ import { ReactNode } from 'react';
2
+ export type SectionProps = {
3
+ title: ReactNode;
4
+ summary?: ReactNode;
5
+ defaultOpen?: boolean;
6
+ open?: boolean;
7
+ onToggle?: (open: boolean) => void;
8
+ icon?: string;
9
+ tone?: "default" | "danger" | "warning" | "success" | "info";
10
+ className?: string;
11
+ headerClassName?: string;
12
+ bodyClassName?: string;
13
+ children: ReactNode;
14
+ };
15
+ export declare function Section({ title, summary, defaultOpen, open: openProp, onToggle, icon, tone, className, headerClassName, bodyClassName, children, }: SectionProps): import("react/jsx-runtime").JSX.Element;
16
+ export type DetailEmptyStateProps = {
17
+ icon?: string;
18
+ label: ReactNode;
19
+ description?: ReactNode;
20
+ className?: string;
21
+ };
22
+ export declare function DetailEmptyState({ icon, label, description, className }: DetailEmptyStateProps): import("react/jsx-runtime").JSX.Element;
23
+ //# sourceMappingURL=Section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../src/layout/Section.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIjD,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAUF,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,OAAO,EACP,WAAmB,EACnB,IAAI,EAAE,QAAQ,EACd,QAAQ,EACR,IAAI,EACJ,IAAgB,EAChB,SAAS,EACT,eAAe,EACf,aAAa,EACb,QAAQ,GACT,EAAE,YAAY,2CAsCd;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,qBAAqB,2CAQ9F"}
@@ -0,0 +1,73 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { cn } from "../lib/utils.js";
4
+ import { Icon } from "../data/Icon.js";
5
+ const toneRing = {
6
+ default: "",
7
+ danger: "border-l-2 border-red-500",
8
+ warning: "border-l-2 border-yellow-500",
9
+ success: "border-l-2 border-green-500",
10
+ info: "border-l-2 border-blue-500"
11
+ };
12
+ function Section({
13
+ title,
14
+ summary,
15
+ defaultOpen = false,
16
+ open: openProp,
17
+ onToggle,
18
+ icon,
19
+ tone = "default",
20
+ className,
21
+ headerClassName,
22
+ bodyClassName,
23
+ children
24
+ }) {
25
+ const isControlled = openProp !== void 0;
26
+ const [innerOpen, setInnerOpen] = useState(defaultOpen);
27
+ const open = isControlled ? openProp : innerOpen;
28
+ function toggle() {
29
+ const next = !open;
30
+ if (!isControlled) setInnerOpen(next);
31
+ onToggle == null ? void 0 : onToggle(next);
32
+ }
33
+ return /* @__PURE__ */ jsxs("div", { className: cn("rounded-md border border-border bg-background", toneRing[tone], className), children: [
34
+ /* @__PURE__ */ jsxs(
35
+ "button",
36
+ {
37
+ type: "button",
38
+ onClick: toggle,
39
+ "aria-expanded": open,
40
+ className: cn(
41
+ "w-full flex items-center gap-2 px-density-3 py-density-2 text-left",
42
+ "hover:bg-accent/50 transition-colors",
43
+ headerClassName
44
+ ),
45
+ children: [
46
+ /* @__PURE__ */ jsx(
47
+ Icon,
48
+ {
49
+ name: open ? "codicon:chevron-down" : "codicon:chevron-right",
50
+ className: "text-muted-foreground text-xs"
51
+ }
52
+ ),
53
+ icon && /* @__PURE__ */ jsx(Icon, { name: icon, className: "text-base" }),
54
+ /* @__PURE__ */ jsx("span", { className: "font-medium text-sm flex-1 truncate", children: title }),
55
+ summary && /* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: summary })
56
+ ]
57
+ }
58
+ ),
59
+ open && /* @__PURE__ */ jsx("div", { className: cn("px-density-3 py-density-2 border-t border-border", bodyClassName), children })
60
+ ] });
61
+ }
62
+ function DetailEmptyState({ icon, label, description, className }) {
63
+ return /* @__PURE__ */ jsxs("div", { className: cn("p-density-6 text-center text-muted-foreground", className), children: [
64
+ icon && /* @__PURE__ */ jsx(Icon, { name: icon, className: "text-3xl mb-density-2" }),
65
+ /* @__PURE__ */ jsx("p", { className: "text-sm", children: label }),
66
+ description && /* @__PURE__ */ jsx("p", { className: "text-xs mt-density-1 opacity-70", children: description })
67
+ ] });
68
+ }
69
+ export {
70
+ DetailEmptyState,
71
+ Section
72
+ };
73
+ //# sourceMappingURL=Section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Section.js","sources":["../../src/layout/Section.tsx"],"sourcesContent":["import { useState, type ReactNode } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { Icon } from \"../data/Icon\";\n\nexport type SectionProps = {\n title: ReactNode;\n summary?: ReactNode;\n defaultOpen?: boolean;\n open?: boolean;\n onToggle?: (open: boolean) => void;\n icon?: string;\n tone?: \"default\" | \"danger\" | \"warning\" | \"success\" | \"info\";\n className?: string;\n headerClassName?: string;\n bodyClassName?: string;\n children: ReactNode;\n};\n\nconst toneRing: Record<NonNullable<SectionProps[\"tone\"]>, string> = {\n default: \"\",\n danger: \"border-l-2 border-red-500\",\n warning: \"border-l-2 border-yellow-500\",\n success: \"border-l-2 border-green-500\",\n info: \"border-l-2 border-blue-500\",\n};\n\nexport function Section({\n title,\n summary,\n defaultOpen = false,\n open: openProp,\n onToggle,\n icon,\n tone = \"default\",\n className,\n headerClassName,\n bodyClassName,\n children,\n}: SectionProps) {\n const isControlled = openProp !== undefined;\n const [innerOpen, setInnerOpen] = useState(defaultOpen);\n const open = isControlled ? openProp : innerOpen;\n\n function toggle() {\n const next = !open;\n if (!isControlled) setInnerOpen(next);\n onToggle?.(next);\n }\n\n return (\n <div className={cn(\"rounded-md border border-border bg-background\", toneRing[tone], className)}>\n <button\n type=\"button\"\n onClick={toggle}\n aria-expanded={open}\n className={cn(\n \"w-full flex items-center gap-2 px-density-3 py-density-2 text-left\",\n \"hover:bg-accent/50 transition-colors\",\n headerClassName,\n )}\n >\n <Icon\n name={open ? \"codicon:chevron-down\" : \"codicon:chevron-right\"}\n className=\"text-muted-foreground text-xs\"\n />\n {icon && <Icon name={icon} className=\"text-base\" />}\n <span className=\"font-medium text-sm flex-1 truncate\">{title}</span>\n {summary && <span className=\"text-xs text-muted-foreground\">{summary}</span>}\n </button>\n {open && (\n <div className={cn(\"px-density-3 py-density-2 border-t border-border\", bodyClassName)}>\n {children}\n </div>\n )}\n </div>\n );\n}\n\nexport type DetailEmptyStateProps = {\n icon?: string;\n label: ReactNode;\n description?: ReactNode;\n className?: string;\n};\n\nexport function DetailEmptyState({ icon, label, description, className }: DetailEmptyStateProps) {\n return (\n <div className={cn(\"p-density-6 text-center text-muted-foreground\", className)}>\n {icon && <Icon name={icon} className=\"text-3xl mb-density-2\" />}\n <p className=\"text-sm\">{label}</p>\n {description && <p className=\"text-xs mt-density-1 opacity-70\">{description}</p>}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;AAkBA,MAAM,WAA8D;AAAA,EAClE,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,MAAM;AACR;AAEO,SAAS,QAAQ;AAAA,EACtB;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,MAAM;AAAA,EACN;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAiB;AACf,QAAM,eAAe,aAAa;AAClC,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,WAAW;AACtD,QAAM,OAAO,eAAe,WAAW;AAEvC,WAAS,SAAS;AAChB,UAAM,OAAO,CAAC;AACd,QAAI,CAAC,aAAc,cAAa,IAAI;AACpC,yCAAW;AAAA,EACb;AAEA,SACE,qBAAC,SAAI,WAAW,GAAG,iDAAiD,SAAS,IAAI,GAAG,SAAS,GAC3F,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS;AAAA,QACT,iBAAe;AAAA,QACf,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,QAGF,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAM,OAAO,yBAAyB;AAAA,cACtC,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,UAEX,QAAQ,oBAAC,MAAA,EAAK,MAAM,MAAM,WAAU,aAAY;AAAA,UACjD,oBAAC,QAAA,EAAK,WAAU,uCAAuC,UAAA,OAAM;AAAA,UAC5D,WAAW,oBAAC,QAAA,EAAK,WAAU,iCAAiC,UAAA,QAAA,CAAQ;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAEtE,4BACE,OAAA,EAAI,WAAW,GAAG,oDAAoD,aAAa,GACjF,SAAA,CACH;AAAA,EAAA,GAEJ;AAEJ;AASO,SAAS,iBAAiB,EAAE,MAAM,OAAO,aAAa,aAAoC;AAC/F,8BACG,OAAA,EAAI,WAAW,GAAG,iDAAiD,SAAS,GAC1E,UAAA;AAAA,IAAA,QAAQ,oBAAC,MAAA,EAAK,MAAM,MAAM,WAAU,yBAAwB;AAAA,IAC7D,oBAAC,KAAA,EAAE,WAAU,WAAW,UAAA,OAAM;AAAA,IAC7B,eAAe,oBAAC,KAAA,EAAE,WAAU,mCAAmC,UAAA,YAAA,CAAY;AAAA,EAAA,GAC9E;AAEJ;"}
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ export type SplitPaneProps = {
3
+ left: ReactNode;
4
+ right: ReactNode;
5
+ defaultSplit?: number;
6
+ minLeft?: number;
7
+ minRight?: number;
8
+ leftClass?: string;
9
+ rightClass?: string;
10
+ className?: string;
11
+ };
12
+ export declare function SplitPane({ left, right, defaultSplit, minLeft, minRight, leftClass, rightClass, className, }: SplitPaneProps): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=SplitPane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitPane.d.ts","sourceRoot":"","sources":["../../src/layout/SplitPane.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtE,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,KAAK,EACL,YAAiB,EACjB,OAAY,EACZ,QAAa,EACb,SAAS,EACT,UAAU,EACV,SAAS,GACV,EAAE,cAAc,2CAuDhB"}
@@ -0,0 +1,72 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useState, useRef, useCallback } from "react";
3
+ import { cn } from "../lib/utils.js";
4
+ function SplitPane({
5
+ left,
6
+ right,
7
+ defaultSplit = 50,
8
+ minLeft = 20,
9
+ minRight = 20,
10
+ leftClass,
11
+ rightClass,
12
+ className
13
+ }) {
14
+ const [split, setSplit] = useState(defaultSplit);
15
+ const dragging = useRef(false);
16
+ const container = useRef(null);
17
+ const onMouseDown = useCallback(
18
+ (e) => {
19
+ e.preventDefault();
20
+ dragging.current = true;
21
+ const onMove = (ev) => {
22
+ if (!dragging.current || !container.current) return;
23
+ const rect = container.current.getBoundingClientRect();
24
+ const pct = (ev.clientX - rect.left) / rect.width * 100;
25
+ setSplit(Math.max(minLeft, Math.min(100 - minRight, pct)));
26
+ };
27
+ const onUp = () => {
28
+ dragging.current = false;
29
+ document.removeEventListener("mousemove", onMove);
30
+ document.removeEventListener("mouseup", onUp);
31
+ document.body.style.cursor = "";
32
+ document.body.style.userSelect = "";
33
+ };
34
+ document.addEventListener("mousemove", onMove);
35
+ document.addEventListener("mouseup", onUp);
36
+ document.body.style.cursor = "col-resize";
37
+ document.body.style.userSelect = "none";
38
+ },
39
+ [minLeft, minRight]
40
+ );
41
+ return /* @__PURE__ */ jsxs("div", { ref: container, className: cn("flex flex-1 overflow-hidden min-h-0", className), children: [
42
+ /* @__PURE__ */ jsx(
43
+ "div",
44
+ {
45
+ style: { width: `${split}%` },
46
+ className: cn("overflow-y-auto bg-background min-h-0", leftClass),
47
+ children: left
48
+ }
49
+ ),
50
+ /* @__PURE__ */ jsx(
51
+ "div",
52
+ {
53
+ role: "separator",
54
+ "aria-orientation": "vertical",
55
+ className: "w-1 bg-border hover:bg-primary cursor-col-resize shrink-0 transition-colors",
56
+ onMouseDown
57
+ }
58
+ ),
59
+ /* @__PURE__ */ jsx(
60
+ "div",
61
+ {
62
+ style: { width: `${100 - split}%` },
63
+ className: cn("overflow-hidden bg-background min-h-0", rightClass),
64
+ children: right
65
+ }
66
+ )
67
+ ] });
68
+ }
69
+ export {
70
+ SplitPane
71
+ };
72
+ //# sourceMappingURL=SplitPane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitPane.js","sources":["../../src/layout/SplitPane.tsx"],"sourcesContent":["import { useCallback, useRef, useState, type ReactNode } from \"react\";\nimport { cn } from \"../lib/utils\";\n\nexport type SplitPaneProps = {\n left: ReactNode;\n right: ReactNode;\n defaultSplit?: number;\n minLeft?: number;\n minRight?: number;\n leftClass?: string;\n rightClass?: string;\n className?: string;\n};\n\nexport function SplitPane({\n left,\n right,\n defaultSplit = 50,\n minLeft = 20,\n minRight = 20,\n leftClass,\n rightClass,\n className,\n}: SplitPaneProps) {\n const [split, setSplit] = useState(defaultSplit);\n const dragging = useRef(false);\n const container = useRef<HTMLDivElement>(null);\n\n const onMouseDown = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n dragging.current = true;\n\n const onMove = (ev: MouseEvent) => {\n if (!dragging.current || !container.current) return;\n const rect = container.current.getBoundingClientRect();\n const pct = ((ev.clientX - rect.left) / rect.width) * 100;\n setSplit(Math.max(minLeft, Math.min(100 - minRight, pct)));\n };\n\n const onUp = () => {\n dragging.current = false;\n document.removeEventListener(\"mousemove\", onMove);\n document.removeEventListener(\"mouseup\", onUp);\n document.body.style.cursor = \"\";\n document.body.style.userSelect = \"\";\n };\n\n document.addEventListener(\"mousemove\", onMove);\n document.addEventListener(\"mouseup\", onUp);\n document.body.style.cursor = \"col-resize\";\n document.body.style.userSelect = \"none\";\n },\n [minLeft, minRight],\n );\n\n return (\n <div ref={container} className={cn(\"flex flex-1 overflow-hidden min-h-0\", className)}>\n <div\n style={{ width: `${split}%` }}\n className={cn(\"overflow-y-auto bg-background min-h-0\", leftClass)}\n >\n {left}\n </div>\n <div\n role=\"separator\"\n aria-orientation=\"vertical\"\n className=\"w-1 bg-border hover:bg-primary cursor-col-resize shrink-0 transition-colors\"\n onMouseDown={onMouseDown}\n />\n <div\n style={{ width: `${100 - split}%` }}\n className={cn(\"overflow-hidden bg-background min-h-0\", rightClass)}\n >\n {right}\n </div>\n </div>\n );\n}\n"],"names":[],"mappings":";;;AAcO,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AAAA,EACV,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AACF,GAAmB;AACjB,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,YAAY;AAC/C,QAAM,WAAW,OAAO,KAAK;AAC7B,QAAM,YAAY,OAAuB,IAAI;AAE7C,QAAM,cAAc;AAAA,IAClB,CAAC,MAAwB;AACvB,QAAE,eAAA;AACF,eAAS,UAAU;AAEnB,YAAM,SAAS,CAAC,OAAmB;AACjC,YAAI,CAAC,SAAS,WAAW,CAAC,UAAU,QAAS;AAC7C,cAAM,OAAO,UAAU,QAAQ,sBAAA;AAC/B,cAAM,OAAQ,GAAG,UAAU,KAAK,QAAQ,KAAK,QAAS;AACtD,iBAAS,KAAK,IAAI,SAAS,KAAK,IAAI,MAAM,UAAU,GAAG,CAAC,CAAC;AAAA,MAC3D;AAEA,YAAM,OAAO,MAAM;AACjB,iBAAS,UAAU;AACnB,iBAAS,oBAAoB,aAAa,MAAM;AAChD,iBAAS,oBAAoB,WAAW,IAAI;AAC5C,iBAAS,KAAK,MAAM,SAAS;AAC7B,iBAAS,KAAK,MAAM,aAAa;AAAA,MACnC;AAEA,eAAS,iBAAiB,aAAa,MAAM;AAC7C,eAAS,iBAAiB,WAAW,IAAI;AACzC,eAAS,KAAK,MAAM,SAAS;AAC7B,eAAS,KAAK,MAAM,aAAa;AAAA,IACnC;AAAA,IACA,CAAC,SAAS,QAAQ;AAAA,EAAA;AAGpB,SACE,qBAAC,SAAI,KAAK,WAAW,WAAW,GAAG,uCAAuC,SAAS,GACjF,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO,EAAE,OAAO,GAAG,KAAK,IAAA;AAAA,QACxB,WAAW,GAAG,yCAAyC,SAAS;AAAA,QAE/D,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAEH;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,oBAAiB;AAAA,QACjB,WAAU;AAAA,QACV;AAAA,MAAA;AAAA,IAAA;AAAA,IAEF;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO,EAAE,OAAO,GAAG,MAAM,KAAK,IAAA;AAAA,QAC9B,WAAW,GAAG,yCAAyC,UAAU;AAAA,QAEhE,UAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACH,GACF;AAEJ;"}
@@ -0,0 +1,4 @@
1
+ export declare const AVATAR_PALETTE: readonly string[];
2
+ export declare function fnv1a32(s: string): number;
3
+ export declare function paletteClass(key: string): string;
4
+ //# sourceMappingURL=palette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../src/lib/palette.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAiB3C,CAAC;AAGF,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAOzC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD"}
@@ -0,0 +1,35 @@
1
+ const AVATAR_PALETTE = [
2
+ "bg-rose-100 text-rose-700",
3
+ "bg-pink-100 text-pink-700",
4
+ "bg-fuchsia-100 text-fuchsia-700",
5
+ "bg-purple-100 text-purple-700",
6
+ "bg-violet-100 text-violet-700",
7
+ "bg-indigo-100 text-indigo-700",
8
+ "bg-blue-100 text-blue-700",
9
+ "bg-sky-100 text-sky-700",
10
+ "bg-cyan-100 text-cyan-700",
11
+ "bg-teal-100 text-teal-700",
12
+ "bg-emerald-100 text-emerald-700",
13
+ "bg-green-100 text-green-700",
14
+ "bg-lime-100 text-lime-800",
15
+ "bg-amber-100 text-amber-800",
16
+ "bg-orange-100 text-orange-700",
17
+ "bg-red-100 text-red-700"
18
+ ];
19
+ function fnv1a32(s) {
20
+ let h = 2166136261;
21
+ for (let i = 0; i < s.length; i++) {
22
+ h ^= s.charCodeAt(i);
23
+ h = Math.imul(h, 16777619);
24
+ }
25
+ return h >>> 0;
26
+ }
27
+ function paletteClass(key) {
28
+ return AVATAR_PALETTE[fnv1a32(key) % AVATAR_PALETTE.length];
29
+ }
30
+ export {
31
+ AVATAR_PALETTE,
32
+ fnv1a32,
33
+ paletteClass
34
+ };
35
+ //# sourceMappingURL=palette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette.js","sources":["../../src/lib/palette.ts"],"sourcesContent":["// 16 Tailwind bg/text pairs chosen for WCAG AA contrast at small avatar sizes.\n// Add/remove entries carefully — the index is hash-derived and must stay stable.\nexport const AVATAR_PALETTE: readonly string[] = [\n \"bg-rose-100 text-rose-700\",\n \"bg-pink-100 text-pink-700\",\n \"bg-fuchsia-100 text-fuchsia-700\",\n \"bg-purple-100 text-purple-700\",\n \"bg-violet-100 text-violet-700\",\n \"bg-indigo-100 text-indigo-700\",\n \"bg-blue-100 text-blue-700\",\n \"bg-sky-100 text-sky-700\",\n \"bg-cyan-100 text-cyan-700\",\n \"bg-teal-100 text-teal-700\",\n \"bg-emerald-100 text-emerald-700\",\n \"bg-green-100 text-green-700\",\n \"bg-lime-100 text-lime-800\",\n \"bg-amber-100 text-amber-800\",\n \"bg-orange-100 text-orange-700\",\n \"bg-red-100 text-red-700\",\n];\n\n// Deterministic 32-bit FNV-1a hash. Same input → same output across sessions.\nexport function fnv1a32(s: string): number {\n let h = 0x811c9dc5;\n for (let i = 0; i < s.length; i++) {\n h ^= s.charCodeAt(i);\n h = Math.imul(h, 0x01000193);\n }\n return h >>> 0;\n}\n\nexport function paletteClass(key: string): string {\n return AVATAR_PALETTE[fnv1a32(key) % AVATAR_PALETTE.length]!;\n}\n"],"names":[],"mappings":"AAEO,MAAM,iBAAoC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,SAAS,QAAQ,GAAmB;AACzC,MAAI,IAAI;AACR,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;AACjC,SAAK,EAAE,WAAW,CAAC;AACnB,QAAI,KAAK,KAAK,GAAG,QAAU;AAAA,EAC7B;AACA,SAAO,MAAM;AACf;AAEO,SAAS,aAAa,KAAqB;AAChD,SAAO,eAAe,QAAQ,GAAG,IAAI,eAAe,MAAM;AAC5D;"}
@@ -0,0 +1,6 @@
1
+ import { Density } from '../hooks/use-density';
2
+ export type SizeToken = "xs" | "sm" | "md" | "lg" | "xl";
3
+ export declare const SIZE_TOKENS: SizeToken[];
4
+ export declare function resolveSize(size: SizeToken, density?: Density): number;
5
+ export declare function readDensityFromDom(): Density;
6
+ //# sourceMappingURL=size.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size.d.ts","sourceRoot":"","sources":["../../src/lib/size.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzD,eAAO,MAAM,WAAW,EAAE,SAAS,EAAmC,CAAC;AAQvE,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,GAAE,OAAuB,GAAG,MAAM,CAErF;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAI5C"}
@@ -0,0 +1,14 @@
1
+ const SIZE_TOKENS = ["xs", "sm", "md", "lg", "xl"];
2
+ const SIZE_SCALE = {
3
+ compact: { xs: 14, sm: 18, md: 24, lg: 36, xl: 48 },
4
+ comfortable: { xs: 16, sm: 20, md: 28, lg: 40, xl: 56 },
5
+ spacious: { xs: 20, sm: 24, md: 32, lg: 48, xl: 64 }
6
+ };
7
+ function resolveSize(size, density = "comfortable") {
8
+ return SIZE_SCALE[density][size];
9
+ }
10
+ export {
11
+ SIZE_TOKENS,
12
+ resolveSize
13
+ };
14
+ //# sourceMappingURL=size.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size.js","sources":["../../src/lib/size.ts"],"sourcesContent":["import type { Density } from \"../hooks/use-density\";\n\nexport type SizeToken = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport const SIZE_TOKENS: SizeToken[] = [\"xs\", \"sm\", \"md\", \"lg\", \"xl\"];\n\nconst SIZE_SCALE: Record<Density, Record<SizeToken, number>> = {\n compact: { xs: 14, sm: 18, md: 24, lg: 36, xl: 48 },\n comfortable: { xs: 16, sm: 20, md: 28, lg: 40, xl: 56 },\n spacious: { xs: 20, sm: 24, md: 32, lg: 48, xl: 64 },\n};\n\nexport function resolveSize(size: SizeToken, density: Density = \"comfortable\"): number {\n return SIZE_SCALE[density][size];\n}\n\nexport function readDensityFromDom(): Density {\n if (typeof document === \"undefined\") return \"comfortable\";\n const raw = document.documentElement.getAttribute(\"data-density\");\n return raw === \"compact\" || raw === \"spacious\" ? raw : \"comfortable\";\n}\n"],"names":[],"mappings":"AAIO,MAAM,cAA2B,CAAC,MAAM,MAAM,MAAM,MAAM,IAAI;AAErE,MAAM,aAAyD;AAAA,EAC7D,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAA;AAAA,EAC/C,aAAa,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAA;AAAA,EACnD,UAAU,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAA;AAClD;AAEO,SAAS,YAAY,MAAiB,UAAmB,eAAuB;AACrF,SAAO,WAAW,OAAO,EAAE,IAAI;AACjC;"}
@@ -0,0 +1,3 @@
1
+ import { ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAElD"}
@@ -0,0 +1,9 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
6
+ export {
7
+ cn
8
+ };
9
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../src/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs));\n}\n"],"names":[],"mappings":";;AAGO,SAAS,MAAM,QAA8B;AAClD,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;"}
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ export type HoverCardPlacement = "top" | "bottom" | "left" | "right";
3
+ export type HoverCardProps = {
4
+ trigger: ReactNode;
5
+ children: ReactNode;
6
+ placement?: HoverCardPlacement;
7
+ delay?: number;
8
+ arrow?: boolean;
9
+ className?: string;
10
+ cardClassName?: string;
11
+ };
12
+ export declare function HoverCard({ trigger, children, placement, delay, arrow, className, cardClassName, }: HoverCardProps): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=HoverCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoverCard.d.ts","sourceRoot":"","sources":["../../src/overlay/HoverCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIrF,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAErE,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAUF,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,QAAQ,EACR,SAAiB,EACjB,KAAS,EACT,KAAY,EACZ,SAAS,EACT,aAAa,GACd,EAAE,cAAc,2CA8HhB"}