UNPKG

@flanksource/clicky-ui

Version:

Flanksource Clicky UI — React component library built on shadcn/ui with light/dark and density theming.

38 lines (37 loc) 1.26 kB
import { jsx } from "react/jsx-runtime"; import { useMemo, Suspense, lazy } from "react"; import { cn } from "../lib/utils.js"; const DEFAULT_OPENAPI_URL = "/api/openapi.json"; const ScalarApiReference = lazy(async () => { await import("@scalar/api-reference-react/style.css"); const mod = await import("@scalar/api-reference-react"); return { default: mod.ApiReferenceReact }; }); function ApiExplorer({ openApiUrl = DEFAULT_OPENAPI_URL, configuration, className, style }) { const scalarConfiguration = useMemo(() => { if (configuration == null) { return { url: openApiUrl }; } if (Array.isArray(configuration)) { return configuration; } return { url: openApiUrl, ...configuration }; }, [configuration, openApiUrl]); return /* @__PURE__ */ jsx("div", { className: cn("h-full min-h-0 overflow-auto", className), style, children: /* @__PURE__ */ jsx( Suspense, { fallback: /* @__PURE__ */ jsx("div", { className: "p-4 text-sm text-muted-foreground", children: "Loading API explorer..." }), children: /* @__PURE__ */ jsx(ScalarApiReference, { configuration: scalarConfiguration }) } ) }); } export { ApiExplorer, DEFAULT_OPENAPI_URL }; //# sourceMappingURL=ApiExplorer.js.map