@flanksource/clicky-ui 0.1.0 → 0.2.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.
- package/README.md +29 -2
- package/dist/api-explorer.d.ts +5 -0
- package/dist/api-explorer.d.ts.map +1 -0
- package/dist/api-explorer.js +25 -0
- package/dist/api-explorer.js.map +1 -0
- package/dist/clicky.d.ts +2 -0
- package/dist/clicky.d.ts.map +1 -0
- package/dist/clicky.js +5 -0
- package/dist/clicky.js.map +1 -0
- package/dist/components/DatePicker.d.ts +18 -0
- package/dist/components/DatePicker.d.ts.map +1 -0
- package/dist/components/DatePicker.js +63 -0
- package/dist/components/DatePicker.js.map +1 -0
- package/dist/components/DateTimePicker.d.ts +18 -0
- package/dist/components/DateTimePicker.d.ts.map +1 -0
- package/dist/components/DateTimePicker.js +84 -0
- package/dist/components/DateTimePicker.js.map +1 -0
- package/dist/components/FilterBar.d.ts +180 -0
- package/dist/components/FilterBar.d.ts.map +1 -0
- package/dist/components/FilterBar.js +1685 -0
- package/dist/components/FilterBar.js.map +1 -0
- package/dist/components/MultiSelect.d.ts +19 -0
- package/dist/components/MultiSelect.d.ts.map +1 -0
- package/dist/components/MultiSelect.js +143 -0
- package/dist/components/MultiSelect.js.map +1 -0
- package/dist/components/RangeSlider.d.ts +16 -0
- package/dist/components/RangeSlider.d.ts.map +1 -0
- package/dist/components/RangeSlider.js +92 -0
- package/dist/components/RangeSlider.js.map +1 -0
- package/dist/components/button.d.ts +21 -0
- package/dist/components/button.d.ts.map +1 -0
- package/dist/components/button.js +126 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/density-switcher.d.ts +7 -0
- package/dist/components/density-switcher.d.ts.map +1 -0
- package/dist/components/density-switcher.js +32 -0
- package/dist/components/density-switcher.js.map +1 -0
- package/dist/components/icon-menu-picker.d.ts +22 -0
- package/dist/components/icon-menu-picker.d.ts.map +1 -0
- package/dist/components/icon-menu-picker.js +181 -0
- package/dist/components/icon-menu-picker.js.map +1 -0
- package/dist/components/select.d.ts +15 -0
- package/dist/components/select.d.ts.map +1 -0
- package/dist/components/select.js +39 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/theme-switcher.d.ts +7 -0
- package/dist/components/theme-switcher.d.ts.map +1 -0
- package/dist/components/theme-switcher.js +42 -0
- package/dist/components/theme-switcher.js.map +1 -0
- package/dist/components.d.ts +14 -0
- package/dist/components.d.ts.map +1 -0
- package/dist/components.js +31 -0
- package/dist/components.js.map +1 -0
- package/dist/data/AnsiHtml.d.ts +7 -0
- package/dist/data/AnsiHtml.d.ts.map +1 -0
- package/dist/data/AnsiHtml.js +71 -0
- package/dist/data/AnsiHtml.js.map +1 -0
- package/dist/data/Avatar.d.ts +32 -0
- package/dist/data/Avatar.d.ts.map +1 -0
- package/dist/data/Avatar.js +201 -0
- package/dist/data/Avatar.js.map +1 -0
- package/dist/data/AvatarBadge.d.ts +26 -0
- package/dist/data/AvatarBadge.d.ts.map +1 -0
- package/dist/data/AvatarBadge.js +104 -0
- package/dist/data/AvatarBadge.js.map +1 -0
- package/dist/data/Badge.d.ts +44 -0
- package/dist/data/Badge.d.ts.map +1 -0
- package/dist/data/Badge.js +667 -0
- package/dist/data/Badge.js.map +1 -0
- package/dist/data/Clicky.d.ts +147 -0
- package/dist/data/Clicky.d.ts.map +1 -0
- package/dist/data/Clicky.fixtures.d.ts +3 -0
- package/dist/data/Clicky.fixtures.d.ts.map +1 -0
- package/dist/data/Clicky.js +1960 -0
- package/dist/data/Clicky.js.map +1 -0
- package/dist/data/DataTable.d.ts +95 -0
- package/dist/data/DataTable.d.ts.map +1 -0
- package/dist/data/DataTable.js +1464 -0
- package/dist/data/DataTable.js.map +1 -0
- package/dist/data/FilterPill.d.ts +29 -0
- package/dist/data/FilterPill.d.ts.map +1 -0
- package/dist/data/FilterPill.js +153 -0
- package/dist/data/FilterPill.js.map +1 -0
- package/dist/data/Gauge.d.ts +15 -0
- package/dist/data/Gauge.d.ts.map +1 -0
- package/dist/data/Gauge.js +63 -0
- package/dist/data/Gauge.js.map +1 -0
- package/dist/data/Icon.d.ts +53 -0
- package/dist/data/Icon.d.ts.map +1 -0
- package/dist/data/Icon.js +115 -0
- package/dist/data/Icon.js.map +1 -0
- package/dist/data/JsonView.d.ts +8 -0
- package/dist/data/JsonView.d.ts.map +1 -0
- package/dist/data/JsonView.js +74 -0
- package/dist/data/JsonView.js.map +1 -0
- package/dist/data/KeyValueList.d.ts +17 -0
- package/dist/data/KeyValueList.d.ts.map +1 -0
- package/dist/data/KeyValueList.js +33 -0
- package/dist/data/KeyValueList.js.map +1 -0
- package/dist/data/LogViewer.d.ts +10 -0
- package/dist/data/LogViewer.d.ts.map +1 -0
- package/dist/data/LogViewer.js +46 -0
- package/dist/data/LogViewer.js.map +1 -0
- package/dist/data/LogsTable.d.ts +27 -0
- package/dist/data/LogsTable.d.ts.map +1 -0
- package/dist/data/LogsTable.js +580 -0
- package/dist/data/LogsTable.js.map +1 -0
- package/dist/data/Markdown.d.ts +6 -0
- package/dist/data/Markdown.d.ts.map +1 -0
- package/dist/data/Markdown.js +59 -0
- package/dist/data/Markdown.js.map +1 -0
- package/dist/data/MatrixTable.d.ts +22 -0
- package/dist/data/MatrixTable.d.ts.map +1 -0
- package/dist/data/MatrixTable.js +164 -0
- package/dist/data/MatrixTable.js.map +1 -0
- package/dist/data/MethodBadge.d.ts +6 -0
- package/dist/data/MethodBadge.d.ts.map +1 -0
- package/dist/data/MethodBadge.js +18 -0
- package/dist/data/MethodBadge.js.map +1 -0
- package/dist/data/ProgressBar.d.ts +13 -0
- package/dist/data/ProgressBar.d.ts.map +1 -0
- package/dist/data/ProgressBar.js +34 -0
- package/dist/data/ProgressBar.js.map +1 -0
- package/dist/data/SortableHeader.d.ts +12 -0
- package/dist/data/SortableHeader.d.ts.map +1 -0
- package/dist/data/SortableHeader.js +33 -0
- package/dist/data/SortableHeader.js.map +1 -0
- package/dist/data/TabButton.d.ts +12 -0
- package/dist/data/TabButton.d.ts.map +1 -0
- package/dist/data/TabButton.js +45 -0
- package/dist/data/TabButton.js.map +1 -0
- package/dist/data/Tree.d.ts +35 -0
- package/dist/data/Tree.d.ts.map +1 -0
- package/dist/data/Tree.js +236 -0
- package/dist/data/Tree.js.map +1 -0
- package/dist/data/TreeGroupHeader.d.ts +11 -0
- package/dist/data/TreeGroupHeader.d.ts.map +1 -0
- package/dist/data/TreeGroupHeader.js +41 -0
- package/dist/data/TreeGroupHeader.js.map +1 -0
- package/dist/data/TreeNode.d.ts +43 -0
- package/dist/data/TreeNode.d.ts.map +1 -0
- package/dist/data/TreeNode.js +100 -0
- package/dist/data/TreeNode.js.map +1 -0
- package/dist/data/cells/StatusDot.d.ts +11 -0
- package/dist/data/cells/StatusDot.d.ts.map +1 -0
- package/dist/data/cells/StatusDot.js +38 -0
- package/dist/data/cells/StatusDot.js.map +1 -0
- package/dist/data/cells/TagList.d.ts +59 -0
- package/dist/data/cells/TagList.d.ts.map +1 -0
- package/dist/data/cells/TagList.js +257 -0
- package/dist/data/cells/TagList.js.map +1 -0
- package/dist/data/cells/Timestamp.d.ts +46 -0
- package/dist/data/cells/Timestamp.d.ts.map +1 -0
- package/dist/data/cells/Timestamp.js +146 -0
- package/dist/data/cells/Timestamp.js.map +1 -0
- package/dist/data/cells/status-mapping.d.ts +8 -0
- package/dist/data/cells/status-mapping.d.ts.map +1 -0
- package/dist/data/cells/status-mapping.js +44 -0
- package/dist/data/cells/status-mapping.js.map +1 -0
- package/dist/data/code-highlight.d.ts +12 -0
- package/dist/data/code-highlight.d.ts.map +1 -0
- package/dist/data/code-highlight.js +28 -0
- package/dist/data/code-highlight.js.map +1 -0
- package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts +9 -0
- package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts.map +1 -0
- package/dist/data/diagnostics/DiagnosticsDetailPanel.js +445 -0
- package/dist/data/diagnostics/DiagnosticsDetailPanel.js.map +1 -0
- package/dist/data/diagnostics/DiagnosticsTree.d.ts +9 -0
- package/dist/data/diagnostics/DiagnosticsTree.d.ts.map +1 -0
- package/dist/data/diagnostics/DiagnosticsTree.js +78 -0
- package/dist/data/diagnostics/DiagnosticsTree.js.map +1 -0
- package/dist/data/diagnostics/ErrorDetails.d.ts +20 -0
- package/dist/data/diagnostics/ErrorDetails.d.ts.map +1 -0
- package/dist/data/diagnostics/ErrorDetails.js +157 -0
- package/dist/data/diagnostics/ErrorDetails.js.map +1 -0
- package/dist/data/diagnostics/GoroutineCard.d.ts +10 -0
- package/dist/data/diagnostics/GoroutineCard.d.ts.map +1 -0
- package/dist/data/diagnostics/GoroutineCard.js +75 -0
- package/dist/data/diagnostics/GoroutineCard.js.map +1 -0
- package/dist/data/diagnostics/JvmStackTrace.d.ts +11 -0
- package/dist/data/diagnostics/JvmStackTrace.d.ts.map +1 -0
- package/dist/data/diagnostics/JvmStackTrace.js +26 -0
- package/dist/data/diagnostics/JvmStackTrace.js.map +1 -0
- package/dist/data/diagnostics/RenderedStackTrace.d.ts +18 -0
- package/dist/data/diagnostics/RenderedStackTrace.d.ts.map +1 -0
- package/dist/data/diagnostics/RenderedStackTrace.js +235 -0
- package/dist/data/diagnostics/RenderedStackTrace.js.map +1 -0
- package/dist/data/diagnostics/ThreadCard.d.ts +10 -0
- package/dist/data/diagnostics/ThreadCard.d.ts.map +1 -0
- package/dist/data/diagnostics/ThreadCard.js +78 -0
- package/dist/data/diagnostics/ThreadCard.js.map +1 -0
- package/dist/data/diagnostics/error-diagnostics.d.ts +26 -0
- package/dist/data/diagnostics/error-diagnostics.d.ts.map +1 -0
- package/dist/data/diagnostics/error-diagnostics.js +108 -0
- package/dist/data/diagnostics/error-diagnostics.js.map +1 -0
- package/dist/data/diagnostics/fixtures.d.ts +3 -0
- package/dist/data/diagnostics/fixtures.d.ts.map +1 -0
- package/dist/data/diagnostics/jvm-stacktrace.d.ts +34 -0
- package/dist/data/diagnostics/jvm-stacktrace.d.ts.map +1 -0
- package/dist/data/diagnostics/jvm-stacktrace.js +190 -0
- package/dist/data/diagnostics/jvm-stacktrace.js.map +1 -0
- package/dist/data/diagnostics/stacktrace-parse.d.ts +11 -0
- package/dist/data/diagnostics/stacktrace-parse.d.ts.map +1 -0
- package/dist/data/diagnostics/stacktrace-parse.js +87 -0
- package/dist/data/diagnostics/stacktrace-parse.js.map +1 -0
- package/dist/data/diagnostics/stacktrace.d.ts +38 -0
- package/dist/data/diagnostics/stacktrace.d.ts.map +1 -0
- package/dist/data/diagnostics/stacktrace.js +119 -0
- package/dist/data/diagnostics/stacktrace.js.map +1 -0
- package/dist/data/diagnostics/types.d.ts +30 -0
- package/dist/data/diagnostics/types.d.ts.map +1 -0
- package/dist/data/diagnostics/utils.d.ts +8 -0
- package/dist/data/diagnostics/utils.d.ts.map +1 -0
- package/dist/data/diagnostics/utils.js +59 -0
- package/dist/data/diagnostics/utils.js.map +1 -0
- package/dist/data/har/HarPanel.d.ts +9 -0
- package/dist/data/har/HarPanel.d.ts.map +1 -0
- package/dist/data/har/HarPanel.js +175 -0
- package/dist/data/har/HarPanel.js.map +1 -0
- package/dist/data/har/fixtures.d.ts +3 -0
- package/dist/data/har/fixtures.d.ts.map +1 -0
- package/dist/data/har/types.d.ts +47 -0
- package/dist/data/har/types.d.ts.map +1 -0
- package/dist/data.d.ts +39 -0
- package/dist/data.d.ts.map +1 -0
- package/dist/data.js +109 -0
- package/dist/data.js.map +1 -0
- package/dist/hooks/use-density.d.ts +22 -0
- package/dist/hooks/use-density.d.ts.map +1 -0
- package/dist/hooks/use-density.js +54 -0
- package/dist/hooks/use-density.js.map +1 -0
- package/dist/hooks/use-history-route.d.ts +6 -0
- package/dist/hooks/use-history-route.d.ts.map +1 -0
- package/dist/hooks/use-history-route.js +31 -0
- package/dist/hooks/use-history-route.js.map +1 -0
- package/dist/hooks/use-sort.d.ts +17 -0
- package/dist/hooks/use-sort.d.ts.map +1 -0
- package/dist/hooks/use-sort.js +42 -0
- package/dist/hooks/use-sort.js.map +1 -0
- package/dist/hooks/use-theme.d.ts +17 -0
- package/dist/hooks/use-theme.d.ts.map +1 -0
- package/dist/hooks/use-theme.js +68 -0
- package/dist/hooks/use-theme.js.map +1 -0
- package/dist/hooks.d.ts +5 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +14 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +193 -0
- package/dist/index.js.map +1 -0
- package/dist/layout/Section.d.ts +23 -0
- package/dist/layout/Section.d.ts.map +1 -0
- package/dist/layout/Section.js +73 -0
- package/dist/layout/Section.js.map +1 -0
- package/dist/layout/SplitPane.d.ts +13 -0
- package/dist/layout/SplitPane.d.ts.map +1 -0
- package/dist/layout/SplitPane.js +72 -0
- package/dist/layout/SplitPane.js.map +1 -0
- package/dist/lib/palette.d.ts +4 -0
- package/dist/lib/palette.d.ts.map +1 -0
- package/dist/lib/palette.js +35 -0
- package/dist/lib/palette.js.map +1 -0
- package/dist/lib/size.d.ts +6 -0
- package/dist/lib/size.d.ts.map +1 -0
- package/dist/lib/size.js +14 -0
- package/dist/lib/size.js.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +9 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/overlay/HoverCard.d.ts +13 -0
- package/dist/overlay/HoverCard.d.ts.map +1 -0
- package/dist/overlay/HoverCard.js +170 -0
- package/dist/overlay/HoverCard.js.map +1 -0
- package/dist/overlay/Modal.d.ts +17 -0
- package/dist/overlay/Modal.d.ts.map +1 -0
- package/dist/overlay/Modal.js +91 -0
- package/dist/overlay/Modal.js.map +1 -0
- package/dist/rpc/AcceptPicker.d.ts +52 -0
- package/dist/rpc/AcceptPicker.d.ts.map +1 -0
- package/dist/rpc/AcceptPicker.js +126 -0
- package/dist/rpc/AcceptPicker.js.map +1 -0
- package/dist/rpc/ApiExplorer.d.ts +11 -0
- package/dist/rpc/ApiExplorer.d.ts.map +1 -0
- package/dist/rpc/ApiExplorer.js +37 -0
- package/dist/rpc/ApiExplorer.js.map +1 -0
- package/dist/rpc/CommandForm.d.ts +15 -0
- package/dist/rpc/CommandForm.d.ts.map +1 -0
- package/dist/rpc/CommandForm.js +356 -0
- package/dist/rpc/CommandForm.js.map +1 -0
- package/dist/rpc/CommandOutput.d.ts +11 -0
- package/dist/rpc/CommandOutput.d.ts.map +1 -0
- package/dist/rpc/CommandOutput.js +195 -0
- package/dist/rpc/CommandOutput.js.map +1 -0
- package/dist/rpc/EndpointList.d.ts +18 -0
- package/dist/rpc/EndpointList.d.ts.map +1 -0
- package/dist/rpc/EndpointList.js +56 -0
- package/dist/rpc/EndpointList.js.map +1 -0
- package/dist/rpc/EntityExplorerApp.d.ts +15 -0
- package/dist/rpc/EntityExplorerApp.d.ts.map +1 -0
- package/dist/rpc/EntityExplorerApp.js +282 -0
- package/dist/rpc/EntityExplorerApp.js.map +1 -0
- package/dist/rpc/ExecutionResult.d.ts +14 -0
- package/dist/rpc/ExecutionResult.d.ts.map +1 -0
- package/dist/rpc/ExecutionResult.js +51 -0
- package/dist/rpc/ExecutionResult.js.map +1 -0
- package/dist/rpc/FilterForm.d.ts +22 -0
- package/dist/rpc/FilterForm.d.ts.map +1 -0
- package/dist/rpc/FilterForm.js +392 -0
- package/dist/rpc/FilterForm.js.map +1 -0
- package/dist/rpc/InlineError.d.ts +7 -0
- package/dist/rpc/InlineError.d.ts.map +1 -0
- package/dist/rpc/InlineError.js +54 -0
- package/dist/rpc/InlineError.js.map +1 -0
- package/dist/rpc/OperationActionDialog.d.ts +12 -0
- package/dist/rpc/OperationActionDialog.d.ts.map +1 -0
- package/dist/rpc/OperationActionDialog.js +105 -0
- package/dist/rpc/OperationActionDialog.js.map +1 -0
- package/dist/rpc/OperationCatalog.d.ts +21 -0
- package/dist/rpc/OperationCatalog.d.ts.map +1 -0
- package/dist/rpc/OperationCatalog.js +339 -0
- package/dist/rpc/OperationCatalog.js.map +1 -0
- package/dist/rpc/OperationCommandPage.d.ts +22 -0
- package/dist/rpc/OperationCommandPage.d.ts.map +1 -0
- package/dist/rpc/OperationCommandPage.js +484 -0
- package/dist/rpc/OperationCommandPage.js.map +1 -0
- package/dist/rpc/OperationEntityPage.d.ts +23 -0
- package/dist/rpc/OperationEntityPage.d.ts.map +1 -0
- package/dist/rpc/OperationEntityPage.js +218 -0
- package/dist/rpc/OperationEntityPage.js.map +1 -0
- package/dist/rpc/classify.d.ts +8 -0
- package/dist/rpc/classify.d.ts.map +1 -0
- package/dist/rpc/classify.js +76 -0
- package/dist/rpc/classify.js.map +1 -0
- package/dist/rpc/clickyMetadata.d.ts +12 -0
- package/dist/rpc/clickyMetadata.d.ts.map +1 -0
- package/dist/rpc/clickyMetadata.js +71 -0
- package/dist/rpc/clickyMetadata.js.map +1 -0
- package/dist/rpc/formMetadata.d.ts +27 -0
- package/dist/rpc/formMetadata.d.ts.map +1 -0
- package/dist/rpc/formMetadata.js +250 -0
- package/dist/rpc/formMetadata.js.map +1 -0
- package/dist/rpc/types.d.ts +109 -0
- package/dist/rpc/types.d.ts.map +1 -0
- package/dist/rpc/types.js +8 -0
- package/dist/rpc/types.js.map +1 -0
- package/dist/rpc/useOperations.d.ts +346 -0
- package/dist/rpc/useOperations.d.ts.map +1 -0
- package/dist/rpc/useOperations.js +31 -0
- package/dist/rpc/useOperations.js.map +1 -0
- package/dist/rpc.d.ts +14 -0
- package/dist/rpc.d.ts.map +1 -0
- package/dist/rpc.js +37 -0
- package/dist/rpc.js.map +1 -0
- package/dist/styles.css +2 -0
- package/dist/styles.d.ts +1 -0
- package/dist/styles.d.ts.map +1 -0
- package/dist/styles.js +2 -0
- package/dist/styles.js.map +1 -0
- package/dist/tailwind-preset.d.ts +4 -0
- package/dist/tailwind-preset.d.ts.map +1 -0
- package/dist/tailwind-preset.js +69 -0
- package/dist/tailwind-preset.js.map +1 -0
- package/dist/utils.d.ts +4 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +12 -0
- package/dist/utils.js.map +1 -0
- package/package.json +83 -40
- package/dist/index.d.mts +0 -834
- package/dist/index.d.mts.map +0 -1
- package/dist/index.mjs +0 -2918
- package/dist/index.mjs.map +0 -1
- package/dist/tailwind-preset.d.mts +0 -7
- package/dist/tailwind-preset.d.mts.map +0 -1
- package/dist/tailwind-preset.mjs +0 -64
- package/dist/tailwind-preset.mjs.map +0 -1
- package/src/styles/tokens.css +0 -78
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../src/data/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,OAAO,CAAC;AAG1D,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAK1D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE1C,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7F,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,mEAAmE;IACnE,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB,CAAC;AAYF;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,qBAAqB,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAI9D;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI,CAErF;AA6DD,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,SAAS,EACT,KAAK,EACL,MAAM,EACN,MAAM,EACN,IAAI,EACJ,MAAM,EACN,KAAK,EACL,KAAe,EACf,IAAI,EACJ,IAAgB,GACjB,EAAE,SAAS,2CA2CX"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { iconLoaded, Icon as Icon$1 } from "@iconify/react";
|
|
3
|
+
import { cn } from "../lib/utils.js";
|
|
4
|
+
import { resolveSize } from "../lib/size.js";
|
|
5
|
+
import { useDensityValue } from "../hooks/use-density.js";
|
|
6
|
+
const TONE_CLASSES = {
|
|
7
|
+
emerald: "text-emerald-700 ring-emerald-200/80",
|
|
8
|
+
amber: "text-amber-700 ring-amber-200/80",
|
|
9
|
+
rose: "text-rose-700 ring-rose-200/80",
|
|
10
|
+
slate: "text-slate-700 ring-slate-200/80",
|
|
11
|
+
sky: "text-sky-700 ring-sky-200/80",
|
|
12
|
+
violet: "text-violet-700 ring-violet-200/80",
|
|
13
|
+
neutral: "text-foreground ring-border"
|
|
14
|
+
};
|
|
15
|
+
let fallbackIcon = null;
|
|
16
|
+
function setFallbackIconProvider(component) {
|
|
17
|
+
fallbackIcon = component;
|
|
18
|
+
}
|
|
19
|
+
function renderGlyph(name, glyphWidth, glyphHeight, rotate, flip, inline, glyphClassName, title) {
|
|
20
|
+
if (iconLoaded(name)) {
|
|
21
|
+
return /* @__PURE__ */ jsx(
|
|
22
|
+
Icon$1,
|
|
23
|
+
{
|
|
24
|
+
icon: name,
|
|
25
|
+
...glyphClassName ? { className: glyphClassName } : {},
|
|
26
|
+
...glyphWidth != null ? { width: glyphWidth } : {},
|
|
27
|
+
...glyphHeight != null ? { height: glyphHeight } : {},
|
|
28
|
+
...typeof rotate === "number" ? { rotate } : {},
|
|
29
|
+
...flip != null ? { flip } : {},
|
|
30
|
+
...inline != null ? { inline } : {},
|
|
31
|
+
...title ? { title } : {}
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
if (fallbackIcon) {
|
|
36
|
+
const Fallback = fallbackIcon;
|
|
37
|
+
const glyphSize = typeof glyphWidth === "number" ? glyphWidth : glyphHeight;
|
|
38
|
+
return /* @__PURE__ */ jsx(
|
|
39
|
+
Fallback,
|
|
40
|
+
{
|
|
41
|
+
name,
|
|
42
|
+
...glyphClassName ? { className: glyphClassName } : {},
|
|
43
|
+
...glyphSize != null ? { size: glyphSize } : {},
|
|
44
|
+
...title ? { alt: title } : {}
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
const iconifyProps = {
|
|
49
|
+
icon: name,
|
|
50
|
+
className: glyphClassName,
|
|
51
|
+
"aria-hidden": title ? void 0 : true
|
|
52
|
+
};
|
|
53
|
+
if (glyphWidth != null) iconifyProps.width = glyphWidth;
|
|
54
|
+
if (glyphHeight != null) iconifyProps.height = glyphHeight;
|
|
55
|
+
if (rotate != null) iconifyProps.rotate = rotate;
|
|
56
|
+
if (flip != null) iconifyProps.flip = flip;
|
|
57
|
+
if (inline != null) iconifyProps.inline = inline;
|
|
58
|
+
if (title != null) iconifyProps.title = title;
|
|
59
|
+
return /* @__PURE__ */ jsx("iconify-icon", { ...iconifyProps });
|
|
60
|
+
}
|
|
61
|
+
function Icon({
|
|
62
|
+
name,
|
|
63
|
+
className,
|
|
64
|
+
width,
|
|
65
|
+
height,
|
|
66
|
+
rotate,
|
|
67
|
+
flip,
|
|
68
|
+
inline,
|
|
69
|
+
title,
|
|
70
|
+
style = "plain",
|
|
71
|
+
size,
|
|
72
|
+
tone = "neutral"
|
|
73
|
+
}) {
|
|
74
|
+
const density = useDensityValue();
|
|
75
|
+
const pxSize = size != null ? resolveSize(size, density) : void 0;
|
|
76
|
+
const glyphSize = pxSize != null ? Math.max(8, Math.round(pxSize * 0.5)) : void 0;
|
|
77
|
+
const resolvedWidth = width ?? (style === "badge" ? glyphSize : pxSize);
|
|
78
|
+
const resolvedHeight = height ?? (style === "badge" ? glyphSize : pxSize);
|
|
79
|
+
const glyphClassName = cn("shrink-0", style === "plain" ? className : void 0);
|
|
80
|
+
const glyphTitle = style === "plain" ? title : void 0;
|
|
81
|
+
const icon = renderGlyph(
|
|
82
|
+
name,
|
|
83
|
+
resolvedWidth,
|
|
84
|
+
resolvedHeight,
|
|
85
|
+
rotate,
|
|
86
|
+
flip,
|
|
87
|
+
inline,
|
|
88
|
+
glyphClassName,
|
|
89
|
+
glyphTitle
|
|
90
|
+
);
|
|
91
|
+
if (style === "plain") {
|
|
92
|
+
return icon;
|
|
93
|
+
}
|
|
94
|
+
const badgeStyle = pxSize != null ? { width: pxSize, height: pxSize } : void 0;
|
|
95
|
+
return /* @__PURE__ */ jsx(
|
|
96
|
+
"span",
|
|
97
|
+
{
|
|
98
|
+
title,
|
|
99
|
+
"aria-label": title,
|
|
100
|
+
role: title ? "img" : void 0,
|
|
101
|
+
className: cn(
|
|
102
|
+
"inline-flex items-center justify-center rounded-full bg-white shadow-sm ring-1 ring-inset",
|
|
103
|
+
TONE_CLASSES[tone],
|
|
104
|
+
className
|
|
105
|
+
),
|
|
106
|
+
style: badgeStyle,
|
|
107
|
+
children: icon
|
|
108
|
+
}
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
export {
|
|
112
|
+
Icon,
|
|
113
|
+
setFallbackIconProvider
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=Icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Icon.js","sources":["../../src/data/Icon.tsx"],"sourcesContent":["import type { CSSProperties, ComponentType } from \"react\";\nimport { Icon as IconifyReactIcon, iconLoaded } from \"@iconify/react\";\nimport { cn } from \"../lib/utils\";\nimport { resolveSize, type SizeToken } from \"../lib/size\";\nimport { useDensityValue } from \"../hooks/use-density\";\n// Type augmentation (no runtime side-effects) — include via tsconfig.\n// @see ./iconify-icon.d.ts\n\nexport type IconStyle = \"plain\" | \"badge\";\n\nexport type IconTone = \"emerald\" | \"amber\" | \"rose\" | \"slate\" | \"sky\" | \"violet\" | \"neutral\";\n\nexport type IconProps = {\n name: string;\n className?: string;\n width?: string | number;\n height?: string | number;\n rotate?: string | number;\n flip?: string;\n inline?: boolean;\n title?: string;\n /**\n * Presentation style. `plain` (default) renders the icon inline.\n * `badge` wraps the icon in a circular chip (white background, ring, shadow)\n * sized by `size` — use in stage/approval cells so the chip scales with a\n * neighbouring avatar.\n */\n style?: IconStyle;\n /**\n * Named size token (xxs..xxl). Drives the badge diameter and glyph. The\n * glyph is always ~50% of the badge diameter so it scales consistently\n * across sizes. For `style=\"plain\"` it sets width/height when neither is\n * provided.\n */\n size?: SizeToken;\n /** Semantic color for `style=\"badge\"`. Ignored for plain icons. */\n tone?: IconTone;\n};\n\nconst TONE_CLASSES: Record<IconTone, string> = {\n emerald: \"text-emerald-700 ring-emerald-200/80\",\n amber: \"text-amber-700 ring-amber-200/80\",\n rose: \"text-rose-700 ring-rose-200/80\",\n slate: \"text-slate-700 ring-slate-200/80\",\n sky: \"text-sky-700 ring-sky-200/80\",\n violet: \"text-violet-700 ring-violet-200/80\",\n neutral: \"text-foreground ring-border\",\n};\n\n/**\n * Optional secondary icon provider. Consumers can plug in a component\n * (e.g. `Icon` from `@flanksource/icons/icon`) to supply glyphs that the\n * iconify registry doesn't know about (brand logos, k8s resource icons,\n * etc.). Clicky-ui never imports the package directly so consumers that\n * don't need it avoid the dependency entirely.\n */\nexport type FallbackIconProps = {\n name?: string;\n className?: string;\n size?: string | number;\n alt?: string;\n};\n\ntype FallbackIconComponent = ComponentType<FallbackIconProps>;\n\nlet fallbackIcon: FallbackIconComponent | null = null;\n\n/**\n * Register a secondary glyph provider. Pass the flanksource Icon (or any\n * compatible component) to resolve names that `@iconify/react` hasn't\n * loaded. Call this once at app bootstrap.\n */\nexport function setFallbackIconProvider(component: FallbackIconComponent | null): void {\n fallbackIcon = component;\n}\n\nfunction renderGlyph(\n name: string,\n glyphWidth: number | string | undefined,\n glyphHeight: number | string | undefined,\n rotate: string | number | undefined,\n flip: string | undefined,\n inline: boolean | undefined,\n glyphClassName: string | undefined,\n title: string | undefined,\n): JSX.Element {\n // 1. @iconify/react — build-time lookup via consumer-registered collections.\n // Only used when the icon is already in the registry so we never trigger\n // a network fetch during SSR.\n if (iconLoaded(name)) {\n return (\n <IconifyReactIcon\n icon={name}\n {...(glyphClassName ? { className: glyphClassName } : {})}\n {...(glyphWidth != null ? { width: glyphWidth } : {})}\n {...(glyphHeight != null ? { height: glyphHeight } : {})}\n {...(typeof rotate === \"number\" ? { rotate } : {})}\n {...(flip != null ? { flip } : {})}\n {...(inline != null ? { inline } : {})}\n {...(title ? { title } : {})}\n />\n );\n }\n\n // 2. Consumer-supplied fallback (e.g. @flanksource/icons/icon) — for\n // brand/platform glyphs not carried by iconify collections.\n if (fallbackIcon) {\n const Fallback = fallbackIcon;\n const glyphSize = typeof glyphWidth === \"number\" ? glyphWidth : glyphHeight;\n return (\n <Fallback\n name={name}\n {...(glyphClassName ? { className: glyphClassName } : {})}\n {...(glyphSize != null ? { size: glyphSize } : {})}\n {...(title ? { alt: title } : {})}\n />\n );\n }\n\n // 3. <iconify-icon> web component — runtime fallback. Requires the script\n // to be loaded on the host page.\n const iconifyProps: Record<string, unknown> = {\n icon: name,\n className: glyphClassName,\n \"aria-hidden\": title ? undefined : true,\n };\n if (glyphWidth != null) iconifyProps.width = glyphWidth;\n if (glyphHeight != null) iconifyProps.height = glyphHeight;\n if (rotate != null) iconifyProps.rotate = rotate;\n if (flip != null) iconifyProps.flip = flip;\n if (inline != null) iconifyProps.inline = inline;\n if (title != null) iconifyProps.title = title;\n return <iconify-icon {...iconifyProps} />;\n}\n\nexport function Icon({\n name,\n className,\n width,\n height,\n rotate,\n flip,\n inline,\n title,\n style = \"plain\",\n size,\n tone = \"neutral\",\n}: IconProps) {\n const density = useDensityValue();\n const pxSize = size != null ? resolveSize(size, density) : undefined;\n const glyphSize = pxSize != null ? Math.max(8, Math.round(pxSize * 0.5)) : undefined;\n const resolvedWidth = width ?? (style === \"badge\" ? glyphSize : pxSize);\n const resolvedHeight = height ?? (style === \"badge\" ? glyphSize : pxSize);\n\n const glyphClassName = cn(\"shrink-0\", style === \"plain\" ? className : undefined);\n const glyphTitle = style === \"plain\" ? title : undefined;\n\n const icon = renderGlyph(\n name,\n resolvedWidth,\n resolvedHeight,\n rotate,\n flip,\n inline,\n glyphClassName,\n glyphTitle,\n );\n\n if (style === \"plain\") {\n return icon;\n }\n\n const badgeStyle: CSSProperties | undefined =\n pxSize != null ? { width: pxSize, height: pxSize } : undefined;\n\n return (\n <span\n title={title}\n aria-label={title}\n role={title ? \"img\" : undefined}\n className={cn(\n \"inline-flex items-center justify-center rounded-full bg-white shadow-sm ring-1 ring-inset\",\n TONE_CLASSES[tone],\n className,\n )}\n style={badgeStyle}\n >\n {icon}\n </span>\n );\n}\n"],"names":["IconifyReactIcon"],"mappings":";;;;;AAuCA,MAAM,eAAyC;AAAA,EAC7C,SAAS;AAAA,EACT,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,SAAS;AACX;AAkBA,IAAI,eAA6C;AAO1C,SAAS,wBAAwB,WAA+C;AACrF,iBAAe;AACjB;AAEA,SAAS,YACP,MACA,YACA,aACA,QACA,MACA,QACA,gBACA,OACa;AAIb,MAAI,WAAW,IAAI,GAAG;AACpB,WACE;AAAA,MAACA;AAAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACL,GAAI,iBAAiB,EAAE,WAAW,eAAA,IAAmB,CAAA;AAAA,QACrD,GAAI,cAAc,OAAO,EAAE,OAAO,WAAA,IAAe,CAAA;AAAA,QACjD,GAAI,eAAe,OAAO,EAAE,QAAQ,YAAA,IAAgB,CAAA;AAAA,QACpD,GAAI,OAAO,WAAW,WAAW,EAAE,OAAA,IAAW,CAAA;AAAA,QAC9C,GAAI,QAAQ,OAAO,EAAE,KAAA,IAAS,CAAA;AAAA,QAC9B,GAAI,UAAU,OAAO,EAAE,OAAA,IAAW,CAAA;AAAA,QAClC,GAAI,QAAQ,EAAE,UAAU,CAAA;AAAA,MAAC;AAAA,IAAA;AAAA,EAGhC;AAIA,MAAI,cAAc;AAChB,UAAM,WAAW;AACjB,UAAM,YAAY,OAAO,eAAe,WAAW,aAAa;AAChE,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACC,GAAI,iBAAiB,EAAE,WAAW,eAAA,IAAmB,CAAA;AAAA,QACrD,GAAI,aAAa,OAAO,EAAE,MAAM,UAAA,IAAc,CAAA;AAAA,QAC9C,GAAI,QAAQ,EAAE,KAAK,UAAU,CAAA;AAAA,MAAC;AAAA,IAAA;AAAA,EAGrC;AAIA,QAAM,eAAwC;AAAA,IAC5C,MAAM;AAAA,IACN,WAAW;AAAA,IACX,eAAe,QAAQ,SAAY;AAAA,EAAA;AAErC,MAAI,cAAc,KAAM,cAAa,QAAQ;AAC7C,MAAI,eAAe,KAAM,cAAa,SAAS;AAC/C,MAAI,UAAU,KAAM,cAAa,SAAS;AAC1C,MAAI,QAAQ,KAAM,cAAa,OAAO;AACtC,MAAI,UAAU,KAAM,cAAa,SAAS;AAC1C,MAAI,SAAS,KAAM,cAAa,QAAQ;AACxC,SAAO,oBAAC,gBAAA,EAAc,GAAG,aAAA,CAAc;AACzC;AAEO,SAAS,KAAK;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA,OAAO;AACT,GAAc;AACZ,QAAM,UAAU,gBAAA;AAChB,QAAM,SAAS,QAAQ,OAAO,YAAY,MAAM,OAAO,IAAI;AAC3D,QAAM,YAAY,UAAU,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,SAAS,GAAG,CAAC,IAAI;AAC3E,QAAM,gBAAgB,UAAU,UAAU,UAAU,YAAY;AAChE,QAAM,iBAAiB,WAAW,UAAU,UAAU,YAAY;AAElE,QAAM,iBAAiB,GAAG,YAAY,UAAU,UAAU,YAAY,MAAS;AAC/E,QAAM,aAAa,UAAU,UAAU,QAAQ;AAE/C,QAAM,OAAO;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,MAAI,UAAU,SAAS;AACrB,WAAO;AAAA,EACT;AAEA,QAAM,aACJ,UAAU,OAAO,EAAE,OAAO,QAAQ,QAAQ,WAAW;AAEvD,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,cAAY;AAAA,MACZ,MAAM,QAAQ,QAAQ;AAAA,MACtB,WAAW;AAAA,QACT;AAAA,QACA,aAAa,IAAI;AAAA,QACjB;AAAA,MAAA;AAAA,MAEF,OAAO;AAAA,MAEN,UAAA;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type JsonViewProps = {
|
|
2
|
+
data: unknown;
|
|
3
|
+
name?: string;
|
|
4
|
+
depth?: number;
|
|
5
|
+
defaultOpenDepth?: number;
|
|
6
|
+
};
|
|
7
|
+
export declare function JsonView({ data, name, depth, defaultOpenDepth }: JsonViewProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=JsonView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonView.d.ts","sourceRoot":"","sources":["../../src/data/JsonView.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAS,EAAE,gBAAoB,EAAE,EAAE,aAAa,2CA6EtF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
function JsonView({ data, name, depth = 0, defaultOpenDepth = 2 }) {
|
|
4
|
+
const [open, setOpen] = useState(depth < defaultOpenDepth);
|
|
5
|
+
if (data === null || data === void 0) {
|
|
6
|
+
return /* @__PURE__ */ jsx("span", { className: "text-muted-foreground italic", children: "null" });
|
|
7
|
+
}
|
|
8
|
+
if (typeof data === "string") {
|
|
9
|
+
return /* @__PURE__ */ jsxs("span", { className: "text-green-700 dark:text-green-400", children: [
|
|
10
|
+
'"',
|
|
11
|
+
data,
|
|
12
|
+
'"'
|
|
13
|
+
] });
|
|
14
|
+
}
|
|
15
|
+
if (typeof data === "number" || typeof data === "boolean") {
|
|
16
|
+
return /* @__PURE__ */ jsx("span", { className: "text-blue-700 dark:text-blue-400", children: String(data) });
|
|
17
|
+
}
|
|
18
|
+
if (typeof data !== "object") {
|
|
19
|
+
return /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: String(data) });
|
|
20
|
+
}
|
|
21
|
+
const isArray = Array.isArray(data);
|
|
22
|
+
const entries = isArray ? data.map((v, i) => [i, v]) : Object.entries(data);
|
|
23
|
+
const [openB, closeB] = isArray ? ["[", "]"] : ["{", "}"];
|
|
24
|
+
if (entries.length === 0) {
|
|
25
|
+
return /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
|
|
26
|
+
openB,
|
|
27
|
+
closeB
|
|
28
|
+
] });
|
|
29
|
+
}
|
|
30
|
+
return /* @__PURE__ */ jsxs("div", { className: "text-sm font-mono", style: { paddingLeft: depth > 0 ? "12px" : "0" }, children: [
|
|
31
|
+
/* @__PURE__ */ jsxs(
|
|
32
|
+
"span",
|
|
33
|
+
{
|
|
34
|
+
className: "cursor-pointer hover:bg-accent rounded px-0.5 select-none",
|
|
35
|
+
onClick: () => setOpen(!open),
|
|
36
|
+
children: [
|
|
37
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground text-xs mr-1", children: open ? "▼" : "▶" }),
|
|
38
|
+
name && /* @__PURE__ */ jsx("span", { className: "text-purple-600 dark:text-purple-400", children: name }),
|
|
39
|
+
name && /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: ": " }),
|
|
40
|
+
!open && /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
|
|
41
|
+
openB,
|
|
42
|
+
" ",
|
|
43
|
+
entries.length,
|
|
44
|
+
" ",
|
|
45
|
+
isArray ? "items" : "keys",
|
|
46
|
+
" ",
|
|
47
|
+
closeB
|
|
48
|
+
] }),
|
|
49
|
+
open && /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: openB })
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
),
|
|
53
|
+
open && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
54
|
+
entries.map(([key, val]) => /* @__PURE__ */ jsx("div", { className: "pl-3 border-l border-border ml-1", children: typeof val === "object" && val !== null ? /* @__PURE__ */ jsx(
|
|
55
|
+
JsonView,
|
|
56
|
+
{
|
|
57
|
+
data: val,
|
|
58
|
+
name: String(key),
|
|
59
|
+
depth: depth + 1,
|
|
60
|
+
defaultOpenDepth
|
|
61
|
+
}
|
|
62
|
+
) : /* @__PURE__ */ jsxs("div", { children: [
|
|
63
|
+
/* @__PURE__ */ jsx("span", { className: "text-purple-600 dark:text-purple-400", children: isArray ? "" : String(key) }),
|
|
64
|
+
!isArray && /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: ": " }),
|
|
65
|
+
/* @__PURE__ */ jsx(JsonView, { data: val, depth: depth + 1, defaultOpenDepth })
|
|
66
|
+
] }) }, key)),
|
|
67
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: closeB })
|
|
68
|
+
] })
|
|
69
|
+
] });
|
|
70
|
+
}
|
|
71
|
+
export {
|
|
72
|
+
JsonView
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=JsonView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JsonView.js","sources":["../../src/data/JsonView.tsx"],"sourcesContent":["import { useState } from \"react\";\n\nexport type JsonViewProps = {\n data: unknown;\n name?: string;\n depth?: number;\n defaultOpenDepth?: number;\n};\n\nexport function JsonView({ data, name, depth = 0, defaultOpenDepth = 2 }: JsonViewProps) {\n const [open, setOpen] = useState(depth < defaultOpenDepth);\n\n if (data === null || data === undefined) {\n return <span className=\"text-muted-foreground italic\">null</span>;\n }\n\n if (typeof data === \"string\") {\n return <span className=\"text-green-700 dark:text-green-400\">\"{data}\"</span>;\n }\n\n if (typeof data === \"number\" || typeof data === \"boolean\") {\n return <span className=\"text-blue-700 dark:text-blue-400\">{String(data)}</span>;\n }\n\n if (typeof data !== \"object\") {\n return <span className=\"text-muted-foreground\">{String(data)}</span>;\n }\n\n const isArray = Array.isArray(data);\n const entries: Array<[string | number, unknown]> = isArray\n ? (data as unknown[]).map((v, i) => [i, v])\n : Object.entries(data as Record<string, unknown>);\n const [openB, closeB] = isArray ? [\"[\", \"]\"] : [\"{\", \"}\"];\n\n if (entries.length === 0) {\n return (\n <span className=\"text-muted-foreground\">\n {openB}\n {closeB}\n </span>\n );\n }\n\n return (\n <div className=\"text-sm font-mono\" style={{ paddingLeft: depth > 0 ? \"12px\" : \"0\" }}>\n <span\n className=\"cursor-pointer hover:bg-accent rounded px-0.5 select-none\"\n onClick={() => setOpen(!open)}\n >\n <span className=\"text-muted-foreground text-xs mr-1\">{open ? \"▼\" : \"▶\"}</span>\n {name && <span className=\"text-purple-600 dark:text-purple-400\">{name}</span>}\n {name && <span className=\"text-muted-foreground\">: </span>}\n {!open && (\n <span className=\"text-muted-foreground\">\n {openB} {entries.length} {isArray ? \"items\" : \"keys\"} {closeB}\n </span>\n )}\n {open && <span className=\"text-muted-foreground\">{openB}</span>}\n </span>\n {open && (\n <>\n {entries.map(([key, val]) => (\n <div key={key} className=\"pl-3 border-l border-border ml-1\">\n {typeof val === \"object\" && val !== null ? (\n <JsonView\n data={val}\n name={String(key)}\n depth={depth + 1}\n defaultOpenDepth={defaultOpenDepth}\n />\n ) : (\n <div>\n <span className=\"text-purple-600 dark:text-purple-400\">\n {isArray ? \"\" : String(key)}\n </span>\n {!isArray && <span className=\"text-muted-foreground\">: </span>}\n <JsonView data={val} depth={depth + 1} defaultOpenDepth={defaultOpenDepth} />\n </div>\n )}\n </div>\n ))}\n <span className=\"text-muted-foreground\">{closeB}</span>\n </>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":";;AASO,SAAS,SAAS,EAAE,MAAM,MAAM,QAAQ,GAAG,mBAAmB,KAAoB;AACvF,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,QAAQ,gBAAgB;AAEzD,MAAI,SAAS,QAAQ,SAAS,QAAW;AACvC,WAAO,oBAAC,QAAA,EAAK,WAAU,gCAA+B,UAAA,QAAI;AAAA,EAC5D;AAEA,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO,qBAAC,QAAA,EAAK,WAAU,sCAAqC,UAAA;AAAA,MAAA;AAAA,MAAE;AAAA,MAAK;AAAA,IAAA,GAAC;AAAA,EACtE;AAEA,MAAI,OAAO,SAAS,YAAY,OAAO,SAAS,WAAW;AACzD,+BAAQ,QAAA,EAAK,WAAU,oCAAoC,UAAA,OAAO,IAAI,GAAE;AAAA,EAC1E;AAEA,MAAI,OAAO,SAAS,UAAU;AAC5B,+BAAQ,QAAA,EAAK,WAAU,yBAAyB,UAAA,OAAO,IAAI,GAAE;AAAA,EAC/D;AAEA,QAAM,UAAU,MAAM,QAAQ,IAAI;AAClC,QAAM,UAA6C,UAC9C,KAAmB,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IACxC,OAAO,QAAQ,IAA+B;AAClD,QAAM,CAAC,OAAO,MAAM,IAAI,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;AAExD,MAAI,QAAQ,WAAW,GAAG;AACxB,WACE,qBAAC,QAAA,EAAK,WAAU,yBACb,UAAA;AAAA,MAAA;AAAA,MACA;AAAA,IAAA,GACH;AAAA,EAEJ;AAEA,SACE,qBAAC,OAAA,EAAI,WAAU,qBAAoB,OAAO,EAAE,aAAa,QAAQ,IAAI,SAAS,IAAA,GAC5E,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,SAAS,MAAM,QAAQ,CAAC,IAAI;AAAA,QAE5B,UAAA;AAAA,UAAA,oBAAC,QAAA,EAAK,WAAU,sCAAsC,UAAA,OAAO,MAAM,KAAI;AAAA,UACtE,QAAQ,oBAAC,QAAA,EAAK,WAAU,wCAAwC,UAAA,MAAK;AAAA,UACrE,QAAQ,oBAAC,QAAA,EAAK,WAAU,yBAAwB,UAAA,MAAE;AAAA,UAClD,CAAC,QACA,qBAAC,QAAA,EAAK,WAAU,yBACb,UAAA;AAAA,YAAA;AAAA,YAAM;AAAA,YAAE,QAAQ;AAAA,YAAO;AAAA,YAAE,UAAU,UAAU;AAAA,YAAO;AAAA,YAAE;AAAA,UAAA,GACzD;AAAA,UAED,QAAQ,oBAAC,QAAA,EAAK,WAAU,yBAAyB,UAAA,MAAA,CAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAEzD,QACC,qBAAA,UAAA,EACG,UAAA;AAAA,MAAA,QAAQ,IAAI,CAAC,CAAC,KAAK,GAAG,MACrB,oBAAC,OAAA,EAAc,WAAU,oCACtB,UAAA,OAAO,QAAQ,YAAY,QAAQ,OAClC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAM;AAAA,UACN,MAAM,OAAO,GAAG;AAAA,UAChB,OAAO,QAAQ;AAAA,UACf;AAAA,QAAA;AAAA,MAAA,yBAGD,OAAA,EACC,UAAA;AAAA,QAAA,oBAAC,UAAK,WAAU,wCACb,oBAAU,KAAK,OAAO,GAAG,GAC5B;AAAA,QACC,CAAC,WAAW,oBAAC,QAAA,EAAK,WAAU,yBAAwB,UAAA,MAAE;AAAA,4BACtD,UAAA,EAAS,MAAM,KAAK,OAAO,QAAQ,GAAG,iBAAA,CAAoC;AAAA,MAAA,GAC7E,EAAA,GAfM,GAiBV,CACD;AAAA,MACD,oBAAC,QAAA,EAAK,WAAU,yBAAyB,UAAA,OAAA,CAAO;AAAA,IAAA,EAAA,CAClD;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export type KeyValueListItem = {
|
|
3
|
+
key: string;
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
value: ReactNode;
|
|
6
|
+
hidden?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export type KeyValueListProps = {
|
|
9
|
+
items: KeyValueListItem[];
|
|
10
|
+
className?: string;
|
|
11
|
+
rowClassName?: string;
|
|
12
|
+
labelClassName?: string;
|
|
13
|
+
valueClassName?: string;
|
|
14
|
+
emptyMessage?: ReactNode;
|
|
15
|
+
};
|
|
16
|
+
export declare function KeyValueList({ items, className, rowClassName, labelClassName, valueClassName, emptyMessage, }: KeyValueListProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
//# sourceMappingURL=KeyValueList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyValueList.d.ts","sourceRoot":"","sources":["../../src/data/KeyValueList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,YAA2B,GAC5B,EAAE,iBAAiB,2CAyBnB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../lib/utils.js";
|
|
3
|
+
function KeyValueList({
|
|
4
|
+
items,
|
|
5
|
+
className,
|
|
6
|
+
rowClassName,
|
|
7
|
+
labelClassName,
|
|
8
|
+
valueClassName,
|
|
9
|
+
emptyMessage = "No details"
|
|
10
|
+
}) {
|
|
11
|
+
const visible = items.filter((item) => !item.hidden);
|
|
12
|
+
if (visible.length === 0) {
|
|
13
|
+
return /* @__PURE__ */ jsx("div", { className: "text-sm text-muted-foreground", children: emptyMessage });
|
|
14
|
+
}
|
|
15
|
+
return /* @__PURE__ */ jsx("dl", { className: cn("divide-y divide-border rounded-md border border-border", className), children: visible.map((item) => /* @__PURE__ */ jsxs(
|
|
16
|
+
"div",
|
|
17
|
+
{
|
|
18
|
+
className: cn(
|
|
19
|
+
"grid grid-cols-[minmax(7rem,12rem)_minmax(0,1fr)] gap-density-3 px-density-3 py-density-2",
|
|
20
|
+
rowClassName
|
|
21
|
+
),
|
|
22
|
+
children: [
|
|
23
|
+
/* @__PURE__ */ jsx("dt", { className: cn("text-xs font-medium text-muted-foreground", labelClassName), children: item.label }),
|
|
24
|
+
/* @__PURE__ */ jsx("dd", { className: cn("min-w-0 text-sm text-foreground", valueClassName), children: item.value })
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
item.key
|
|
28
|
+
)) });
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
KeyValueList
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=KeyValueList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyValueList.js","sources":["../../src/data/KeyValueList.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { cn } from \"../lib/utils\";\n\nexport type KeyValueListItem = {\n key: string;\n label: ReactNode;\n value: ReactNode;\n hidden?: boolean;\n};\n\nexport type KeyValueListProps = {\n items: KeyValueListItem[];\n className?: string;\n rowClassName?: string;\n labelClassName?: string;\n valueClassName?: string;\n emptyMessage?: ReactNode;\n};\n\nexport function KeyValueList({\n items,\n className,\n rowClassName,\n labelClassName,\n valueClassName,\n emptyMessage = \"No details\",\n}: KeyValueListProps) {\n const visible = items.filter((item) => !item.hidden);\n\n if (visible.length === 0) {\n return <div className=\"text-sm text-muted-foreground\">{emptyMessage}</div>;\n }\n\n return (\n <dl className={cn(\"divide-y divide-border rounded-md border border-border\", className)}>\n {visible.map((item) => (\n <div\n key={item.key}\n className={cn(\n \"grid grid-cols-[minmax(7rem,12rem)_minmax(0,1fr)] gap-density-3 px-density-3 py-density-2\",\n rowClassName,\n )}\n >\n <dt className={cn(\"text-xs font-medium text-muted-foreground\", labelClassName)}>\n {item.label}\n </dt>\n <dd className={cn(\"min-w-0 text-sm text-foreground\", valueClassName)}>{item.value}</dd>\n </div>\n ))}\n </dl>\n );\n}\n"],"names":[],"mappings":";;AAmBO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AACjB,GAAsB;AACpB,QAAM,UAAU,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM;AAEnD,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO,oBAAC,OAAA,EAAI,WAAU,iCAAiC,UAAA,cAAa;AAAA,EACtE;AAEA,SACE,oBAAC,MAAA,EAAG,WAAW,GAAG,0DAA0D,SAAS,GAClF,UAAA,QAAQ,IAAI,CAAC,SACZ;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MAAA;AAAA,MAGF,UAAA;AAAA,QAAA,oBAAC,QAAG,WAAW,GAAG,6CAA6C,cAAc,GAC1E,eAAK,OACR;AAAA,QACA,oBAAC,QAAG,WAAW,GAAG,mCAAmC,cAAc,GAAI,eAAK,MAAA,CAAM;AAAA,MAAA;AAAA,IAAA;AAAA,IAT7E,KAAK;AAAA,EAAA,CAWb,GACH;AAEJ;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type LogViewerProps = {
|
|
2
|
+
logs: string;
|
|
3
|
+
collapsedLines?: number;
|
|
4
|
+
maxExpandedVh?: number;
|
|
5
|
+
bgClass?: string;
|
|
6
|
+
borderClass?: string;
|
|
7
|
+
className?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function LogViewer({ logs, collapsedLines, maxExpandedVh, bgClass, borderClass, className, }: LogViewerProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=LogViewer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogViewer.d.ts","sourceRoot":"","sources":["../../src/data/LogViewer.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,cAAkB,EAClB,aAAkB,EAClB,OAAoB,EACpB,WAA6B,EAC7B,SAAS,GACV,EAAE,cAAc,2CAiChB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useMemo } from "react";
|
|
3
|
+
import { cn } from "../lib/utils.js";
|
|
4
|
+
function LogViewer({
|
|
5
|
+
logs,
|
|
6
|
+
collapsedLines = 5,
|
|
7
|
+
maxExpandedVh = 70,
|
|
8
|
+
bgClass = "bg-muted",
|
|
9
|
+
borderClass = "border-border",
|
|
10
|
+
className
|
|
11
|
+
}) {
|
|
12
|
+
const [expanded, setExpanded] = useState(false);
|
|
13
|
+
const lines = useMemo(() => logs.split("\n"), [logs]);
|
|
14
|
+
const hasMore = lines.length > collapsedLines;
|
|
15
|
+
const maxHeight = expanded ? `${maxExpandedVh}vh` : `${collapsedLines * 1.4}em`;
|
|
16
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("relative", className), children: [
|
|
17
|
+
/* @__PURE__ */ jsx(
|
|
18
|
+
"pre",
|
|
19
|
+
{
|
|
20
|
+
className: cn(
|
|
21
|
+
"mt-0.5 text-[11px] text-muted-foreground rounded p-1.5 whitespace-pre-wrap overflow-y-auto border transition-all duration-200",
|
|
22
|
+
bgClass,
|
|
23
|
+
borderClass
|
|
24
|
+
),
|
|
25
|
+
style: { maxHeight },
|
|
26
|
+
children: expanded ? logs : lines.slice(0, collapsedLines).join("\n")
|
|
27
|
+
}
|
|
28
|
+
),
|
|
29
|
+
hasMore && /* @__PURE__ */ jsx(
|
|
30
|
+
"button",
|
|
31
|
+
{
|
|
32
|
+
type: "button",
|
|
33
|
+
className: cn(
|
|
34
|
+
"text-[10px] mt-0.5",
|
|
35
|
+
expanded ? "text-muted-foreground" : "text-primary hover:opacity-80"
|
|
36
|
+
),
|
|
37
|
+
onClick: () => setExpanded((e) => !e),
|
|
38
|
+
children: expanded ? `▲ Collapse (${lines.length} lines)` : `▼ Show more (${lines.length} lines)`
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
] });
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
LogViewer
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=LogViewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogViewer.js","sources":["../../src/data/LogViewer.tsx"],"sourcesContent":["import { useMemo, useState } from \"react\";\nimport { cn } from \"../lib/utils\";\n\nexport type LogViewerProps = {\n logs: string;\n collapsedLines?: number;\n maxExpandedVh?: number;\n bgClass?: string;\n borderClass?: string;\n className?: string;\n};\n\nexport function LogViewer({\n logs,\n collapsedLines = 5,\n maxExpandedVh = 70,\n bgClass = \"bg-muted\",\n borderClass = \"border-border\",\n className,\n}: LogViewerProps) {\n const [expanded, setExpanded] = useState(false);\n const lines = useMemo(() => logs.split(\"\\n\"), [logs]);\n const hasMore = lines.length > collapsedLines;\n\n const maxHeight = expanded ? `${maxExpandedVh}vh` : `${collapsedLines * 1.4}em`;\n\n return (\n <div className={cn(\"relative\", className)}>\n <pre\n className={cn(\n \"mt-0.5 text-[11px] text-muted-foreground rounded p-1.5 whitespace-pre-wrap overflow-y-auto border transition-all duration-200\",\n bgClass,\n borderClass,\n )}\n style={{ maxHeight }}\n >\n {expanded ? logs : lines.slice(0, collapsedLines).join(\"\\n\")}\n </pre>\n {hasMore && (\n <button\n type=\"button\"\n className={cn(\n \"text-[10px] mt-0.5\",\n expanded ? \"text-muted-foreground\" : \"text-primary hover:opacity-80\",\n )}\n onClick={() => setExpanded((e) => !e)}\n >\n {expanded ? `▲ Collapse (${lines.length} lines)` : `▼ Show more (${lines.length} lines)`}\n </button>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":";;;AAYO,SAAS,UAAU;AAAA,EACxB;AAAA,EACA,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,cAAc;AAAA,EACd;AACF,GAAmB;AACjB,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,QAAM,QAAQ,QAAQ,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC;AACpD,QAAM,UAAU,MAAM,SAAS;AAE/B,QAAM,YAAY,WAAW,GAAG,aAAa,OAAO,GAAG,iBAAiB,GAAG;AAE3E,8BACG,OAAA,EAAI,WAAW,GAAG,YAAY,SAAS,GACtC,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,QAEF,OAAO,EAAE,UAAA;AAAA,QAER,UAAA,WAAW,OAAO,MAAM,MAAM,GAAG,cAAc,EAAE,KAAK,IAAI;AAAA,MAAA;AAAA,IAAA;AAAA,IAE5D,WACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAW;AAAA,UACT;AAAA,UACA,WAAW,0BAA0B;AAAA,QAAA;AAAA,QAEvC,SAAS,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;AAAA,QAEnC,qBAAW,eAAe,MAAM,MAAM,YAAY,gBAAgB,MAAM,MAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EACjF,GAEJ;AAEJ;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { DataTableColumn, DataTableProps } from './DataTable';
|
|
3
|
+
export type LogsTableInput = string | Record<string, unknown>;
|
|
4
|
+
export type LogsTableRow = {
|
|
5
|
+
id: string;
|
|
6
|
+
timestamp: string;
|
|
7
|
+
level: string;
|
|
8
|
+
pod: string;
|
|
9
|
+
logger: string;
|
|
10
|
+
thread: string;
|
|
11
|
+
message: string;
|
|
12
|
+
tags: string[];
|
|
13
|
+
line: string;
|
|
14
|
+
parsedLine?: unknown;
|
|
15
|
+
raw: unknown;
|
|
16
|
+
};
|
|
17
|
+
export type LogsTableProps = Omit<DataTableProps<LogsTableRow>, "data" | "columns" | "density" | "defaultDensity"> & {
|
|
18
|
+
logs: string | LogsTableInput[];
|
|
19
|
+
columns?: DataTableColumn<LogsTableRow>[];
|
|
20
|
+
dark?: boolean;
|
|
21
|
+
showRawDetails?: boolean;
|
|
22
|
+
showFullscreenControl?: boolean;
|
|
23
|
+
fullscreenTitle?: ReactNode;
|
|
24
|
+
};
|
|
25
|
+
export declare function LogsTable({ logs, columns, dark, showRawDetails, className, autoFilter, defaultSort, getRowId, renderExpandedRow, showDensityControl, showFullscreenControl, fullscreenTitle, ...tableProps }: LogsTableProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export declare function normalizeLogsTableRows(logs: string | LogsTableInput[]): LogsTableRow[];
|
|
27
|
+
//# sourceMappingURL=LogsTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogsTable.d.ts","sourceRoot":"","sources":["../../src/data/LogsTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI1D,OAAO,EAAa,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAGnF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9D,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,cAAc,CAAC,YAAY,CAAC,EAC5B,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAClD,GAAG;IACF,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,CAAC;AA8CF,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,OAAO,EACP,IAAW,EACX,cAAqB,EACrB,SAAS,EACT,UAAiB,EACjB,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,kBAA0B,EAC1B,qBAA4B,EAC5B,eAAwB,EACxB,GAAG,UAAU,EACd,EAAE,cAAc,2CAuDhB;AA8CD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,GAAG,YAAY,EAAE,CAGtF"}
|