@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":"EndpointList.d.ts","sourceRoot":"","sources":["../../src/rpc/EndpointList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAKF,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,YAAY,GAAG,kBAAkB,CAAC,CAAC;IAChF,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,KAAK,MAAM,CAAC;CACzE,CAAC;AAIF,wBAAgB,YAAY,CAAC,EAC3B,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAmC,GACpC,EAAE,iBAAiB,2CA4DnB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useMemo } from "react";
|
|
3
|
+
import { MethodBadge } from "../data/MethodBadge.js";
|
|
4
|
+
const defaultCommandHref = (operationId) => `/commands/${operationId}`;
|
|
5
|
+
function EndpointList({
|
|
6
|
+
operations,
|
|
7
|
+
definition,
|
|
8
|
+
renderLink,
|
|
9
|
+
getCommandHref = defaultCommandHref
|
|
10
|
+
}) {
|
|
11
|
+
const [search, setSearch] = useState("");
|
|
12
|
+
const filtered = useMemo(() => {
|
|
13
|
+
if (!search) return operations;
|
|
14
|
+
const q = search.toLowerCase();
|
|
15
|
+
return operations.filter(
|
|
16
|
+
(op) => {
|
|
17
|
+
var _a, _b;
|
|
18
|
+
return op.path.toLowerCase().includes(q) || ((_a = op.operation.summary) == null ? void 0 : _a.toLowerCase().includes(q)) || ((_b = op.operation.operationId) == null ? void 0 : _b.toLowerCase().includes(q));
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
}, [operations, search]);
|
|
22
|
+
if (operations.length === 0) {
|
|
23
|
+
return /* @__PURE__ */ jsxs("div", { className: "rounded-xl border border-dashed p-8", children: [
|
|
24
|
+
/* @__PURE__ */ jsx("h2", { className: "text-lg font-medium", children: definition.emptyTitle || `No ${definition.title} endpoints found` }),
|
|
25
|
+
/* @__PURE__ */ jsx("p", { className: "mt-2 max-w-2xl text-sm text-muted-foreground", children: definition.emptyDescription || "This area is reserved in the information architecture, but the current OpenAPI surface does not expose matching operations yet." })
|
|
26
|
+
] });
|
|
27
|
+
}
|
|
28
|
+
return /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
29
|
+
/* @__PURE__ */ jsx(
|
|
30
|
+
"input",
|
|
31
|
+
{
|
|
32
|
+
placeholder: `Search ${definition.title.toLowerCase()}...`,
|
|
33
|
+
value: search,
|
|
34
|
+
onChange: (e) => setSearch(e.target.value),
|
|
35
|
+
className: "w-full max-w-lg rounded-lg border bg-background px-3 py-2 text-sm outline-none placeholder:text-muted-foreground focus:ring-2 focus:ring-ring"
|
|
36
|
+
}
|
|
37
|
+
),
|
|
38
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-2", children: filtered.map((op) => {
|
|
39
|
+
const operationId = op.operation.operationId ?? `${op.method}:${op.path}`;
|
|
40
|
+
return renderLink({
|
|
41
|
+
key: `${op.method}:${op.path}`,
|
|
42
|
+
to: getCommandHref(operationId, op),
|
|
43
|
+
className: "flex items-center gap-3 rounded-xl border bg-card p-3 transition-colors hover:border-emerald-200 hover:bg-emerald-50/50",
|
|
44
|
+
children: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
45
|
+
/* @__PURE__ */ jsx(MethodBadge, { method: op.method }),
|
|
46
|
+
/* @__PURE__ */ jsx("code", { className: "text-sm", children: op.path }),
|
|
47
|
+
op.operation.summary && /* @__PURE__ */ jsx("span", { className: "ml-auto text-xs text-muted-foreground", children: op.operation.summary })
|
|
48
|
+
] })
|
|
49
|
+
});
|
|
50
|
+
}) })
|
|
51
|
+
] });
|
|
52
|
+
}
|
|
53
|
+
export {
|
|
54
|
+
EndpointList
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=EndpointList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EndpointList.js","sources":["../../src/rpc/EndpointList.tsx"],"sourcesContent":["import { useMemo, useState, type ReactElement, type ReactNode } from \"react\";\nimport { MethodBadge } from \"../data/MethodBadge\";\nimport type { DomainDefinition, ResolvedOperation } from \"./types\";\n\nexport type RenderLinkArgs = {\n to: string;\n className?: string;\n children: ReactNode;\n title?: string;\n key?: string;\n};\n\n// Render-prop form lets callers pass react-router's Link, a plain <a>, or\n// any custom navigation component without relying on React type equality\n// across nested type installs.\nexport type RenderLink = (args: RenderLinkArgs) => ReactElement;\n\nexport type EndpointListProps = {\n operations: ResolvedOperation[];\n definition: Pick<DomainDefinition, \"title\" | \"emptyTitle\" | \"emptyDescription\">;\n renderLink: RenderLink;\n getCommandHref?: (operationId: string, op: ResolvedOperation) => string;\n};\n\nconst defaultCommandHref = (operationId: string) => `/commands/${operationId}`;\n\nexport function EndpointList({\n operations,\n definition,\n renderLink,\n getCommandHref = defaultCommandHref,\n}: EndpointListProps) {\n const [search, setSearch] = useState(\"\");\n\n const filtered = useMemo(() => {\n if (!search) return operations;\n const q = search.toLowerCase();\n return operations.filter(\n (op) =>\n op.path.toLowerCase().includes(q) ||\n op.operation.summary?.toLowerCase().includes(q) ||\n op.operation.operationId?.toLowerCase().includes(q),\n );\n }, [operations, search]);\n\n if (operations.length === 0) {\n return (\n <div className=\"rounded-xl border border-dashed p-8\">\n <h2 className=\"text-lg font-medium\">\n {definition.emptyTitle || `No ${definition.title} endpoints found`}\n </h2>\n <p className=\"mt-2 max-w-2xl text-sm text-muted-foreground\">\n {definition.emptyDescription ||\n \"This area is reserved in the information architecture, but the current OpenAPI surface does not expose matching operations yet.\"}\n </p>\n </div>\n );\n }\n\n return (\n <div className=\"space-y-4\">\n <input\n placeholder={`Search ${definition.title.toLowerCase()}...`}\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n className=\"w-full max-w-lg rounded-lg border bg-background px-3 py-2 text-sm outline-none placeholder:text-muted-foreground focus:ring-2 focus:ring-ring\"\n />\n <div className=\"space-y-2\">\n {filtered.map((op) => {\n const operationId = op.operation.operationId ?? `${op.method}:${op.path}`;\n return renderLink({\n key: `${op.method}:${op.path}`,\n to: getCommandHref(operationId, op),\n className:\n \"flex items-center gap-3 rounded-xl border bg-card p-3 transition-colors hover:border-emerald-200 hover:bg-emerald-50/50\",\n children: (\n <>\n <MethodBadge method={op.method} />\n <code className=\"text-sm\">{op.path}</code>\n {op.operation.summary && (\n <span className=\"ml-auto text-xs text-muted-foreground\">\n {op.operation.summary}\n </span>\n )}\n </>\n ),\n });\n })}\n </div>\n </div>\n );\n}\n"],"names":[],"mappings":";;;AAwBA,MAAM,qBAAqB,CAAC,gBAAwB,aAAa,WAAW;AAErE,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AACnB,GAAsB;AACpB,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,EAAE;AAEvC,QAAM,WAAW,QAAQ,MAAM;AAC7B,QAAI,CAAC,OAAQ,QAAO;AACpB,UAAM,IAAI,OAAO,YAAA;AACjB,WAAO,WAAW;AAAA,MAChB,CAAC;;AACC,kBAAG,KAAK,cAAc,SAAS,CAAC,OAChC,QAAG,UAAU,YAAb,mBAAsB,cAAc,SAAS,SAC7C,QAAG,UAAU,gBAAb,mBAA0B,cAAc,SAAS;AAAA;AAAA,IAAC;AAAA,EAExD,GAAG,CAAC,YAAY,MAAM,CAAC;AAEvB,MAAI,WAAW,WAAW,GAAG;AAC3B,WACE,qBAAC,OAAA,EAAI,WAAU,uCACb,UAAA;AAAA,MAAA,oBAAC,MAAA,EAAG,WAAU,uBACX,UAAA,WAAW,cAAc,MAAM,WAAW,KAAK,mBAAA,CAClD;AAAA,0BACC,KAAA,EAAE,WAAU,gDACV,UAAA,WAAW,oBACV,kIAAA,CACJ;AAAA,IAAA,GACF;AAAA,EAEJ;AAEA,SACE,qBAAC,OAAA,EAAI,WAAU,aACb,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,aAAa,UAAU,WAAW,MAAM,aAAa;AAAA,QACrD,OAAO;AAAA,QACP,UAAU,CAAC,MAAM,UAAU,EAAE,OAAO,KAAK;AAAA,QACzC,WAAU;AAAA,MAAA;AAAA,IAAA;AAAA,wBAEX,OAAA,EAAI,WAAU,aACZ,UAAA,SAAS,IAAI,CAAC,OAAO;AACpB,YAAM,cAAc,GAAG,UAAU,eAAe,GAAG,GAAG,MAAM,IAAI,GAAG,IAAI;AACvE,aAAO,WAAW;AAAA,QAChB,KAAK,GAAG,GAAG,MAAM,IAAI,GAAG,IAAI;AAAA,QAC5B,IAAI,eAAe,aAAa,EAAE;AAAA,QAClC,WACE;AAAA,QACF,UACE,qBAAA,UAAA,EACE,UAAA;AAAA,UAAA,oBAAC,aAAA,EAAY,QAAQ,GAAG,OAAA,CAAQ;AAAA,UAChC,oBAAC,QAAA,EAAK,WAAU,WAAW,aAAG,MAAK;AAAA,UAClC,GAAG,UAAU,WACZ,oBAAC,UAAK,WAAU,yCACb,UAAA,GAAG,UAAU,QAAA,CAChB;AAAA,QAAA,EAAA,CAEJ;AAAA,MAAA,CAEH;AAAA,IACH,CAAC,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AnyApiReferenceConfiguration } from '@scalar/api-reference-react';
|
|
2
|
+
import { RenderLink } from './EndpointList';
|
|
3
|
+
import { OperationsApiClient } from './useOperations';
|
|
4
|
+
export type EntityExplorerAppProps = {
|
|
5
|
+
client: OperationsApiClient;
|
|
6
|
+
pathname: string;
|
|
7
|
+
renderLink: RenderLink;
|
|
8
|
+
basePath?: string;
|
|
9
|
+
showApiExplorer?: boolean;
|
|
10
|
+
apiExplorerMode?: "scalar" | "operations";
|
|
11
|
+
apiExplorerUrl?: string;
|
|
12
|
+
apiExplorerConfiguration?: AnyApiReferenceConfiguration;
|
|
13
|
+
};
|
|
14
|
+
export declare function EntityExplorerApp({ client, pathname, renderLink, basePath, showApiExplorer, apiExplorerMode, apiExplorerUrl, apiExplorerConfiguration, }: EntityExplorerAppProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=EntityExplorerApp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityExplorerApp.d.ts","sourceRoot":"","sources":["../../src/rpc/EntityExplorerApp.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAKhF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,4BAA4B,CAAC;CACzD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,EACR,UAAU,EACV,QAAa,EACb,eAAsB,EACtB,eAA0B,EAC1B,cAAc,EACd,wBAAwB,GACzB,EAAE,sBAAsB,2CAsJxB"}
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useEffect } from "react";
|
|
3
|
+
import { ThemeSwitcher } from "../components/theme-switcher.js";
|
|
4
|
+
import { ApiExplorer } from "./ApiExplorer.js";
|
|
5
|
+
import { getClickySurfaces, makeSurfaceDefinition } from "./clickyMetadata.js";
|
|
6
|
+
import { OperationCatalog } from "./OperationCatalog.js";
|
|
7
|
+
import { OperationCommandPage } from "./OperationCommandPage.js";
|
|
8
|
+
import { OperationEntityPage } from "./OperationEntityPage.js";
|
|
9
|
+
import { useOperations } from "./useOperations.js";
|
|
10
|
+
function EntityExplorerApp({
|
|
11
|
+
client,
|
|
12
|
+
pathname,
|
|
13
|
+
renderLink,
|
|
14
|
+
basePath = "",
|
|
15
|
+
showApiExplorer = true,
|
|
16
|
+
apiExplorerMode = "scalar",
|
|
17
|
+
apiExplorerUrl,
|
|
18
|
+
apiExplorerConfiguration
|
|
19
|
+
}) {
|
|
20
|
+
const { spec } = useOperations(client);
|
|
21
|
+
const surfaces = useMemo(() => getClickySurfaces(spec), [spec]);
|
|
22
|
+
const defaultSurface = useMemo(
|
|
23
|
+
() => surfaces.find((surface) => !surface.admin) ?? surfaces[0],
|
|
24
|
+
[surfaces]
|
|
25
|
+
);
|
|
26
|
+
const relativePath = useMemo(() => stripBasePath(pathname, basePath), [basePath, pathname]);
|
|
27
|
+
const route = useMemo(() => parseExplorerRoute(relativePath), [relativePath]);
|
|
28
|
+
const resolvedRoute = useMemo(() => resolveRouteSurface(route, surfaces), [route, surfaces]);
|
|
29
|
+
const commandRuntime = useMemo(
|
|
30
|
+
() => ({
|
|
31
|
+
client,
|
|
32
|
+
hrefForCommand: (resolved) => buildCommandHref(basePath, resolved),
|
|
33
|
+
onNavigate: (resolved) => {
|
|
34
|
+
const href = buildCommandHref(basePath, resolved);
|
|
35
|
+
if (!href || typeof window === "undefined") return;
|
|
36
|
+
window.history.pushState(window.history.state, "", href);
|
|
37
|
+
window.dispatchEvent(new PopStateEvent("popstate"));
|
|
38
|
+
}
|
|
39
|
+
}),
|
|
40
|
+
[basePath, client]
|
|
41
|
+
);
|
|
42
|
+
const { initialValues: commandInitialValues, autoRun: commandAutoRun } = useMemo(
|
|
43
|
+
() => resolvedRoute.kind === "command" ? readCommandQueryParams() : { initialValues: {}, autoRun: false },
|
|
44
|
+
[resolvedRoute.kind, pathname]
|
|
45
|
+
);
|
|
46
|
+
const explorerDefinition = useMemo(
|
|
47
|
+
() => ({
|
|
48
|
+
key: "explorer",
|
|
49
|
+
title: "API Explorer",
|
|
50
|
+
description: "Every operation exposed by the current OpenAPI spec."
|
|
51
|
+
}),
|
|
52
|
+
[]
|
|
53
|
+
);
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
if (typeof window === "undefined" || defaultSurface == null || relativePath !== "/" || window.location.pathname !== withBasePath(basePath, "/")) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const target = withBasePath(basePath, `/${defaultSurface.key}`);
|
|
59
|
+
window.history.replaceState(window.history.state, "", target);
|
|
60
|
+
window.dispatchEvent(new PopStateEvent("popstate"));
|
|
61
|
+
}, [basePath, defaultSurface, relativePath]);
|
|
62
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex h-full", children: [
|
|
63
|
+
/* @__PURE__ */ jsxs("aside", { className: "flex w-64 shrink-0 flex-col border-r border-border bg-muted/30 p-4", children: [
|
|
64
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-6", children: [
|
|
65
|
+
/* @__PURE__ */ jsx("div", { className: "text-sm font-semibold", children: (spec == null ? void 0 : spec.info.title) ?? "Clicky Explorer" }),
|
|
66
|
+
/* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground", children: "Metadata-driven entity explorer" })
|
|
67
|
+
] }),
|
|
68
|
+
/* @__PURE__ */ jsxs("nav", { className: "flex flex-col gap-1", children: [
|
|
69
|
+
surfaces.map(
|
|
70
|
+
(surface) => renderLink({
|
|
71
|
+
key: surface.key,
|
|
72
|
+
to: withBasePath(basePath, `/${surface.key}`),
|
|
73
|
+
className: navLinkClassName(isSurfaceRouteActive(resolvedRoute, surface.key)),
|
|
74
|
+
children: surface.title
|
|
75
|
+
})
|
|
76
|
+
),
|
|
77
|
+
showApiExplorer && renderLink({
|
|
78
|
+
key: explorerDefinition.key,
|
|
79
|
+
to: withBasePath(basePath, "/explorer"),
|
|
80
|
+
className: navLinkClassName(
|
|
81
|
+
resolvedRoute.kind === "explorer" || resolvedRoute.kind === "command"
|
|
82
|
+
),
|
|
83
|
+
children: explorerDefinition.title
|
|
84
|
+
})
|
|
85
|
+
] }),
|
|
86
|
+
/* @__PURE__ */ jsx("div", { className: "mt-auto pt-4", children: /* @__PURE__ */ jsx(ThemeSwitcher, {}) })
|
|
87
|
+
] }),
|
|
88
|
+
/* @__PURE__ */ jsx("main", { className: "flex-1 overflow-auto p-6", children: resolvedRoute.kind === "surface" ? resolvedRoute.surface ? /* @__PURE__ */ jsx(
|
|
89
|
+
OperationCatalog,
|
|
90
|
+
{
|
|
91
|
+
definition: makeSurfaceDefinition(resolvedRoute.surface),
|
|
92
|
+
entities: [resolvedRoute.surface.entity],
|
|
93
|
+
client,
|
|
94
|
+
renderLink,
|
|
95
|
+
surfaceKey: resolvedRoute.surface.key,
|
|
96
|
+
commandRuntime
|
|
97
|
+
}
|
|
98
|
+
) : /* @__PURE__ */ jsx(UnknownSurface, { surfaceKey: resolvedRoute.surfaceKey }) : resolvedRoute.kind === "entity" ? resolvedRoute.surface ? /* @__PURE__ */ jsx(
|
|
99
|
+
OperationEntityPage,
|
|
100
|
+
{
|
|
101
|
+
definition: makeSurfaceDefinition(resolvedRoute.surface),
|
|
102
|
+
entities: [resolvedRoute.surface.entity],
|
|
103
|
+
client,
|
|
104
|
+
renderLink,
|
|
105
|
+
surfaceKey: resolvedRoute.surface.key,
|
|
106
|
+
backHref: withBasePath(basePath, `/${resolvedRoute.surface.key}`),
|
|
107
|
+
backLabel: `Back to ${resolvedRoute.surface.title}`,
|
|
108
|
+
commandRuntime,
|
|
109
|
+
...resolvedRoute.id ? { id: resolvedRoute.id } : {}
|
|
110
|
+
}
|
|
111
|
+
) : /* @__PURE__ */ jsx(UnknownSurface, { surfaceKey: resolvedRoute.surfaceKey }) : resolvedRoute.kind === "command" ? /* @__PURE__ */ jsx(
|
|
112
|
+
OperationCommandPage,
|
|
113
|
+
{
|
|
114
|
+
client,
|
|
115
|
+
backHref: withBasePath(basePath, "/explorer"),
|
|
116
|
+
backLabel: "Back to API Explorer",
|
|
117
|
+
renderLink,
|
|
118
|
+
commandRuntime,
|
|
119
|
+
initialValues: commandInitialValues,
|
|
120
|
+
autoRun: commandAutoRun,
|
|
121
|
+
...resolvedRoute.operationId ? { operationId: resolvedRoute.operationId } : {}
|
|
122
|
+
}
|
|
123
|
+
) : resolvedRoute.kind === "explorer" ? apiExplorerMode === "scalar" ? /* @__PURE__ */ jsx(
|
|
124
|
+
ApiExplorer,
|
|
125
|
+
{
|
|
126
|
+
...apiExplorerUrl ? { openApiUrl: apiExplorerUrl } : {},
|
|
127
|
+
...apiExplorerConfiguration ? { configuration: apiExplorerConfiguration } : {}
|
|
128
|
+
}
|
|
129
|
+
) : /* @__PURE__ */ jsx(
|
|
130
|
+
OperationCatalog,
|
|
131
|
+
{
|
|
132
|
+
definition: explorerDefinition,
|
|
133
|
+
entities: [],
|
|
134
|
+
allOperations: true,
|
|
135
|
+
client,
|
|
136
|
+
renderLink,
|
|
137
|
+
commandRuntime
|
|
138
|
+
}
|
|
139
|
+
) : defaultSurface == null ? /* @__PURE__ */ jsx("div", { className: "text-sm text-muted-foreground", children: "Loading surfaces…" }) : /* @__PURE__ */ jsx("div", { className: "text-sm text-muted-foreground", children: "Redirecting…" }) })
|
|
140
|
+
] });
|
|
141
|
+
}
|
|
142
|
+
function parseExplorerRoute(pathname) {
|
|
143
|
+
const normalized = trimTrailingSlash(pathname) || "/";
|
|
144
|
+
if (normalized === "/") {
|
|
145
|
+
return { kind: "root" };
|
|
146
|
+
}
|
|
147
|
+
const segments = normalized.replace(/^\/+/, "").split("/");
|
|
148
|
+
if (segments[0] === "explorer") {
|
|
149
|
+
return { kind: "explorer" };
|
|
150
|
+
}
|
|
151
|
+
if (segments[0] === "commands") {
|
|
152
|
+
return segments[1] ? { kind: "command", operationId: segments[1] } : { kind: "command" };
|
|
153
|
+
}
|
|
154
|
+
const surfaceKey = segments[0] ?? "";
|
|
155
|
+
if (segments[1]) {
|
|
156
|
+
return {
|
|
157
|
+
kind: "entity",
|
|
158
|
+
surfaceKey,
|
|
159
|
+
id: decodeURIComponent(segments[1])
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
return { kind: "surface", surfaceKey };
|
|
163
|
+
}
|
|
164
|
+
function resolveRouteSurface(route, surfaces) {
|
|
165
|
+
if (route.kind !== "surface" && route.kind !== "entity") {
|
|
166
|
+
return route;
|
|
167
|
+
}
|
|
168
|
+
const surface = surfaces.find((item) => item.key === route.surfaceKey);
|
|
169
|
+
return surface ? { ...route, surface } : route;
|
|
170
|
+
}
|
|
171
|
+
function isSurfaceRouteActive(route, surfaceKey) {
|
|
172
|
+
return route.kind === "surface" && route.surfaceKey === surfaceKey || route.kind === "entity" && route.surfaceKey === surfaceKey;
|
|
173
|
+
}
|
|
174
|
+
function navLinkClassName(active) {
|
|
175
|
+
return [
|
|
176
|
+
"rounded-md px-2 py-1.5 text-sm transition-colors",
|
|
177
|
+
active ? "bg-accent text-accent-foreground" : "text-foreground hover:bg-accent"
|
|
178
|
+
].join(" ");
|
|
179
|
+
}
|
|
180
|
+
function stripBasePath(pathname, basePath) {
|
|
181
|
+
const base = trimTrailingSlash(basePath);
|
|
182
|
+
if (!base || base === "/") {
|
|
183
|
+
return trimTrailingSlash(pathname) || "/";
|
|
184
|
+
}
|
|
185
|
+
if (pathname === base) {
|
|
186
|
+
return "/";
|
|
187
|
+
}
|
|
188
|
+
if (pathname.startsWith(`${base}/`)) {
|
|
189
|
+
return trimTrailingSlash(pathname.slice(base.length)) || "/";
|
|
190
|
+
}
|
|
191
|
+
return trimTrailingSlash(pathname) || "/";
|
|
192
|
+
}
|
|
193
|
+
function withBasePath(basePath, pathname) {
|
|
194
|
+
const base = trimTrailingSlash(basePath);
|
|
195
|
+
if (!base || base === "/") {
|
|
196
|
+
return pathname;
|
|
197
|
+
}
|
|
198
|
+
return `${base}${pathname}`;
|
|
199
|
+
}
|
|
200
|
+
function trimTrailingSlash(value) {
|
|
201
|
+
if (!value) return "";
|
|
202
|
+
return value.length > 1 ? value.replace(/\/+$/, "") : value;
|
|
203
|
+
}
|
|
204
|
+
function UnknownSurface({ surfaceKey }) {
|
|
205
|
+
return /* @__PURE__ */ jsxs("div", { className: "p-6 text-sm text-muted-foreground", children: [
|
|
206
|
+
"Unknown surface: ",
|
|
207
|
+
/* @__PURE__ */ jsx("code", { children: surfaceKey })
|
|
208
|
+
] });
|
|
209
|
+
}
|
|
210
|
+
const AUTORUN_QUERY_PARAM = "__autoRun";
|
|
211
|
+
const ARG_QUERY_PREFIX = "__arg";
|
|
212
|
+
function buildCommandHref(basePath, resolved) {
|
|
213
|
+
var _a, _b;
|
|
214
|
+
const commandId = ((_a = resolved.operation) == null ? void 0 : _a.operation.operationId) ?? resolved.request.command;
|
|
215
|
+
if (!commandId) return void 0;
|
|
216
|
+
const meta = (_b = resolved.operation) == null ? void 0 : _b.operation["x-clicky"];
|
|
217
|
+
const args = resolved.request.args ?? [];
|
|
218
|
+
const flags = resolved.request.flags ?? {};
|
|
219
|
+
if ((meta == null ? void 0 : meta.verb) === "get" && (meta == null ? void 0 : meta.scope) === "entity" && meta.surface && args[0]) {
|
|
220
|
+
const search2 = new URLSearchParams();
|
|
221
|
+
for (const [key, value] of Object.entries(flags)) {
|
|
222
|
+
if (value !== void 0 && value !== "") {
|
|
223
|
+
search2.set(key, value);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
const query2 = search2.toString();
|
|
227
|
+
const suffix2 = query2 ? `?${query2}` : "";
|
|
228
|
+
return withBasePath(
|
|
229
|
+
basePath,
|
|
230
|
+
`/${encodeURIComponent(meta.surface)}/${encodeURIComponent(args[0])}${suffix2}`
|
|
231
|
+
);
|
|
232
|
+
}
|
|
233
|
+
const search = new URLSearchParams();
|
|
234
|
+
args.forEach((value, index) => {
|
|
235
|
+
if (value !== void 0 && value !== "") {
|
|
236
|
+
search.set(`${ARG_QUERY_PREFIX}${index}`, value);
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
for (const [key, value] of Object.entries(flags)) {
|
|
240
|
+
if (value !== void 0 && value !== "") {
|
|
241
|
+
search.set(key, value);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
if (resolved.request.autoRun) {
|
|
245
|
+
search.set(AUTORUN_QUERY_PARAM, "1");
|
|
246
|
+
}
|
|
247
|
+
const query = search.toString();
|
|
248
|
+
const suffix = query ? `?${query}` : "";
|
|
249
|
+
return withBasePath(basePath, `/commands/${encodeURIComponent(commandId)}${suffix}`);
|
|
250
|
+
}
|
|
251
|
+
function readCommandQueryParams() {
|
|
252
|
+
if (typeof window === "undefined") {
|
|
253
|
+
return { initialValues: {}, autoRun: false };
|
|
254
|
+
}
|
|
255
|
+
const search = new URLSearchParams(window.location.search);
|
|
256
|
+
const initialValues = {};
|
|
257
|
+
let autoRun = false;
|
|
258
|
+
const positional = [];
|
|
259
|
+
for (const [key, value] of search.entries()) {
|
|
260
|
+
if (key === AUTORUN_QUERY_PARAM) {
|
|
261
|
+
autoRun = value === "1" || value === "true";
|
|
262
|
+
continue;
|
|
263
|
+
}
|
|
264
|
+
if (key.startsWith(ARG_QUERY_PREFIX)) {
|
|
265
|
+
const index = Number.parseInt(key.slice(ARG_QUERY_PREFIX.length), 10);
|
|
266
|
+
if (Number.isFinite(index) && index >= 0) {
|
|
267
|
+
positional[index] = value;
|
|
268
|
+
}
|
|
269
|
+
continue;
|
|
270
|
+
}
|
|
271
|
+
initialValues[key] = value;
|
|
272
|
+
}
|
|
273
|
+
const packedArgs = positional.filter((value) => value !== void 0).join(" ");
|
|
274
|
+
if (packedArgs !== "") {
|
|
275
|
+
initialValues.args = packedArgs;
|
|
276
|
+
}
|
|
277
|
+
return { initialValues, autoRun };
|
|
278
|
+
}
|
|
279
|
+
export {
|
|
280
|
+
EntityExplorerApp
|
|
281
|
+
};
|
|
282
|
+
//# sourceMappingURL=EntityExplorerApp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityExplorerApp.js","sources":["../../src/rpc/EntityExplorerApp.tsx"],"sourcesContent":["import { useEffect, useMemo } from \"react\";\nimport type { AnyApiReferenceConfiguration } from \"@scalar/api-reference-react\";\nimport { ThemeSwitcher } from \"../components/theme-switcher\";\nimport type { ClickyCommandRuntime, ClickyResolvedCommand } from \"../data/Clicky\";\nimport { ApiExplorer } from \"./ApiExplorer\";\nimport { getClickySurfaces, makeSurfaceDefinition } from \"./clickyMetadata\";\nimport type { RenderLink } from \"./EndpointList\";\nimport { OperationCatalog } from \"./OperationCatalog\";\nimport { OperationCommandPage } from \"./OperationCommandPage\";\nimport { OperationEntityPage } from \"./OperationEntityPage\";\nimport type { ClickySurface } from \"./types\";\nimport type { OperationsApiClient } from \"./useOperations\";\nimport { useOperations } from \"./useOperations\";\n\nexport type EntityExplorerAppProps = {\n client: OperationsApiClient;\n pathname: string;\n renderLink: RenderLink;\n basePath?: string;\n showApiExplorer?: boolean;\n apiExplorerMode?: \"scalar\" | \"operations\";\n apiExplorerUrl?: string;\n apiExplorerConfiguration?: AnyApiReferenceConfiguration;\n};\n\nexport function EntityExplorerApp({\n client,\n pathname,\n renderLink,\n basePath = \"\",\n showApiExplorer = true,\n apiExplorerMode = \"scalar\",\n apiExplorerUrl,\n apiExplorerConfiguration,\n}: EntityExplorerAppProps) {\n const { spec } = useOperations(client);\n const surfaces = useMemo(() => getClickySurfaces(spec), [spec]);\n const defaultSurface = useMemo(\n () => surfaces.find((surface) => !surface.admin) ?? surfaces[0],\n [surfaces],\n );\n const relativePath = useMemo(() => stripBasePath(pathname, basePath), [basePath, pathname]);\n const route = useMemo(() => parseExplorerRoute(relativePath), [relativePath]);\n const resolvedRoute = useMemo(() => resolveRouteSurface(route, surfaces), [route, surfaces]);\n const commandRuntime = useMemo<ClickyCommandRuntime>(\n () => ({\n client,\n hrefForCommand: (resolved) => buildCommandHref(basePath, resolved),\n onNavigate: (resolved) => {\n const href = buildCommandHref(basePath, resolved);\n if (!href || typeof window === \"undefined\") return;\n window.history.pushState(window.history.state, \"\", href);\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\n },\n }),\n [basePath, client],\n );\n const { initialValues: commandInitialValues, autoRun: commandAutoRun } = useMemo(\n () =>\n resolvedRoute.kind === \"command\"\n ? readCommandQueryParams()\n : { initialValues: {}, autoRun: false },\n [resolvedRoute.kind, pathname],\n );\n const explorerDefinition = useMemo(\n () => ({\n key: \"explorer\",\n title: \"API Explorer\",\n description: \"Every operation exposed by the current OpenAPI spec.\",\n }),\n [],\n );\n\n useEffect(() => {\n if (\n typeof window === \"undefined\" ||\n defaultSurface == null ||\n relativePath !== \"/\" ||\n window.location.pathname !== withBasePath(basePath, \"/\")\n ) {\n return;\n }\n\n const target = withBasePath(basePath, `/${defaultSurface.key}`);\n window.history.replaceState(window.history.state, \"\", target);\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\n }, [basePath, defaultSurface, relativePath]);\n\n return (\n <div className=\"flex h-full\">\n <aside className=\"flex w-64 shrink-0 flex-col border-r border-border bg-muted/30 p-4\">\n <div className=\"mb-6\">\n <div className=\"text-sm font-semibold\">{spec?.info.title ?? \"Clicky Explorer\"}</div>\n <div className=\"text-xs text-muted-foreground\">Metadata-driven entity explorer</div>\n </div>\n <nav className=\"flex flex-col gap-1\">\n {surfaces.map((surface) =>\n renderLink({\n key: surface.key,\n to: withBasePath(basePath, `/${surface.key}`),\n className: navLinkClassName(isSurfaceRouteActive(resolvedRoute, surface.key)),\n children: surface.title,\n }),\n )}\n {showApiExplorer &&\n renderLink({\n key: explorerDefinition.key,\n to: withBasePath(basePath, \"/explorer\"),\n className: navLinkClassName(\n resolvedRoute.kind === \"explorer\" || resolvedRoute.kind === \"command\",\n ),\n children: explorerDefinition.title,\n })}\n </nav>\n <div className=\"mt-auto pt-4\">\n <ThemeSwitcher />\n </div>\n </aside>\n\n <main className=\"flex-1 overflow-auto p-6\">\n {resolvedRoute.kind === \"surface\" ? (\n resolvedRoute.surface ? (\n <OperationCatalog\n definition={makeSurfaceDefinition(resolvedRoute.surface)}\n entities={[resolvedRoute.surface.entity]}\n client={client}\n renderLink={renderLink}\n surfaceKey={resolvedRoute.surface.key}\n commandRuntime={commandRuntime}\n />\n ) : (\n <UnknownSurface surfaceKey={resolvedRoute.surfaceKey} />\n )\n ) : resolvedRoute.kind === \"entity\" ? (\n resolvedRoute.surface ? (\n <OperationEntityPage\n definition={makeSurfaceDefinition(resolvedRoute.surface)}\n entities={[resolvedRoute.surface.entity]}\n client={client}\n renderLink={renderLink}\n surfaceKey={resolvedRoute.surface.key}\n backHref={withBasePath(basePath, `/${resolvedRoute.surface.key}`)}\n backLabel={`Back to ${resolvedRoute.surface.title}`}\n commandRuntime={commandRuntime}\n {...(resolvedRoute.id ? { id: resolvedRoute.id } : {})}\n />\n ) : (\n <UnknownSurface surfaceKey={resolvedRoute.surfaceKey} />\n )\n ) : resolvedRoute.kind === \"command\" ? (\n <OperationCommandPage\n client={client}\n backHref={withBasePath(basePath, \"/explorer\")}\n backLabel=\"Back to API Explorer\"\n renderLink={renderLink}\n commandRuntime={commandRuntime}\n initialValues={commandInitialValues}\n autoRun={commandAutoRun}\n {...(resolvedRoute.operationId ? { operationId: resolvedRoute.operationId } : {})}\n />\n ) : resolvedRoute.kind === \"explorer\" ? (\n apiExplorerMode === \"scalar\" ? (\n <ApiExplorer\n {...(apiExplorerUrl ? { openApiUrl: apiExplorerUrl } : {})}\n {...(apiExplorerConfiguration ? { configuration: apiExplorerConfiguration } : {})}\n />\n ) : (\n <OperationCatalog\n definition={explorerDefinition}\n entities={[]}\n allOperations\n client={client}\n renderLink={renderLink}\n commandRuntime={commandRuntime}\n />\n )\n ) : defaultSurface == null ? (\n <div className=\"text-sm text-muted-foreground\">Loading surfaces…</div>\n ) : (\n <div className=\"text-sm text-muted-foreground\">Redirecting…</div>\n )}\n </main>\n </div>\n );\n}\n\ntype ExplorerRoute =\n | { kind: \"root\" }\n | { kind: \"explorer\" }\n | { kind: \"command\"; operationId?: string }\n | { kind: \"surface\"; surfaceKey: string; surface?: ClickySurface }\n | {\n kind: \"entity\";\n surfaceKey: string;\n surface?: ClickySurface;\n id?: string;\n };\n\nfunction parseExplorerRoute(pathname: string): ExplorerRoute {\n const normalized = trimTrailingSlash(pathname) || \"/\";\n if (normalized === \"/\") {\n return { kind: \"root\" };\n }\n\n const segments = normalized.replace(/^\\/+/, \"\").split(\"/\");\n if (segments[0] === \"explorer\") {\n return { kind: \"explorer\" };\n }\n if (segments[0] === \"commands\") {\n return segments[1] ? { kind: \"command\", operationId: segments[1] } : { kind: \"command\" };\n }\n const surfaceKey = segments[0] ?? \"\";\n if (segments[1]) {\n return {\n kind: \"entity\",\n surfaceKey,\n id: decodeURIComponent(segments[1]),\n };\n }\n return { kind: \"surface\", surfaceKey };\n}\n\nfunction resolveRouteSurface(route: ExplorerRoute, surfaces: ClickySurface[]): ExplorerRoute {\n if (route.kind !== \"surface\" && route.kind !== \"entity\") {\n return route;\n }\n const surface = surfaces.find((item) => item.key === route.surfaceKey);\n return surface ? { ...route, surface } : route;\n}\n\nfunction isSurfaceRouteActive(route: ExplorerRoute, surfaceKey: string) {\n return (\n (route.kind === \"surface\" && route.surfaceKey === surfaceKey) ||\n (route.kind === \"entity\" && route.surfaceKey === surfaceKey)\n );\n}\n\nfunction navLinkClassName(active: boolean) {\n return [\n \"rounded-md px-2 py-1.5 text-sm transition-colors\",\n active ? \"bg-accent text-accent-foreground\" : \"text-foreground hover:bg-accent\",\n ].join(\" \");\n}\n\nfunction stripBasePath(pathname: string, basePath: string) {\n const base = trimTrailingSlash(basePath);\n if (!base || base === \"/\") {\n return trimTrailingSlash(pathname) || \"/\";\n }\n if (pathname === base) {\n return \"/\";\n }\n if (pathname.startsWith(`${base}/`)) {\n return trimTrailingSlash(pathname.slice(base.length)) || \"/\";\n }\n return trimTrailingSlash(pathname) || \"/\";\n}\n\nfunction withBasePath(basePath: string, pathname: string) {\n const base = trimTrailingSlash(basePath);\n if (!base || base === \"/\") {\n return pathname;\n }\n return `${base}${pathname}`;\n}\n\nfunction trimTrailingSlash(value: string) {\n if (!value) return \"\";\n return value.length > 1 ? value.replace(/\\/+$/, \"\") : value;\n}\n\nfunction UnknownSurface({ surfaceKey }: { surfaceKey: string }) {\n return (\n <div className=\"p-6 text-sm text-muted-foreground\">\n Unknown surface: <code>{surfaceKey}</code>\n </div>\n );\n}\n\nconst AUTORUN_QUERY_PARAM = \"__autoRun\";\nconst ARG_QUERY_PREFIX = \"__arg\";\n\nfunction buildCommandHref(basePath: string, resolved: ClickyResolvedCommand): string | undefined {\n const commandId = resolved.operation?.operation.operationId ?? resolved.request.command;\n if (!commandId) return undefined;\n\n const meta = resolved.operation?.operation[\"x-clicky\"];\n const args = resolved.request.args ?? [];\n const flags = resolved.request.flags ?? {};\n\n // Entity `get` commands route to the surface detail URL: /<surface>/<id>?<flags>\n if (meta?.verb === \"get\" && meta?.scope === \"entity\" && meta.surface && args[0]) {\n const search = new URLSearchParams();\n for (const [key, value] of Object.entries(flags)) {\n if (value !== undefined && value !== \"\") {\n search.set(key, value);\n }\n }\n const query = search.toString();\n const suffix = query ? `?${query}` : \"\";\n return withBasePath(\n basePath,\n `/${encodeURIComponent(meta.surface)}/${encodeURIComponent(args[0])}${suffix}`,\n );\n }\n\n const search = new URLSearchParams();\n args.forEach((value, index) => {\n if (value !== undefined && value !== \"\") {\n search.set(`${ARG_QUERY_PREFIX}${index}`, value);\n }\n });\n for (const [key, value] of Object.entries(flags)) {\n if (value !== undefined && value !== \"\") {\n search.set(key, value);\n }\n }\n if (resolved.request.autoRun) {\n search.set(AUTORUN_QUERY_PARAM, \"1\");\n }\n\n const query = search.toString();\n const suffix = query ? `?${query}` : \"\";\n return withBasePath(basePath, `/commands/${encodeURIComponent(commandId)}${suffix}`);\n}\n\nfunction readCommandQueryParams(): { initialValues: Record<string, string>; autoRun: boolean } {\n if (typeof window === \"undefined\") {\n return { initialValues: {}, autoRun: false };\n }\n const search = new URLSearchParams(window.location.search);\n const initialValues: Record<string, string> = {};\n let autoRun = false;\n const positional: string[] = [];\n\n for (const [key, value] of search.entries()) {\n if (key === AUTORUN_QUERY_PARAM) {\n autoRun = value === \"1\" || value === \"true\";\n continue;\n }\n if (key.startsWith(ARG_QUERY_PREFIX)) {\n const index = Number.parseInt(key.slice(ARG_QUERY_PREFIX.length), 10);\n if (Number.isFinite(index) && index >= 0) {\n positional[index] = value;\n }\n continue;\n }\n initialValues[key] = value;\n }\n\n const packedArgs = positional.filter((value) => value !== undefined).join(\" \");\n if (packedArgs !== \"\") {\n initialValues.args = packedArgs;\n }\n\n return { initialValues, autoRun };\n}\n"],"names":["search","query","suffix"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ClickyCommandRuntime, ClickyTableRowHref, ClickyTableRowClick, ClickyTableRowPredicate } from '../data/Clicky';
|
|
2
|
+
import { ExecutionResponse } from './types';
|
|
3
|
+
export type ExecutionResultProps = {
|
|
4
|
+
response?: ExecutionResponse | null;
|
|
5
|
+
emptyMessage?: string;
|
|
6
|
+
ariaLabel?: string;
|
|
7
|
+
className?: string;
|
|
8
|
+
commandRuntime?: ClickyCommandRuntime;
|
|
9
|
+
onTableRowClick?: ClickyTableRowClick;
|
|
10
|
+
getTableRowHref?: ClickyTableRowHref;
|
|
11
|
+
isTableRowClickable?: ClickyTableRowPredicate;
|
|
12
|
+
};
|
|
13
|
+
export declare function ExecutionResult({ response, emptyMessage, ariaLabel, className, commandRuntime, onTableRowClick, getTableRowHref, isTableRowClickable, }: ExecutionResultProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=ExecutionResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecutionResult.d.ts","sourceRoot":"","sources":["../../src/rpc/ExecutionResult.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EAGzB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC7B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;CAC/C,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,YAAiC,EACjC,SAA2B,EAC3B,SAAS,EACT,cAAc,EACd,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,EAAE,oBAAoB,2CA+CtB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { parseClickyData, Clicky } from "../data/Clicky.js";
|
|
3
|
+
import { cn } from "../lib/utils.js";
|
|
4
|
+
import { parseJsonBody } from "./classify.js";
|
|
5
|
+
function ExecutionResult({
|
|
6
|
+
response,
|
|
7
|
+
emptyMessage = "No response yet.",
|
|
8
|
+
ariaLabel = "Response body",
|
|
9
|
+
className,
|
|
10
|
+
commandRuntime,
|
|
11
|
+
onTableRowClick,
|
|
12
|
+
getTableRowHref,
|
|
13
|
+
isTableRowClickable
|
|
14
|
+
}) {
|
|
15
|
+
if (!response) {
|
|
16
|
+
return /* @__PURE__ */ jsx("p", { className: cn("mt-3 text-sm text-muted-foreground", className), children: emptyMessage });
|
|
17
|
+
}
|
|
18
|
+
const rawText = response.stdout || response.output || response.message || "";
|
|
19
|
+
const parsedPayload = response.parsed ?? parseJsonBody(response);
|
|
20
|
+
const clickyPayload = typeof parsedPayload === "string" || parsedPayload != null && typeof parsedPayload === "object" ? parsedPayload : rawText;
|
|
21
|
+
const parsedClicky = clickyPayload === "" ? null : parseClickyData(clickyPayload);
|
|
22
|
+
if (parsedClicky == null ? void 0 : parsedClicky.ok) {
|
|
23
|
+
return /* @__PURE__ */ jsx("div", { role: "region", "aria-label": ariaLabel, className: cn("mt-3", className), children: /* @__PURE__ */ jsx(
|
|
24
|
+
Clicky,
|
|
25
|
+
{
|
|
26
|
+
data: parsedClicky.document,
|
|
27
|
+
...response.requestUrl ? { url: response.requestUrl } : {},
|
|
28
|
+
...commandRuntime ? { commandRuntime } : {},
|
|
29
|
+
...onTableRowClick ? { onTableRowClick } : {},
|
|
30
|
+
...getTableRowHref ? { getTableRowHref } : {},
|
|
31
|
+
...isTableRowClickable ? { isTableRowClickable } : {}
|
|
32
|
+
}
|
|
33
|
+
) });
|
|
34
|
+
}
|
|
35
|
+
const renderedText = parsedPayload != null ? JSON.stringify(parsedPayload, null, 2) : rawText;
|
|
36
|
+
if (!renderedText) {
|
|
37
|
+
return /* @__PURE__ */ jsx("p", { className: cn("mt-3 text-sm text-muted-foreground", className), children: "Response completed with no body." });
|
|
38
|
+
}
|
|
39
|
+
return /* @__PURE__ */ jsx(
|
|
40
|
+
"pre",
|
|
41
|
+
{
|
|
42
|
+
"aria-label": ariaLabel,
|
|
43
|
+
className: cn("mt-3 overflow-auto rounded-md bg-muted p-4 text-xs", className),
|
|
44
|
+
children: renderedText
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
ExecutionResult
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=ExecutionResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecutionResult.js","sources":["../../src/rpc/ExecutionResult.tsx"],"sourcesContent":["import {\n Clicky,\n parseClickyData,\n type ClickyCommandRuntime,\n type ClickyDocument,\n type ClickyNode,\n type ClickyTableRowHref,\n type ClickyTableRowClick,\n type ClickyTableRowPredicate,\n} from \"../data/Clicky\";\nimport { cn } from \"../lib/utils\";\nimport { parseJsonBody } from \"./classify\";\nimport type { ExecutionResponse } from \"./types\";\n\nexport type ExecutionResultProps = {\n response?: ExecutionResponse | null;\n emptyMessage?: string;\n ariaLabel?: string;\n className?: string;\n commandRuntime?: ClickyCommandRuntime;\n onTableRowClick?: ClickyTableRowClick;\n getTableRowHref?: ClickyTableRowHref;\n isTableRowClickable?: ClickyTableRowPredicate;\n};\n\nexport function ExecutionResult({\n response,\n emptyMessage = \"No response yet.\",\n ariaLabel = \"Response body\",\n className,\n commandRuntime,\n onTableRowClick,\n getTableRowHref,\n isTableRowClickable,\n}: ExecutionResultProps) {\n if (!response) {\n return <p className={cn(\"mt-3 text-sm text-muted-foreground\", className)}>{emptyMessage}</p>;\n }\n\n const rawText = response.stdout || response.output || response.message || \"\";\n const parsedPayload = response.parsed ?? parseJsonBody(response);\n const clickyPayload: string | ClickyNode | ClickyDocument | undefined =\n typeof parsedPayload === \"string\" ||\n (parsedPayload != null && typeof parsedPayload === \"object\")\n ? (parsedPayload as ClickyNode | ClickyDocument)\n : rawText;\n const parsedClicky = clickyPayload === \"\" ? null : parseClickyData(clickyPayload);\n\n if (parsedClicky?.ok) {\n return (\n <div role=\"region\" aria-label={ariaLabel} className={cn(\"mt-3\", className)}>\n <Clicky\n data={parsedClicky.document}\n {...(response.requestUrl ? { url: response.requestUrl } : {})}\n {...(commandRuntime ? { commandRuntime } : {})}\n {...(onTableRowClick ? { onTableRowClick } : {})}\n {...(getTableRowHref ? { getTableRowHref } : {})}\n {...(isTableRowClickable ? { isTableRowClickable } : {})}\n />\n </div>\n );\n }\n\n const renderedText = parsedPayload != null ? JSON.stringify(parsedPayload, null, 2) : rawText;\n\n if (!renderedText) {\n return (\n <p className={cn(\"mt-3 text-sm text-muted-foreground\", className)}>\n Response completed with no body.\n </p>\n );\n }\n\n return (\n <pre\n aria-label={ariaLabel}\n className={cn(\"mt-3 overflow-auto rounded-md bg-muted p-4 text-xs\", className)}\n >\n {renderedText}\n </pre>\n );\n}\n"],"names":[],"mappings":";;;;AAyBO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA,eAAe;AAAA,EACf,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,MAAI,CAAC,UAAU;AACb,+BAAQ,KAAA,EAAE,WAAW,GAAG,sCAAsC,SAAS,GAAI,UAAA,cAAa;AAAA,EAC1F;AAEA,QAAM,UAAU,SAAS,UAAU,SAAS,UAAU,SAAS,WAAW;AAC1E,QAAM,gBAAgB,SAAS,UAAU,cAAc,QAAQ;AAC/D,QAAM,gBACJ,OAAO,kBAAkB,YACxB,iBAAiB,QAAQ,OAAO,kBAAkB,WAC9C,gBACD;AACN,QAAM,eAAe,kBAAkB,KAAK,OAAO,gBAAgB,aAAa;AAEhF,MAAI,6CAAc,IAAI;AACpB,WACE,oBAAC,OAAA,EAAI,MAAK,UAAS,cAAY,WAAW,WAAW,GAAG,QAAQ,SAAS,GACvE,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM,aAAa;AAAA,QAClB,GAAI,SAAS,aAAa,EAAE,KAAK,SAAS,WAAA,IAAe,CAAA;AAAA,QACzD,GAAI,iBAAiB,EAAE,eAAA,IAAmB,CAAA;AAAA,QAC1C,GAAI,kBAAkB,EAAE,gBAAA,IAAoB,CAAA;AAAA,QAC5C,GAAI,kBAAkB,EAAE,gBAAA,IAAoB,CAAA;AAAA,QAC5C,GAAI,sBAAsB,EAAE,wBAAwB,CAAA;AAAA,MAAC;AAAA,IAAA,GAE1D;AAAA,EAEJ;AAEA,QAAM,eAAe,iBAAiB,OAAO,KAAK,UAAU,eAAe,MAAM,CAAC,IAAI;AAEtF,MAAI,CAAC,cAAc;AACjB,+BACG,KAAA,EAAE,WAAW,GAAG,sCAAsC,SAAS,GAAG,UAAA,oCAEnE;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,cAAY;AAAA,MACZ,WAAW,GAAG,sDAAsD,SAAS;AAAA,MAE5E,UAAA;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ParameterValues } from './formMetadata';
|
|
2
|
+
import { OpenAPIParameter } from './types';
|
|
3
|
+
import { OperationsApiClient } from './useOperations';
|
|
4
|
+
export type FilterFormProps = {
|
|
5
|
+
client: OperationsApiClient;
|
|
6
|
+
path: string;
|
|
7
|
+
method: string;
|
|
8
|
+
parameters?: OpenAPIParameter[];
|
|
9
|
+
initialValues?: ParameterValues | undefined;
|
|
10
|
+
lockedValues?: ParameterValues | undefined;
|
|
11
|
+
hideLocked?: boolean | undefined;
|
|
12
|
+
enableLookup?: boolean | undefined;
|
|
13
|
+
autoSubmit?: boolean | undefined;
|
|
14
|
+
submitLabel?: string | undefined;
|
|
15
|
+
submittingLabel?: string | undefined;
|
|
16
|
+
emptyMessage?: string | undefined;
|
|
17
|
+
isSubmitting?: boolean | undefined;
|
|
18
|
+
className?: string | undefined;
|
|
19
|
+
onSubmit: (values: ParameterValues) => void | Promise<void>;
|
|
20
|
+
};
|
|
21
|
+
export declare function FilterForm({ client, path, method, parameters, initialValues, lockedValues, hideLocked, enableLookup, autoSubmit, submitLabel, submittingLabel, emptyMessage, isSubmitting, className, onSubmit, }: FilterFormProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=FilterForm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterForm.d.ts","sourceRoot":"","sources":["../../src/rpc/FilterForm.tsx"],"names":[],"mappings":"AAWA,OAAO,EAOL,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC5C,YAAY,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D,CAAC;AAEF,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,IAAI,EACJ,MAAM,EACN,UAAe,EACf,aAAkB,EAClB,YAAiB,EACjB,UAAkB,EAClB,YAA6C,EAC7C,UAAkB,EAClB,WAA+B,EAC/B,eAA8B,EAC9B,YAAuD,EACvD,YAAoB,EACpB,SAAS,EACT,QAAQ,GACT,EAAE,eAAe,2CAsHjB"}
|