@clarify-labs/renderer 0.11.21 → 0.11.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/output/{ClarifyShell-BdkOnYRO.js → ClarifyShell-BY7ufELe.js} +96 -151
  2. package/output/ClarifyShell-BY7ufELe.js.map +1 -0
  3. package/output/{ClarifyShell-DwxpyL0U.cjs → ClarifyShell-BYJ3LIy_.cjs} +96 -151
  4. package/output/ClarifyShell-BYJ3LIy_.cjs.map +1 -0
  5. package/output/{MermaidViewer-CPEutQ9L.cjs → MermaidViewer-BeDNlsUO.cjs} +5 -5
  6. package/output/MermaidViewer-BeDNlsUO.cjs.map +1 -0
  7. package/output/{MermaidViewer-DtswU1MF.js → MermaidViewer-DHxjl1zP.js} +5 -5
  8. package/output/MermaidViewer-DHxjl1zP.js.map +1 -0
  9. package/output/{OpenApiOperation-Cv4N92VL.cjs → OpenApiOperation-La7HjfXY.cjs} +133 -112
  10. package/output/OpenApiOperation-La7HjfXY.cjs.map +1 -0
  11. package/output/{OpenApiOperation-B68CqUJW.js → OpenApiOperation-p1OjfdKR.js} +133 -112
  12. package/output/OpenApiOperation-p1OjfdKR.js.map +1 -0
  13. package/output/{PageActions-BszP_J4e.js → PageActions-DAdtjf4H.js} +56 -42
  14. package/output/PageActions-DAdtjf4H.js.map +1 -0
  15. package/output/{PageActions-CwJLUFUH.cjs → PageActions-kJT0EKLS.cjs} +61 -41
  16. package/output/PageActions-kJT0EKLS.cjs.map +1 -0
  17. package/output/{SearchDialog-LCYjnaI0.cjs → SearchDialog-BBSj23yI.cjs} +9 -9
  18. package/output/{SearchDialog-LCYjnaI0.cjs.map → SearchDialog-BBSj23yI.cjs.map} +1 -1
  19. package/output/{SearchDialog-BKl8YlX5.js → SearchDialog-DW_bndWO.js} +9 -9
  20. package/output/{SearchDialog-BKl8YlX5.js.map → SearchDialog-DW_bndWO.js.map} +1 -1
  21. package/output/app/SectionProvider.d.ts +1 -0
  22. package/output/client.cjs +3 -3
  23. package/output/client.js +3 -3
  24. package/output/core/types.d.ts +1 -0
  25. package/output/{i18n-Zmmhz7FF.js → i18n-Bt-OaKRP.js} +3 -1
  26. package/output/i18n-Bt-OaKRP.js.map +1 -0
  27. package/output/{i18n-BMNCgF9o.cjs → i18n-tOmAUK0W.cjs} +3 -1
  28. package/output/i18n-tOmAUK0W.cjs.map +1 -0
  29. package/output/index.cjs +19 -15
  30. package/output/index.cjs.map +1 -1
  31. package/output/index.js +19 -15
  32. package/output/index.js.map +1 -1
  33. package/output/openapi/components/DeprecatedBadge.d.ts +5 -0
  34. package/output/openapi/entry.d.ts +2 -0
  35. package/output/preview.cjs +25 -25
  36. package/output/preview.cjs.map +1 -1
  37. package/output/preview.js +25 -25
  38. package/output/preview.js.map +1 -1
  39. package/output/{render-DHVpckNI.cjs → render-BXsYCBIp.cjs} +2 -2
  40. package/output/{render-DHVpckNI.cjs.map → render-BXsYCBIp.cjs.map} +1 -1
  41. package/output/{render-CRQXzd-y.js → render-DU9Jt4WC.js} +2 -2
  42. package/output/{render-CRQXzd-y.js.map → render-DU9Jt4WC.js.map} +1 -1
  43. package/output/renderer.css +2943 -3278
  44. package/output/server.cjs +2 -2
  45. package/output/server.js +2 -2
  46. package/package.json +1 -1
  47. package/output/ClarifyShell-BdkOnYRO.js.map +0 -1
  48. package/output/ClarifyShell-DwxpyL0U.cjs.map +0 -1
  49. package/output/MermaidViewer-CPEutQ9L.cjs.map +0 -1
  50. package/output/MermaidViewer-DtswU1MF.js.map +0 -1
  51. package/output/OpenApiOperation-B68CqUJW.js.map +0 -1
  52. package/output/OpenApiOperation-Cv4N92VL.cjs.map +0 -1
  53. package/output/PageActions-BszP_J4e.js.map +0 -1
  54. package/output/PageActions-CwJLUFUH.cjs.map +0 -1
  55. package/output/i18n-BMNCgF9o.cjs.map +0 -1
  56. package/output/i18n-Zmmhz7FF.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"preview.cjs","names":[],"sources":["../source/preview/openapi.tsx","../source/preview.tsx"],"sourcesContent":["import { useState } from 'react'\n\nimport { authPlaceholder, defaultServerVariables, getAuthOptions, getServerKey, getServers, RequestExamplesPanel, ResponseExamplesPanel } from '../openapi/components/ExamplePanels'\nimport { EndpointIdentity } from '../openapi/components/OpenApiOperation'\nimport { getMediaTypeEntries, getRequestBody } from '../openapi/lib/helpers'\nimport type { OpenAPIOperation, OpenAPISpec } from '../openapi/lib/utils'\nimport type { OpenApiParameter, RequestAuthInput } from '../openapi/types'\n\nexport type PreviewParameter = {\n name: string\n in: string\n type: string\n required?: boolean\n description?: string\n schema?: unknown\n}\n\nexport type PreviewEndpoint = {\n method: string\n path: string\n summary: string\n description: string\n parameters?: PreviewParameter[]\n requestDescription?: string\n requestSchema?: unknown\n requestExample?: unknown\n response?: string\n responseStatus?: string\n responseDescription?: string\n responseSchema?: unknown\n responseExample?: unknown\n}\n\ntype CreatePreviewOpenApiResult = {\n operation: OpenAPIOperation\n spec: OpenAPISpec\n parameters: OpenApiParameter[]\n}\n\ntype OpenApiExamplesPreviewProps = { endpoint: PreviewEndpoint }\n\ntype UsePreviewRequestStateArgs = {\n spec: OpenAPISpec\n operation: OpenAPIOperation\n}\n\nfunction usePreviewRequestState(arg0: UsePreviewRequestStateArgs) {\n const { spec, operation } = arg0\n const requestBody = getRequestBody(spec, operation)\n const requestContents = getMediaTypeEntries(requestBody?.content, spec)\n const [selectedRequestMediaType, setSelectedRequestMediaType] = useState(requestContents[0]?.mediaType ?? '')\n const selectedRequestContent = requestContents.find((content) => content.mediaType === selectedRequestMediaType) ?? requestContents[0]\n\n return {\n requestContents,\n selectedRequestContent,\n setSelectedRequestMediaType,\n }\n}\n\ntype UsePreviewIdentityStateArgs = {\n spec: OpenAPISpec\n operation: OpenAPIOperation\n path: string\n}\n\nfunction usePreviewIdentityState(arg0: UsePreviewIdentityStateArgs) {\n const { spec, operation, path } = arg0\n const servers = getServers(spec, operation, path)\n const [selectedServerKey, setSelectedServerKey] = useState(getServerKey(servers[0], 0))\n const selectedServer = servers.find((server, index) => getServerKey(server, index) === selectedServerKey) ?? servers[0]\n const [serverVariables, setServerVariables] = useState(defaultServerVariables(selectedServer))\n const [serverOpen, setServerOpen] = useState(false)\n\n const authOptions = getAuthOptions(spec, operation)\n const [selectedAuthName, setSelectedAuthName] = useState(authOptions[0]?.key ?? '')\n const selectedAuth = authOptions.find((option) => option.key === selectedAuthName)\n const [authValues, setAuthValues] = useState<Record<string, string>>({})\n const [authOpen, setAuthOpen] = useState(false)\n\n const authInput: RequestAuthInput[] | undefined = selectedAuth\n ? selectedAuth.schemes.map((option) => ({ name: option.name, scheme: option.scheme, value: authValues[option.name] ?? authPlaceholder(option) }))\n : undefined\n\n return {\n servers,\n selectedServerKey,\n selectedServer,\n serverVariables,\n serverOpen,\n authOptions,\n selectedAuthName,\n selectedAuth,\n authValues,\n authOpen,\n authInput,\n onSelectServer: (value: string) => {\n const nextServer = servers.find((server, index) => getServerKey(server, index) === value) ?? servers[0]\n setSelectedServerKey(value)\n setServerVariables(defaultServerVariables(nextServer))\n },\n onChangeServerVariable: (name: string, value: string) => {\n setServerVariables((current) => ({ ...current, [name]: value }))\n },\n onToggleServer: () => {\n setServerOpen((current) => !current)\n setAuthOpen(false)\n },\n onToggleAuth: () => {\n setAuthOpen((current) => !current)\n setServerOpen(false)\n },\n onSelectAuth: setSelectedAuthName,\n onChangeAuthValue: (name: string, value: string) => {\n setAuthValues((current) => ({ ...current, [name]: value }))\n },\n onClearAuthValue: (name: string) => {\n setAuthValues((current) => {\n const values = { ...current }\n delete values[name]\n return values\n })\n },\n onClearAuthValues: () => setAuthValues({}),\n }\n}\n\nfunction schemaFromType(type: string): unknown {\n if (type.endsWith('[]')) return { type: 'array', items: schemaFromType(type.slice(0, -2)) }\n if (type === 'number' || type === 'integer' || type === 'boolean' || type === 'object') return { type }\n return { type: 'string' }\n}\n\nfunction parseResponseExample(endpoint: PreviewEndpoint): unknown {\n if (typeof endpoint.responseExample !== 'undefined') return endpoint.responseExample\n if (!endpoint.response) return undefined\n\n try {\n return JSON.parse(endpoint.response)\n } catch {\n return endpoint.response\n }\n}\n\nfunction inferSchemaFromExample(example: unknown): unknown {\n if (Array.isArray(example)) {\n return { type: 'array', items: inferSchemaFromExample(example[0]) ?? { type: 'object' } }\n }\n\n if (typeof example === 'object' && example !== null) {\n return {\n type: 'object',\n properties: Object.fromEntries(Object.entries(example).map(([key, value]) => [key, inferSchemaFromExample(value)])),\n }\n }\n\n if (typeof example === 'number') return { type: Number.isInteger(example) ? 'integer' : 'number' }\n if (typeof example === 'boolean') return { type: 'boolean' }\n return typeof example === 'undefined' ? undefined : { type: 'string' }\n}\n\nfunction normalizeParameterLocation(location: string): string {\n return location === 'route' ? 'path' : location\n}\n\nfunction toOpenApiParameter(parameter: PreviewParameter): OpenApiParameter {\n return {\n name: parameter.name,\n in: normalizeParameterLocation(parameter.in),\n required: parameter.required,\n description: parameter.description,\n schema: parameter.schema ?? schemaFromType(parameter.type),\n }\n}\n\nfunction createPreviewOpenApi(endpoint: PreviewEndpoint): CreatePreviewOpenApiResult {\n const method = endpoint.method.toLowerCase()\n const parameters = (endpoint.parameters ?? []).map(toOpenApiParameter)\n const responseExample = parseResponseExample(endpoint)\n const responseSchema = endpoint.responseSchema ?? inferSchemaFromExample(responseExample)\n const requestSchema = endpoint.requestSchema ?? inferSchemaFromExample(endpoint.requestExample)\n const operation = {\n summary: endpoint.summary,\n description: endpoint.description,\n parameters,\n requestBody: requestSchema\n ? {\n description: endpoint.requestDescription,\n required: true,\n content: {\n 'application/json': {\n schema: requestSchema,\n example: endpoint.requestExample,\n },\n },\n }\n : undefined,\n responses: {\n [endpoint.responseStatus ?? '200']: {\n description: endpoint.responseDescription ?? 'OK',\n content: {\n 'application/json': {\n schema: responseSchema,\n example: responseExample,\n },\n },\n },\n },\n } as OpenAPIOperation\n const spec = {\n openapi: '3.1.0',\n info: {\n title: 'Clarify Build API',\n version: '2026-06-20',\n description: 'API reference generated from OpenAPI and rendered as static documentation.',\n },\n servers: [\n {\n url: 'https://server',\n description: 'Production',\n },\n {\n url: 'https://test-server',\n description: 'Test',\n },\n ],\n components: {\n securitySchemes: {\n bearerAuth: {\n type: 'http',\n scheme: 'bearer',\n bearerFormat: 'JWT',\n },\n },\n },\n security: [{ bearerAuth: [] }],\n paths: {\n [endpoint.path]: {\n [method]: operation,\n },\n },\n } as OpenAPISpec\n\n return { operation, spec, parameters }\n}\n\nexport function OpenApiExamplesPreview(arg0: OpenApiExamplesPreviewProps) {\n const { endpoint } = arg0\n const { operation, spec, parameters } = createPreviewOpenApi(endpoint)\n const method = endpoint.method.toUpperCase()\n const { requestContents, selectedRequestContent, setSelectedRequestMediaType } = usePreviewRequestState({ spec, operation })\n const identityState = usePreviewIdentityState({ spec, operation, path: endpoint.path })\n\n function renderIdentity() {\n return (\n <EndpointIdentity\n method={method}\n path={endpoint.path}\n operationSource=\"path\"\n servers={identityState.servers}\n selectedServerKey={identityState.selectedServerKey}\n selectedServer={identityState.selectedServer}\n serverVariables={identityState.serverVariables}\n serverOpen={identityState.serverOpen}\n onSelectServer={identityState.onSelectServer}\n onChangeServerVariable={identityState.onChangeServerVariable}\n onToggleServer={identityState.onToggleServer}\n />\n )\n }\n\n function renderExamples() {\n return (\n <div className=\"grid min-w-0 gap-4 lg:grid-cols-2\">\n <RequestExamplesPanel\n spec={spec}\n path={endpoint.path}\n method={method}\n parameters={parameters}\n requestContents={requestContents}\n selectedMediaType={selectedRequestContent?.mediaType ?? ''}\n onSelectMediaType={setSelectedRequestMediaType}\n selectedServer={identityState.selectedServer}\n serverVariables={identityState.serverVariables}\n auth={identityState.authInput}\n />\n <ResponseExamplesPanel operation={operation} spec={spec} />\n </div>\n )\n }\n\n return (\n <div className=\"space-y-4\">\n {renderIdentity()}\n {renderExamples()}\n </div>\n )\n}\n","import { Menu, X } from 'lucide-react'\nimport type { ReactNode } from 'react'\nimport { useState } from 'react'\n\nimport { SectionProvider } from './app/SectionProvider'\nimport type { Section } from './app/SectionProvider'\nimport { ConfigProvider, LocaleContext, OpenApiSpecsContext } from './core/context'\nimport { OpenApiExamplesPreview } from './preview/openapi'\nimport type { PreviewEndpoint } from './preview/openapi'\nimport { Navigation } from './shell'\nimport type { Config, NavigationNode } from './types'\n\nexport type PreviewGuide = {\n label: string\n title: string\n body: string\n embed: string\n outputs?: string[]\n}\n\nexport type PreviewMetric = {\n label: string\n value: string\n hint?: string\n}\n\nexport type PreviewCard = {\n title: string\n description: string\n}\n\nconst embeddedEndpoint = {\n method: 'GET',\n path: '/examples/basic-request',\n summary: 'Basic request',\n description: 'Rendered from api.openapi.json inside the MDX guide.',\n parameters: [\n { name: 'cursor', in: 'query', type: 'string', description: 'Start after this cursor.' },\n { name: 'limit', in: 'query', type: 'integer', description: 'Max items to return.' },\n { name: 'X-Trace-Id', in: 'header', type: 'string', description: 'Optional request trace.' },\n ],\n responseDescription: 'A page of example records.',\n responseSchema: {\n type: 'object',\n required: ['items'],\n properties: {\n items: { type: 'array', items: { type: 'object' } },\n next: { type: 'string' },\n },\n },\n responseExample: {\n items: [],\n next: 'cursor_2',\n },\n} satisfies PreviewEndpoint\n\nconst embeddedGuide = {\n label: 'source/en-US/openapi/embedding.mdx',\n title: 'Embed OpenAPI in MDX',\n body: 'Use MDX for workflow context, then render the exact operation from the spec.',\n embed: '<OpenApiOperation specPath=\"/api\" operationId=\"demoBasicRequest\" />',\n outputs: ['/openapi/embedding', '/api', '/api.openapi.json', '/llms.txt'],\n} satisfies PreviewGuide\n\nconst staticOutputEndpoint = {\n method: 'POST',\n path: '/api/{id}/path',\n summary: 'Create static build',\n description: 'Build static docs from MDX and OpenAPI sources.',\n parameters: [\n { name: 'id', in: 'path', type: 'string', required: true, description: 'Project ID.' }\n ],\n responseDescription: 'Build metadata and static outputs.',\n responseSchema: {\n type: 'object',\n required: ['id', 'status', 'outputs'],\n properties: {\n id: { type: 'string', description: 'Build identifier.' },\n status: { type: 'string', enum: ['queued', 'running', 'ready'], description: 'Current build state.' },\n outputs: {\n type: 'array',\n description: 'Generated static artifacts.',\n items: {\n type: 'object',\n required: ['path', 'kind'],\n properties: {\n path: { type: 'string' },\n kind: { type: 'string', enum: ['html', 'asset', 'openapi', 'llms'] },\n },\n },\n },\n },\n },\n requestDescription: 'Static build options.',\n requestSchema: {\n type: 'object',\n required: ['source', 'output'],\n properties: {\n source: { type: 'string', description: 'MDX source root.' },\n output: { type: 'string', description: 'Static output root.' },\n includeSearchIndex: { type: 'boolean', description: 'Generate search data.' },\n },\n },\n requestExample: {\n source: 'source',\n output: 'output',\n includeSearchIndex: true,\n },\n responseExample: {\n id: 'build_01HY',\n status: 'ready',\n outputs: [\n { path: '/openapi/index.html', kind: 'html' },\n { path: '/api.openapi.json', kind: 'openapi' },\n { path: '/llms.txt', kind: 'llms' },\n ],\n },\n} satisfies PreviewEndpoint\n\nconst previewConfig = {\n title: 'Clarify preview',\n description: 'Renderer preview environment',\n routePrefix: '/',\n assetPrefix: '/',\n theme: {\n preset: 'default',\n tokens: {\n colors: {\n primary: '#2563eb',\n accent: '#60a5fa',\n background: '#ffffff',\n foreground: '#18181b',\n surface: '#ffffff',\n muted: '#71717a',\n border: 'rgb(24 24 27 / 0.1)',\n codeBackground: '#f4f4f5',\n },\n radius: {\n sm: '0.375rem',\n md: '0.5rem',\n lg: '0.75rem',\n xl: '1rem',\n },\n },\n layout: {\n maxWidth: '88rem',\n },\n },\n locales: {\n default: 'en',\n missing: 'fallback',\n locales: [{ code: 'en', label: 'English' }],\n },\n variables: {},\n features: {\n search: { enabled: true, mcp: true },\n repository: { enabled: true },\n themeEditor: { enabled: true },\n openapi: { enabled: true, playground: true },\n },\n} satisfies Config\n\nconst methodStyleVars: Record<string, string> = {\n GET: 'bg-(--clarify-http-method-get-background) text-(--clarify-http-method-get-text)',\n POST: 'bg-(--clarify-http-method-post-background) text-(--clarify-http-method-post-text)',\n PUT: 'bg-(--clarify-http-method-put-background) text-(--clarify-http-method-put-text)',\n PATCH: 'bg-(--clarify-http-method-patch-background) text-(--clarify-http-method-patch-text)',\n DELETE: 'bg-(--clarify-http-method-delete-background) text-(--clarify-http-method-delete-text)',\n}\n\nconst mainPreviewPath = '/openapi/embedding'\n\nconst mainPreviewSections = [\n { id: 'overview', title: 'Overview' },\n { id: 'request-example', title: 'Request example' }\n] satisfies Section[]\n\ntype PreviewEnvironmentProps = { children: ReactNode; initialEntry?: string; sections?: Section[] }\n\nfunction PreviewEnvironment(arg0: PreviewEnvironmentProps) {\n const { children, sections = [] } = arg0\n\n return (\n <ConfigProvider config={previewConfig}>\n <LocaleContext.Provider value={previewConfig.locales.default}>\n <OpenApiSpecsContext.Provider value={{}}>\n <SectionProvider sections={sections}>\n {children}\n </SectionProvider>\n </OpenApiSpecsContext.Provider>\n </LocaleContext.Provider>\n </ConfigProvider>\n )\n}\n\ntype ChromeProps = { title: string; status?: string; headerAction?: ReactNode; children: ReactNode }\n\nfunction Chrome(arg0: ChromeProps) {\n const { title, status, headerAction, children } = arg0\n\n return (\n <div className=\"clarify-app clarify-preview h-full overflow-hidden bg-(--clarify-theme-tokens-colors-background) text-(--clarify-ui-text) shadow-2xl ring-1 ring-(--clarify-theme-tokens-colors-border) dark:bg-zinc-950 dark:text-white dark:ring-white/10\">\n <div className=\"flex items-center gap-3 border-b border-(--clarify-theme-tokens-colors-border) px-4 py-3 text-xs/6 text-(--clarify-ui-text-faint) dark:border-white/10\">\n <span className=\"size-2 rounded-full bg-rose-400\" />\n <span className=\"size-2 rounded-full bg-amber-400\" />\n <span className=\"size-2 rounded-full bg-emerald-400\" />\n <span className=\"ml-2 min-w-0 flex-1 truncate font-medium text-(--clarify-ui-text-soft)\">{title}</span>\n {status ? <span className=\"hidden rounded-full bg-emerald-400/15 px-2 py-0.5 font-medium text-emerald-700 sm:inline dark:text-emerald-300\">{status}</span> : null}\n {headerAction}\n </div>\n {children}\n </div>\n )\n}\n\ntype MethodBadgeProps = { method: string }\n\nfunction MethodBadge(arg0: MethodBadgeProps) {\n const method = arg0.method.toUpperCase()\n\n return (\n <span className={`rounded-md px-2.5 py-0.5 text-xs/6 font-black tracking-wide ${methodStyleVars[method] ?? 'bg-(--clarify-http-method-default-background) text-(--clarify-http-method-default-text)'}`}>\n {method}\n </span>\n )\n}\n\ntype CreatePreviewNavigationProps = { endpoint: PreviewEndpoint; guide?: PreviewGuide; outputs: string[] }\n\nfunction createPreviewNavigation(arg0: CreatePreviewNavigationProps): NavigationNode[] {\n const { endpoint, guide, outputs } = arg0\n\n return [\n {\n title: 'Guides',\n path: '/guides',\n icon: 'BookOpenText',\n children: [\n { title: guide?.title ?? 'MDX guide', path: mainPreviewPath, icon: 'FileText' },\n { title: 'Getting started', path: '/getting-started', icon: 'Rocket' },\n ],\n },\n {\n title: 'API Reference',\n path: '/api',\n icon: 'Braces',\n children: [\n { title: endpoint.summary, path: endpoint.path, icon: 'Cable' },\n { title: 'Generate static output', path: staticOutputEndpoint.path, icon: 'UploadCloud' },\n ],\n },\n {\n title: 'Build Output',\n path: '/output',\n icon: 'PackageCheck',\n children: [\n { title: `Routes (${outputs.length})`, path: '/output/routes', icon: 'ListTree' }\n ],\n },\n ] satisfies NavigationNode[]\n}\n\ntype PreviewNavigationProps = { endpoint: PreviewEndpoint; guide?: PreviewGuide; outputs: string[] }\n\nfunction PreviewNavigation(arg0: PreviewNavigationProps) {\n return <Navigation navigation={createPreviewNavigation(arg0)} className=\"px-2\" />\n}\n\ntype MainPreviewMobileNavigationProps = PreviewNavigationProps & { isOpen: boolean; onClose: () => void }\n\nfunction MainPreviewMobileNavigation(arg0: MainPreviewMobileNavigationProps) {\n const { isOpen, onClose, ...navigationProps } = arg0\n const navigationId = 'clarify-main-preview-mobile-navigation'\n\n return (\n <div className=\"clarify-preview-mobile-navigation pointer-events-none absolute inset-0 z-20\">\n {isOpen ? (\n <button\n type=\"button\"\n className=\"absolute inset-0 bg-zinc-950/20 backdrop-blur-[1px] dark:bg-black/30\"\n aria-label=\"Close documentation menu\"\n onClick={onClose}\n />\n ) : null}\n <aside\n id={navigationId}\n className=\"pointer-events-auto absolute top-0 bottom-0 left-0 w-64 max-w-[82%] overflow-y-auto border-r border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-background) px-1 py-4 text-sm/7 shadow-2xl shadow-zinc-900/20 transition-transform duration-200 ease-out data-closed:-translate-x-full dark:border-white/10 dark:bg-zinc-950 dark:shadow-black/40\"\n data-closed={!isOpen ? 'true' : undefined}\n >\n <PreviewNavigation {...navigationProps} />\n </aside>\n </div>\n )\n}\n\ntype PreviewMetricGridProps = { metrics: PreviewMetric[] }\n\nfunction PreviewMetricGrid(arg0: PreviewMetricGridProps) {\n const { metrics } = arg0\n\n return (\n <div className=\"grid grid-cols-1 gap-2 sm:grid-cols-3\">\n {metrics.map((metric) => (\n <div key={metric.label} className=\"rounded-xl border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) p-2.5 shadow-sm dark:border-white/10 dark:bg-zinc-900/50\">\n <div className=\"text-xs/5 text-(--clarify-ui-text-faint)\">{metric.label}</div>\n <div className=\"text-base/6 font-semibold text-(--clarify-ui-text-strong)\">{metric.value}</div>\n {metric.hint ? <div className=\"text-xs/5 text-(--clarify-ui-text-faint)\">{metric.hint}</div> : null}\n </div>\n ))}\n </div>\n )\n}\n\ntype PreviewLabelProps = { children: ReactNode }\n\nfunction PreviewLabel(arg0: PreviewLabelProps) {\n return <div className=\"text-xs/5 font-semibold uppercase tracking-wider text-(--clarify-ui-text-faint)\">{arg0.children}</div>\n}\n\ntype GuideSummaryPreviewProps = { guide: PreviewGuide }\n\nfunction GuideSummaryPreview(arg0: GuideSummaryPreviewProps) {\n const { guide } = arg0\n\n return (\n <header className=\"border-b border-(--clarify-theme-tokens-colors-border) pb-4 dark:border-white/10\">\n <PreviewLabel>{guide.label}</PreviewLabel>\n <h2 className=\"mt-1 text-xl/7 font-semibold tracking-tight text-(--clarify-ui-text-strong)\">{guide.title}</h2>\n <p className=\"mt-2 max-w-2xl text-sm/6 text-(--clarify-ui-text-soft)\">{guide.body}</p>\n <pre className=\"mt-3 overflow-hidden rounded-xl bg-zinc-950 px-3 py-2 text-xs/5 whitespace-pre-wrap text-zinc-300\">{guide.embed}</pre>\n </header>\n )\n}\n\ntype EndpointSummaryPreviewProps = { endpoint: PreviewEndpoint }\n\nfunction EndpointSummaryPreview(arg0: EndpointSummaryPreviewProps) {\n const { endpoint } = arg0\n\n return (\n <div className=\"min-w-0\">\n <div className=\"flex flex-wrap items-center gap-3\">\n <MethodBadge method={endpoint.method} />\n <code className=\"text-sm font-medium text-(--clarify-ui-text)\">{endpoint.path}</code>\n </div>\n <h3 className=\"mt-3 text-lg/7 font-semibold tracking-tight text-(--clarify-ui-text-strong)\">{endpoint.summary}</h3>\n <p className=\"mt-1 text-sm/6 text-(--clarify-ui-text-soft)\">{endpoint.description}</p>\n </div>\n )\n}\n\ntype EmbeddedApiPreviewProps = { endpoint: PreviewEndpoint }\n\nfunction EmbeddedApiPreview(arg0: EmbeddedApiPreviewProps) {\n const { endpoint } = arg0\n\n return (\n <div className=\"clarify-preview-api-frame min-w-0 overflow-hidden border-t border-(--clarify-theme-tokens-colors-border) pt-4 dark:border-white/10\">\n <div className=\"clarify-preview-api-content clarify-preview-api-content-embedded\">\n <OpenApiExamplesPreview endpoint={endpoint} />\n </div>\n </div>\n )\n}\n\ntype OutputListPreviewProps = { outputs: string[] }\n\nfunction OutputListPreview(arg0: OutputListPreviewProps) {\n const { outputs } = arg0\n\n return (\n <div className=\"border-t border-(--clarify-theme-tokens-colors-border) pt-4 dark:border-white/10\">\n <PreviewLabel>Static output</PreviewLabel>\n <div className=\"mt-3 grid gap-2 sm:grid-cols-2 xl:grid-cols-4\">\n {outputs.map((output) => (\n <div key={output} className=\"flex items-center gap-2 rounded-lg bg-(--clarify-ui-subtle-background) px-3 py-2 text-xs/5 text-(--clarify-ui-text-soft) dark:bg-white/5\">\n <span className=\"size-1.5 rounded-full bg-emerald-400\" />\n <span className=\"truncate font-mono\">{output}</span>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nfunction MainContentPreview() {\n return (\n <section className=\"min-w-0 bg-(--clarify-theme-tokens-colors-background) px-5 py-4 dark:bg-zinc-950\">\n <div className=\"clarify-preview-content-window overflow-hidden\">\n <div className=\"space-y-4\">\n <GuideSummaryPreview guide={embeddedGuide} />\n <PreviewMetricGrid metrics={[\n { label: 'MDX', value: 'Guide', hint: 'context' },\n { label: 'Spec', value: 'OpenAPI', hint: 'source' },\n { label: 'Out', value: 'Static', hint: 'CDN' },\n ]} />\n <div className=\"clarify-preview-endpoint-grid grid gap-4\">\n <EndpointSummaryPreview endpoint={embeddedEndpoint} />\n <EmbeddedApiPreview endpoint={embeddedEndpoint} />\n </div>\n <OutputListPreview outputs={embeddedGuide.outputs ?? []} />\n </div>\n </div>\n </section>\n )\n}\n\nexport function MainPreview() {\n const [isMobileNavigationOpen, setMobileNavigationOpen] = useState(false)\n const navigationProps = { endpoint: embeddedEndpoint, guide: embeddedGuide, outputs: embeddedGuide.outputs ?? [] }\n\n return (\n <PreviewEnvironment initialEntry={mainPreviewPath} sections={mainPreviewSections}>\n <Chrome\n title=\"source/en-US/openapi/embedding.mdx\"\n status=\"Rendered from OpenAPI + MDX\"\n headerAction={\n <button\n type=\"button\"\n className=\"clarify-preview-mobile-menu-button -my-1 flex size-7 items-center justify-center rounded-(--clarify-theme-tokens-radius-md) text-(--clarify-ui-text-strong) transition hover:bg-(--clarify-ui-hover-background)\"\n aria-controls=\"clarify-main-preview-mobile-navigation\"\n aria-expanded={isMobileNavigationOpen}\n aria-label={isMobileNavigationOpen ? 'Close documentation menu' : 'Open documentation menu'}\n onClick={() => setMobileNavigationOpen((value) => !value)}\n >\n {isMobileNavigationOpen ? <X className=\"h-4 w-4 shrink-0\" /> : <Menu className=\"h-4 w-4 shrink-0\" />}\n </button>\n }\n >\n <div className=\"clarify-preview-shell relative grid overflow-hidden\">\n <MainPreviewMobileNavigation {...navigationProps} isOpen={isMobileNavigationOpen} onClose={() => setMobileNavigationOpen(false)} />\n <aside className=\"clarify-preview-sidebar border-r border-(--clarify-theme-tokens-colors-border) px-1 py-4 text-sm/7 dark:border-white/10 dark:bg-white/5\">\n <PreviewNavigation {...navigationProps} />\n </aside>\n <MainContentPreview />\n </div>\n </Chrome>\n </PreviewEnvironment>\n )\n}\n\nexport function MdxPreview() {\n return (\n <PreviewEnvironment>\n <Chrome title=\"source/started/index.mdx\" status=\"Rendered by renderer\">\n <div className=\"clarify-preview-body overflow-x-hidden overflow-y-auto bg-(--clarify-theme-tokens-colors-background) p-4 sm:p-5 dark:bg-zinc-950\">\n <article className=\"max-w-3xl text-sm/7 text-(--clarify-ui-text-soft)\">\n <div className=\"inline-flex rounded-full bg-(--clarify-ui-accent-background) px-3 py-1 text-xs/5 font-semibold text-(--clarify-ui-accent-text)\">MDX page</div>\n <h2 className=\"mt-3 text-xl/7 font-semibold tracking-tight text-(--clarify-ui-text-strong) sm:text-2xl/8\">Get Started</h2>\n <p className=\"mt-3\">Write pages in source/. Clarify turns MDX, config, and OpenAPI files into routes.</p>\n <div className=\"mt-4 rounded-2xl border border-(--clarify-ui-accent-border) bg-(--clarify-ui-accent-background) p-4 text-sm/6 text-(--clarify-ui-text-strong) sm:mt-5\">\n <div className=\"font-semibold text-(--clarify-ui-text-strong)\">Static output ready</div>\n <p className=\"mt-1\">output/ is plain static files.</p>\n </div>\n <div className=\"mt-4 grid gap-3 sm:mt-5 sm:grid-cols-2 sm:gap-4\">\n <div className=\"rounded-2xl border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) p-5 shadow-sm dark:border-white/10 dark:bg-zinc-900/50\">\n <h3 className=\"text-base/6 font-semibold text-(--clarify-ui-text-strong)\">MDX pages</h3>\n <p className=\"mt-2 text-sm/6\">Guides live beside code.</p>\n </div>\n <div className=\"rounded-2xl border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) p-5 shadow-sm dark:border-white/10 dark:bg-zinc-900/50\">\n <h3 className=\"text-base/6 font-semibold text-(--clarify-ui-text-strong)\">API embeds</h3>\n <p className=\"mt-2 text-sm/6\">Specs render inline.</p>\n </div>\n </div>\n <div className=\"mt-5 rounded-2xl border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) p-5 shadow-sm dark:border-white/10 dark:bg-zinc-900/50\">\n <div className=\"flex items-center gap-3\">\n <MethodBadge method={embeddedEndpoint.method} />\n <code className=\"text-sm font-medium text-(--clarify-ui-text)\">{embeddedEndpoint.path}</code>\n </div>\n <p className=\"mt-3 text-sm/6\">{embeddedEndpoint.description}</p>\n </div>\n </article>\n </div>\n </Chrome>\n </PreviewEnvironment>\n )\n}\n\nexport function OpenApiPreview() {\n return (\n <PreviewEnvironment>\n <Chrome title=\"source/api.openapi.json\" status=\"Endpoint + examples\">\n <div className=\"clarify-preview-openapi-window overflow-x-hidden overflow-y-auto bg-(--clarify-theme-tokens-colors-background) px-3 py-3 sm:px-4 sm:py-4 dark:bg-zinc-950\">\n <div className=\"clarify-preview-openapi-mask min-h-full\">\n <div className=\"clarify-preview-api-content clarify-preview-api-content-openapi origin-top pb-6 sm:pb-10\">\n <OpenApiExamplesPreview endpoint={staticOutputEndpoint} />\n </div>\n </div>\n </div>\n </Chrome>\n </PreviewEnvironment>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"preview.cjs","names":[],"sources":["../source/preview/openapi.tsx","../source/preview.tsx"],"sourcesContent":["import { useState } from 'react'\n\nimport { authPlaceholder, defaultServerVariables, getAuthOptions, getServerKey, getServers, RequestExamplesPanel, ResponseExamplesPanel } from '../openapi/components/ExamplePanels'\nimport { EndpointIdentity } from '../openapi/components/OpenApiOperation'\nimport { getMediaTypeEntries, getRequestBody } from '../openapi/lib/helpers'\nimport type { OpenAPIOperation, OpenAPISpec } from '../openapi/lib/utils'\nimport type { OpenApiParameter, RequestAuthInput } from '../openapi/types'\n\nexport type PreviewParameter = {\n name: string\n in: string\n type: string\n required?: boolean\n description?: string\n schema?: unknown\n}\n\nexport type PreviewEndpoint = {\n method: string\n path: string\n summary: string\n description: string\n parameters?: PreviewParameter[]\n requestDescription?: string\n requestSchema?: unknown\n requestExample?: unknown\n response?: string\n responseStatus?: string\n responseDescription?: string\n responseSchema?: unknown\n responseExample?: unknown\n}\n\ntype CreatePreviewOpenApiResult = {\n operation: OpenAPIOperation\n spec: OpenAPISpec\n parameters: OpenApiParameter[]\n}\n\ntype OpenApiExamplesPreviewProps = { endpoint: PreviewEndpoint }\n\ntype UsePreviewRequestStateArgs = {\n spec: OpenAPISpec\n operation: OpenAPIOperation\n}\n\nfunction usePreviewRequestState(arg0: UsePreviewRequestStateArgs) {\n const { spec, operation } = arg0\n const requestBody = getRequestBody(spec, operation)\n const requestContents = getMediaTypeEntries(requestBody?.content, spec)\n const [selectedRequestMediaType, setSelectedRequestMediaType] = useState(requestContents[0]?.mediaType ?? '')\n const selectedRequestContent = requestContents.find((content) => content.mediaType === selectedRequestMediaType) ?? requestContents[0]\n\n return {\n requestContents,\n selectedRequestContent,\n setSelectedRequestMediaType,\n }\n}\n\ntype UsePreviewIdentityStateArgs = {\n spec: OpenAPISpec\n operation: OpenAPIOperation\n path: string\n}\n\nfunction usePreviewIdentityState(arg0: UsePreviewIdentityStateArgs) {\n const { spec, operation, path } = arg0\n const servers = getServers(spec, operation, path)\n const [selectedServerKey, setSelectedServerKey] = useState(getServerKey(servers[0], 0))\n const selectedServer = servers.find((server, index) => getServerKey(server, index) === selectedServerKey) ?? servers[0]\n const [serverVariables, setServerVariables] = useState(defaultServerVariables(selectedServer))\n const [serverOpen, setServerOpen] = useState(false)\n\n const authOptions = getAuthOptions(spec, operation)\n const [selectedAuthName, setSelectedAuthName] = useState(authOptions[0]?.key ?? '')\n const selectedAuth = authOptions.find((option) => option.key === selectedAuthName)\n const [authValues, setAuthValues] = useState<Record<string, string>>({})\n const [authOpen, setAuthOpen] = useState(false)\n\n const authInput: RequestAuthInput[] | undefined = selectedAuth\n ? selectedAuth.schemes.map((option) => ({ name: option.name, scheme: option.scheme, value: authValues[option.name] ?? authPlaceholder(option) }))\n : undefined\n\n return {\n servers,\n selectedServerKey,\n selectedServer,\n serverVariables,\n serverOpen,\n authOptions,\n selectedAuthName,\n selectedAuth,\n authValues,\n authOpen,\n authInput,\n onSelectServer: (value: string) => {\n const nextServer = servers.find((server, index) => getServerKey(server, index) === value) ?? servers[0]\n setSelectedServerKey(value)\n setServerVariables(defaultServerVariables(nextServer))\n },\n onChangeServerVariable: (name: string, value: string) => {\n setServerVariables((current) => ({ ...current, [name]: value }))\n },\n onToggleServer: () => {\n setServerOpen((current) => !current)\n setAuthOpen(false)\n },\n onToggleAuth: () => {\n setAuthOpen((current) => !current)\n setServerOpen(false)\n },\n onSelectAuth: setSelectedAuthName,\n onChangeAuthValue: (name: string, value: string) => {\n setAuthValues((current) => ({ ...current, [name]: value }))\n },\n onClearAuthValue: (name: string) => {\n setAuthValues((current) => {\n const values = { ...current }\n delete values[name]\n return values\n })\n },\n onClearAuthValues: () => setAuthValues({}),\n }\n}\n\nfunction schemaFromType(type: string): unknown {\n if (type.endsWith('[]')) return { type: 'array', items: schemaFromType(type.slice(0, -2)) }\n if (type === 'number' || type === 'integer' || type === 'boolean' || type === 'object') return { type }\n return { type: 'string' }\n}\n\nfunction parseResponseExample(endpoint: PreviewEndpoint): unknown {\n if (typeof endpoint.responseExample !== 'undefined') return endpoint.responseExample\n if (!endpoint.response) return undefined\n\n try {\n return JSON.parse(endpoint.response)\n } catch {\n return endpoint.response\n }\n}\n\nfunction inferSchemaFromExample(example: unknown): unknown {\n if (Array.isArray(example)) {\n return { type: 'array', items: inferSchemaFromExample(example[0]) ?? { type: 'object' } }\n }\n\n if (typeof example === 'object' && example !== null) {\n return {\n type: 'object',\n properties: Object.fromEntries(Object.entries(example).map(([key, value]) => [key, inferSchemaFromExample(value)])),\n }\n }\n\n if (typeof example === 'number') return { type: Number.isInteger(example) ? 'integer' : 'number' }\n if (typeof example === 'boolean') return { type: 'boolean' }\n return typeof example === 'undefined' ? undefined : { type: 'string' }\n}\n\nfunction normalizeParameterLocation(location: string): string {\n return location === 'route' ? 'path' : location\n}\n\nfunction toOpenApiParameter(parameter: PreviewParameter): OpenApiParameter {\n return {\n name: parameter.name,\n in: normalizeParameterLocation(parameter.in),\n required: parameter.required,\n description: parameter.description,\n schema: parameter.schema ?? schemaFromType(parameter.type),\n }\n}\n\nfunction createPreviewOpenApi(endpoint: PreviewEndpoint): CreatePreviewOpenApiResult {\n const method = endpoint.method.toLowerCase()\n const parameters = (endpoint.parameters ?? []).map(toOpenApiParameter)\n const responseExample = parseResponseExample(endpoint)\n const responseSchema = endpoint.responseSchema ?? inferSchemaFromExample(responseExample)\n const requestSchema = endpoint.requestSchema ?? inferSchemaFromExample(endpoint.requestExample)\n const operation = {\n summary: endpoint.summary,\n description: endpoint.description,\n parameters,\n requestBody: requestSchema\n ? {\n description: endpoint.requestDescription,\n required: true,\n content: {\n 'application/json': {\n schema: requestSchema,\n example: endpoint.requestExample,\n },\n },\n }\n : undefined,\n responses: {\n [endpoint.responseStatus ?? '200']: {\n description: endpoint.responseDescription ?? 'OK',\n content: {\n 'application/json': {\n schema: responseSchema,\n example: responseExample,\n },\n },\n },\n },\n } as OpenAPIOperation\n const spec = {\n openapi: '3.1.0',\n info: {\n title: 'Clarify Build API',\n version: '2026-06-20',\n description: 'API reference generated from OpenAPI and rendered as static documentation.',\n },\n servers: [\n {\n url: 'https://server',\n description: 'Production',\n },\n {\n url: 'https://test-server',\n description: 'Test',\n },\n ],\n components: {\n securitySchemes: {\n bearerAuth: {\n type: 'http',\n scheme: 'bearer',\n bearerFormat: 'JWT',\n },\n },\n },\n security: [{ bearerAuth: [] }],\n paths: {\n [endpoint.path]: {\n [method]: operation,\n },\n },\n } as OpenAPISpec\n\n return { operation, spec, parameters }\n}\n\nexport function OpenApiExamplesPreview(arg0: OpenApiExamplesPreviewProps) {\n const { endpoint } = arg0\n const { operation, spec, parameters } = createPreviewOpenApi(endpoint)\n const method = endpoint.method.toUpperCase()\n const { requestContents, selectedRequestContent, setSelectedRequestMediaType } = usePreviewRequestState({ spec, operation })\n const identityState = usePreviewIdentityState({ spec, operation, path: endpoint.path })\n\n function renderIdentity() {\n return (\n <EndpointIdentity\n method={method}\n path={endpoint.path}\n operationSource=\"path\"\n servers={identityState.servers}\n selectedServerKey={identityState.selectedServerKey}\n selectedServer={identityState.selectedServer}\n serverVariables={identityState.serverVariables}\n serverOpen={identityState.serverOpen}\n onSelectServer={identityState.onSelectServer}\n onChangeServerVariable={identityState.onChangeServerVariable}\n onToggleServer={identityState.onToggleServer}\n />\n )\n }\n\n function renderExamples() {\n return (\n <div className=\"grid min-w-0 gap-4 lg:grid-cols-2\">\n <RequestExamplesPanel\n spec={spec}\n path={endpoint.path}\n method={method}\n parameters={parameters}\n requestContents={requestContents}\n selectedMediaType={selectedRequestContent?.mediaType ?? ''}\n onSelectMediaType={setSelectedRequestMediaType}\n selectedServer={identityState.selectedServer}\n serverVariables={identityState.serverVariables}\n auth={identityState.authInput}\n />\n <ResponseExamplesPanel operation={operation} spec={spec} />\n </div>\n )\n }\n\n return (\n <div className=\"space-y-4\">\n {renderIdentity()}\n {renderExamples()}\n </div>\n )\n}\n","import { Menu, X } from 'lucide-react'\nimport type { ReactNode } from 'react'\nimport { useState } from 'react'\n\nimport { SectionProvider } from './app/SectionProvider'\nimport type { Section } from './app/SectionProvider'\nimport { ConfigProvider, LocaleContext, OpenApiSpecsContext } from './core/context'\nimport { OpenApiExamplesPreview } from './preview/openapi'\nimport type { PreviewEndpoint } from './preview/openapi'\nimport { Navigation } from './shell'\nimport type { Config, NavigationNode } from './types'\n\nexport type PreviewGuide = {\n label: string\n title: string\n body: string\n embed: string\n outputs?: string[]\n}\n\nexport type PreviewMetric = {\n label: string\n value: string\n hint?: string\n}\n\nexport type PreviewCard = {\n title: string\n description: string\n}\n\nconst embeddedEndpoint = {\n method: 'GET',\n path: '/examples/basic-request',\n summary: 'Basic request',\n description: 'Rendered from api.openapi.json inside the MDX guide.',\n parameters: [\n { name: 'cursor', in: 'query', type: 'string', description: 'Start after this cursor.' },\n { name: 'limit', in: 'query', type: 'integer', description: 'Max items to return.' },\n { name: 'X-Trace-Id', in: 'header', type: 'string', description: 'Optional request trace.' },\n ],\n responseDescription: 'A page of example records.',\n responseSchema: {\n type: 'object',\n required: ['items'],\n properties: {\n items: { type: 'array', items: { type: 'object' } },\n next: { type: 'string' },\n },\n },\n responseExample: {\n items: [],\n next: 'cursor_2',\n },\n} satisfies PreviewEndpoint\n\nconst embeddedGuide = {\n label: 'source/en-US/openapi/embedding.mdx',\n title: 'Embed OpenAPI in MDX',\n body: 'Use MDX for workflow context, then render the exact operation from the spec.',\n embed: '<OpenApiOperation specPath=\"/api\" operationId=\"demoBasicRequest\" />',\n outputs: ['/openapi/embedding', '/api', '/api.openapi.json', '/llms.txt'],\n} satisfies PreviewGuide\n\nconst staticOutputEndpoint = {\n method: 'POST',\n path: '/api/{id}/path',\n summary: 'Create static build',\n description: 'Build static docs from MDX and OpenAPI sources.',\n parameters: [\n { name: 'id', in: 'path', type: 'string', required: true, description: 'Project ID.' }\n ],\n responseDescription: 'Build metadata and static outputs.',\n responseSchema: {\n type: 'object',\n required: ['id', 'status', 'outputs'],\n properties: {\n id: { type: 'string', description: 'Build identifier.' },\n status: { type: 'string', enum: ['queued', 'running', 'ready'], description: 'Current build state.' },\n outputs: {\n type: 'array',\n description: 'Generated static artifacts.',\n items: {\n type: 'object',\n required: ['path', 'kind'],\n properties: {\n path: { type: 'string' },\n kind: { type: 'string', enum: ['html', 'asset', 'openapi', 'llms'] },\n },\n },\n },\n },\n },\n requestDescription: 'Static build options.',\n requestSchema: {\n type: 'object',\n required: ['source', 'output'],\n properties: {\n source: { type: 'string', description: 'MDX source root.' },\n output: { type: 'string', description: 'Static output root.' },\n includeSearchIndex: { type: 'boolean', description: 'Generate search data.' },\n },\n },\n requestExample: {\n source: 'source',\n output: 'output',\n includeSearchIndex: true,\n },\n responseExample: {\n id: 'build_01HY',\n status: 'ready',\n outputs: [\n { path: '/openapi/index.html', kind: 'html' },\n { path: '/api.openapi.json', kind: 'openapi' },\n { path: '/llms.txt', kind: 'llms' },\n ],\n },\n} satisfies PreviewEndpoint\n\nconst previewConfig = {\n title: 'Clarify preview',\n description: 'Renderer preview environment',\n routePrefix: '/',\n assetPrefix: '/',\n theme: {\n preset: 'default',\n tokens: {\n colors: {\n primary: '#2563eb',\n accent: '#60a5fa',\n background: '#ffffff',\n foreground: '#18181b',\n surface: '#ffffff',\n muted: '#71717a',\n border: 'rgb(24 24 27 / 0.1)',\n codeBackground: '#18181b',\n },\n radius: {\n sm: '0.375rem',\n md: '0.5rem',\n lg: '0.75rem',\n xl: '1rem',\n },\n },\n layout: {\n maxWidth: '88rem',\n },\n },\n locales: {\n default: 'en',\n missing: 'fallback',\n locales: [{ code: 'en', label: 'English' }],\n },\n variables: {},\n features: {\n search: { enabled: true, mcp: true },\n repository: { enabled: true },\n themeEditor: { enabled: true },\n openapi: { enabled: true, playground: true },\n },\n} satisfies Config\n\nconst methodStyleVars: Record<string, string> = {\n GET: 'bg-(--clarify-http-method-get-background) text-(--clarify-http-method-get-text)',\n POST: 'bg-(--clarify-http-method-post-background) text-(--clarify-http-method-post-text)',\n PUT: 'bg-(--clarify-http-method-put-background) text-(--clarify-http-method-put-text)',\n PATCH: 'bg-(--clarify-http-method-patch-background) text-(--clarify-http-method-patch-text)',\n DELETE: 'bg-(--clarify-http-method-delete-background) text-(--clarify-http-method-delete-text)',\n}\n\nconst mainPreviewPath = '/openapi/embedding'\n\nconst mainPreviewSections = [\n { id: 'overview', title: 'Overview' },\n { id: 'request-example', title: 'Request example' }\n] satisfies Section[]\n\ntype PreviewEnvironmentProps = { children: ReactNode; initialEntry?: string; sections?: Section[] }\n\nfunction PreviewEnvironment(arg0: PreviewEnvironmentProps) {\n const { children, sections = [] } = arg0\n\n return (\n <ConfigProvider config={previewConfig}>\n <LocaleContext.Provider value={previewConfig.locales.default}>\n <OpenApiSpecsContext.Provider value={{}}>\n <SectionProvider sections={sections}>\n {children}\n </SectionProvider>\n </OpenApiSpecsContext.Provider>\n </LocaleContext.Provider>\n </ConfigProvider>\n )\n}\n\ntype ChromeProps = { title: string; status?: string; headerAction?: ReactNode; children: ReactNode }\n\nfunction Chrome(arg0: ChromeProps) {\n const { title, status, headerAction, children } = arg0\n\n return (\n <div className=\"clarify-app clarify-preview h-full overflow-hidden bg-(--clarify-theme-tokens-colors-background) text-(--clarify-ui-text) shadow-(--clarify-ui-shadow-popover) ring-1 ring-(--clarify-ui-border) shadow-(--clarify-ui-shadow-popover)\">\n <div className=\"flex items-center gap-3 border-b border-(--clarify-ui-border) px-4 py-3 text-xs/6 text-(--clarify-ui-text-faint)\">\n <span className=\"size-2 rounded-full bg-rose-400\" />\n <span className=\"size-2 rounded-full bg-amber-400\" />\n <span className=\"size-2 rounded-full bg-emerald-400\" />\n <span className=\"ml-2 min-w-0 flex-1 truncate font-medium text-(--clarify-ui-text-soft)\">{title}</span>\n {status ? <span className=\"hidden rounded-full bg-(--clarify-tone-success-background) px-2 py-0.5 font-medium text-(--clarify-tone-success-text) sm:inline\">{status}</span> : null}\n {headerAction}\n </div>\n {children}\n </div>\n )\n}\n\ntype MethodBadgeProps = { method: string }\n\nfunction MethodBadge(arg0: MethodBadgeProps) {\n const method = arg0.method.toUpperCase()\n\n return (\n <span className={`rounded-(--clarify-theme-tokens-radius-sm) px-2.5 py-0.5 text-xs/6 font-black tracking-wide ${methodStyleVars[method] ?? 'bg-(--clarify-http-method-default-background) text-(--clarify-http-method-default-text)'}`}>\n {method}\n </span>\n )\n}\n\ntype CreatePreviewNavigationProps = { endpoint: PreviewEndpoint; guide?: PreviewGuide; outputs: string[] }\n\nfunction createPreviewNavigation(arg0: CreatePreviewNavigationProps): NavigationNode[] {\n const { endpoint, guide, outputs } = arg0\n\n return [\n {\n title: 'Guides',\n path: '/guides',\n icon: 'BookOpenText',\n children: [\n { title: guide?.title ?? 'MDX guide', path: mainPreviewPath, icon: 'FileText' },\n { title: 'Getting started', path: '/getting-started', icon: 'Rocket' },\n ],\n },\n {\n title: 'API Reference',\n path: '/api',\n icon: 'Braces',\n children: [\n { title: endpoint.summary, path: endpoint.path, icon: 'Cable' },\n { title: 'Generate static output', path: staticOutputEndpoint.path, icon: 'UploadCloud' },\n ],\n },\n {\n title: 'Build Output',\n path: '/output',\n icon: 'PackageCheck',\n children: [\n { title: `Routes (${outputs.length})`, path: '/output/routes', icon: 'ListTree' }\n ],\n },\n ] satisfies NavigationNode[]\n}\n\ntype PreviewNavigationProps = { endpoint: PreviewEndpoint; guide?: PreviewGuide; outputs: string[] }\n\nfunction PreviewNavigation(arg0: PreviewNavigationProps) {\n return <Navigation navigation={createPreviewNavigation(arg0)} className=\"px-2\" />\n}\n\ntype MainPreviewMobileNavigationProps = PreviewNavigationProps & { isOpen: boolean; onClose: () => void }\n\nfunction MainPreviewMobileNavigation(arg0: MainPreviewMobileNavigationProps) {\n const { isOpen, onClose, ...navigationProps } = arg0\n const navigationId = 'clarify-main-preview-mobile-navigation'\n\n return (\n <div className=\"clarify-preview-mobile-navigation pointer-events-none absolute inset-0 z-20\">\n {isOpen ? (\n <button\n type=\"button\"\n className=\"absolute inset-0 bg-(--clarify-ui-overlay-background) backdrop-blur-[1px]\"\n aria-label=\"Close documentation menu\"\n onClick={onClose}\n />\n ) : null}\n <aside\n id={navigationId}\n className=\"pointer-events-auto absolute top-0 bottom-0 left-0 w-64 max-w-[82%] overflow-y-auto border-r border-(--clarify-ui-border) bg-(--clarify-theme-tokens-colors-background) px-1 py-4 text-sm/7 shadow-(--clarify-ui-shadow-popover) transition-transform duration-200 ease-out data-closed:-translate-x-full\"\n data-closed={!isOpen ? 'true' : undefined}\n >\n <PreviewNavigation {...navigationProps} />\n </aside>\n </div>\n )\n}\n\ntype PreviewMetricGridProps = { metrics: PreviewMetric[] }\n\nfunction PreviewMetricGrid(arg0: PreviewMetricGridProps) {\n const { metrics } = arg0\n\n return (\n <div className=\"grid grid-cols-1 gap-2 sm:grid-cols-3\">\n {metrics.map((metric) => (\n <div key={metric.label} className=\"g-900/50\">\n <div className=\"text-xs/5 text-(--clarify-ui-text-faint)\">{metric.label}</div>\n <div className=\"text-base/6 font-semibold text-(--clarify-ui-text-strong)\">{metric.value}</div>\n {metric.hint ? <div className=\"text-xs/5 text-(--clarify-ui-text-faint)\">{metric.hint}</div> : null}\n </div>\n ))}\n </div>\n )\n}\n\ntype PreviewLabelProps = { children: ReactNode }\n\nfunction PreviewLabel(arg0: PreviewLabelProps) {\n return <div className=\"text-xs/5 font-semibold uppercase tracking-wider text-(--clarify-ui-text-faint)\">{arg0.children}</div>\n}\n\ntype GuideSummaryPreviewProps = { guide: PreviewGuide }\n\nfunction GuideSummaryPreview(arg0: GuideSummaryPreviewProps) {\n const { guide } = arg0\n\n return (\n <header className=\"border-b border-(--clarify-ui-border) pb-4\">\n <PreviewLabel>{guide.label}</PreviewLabel>\n <h2 className=\"mt-1 text-xl/7 font-semibold tracking-tight text-(--clarify-ui-text-strong)\">{guide.title}</h2>\n <p className=\"mt-2 max-w-2xl text-sm/6 text-(--clarify-ui-text-soft)\">{guide.body}</p>\n <pre className=\"mt-3 overflow-hidden rounded-(--clarify-theme-tokens-radius-lg) bg-(--clarify-code-background) px-3 py-2 text-xs/5 whitespace-pre-wrap text-(--clarify-code-text)\">{guide.embed}</pre>\n </header>\n )\n}\n\ntype EndpointSummaryPreviewProps = { endpoint: PreviewEndpoint }\n\nfunction EndpointSummaryPreview(arg0: EndpointSummaryPreviewProps) {\n const { endpoint } = arg0\n\n return (\n <div className=\"min-w-0\">\n <div className=\"flex flex-wrap items-center gap-3\">\n <MethodBadge method={endpoint.method} />\n <code className=\"text-sm font-medium text-(--clarify-ui-text)\">{endpoint.path}</code>\n </div>\n <h3 className=\"mt-3 text-lg/7 font-semibold tracking-tight text-(--clarify-ui-text-strong)\">{endpoint.summary}</h3>\n <p className=\"mt-1 text-sm/6 text-(--clarify-ui-text-soft)\">{endpoint.description}</p>\n </div>\n )\n}\n\ntype EmbeddedApiPreviewProps = { endpoint: PreviewEndpoint }\n\nfunction EmbeddedApiPreview(arg0: EmbeddedApiPreviewProps) {\n const { endpoint } = arg0\n\n return (\n <div className=\"clarify-preview-api-frame min-w-0 overflow-hidden border-t border-(--clarify-ui-border) pt-4\">\n <div className=\"clarify-preview-api-content clarify-preview-api-content-embedded\">\n <OpenApiExamplesPreview endpoint={endpoint} />\n </div>\n </div>\n )\n}\n\ntype OutputListPreviewProps = { outputs: string[] }\n\nfunction OutputListPreview(arg0: OutputListPreviewProps) {\n const { outputs } = arg0\n\n return (\n <div className=\"border-t border-(--clarify-ui-border) pt-4\">\n <PreviewLabel>Static output</PreviewLabel>\n <div className=\"mt-3 grid gap-2 sm:grid-cols-2 xl:grid-cols-4\">\n {outputs.map((output) => (\n <div key={output} className=\"flex items-center gap-2 rounded-(--clarify-theme-tokens-radius-md) bg-(--clarify-ui-subtle-background) px-3 py-2 text-xs/5 text-(--clarify-ui-text-soft)\">\n <span className=\"size-1.5 rounded-full bg-emerald-400\" />\n <span className=\"truncate font-mono\">{output}</span>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nfunction MainContentPreview() {\n return (\n <section className=\"min-w-0 bg-(--clarify-theme-tokens-colors-background) px-5 py-4\">\n <div className=\"clarify-preview-content-window overflow-hidden\">\n <div className=\"space-y-4\">\n <GuideSummaryPreview guide={embeddedGuide} />\n <PreviewMetricGrid metrics={[\n { label: 'MDX', value: 'Guide', hint: 'context' },\n { label: 'Spec', value: 'OpenAPI', hint: 'source' },\n { label: 'Out', value: 'Static', hint: 'CDN' },\n ]} />\n <div className=\"clarify-preview-endpoint-grid grid gap-4\">\n <EndpointSummaryPreview endpoint={embeddedEndpoint} />\n <EmbeddedApiPreview endpoint={embeddedEndpoint} />\n </div>\n <OutputListPreview outputs={embeddedGuide.outputs ?? []} />\n </div>\n </div>\n </section>\n )\n}\n\nexport function MainPreview() {\n const [isMobileNavigationOpen, setMobileNavigationOpen] = useState(false)\n const navigationProps = { endpoint: embeddedEndpoint, guide: embeddedGuide, outputs: embeddedGuide.outputs ?? [] }\n\n return (\n <PreviewEnvironment initialEntry={mainPreviewPath} sections={mainPreviewSections}>\n <Chrome\n title=\"source/en-US/openapi/embedding.mdx\"\n status=\"Rendered from OpenAPI + MDX\"\n headerAction={\n <button\n type=\"button\"\n className=\"clarify-preview-mobile-menu-button -my-1 flex size-7 items-center justify-center rounded-(--clarify-theme-tokens-radius-md) text-(--clarify-ui-text-strong) transition hover:bg-(--clarify-ui-hover-background)\"\n aria-controls=\"clarify-main-preview-mobile-navigation\"\n aria-expanded={isMobileNavigationOpen}\n aria-label={isMobileNavigationOpen ? 'Close documentation menu' : 'Open documentation menu'}\n onClick={() => setMobileNavigationOpen((value) => !value)}\n >\n {isMobileNavigationOpen ? <X className=\"h-4 w-4 shrink-0\" /> : <Menu className=\"h-4 w-4 shrink-0\" />}\n </button>\n }\n >\n <div className=\"clarify-preview-shell relative grid overflow-hidden\">\n <MainPreviewMobileNavigation {...navigationProps} isOpen={isMobileNavigationOpen} onClose={() => setMobileNavigationOpen(false)} />\n <aside className=\"clarify-preview-sidebar border-r border-(--clarify-ui-border) px-1 py-4 text-sm/7\">\n <PreviewNavigation {...navigationProps} />\n </aside>\n <MainContentPreview />\n </div>\n </Chrome>\n </PreviewEnvironment>\n )\n}\n\nexport function MdxPreview() {\n return (\n <PreviewEnvironment>\n <Chrome title=\"source/started/index.mdx\" status=\"Rendered by renderer\">\n <div className=\"clarify-preview-body overflow-x-hidden overflow-y-auto bg-(--clarify-theme-tokens-colors-background) p-4 sm:p-5\">\n <article className=\"max-w-3xl text-sm/7 text-(--clarify-ui-text-soft)\">\n <div className=\"inline-flex rounded-full bg-(--clarify-ui-subtle-background) px-3 py-1 text-xs/5 font-semibold text-(--clarify-ui-text-soft) ring-1 ring-(--clarify-ui-border) ring-inset\">MDX page</div>\n <h2 className=\"mt-3 text-xl/7 font-semibold tracking-tight text-(--clarify-ui-text-strong) sm:text-2xl/8\">Get Started</h2>\n <p className=\"mt-3\">Write pages in source/. Clarify turns MDX, config, and OpenAPI files into routes.</p>\n <div className=\"mt-4 rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-ui-border) bg-(--clarify-ui-subtle-background) p-4 text-sm/6 text-(--clarify-ui-text-strong) sm:mt-5\">\n <div className=\"font-semibold text-(--clarify-ui-text-strong)\">Static output ready</div>\n <p className=\"mt-1\">output/ is plain static files.</p>\n </div>\n <div className=\"mt-4 grid gap-3 sm:mt-5 sm:grid-cols-2 sm:gap-4\">\n <div className=\"rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-ui-border) bg-(--clarify-theme-tokens-colors-surface) p-5 shadow-(--clarify-ui-shadow-raised)\">\n <h3 className=\"text-base/6 font-semibold text-(--clarify-ui-text-strong)\">MDX pages</h3>\n <p className=\"mt-2 text-sm/6\">Guides live beside code.</p>\n </div>\n <div className=\"rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-ui-border) bg-(--clarify-theme-tokens-colors-surface) p-5 shadow-(--clarify-ui-shadow-raised)\">\n <h3 className=\"text-base/6 font-semibold text-(--clarify-ui-text-strong)\">API embeds</h3>\n <p className=\"mt-2 text-sm/6\">Specs render inline.</p>\n </div>\n </div>\n <div className=\"mt-5 rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-ui-border) bg-(--clarify-theme-tokens-colors-surface) p-5 shadow-(--clarify-ui-shadow-raised)\">\n <div className=\"flex items-center gap-3\">\n <MethodBadge method={embeddedEndpoint.method} />\n <code className=\"text-sm font-medium text-(--clarify-ui-text)\">{embeddedEndpoint.path}</code>\n </div>\n <p className=\"mt-3 text-sm/6\">{embeddedEndpoint.description}</p>\n </div>\n </article>\n </div>\n </Chrome>\n </PreviewEnvironment>\n )\n}\n\nexport function OpenApiPreview() {\n return (\n <PreviewEnvironment>\n <Chrome title=\"source/api.openapi.json\" status=\"Endpoint + examples\">\n <div className=\"clarify-preview-openapi-window overflow-x-hidden overflow-y-auto bg-(--clarify-theme-tokens-colors-background) px-3 py-3 sm:px-4 sm:py-4\">\n <div className=\"clarify-preview-openapi-mask min-h-full\">\n <div className=\"clarify-preview-api-content clarify-preview-api-content-openapi origin-top pb-6 sm:pb-10\">\n <OpenApiExamplesPreview endpoint={staticOutputEndpoint} />\n </div>\n </div>\n </div>\n </Chrome>\n </PreviewEnvironment>\n )\n}\n"],"mappings":"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"}
package/output/preview.js CHANGED
@@ -1,6 +1,6 @@
1
- import { a as ResponseExamplesPanel, c as getAuthOptions, g as getRequestBody, h as getMediaTypeEntries, i as RequestExamplesPanel, l as getServerKey, o as authPlaceholder, s as defaultServerVariables, t as EndpointIdentity, u as getServers } from "./OpenApiOperation-B68CqUJW.js";
2
- import { i as OpenApiSpecsContext, n as ConfigProvider, r as LocaleContext } from "./i18n-Zmmhz7FF.js";
3
- import { a as Navigation, o as SectionProvider } from "./PageActions-BszP_J4e.js";
1
+ import { a as ResponseExamplesPanel, c as getAuthOptions, g as getRequestBody, h as getMediaTypeEntries, i as RequestExamplesPanel, l as getServerKey, o as authPlaceholder, s as defaultServerVariables, t as EndpointIdentity, u as getServers } from "./OpenApiOperation-p1OjfdKR.js";
2
+ import { i as OpenApiSpecsContext, n as ConfigProvider, r as LocaleContext } from "./i18n-Bt-OaKRP.js";
3
+ import { a as Navigation, s as SectionProvider } from "./PageActions-DAdtjf4H.js";
4
4
  import { useState } from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import { Menu, X } from "lucide-react";
@@ -398,7 +398,7 @@ var previewConfig = {
398
398
  surface: "#ffffff",
399
399
  muted: "#71717a",
400
400
  border: "rgb(24 24 27 / 0.1)",
401
- codeBackground: "#f4f4f5"
401
+ codeBackground: "#18181b"
402
402
  },
403
403
  radius: {
404
404
  sm: "0.375rem",
@@ -465,9 +465,9 @@ function PreviewEnvironment(arg0) {
465
465
  function Chrome(arg0) {
466
466
  const { title, status, headerAction, children } = arg0;
467
467
  return /* @__PURE__ */ jsxs("div", {
468
- className: "clarify-app clarify-preview h-full overflow-hidden bg-(--clarify-theme-tokens-colors-background) text-(--clarify-ui-text) shadow-2xl ring-1 ring-(--clarify-theme-tokens-colors-border) dark:bg-zinc-950 dark:text-white dark:ring-white/10",
468
+ className: "clarify-app clarify-preview h-full overflow-hidden bg-(--clarify-theme-tokens-colors-background) text-(--clarify-ui-text) shadow-(--clarify-ui-shadow-popover) ring-1 ring-(--clarify-ui-border) shadow-(--clarify-ui-shadow-popover)",
469
469
  children: [/* @__PURE__ */ jsxs("div", {
470
- className: "flex items-center gap-3 border-b border-(--clarify-theme-tokens-colors-border) px-4 py-3 text-xs/6 text-(--clarify-ui-text-faint) dark:border-white/10",
470
+ className: "flex items-center gap-3 border-b border-(--clarify-ui-border) px-4 py-3 text-xs/6 text-(--clarify-ui-text-faint)",
471
471
  children: [
472
472
  /* @__PURE__ */ jsx("span", { className: "size-2 rounded-full bg-rose-400" }),
473
473
  /* @__PURE__ */ jsx("span", { className: "size-2 rounded-full bg-amber-400" }),
@@ -477,7 +477,7 @@ function Chrome(arg0) {
477
477
  children: title
478
478
  }),
479
479
  status ? /* @__PURE__ */ jsx("span", {
480
- className: "hidden rounded-full bg-emerald-400/15 px-2 py-0.5 font-medium text-emerald-700 sm:inline dark:text-emerald-300",
480
+ className: "hidden rounded-full bg-(--clarify-tone-success-background) px-2 py-0.5 font-medium text-(--clarify-tone-success-text) sm:inline",
481
481
  children: status
482
482
  }) : null,
483
483
  headerAction
@@ -488,7 +488,7 @@ function Chrome(arg0) {
488
488
  function MethodBadge(arg0) {
489
489
  const method = arg0.method.toUpperCase();
490
490
  return /* @__PURE__ */ jsx("span", {
491
- className: `rounded-md px-2.5 py-0.5 text-xs/6 font-black tracking-wide ${methodStyleVars[method] ?? "bg-(--clarify-http-method-default-background) text-(--clarify-http-method-default-text)"}`,
491
+ className: `rounded-(--clarify-theme-tokens-radius-sm) px-2.5 py-0.5 text-xs/6 font-black tracking-wide ${methodStyleVars[method] ?? "bg-(--clarify-http-method-default-background) text-(--clarify-http-method-default-text)"}`,
492
492
  children: method
493
493
  });
494
494
  }
@@ -547,12 +547,12 @@ function MainPreviewMobileNavigation(arg0) {
547
547
  className: "clarify-preview-mobile-navigation pointer-events-none absolute inset-0 z-20",
548
548
  children: [isOpen ? /* @__PURE__ */ jsx("button", {
549
549
  type: "button",
550
- className: "absolute inset-0 bg-zinc-950/20 backdrop-blur-[1px] dark:bg-black/30",
550
+ className: "absolute inset-0 bg-(--clarify-ui-overlay-background) backdrop-blur-[1px]",
551
551
  "aria-label": "Close documentation menu",
552
552
  onClick: onClose
553
553
  }) : null, /* @__PURE__ */ jsx("aside", {
554
554
  id: "clarify-main-preview-mobile-navigation",
555
- className: "pointer-events-auto absolute top-0 bottom-0 left-0 w-64 max-w-[82%] overflow-y-auto border-r border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-background) px-1 py-4 text-sm/7 shadow-2xl shadow-zinc-900/20 transition-transform duration-200 ease-out data-closed:-translate-x-full dark:border-white/10 dark:bg-zinc-950 dark:shadow-black/40",
555
+ className: "pointer-events-auto absolute top-0 bottom-0 left-0 w-64 max-w-[82%] overflow-y-auto border-r border-(--clarify-ui-border) bg-(--clarify-theme-tokens-colors-background) px-1 py-4 text-sm/7 shadow-(--clarify-ui-shadow-popover) transition-transform duration-200 ease-out data-closed:-translate-x-full",
556
556
  "data-closed": !isOpen ? "true" : void 0,
557
557
  children: /* @__PURE__ */ jsx(PreviewNavigation, { ...navigationProps })
558
558
  })]
@@ -563,7 +563,7 @@ function PreviewMetricGrid(arg0) {
563
563
  return /* @__PURE__ */ jsx("div", {
564
564
  className: "grid grid-cols-1 gap-2 sm:grid-cols-3",
565
565
  children: metrics.map((metric) => /* @__PURE__ */ jsxs("div", {
566
- className: "rounded-xl border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) p-2.5 shadow-sm dark:border-white/10 dark:bg-zinc-900/50",
566
+ className: "g-900/50",
567
567
  children: [
568
568
  /* @__PURE__ */ jsx("div", {
569
569
  className: "text-xs/5 text-(--clarify-ui-text-faint)",
@@ -590,7 +590,7 @@ function PreviewLabel(arg0) {
590
590
  function GuideSummaryPreview(arg0) {
591
591
  const { guide } = arg0;
592
592
  return /* @__PURE__ */ jsxs("header", {
593
- className: "border-b border-(--clarify-theme-tokens-colors-border) pb-4 dark:border-white/10",
593
+ className: "border-b border-(--clarify-ui-border) pb-4",
594
594
  children: [
595
595
  /* @__PURE__ */ jsx(PreviewLabel, { children: guide.label }),
596
596
  /* @__PURE__ */ jsx("h2", {
@@ -602,7 +602,7 @@ function GuideSummaryPreview(arg0) {
602
602
  children: guide.body
603
603
  }),
604
604
  /* @__PURE__ */ jsx("pre", {
605
- className: "mt-3 overflow-hidden rounded-xl bg-zinc-950 px-3 py-2 text-xs/5 whitespace-pre-wrap text-zinc-300",
605
+ className: "mt-3 overflow-hidden rounded-(--clarify-theme-tokens-radius-lg) bg-(--clarify-code-background) px-3 py-2 text-xs/5 whitespace-pre-wrap text-(--clarify-code-text)",
606
606
  children: guide.embed
607
607
  })
608
608
  ]
@@ -634,7 +634,7 @@ function EndpointSummaryPreview(arg0) {
634
634
  function EmbeddedApiPreview(arg0) {
635
635
  const { endpoint } = arg0;
636
636
  return /* @__PURE__ */ jsx("div", {
637
- className: "clarify-preview-api-frame min-w-0 overflow-hidden border-t border-(--clarify-theme-tokens-colors-border) pt-4 dark:border-white/10",
637
+ className: "clarify-preview-api-frame min-w-0 overflow-hidden border-t border-(--clarify-ui-border) pt-4",
638
638
  children: /* @__PURE__ */ jsx("div", {
639
639
  className: "clarify-preview-api-content clarify-preview-api-content-embedded",
640
640
  children: /* @__PURE__ */ jsx(OpenApiExamplesPreview, { endpoint })
@@ -644,11 +644,11 @@ function EmbeddedApiPreview(arg0) {
644
644
  function OutputListPreview(arg0) {
645
645
  const { outputs } = arg0;
646
646
  return /* @__PURE__ */ jsxs("div", {
647
- className: "border-t border-(--clarify-theme-tokens-colors-border) pt-4 dark:border-white/10",
647
+ className: "border-t border-(--clarify-ui-border) pt-4",
648
648
  children: [/* @__PURE__ */ jsx(PreviewLabel, { children: "Static output" }), /* @__PURE__ */ jsx("div", {
649
649
  className: "mt-3 grid gap-2 sm:grid-cols-2 xl:grid-cols-4",
650
650
  children: outputs.map((output) => /* @__PURE__ */ jsxs("div", {
651
- className: "flex items-center gap-2 rounded-lg bg-(--clarify-ui-subtle-background) px-3 py-2 text-xs/5 text-(--clarify-ui-text-soft) dark:bg-white/5",
651
+ className: "flex items-center gap-2 rounded-(--clarify-theme-tokens-radius-md) bg-(--clarify-ui-subtle-background) px-3 py-2 text-xs/5 text-(--clarify-ui-text-soft)",
652
652
  children: [/* @__PURE__ */ jsx("span", { className: "size-1.5 rounded-full bg-emerald-400" }), /* @__PURE__ */ jsx("span", {
653
653
  className: "truncate font-mono",
654
654
  children: output
@@ -659,7 +659,7 @@ function OutputListPreview(arg0) {
659
659
  }
660
660
  function MainContentPreview() {
661
661
  return /* @__PURE__ */ jsx("section", {
662
- className: "min-w-0 bg-(--clarify-theme-tokens-colors-background) px-5 py-4 dark:bg-zinc-950",
662
+ className: "min-w-0 bg-(--clarify-theme-tokens-colors-background) px-5 py-4",
663
663
  children: /* @__PURE__ */ jsx("div", {
664
664
  className: "clarify-preview-content-window overflow-hidden",
665
665
  children: /* @__PURE__ */ jsxs("div", {
@@ -724,7 +724,7 @@ function MainPreview() {
724
724
  onClose: () => setMobileNavigationOpen(false)
725
725
  }),
726
726
  /* @__PURE__ */ jsx("aside", {
727
- className: "clarify-preview-sidebar border-r border-(--clarify-theme-tokens-colors-border) px-1 py-4 text-sm/7 dark:border-white/10 dark:bg-white/5",
727
+ className: "clarify-preview-sidebar border-r border-(--clarify-ui-border) px-1 py-4 text-sm/7",
728
728
  children: /* @__PURE__ */ jsx(PreviewNavigation, { ...navigationProps })
729
729
  }),
730
730
  /* @__PURE__ */ jsx(MainContentPreview, {})
@@ -738,12 +738,12 @@ function MdxPreview() {
738
738
  title: "source/started/index.mdx",
739
739
  status: "Rendered by renderer",
740
740
  children: /* @__PURE__ */ jsx("div", {
741
- className: "clarify-preview-body overflow-x-hidden overflow-y-auto bg-(--clarify-theme-tokens-colors-background) p-4 sm:p-5 dark:bg-zinc-950",
741
+ className: "clarify-preview-body overflow-x-hidden overflow-y-auto bg-(--clarify-theme-tokens-colors-background) p-4 sm:p-5",
742
742
  children: /* @__PURE__ */ jsxs("article", {
743
743
  className: "max-w-3xl text-sm/7 text-(--clarify-ui-text-soft)",
744
744
  children: [
745
745
  /* @__PURE__ */ jsx("div", {
746
- className: "inline-flex rounded-full bg-(--clarify-ui-accent-background) px-3 py-1 text-xs/5 font-semibold text-(--clarify-ui-accent-text)",
746
+ className: "inline-flex rounded-full bg-(--clarify-ui-subtle-background) px-3 py-1 text-xs/5 font-semibold text-(--clarify-ui-text-soft) ring-1 ring-(--clarify-ui-border) ring-inset",
747
747
  children: "MDX page"
748
748
  }),
749
749
  /* @__PURE__ */ jsx("h2", {
@@ -755,7 +755,7 @@ function MdxPreview() {
755
755
  children: "Write pages in source/. Clarify turns MDX, config, and OpenAPI files into routes."
756
756
  }),
757
757
  /* @__PURE__ */ jsxs("div", {
758
- className: "mt-4 rounded-2xl border border-(--clarify-ui-accent-border) bg-(--clarify-ui-accent-background) p-4 text-sm/6 text-(--clarify-ui-text-strong) sm:mt-5",
758
+ className: "mt-4 rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-ui-border) bg-(--clarify-ui-subtle-background) p-4 text-sm/6 text-(--clarify-ui-text-strong) sm:mt-5",
759
759
  children: [/* @__PURE__ */ jsx("div", {
760
760
  className: "font-semibold text-(--clarify-ui-text-strong)",
761
761
  children: "Static output ready"
@@ -767,7 +767,7 @@ function MdxPreview() {
767
767
  /* @__PURE__ */ jsxs("div", {
768
768
  className: "mt-4 grid gap-3 sm:mt-5 sm:grid-cols-2 sm:gap-4",
769
769
  children: [/* @__PURE__ */ jsxs("div", {
770
- className: "rounded-2xl border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) p-5 shadow-sm dark:border-white/10 dark:bg-zinc-900/50",
770
+ className: "rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-ui-border) bg-(--clarify-theme-tokens-colors-surface) p-5 shadow-(--clarify-ui-shadow-raised)",
771
771
  children: [/* @__PURE__ */ jsx("h3", {
772
772
  className: "text-base/6 font-semibold text-(--clarify-ui-text-strong)",
773
773
  children: "MDX pages"
@@ -776,7 +776,7 @@ function MdxPreview() {
776
776
  children: "Guides live beside code."
777
777
  })]
778
778
  }), /* @__PURE__ */ jsxs("div", {
779
- className: "rounded-2xl border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) p-5 shadow-sm dark:border-white/10 dark:bg-zinc-900/50",
779
+ className: "rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-ui-border) bg-(--clarify-theme-tokens-colors-surface) p-5 shadow-(--clarify-ui-shadow-raised)",
780
780
  children: [/* @__PURE__ */ jsx("h3", {
781
781
  className: "text-base/6 font-semibold text-(--clarify-ui-text-strong)",
782
782
  children: "API embeds"
@@ -787,7 +787,7 @@ function MdxPreview() {
787
787
  })]
788
788
  }),
789
789
  /* @__PURE__ */ jsxs("div", {
790
- className: "mt-5 rounded-2xl border border-(--clarify-theme-tokens-colors-border) bg-(--clarify-theme-tokens-colors-surface) p-5 shadow-sm dark:border-white/10 dark:bg-zinc-900/50",
790
+ className: "mt-5 rounded-(--clarify-theme-tokens-radius-xl) border border-(--clarify-ui-border) bg-(--clarify-theme-tokens-colors-surface) p-5 shadow-(--clarify-ui-shadow-raised)",
791
791
  children: [/* @__PURE__ */ jsxs("div", {
792
792
  className: "flex items-center gap-3",
793
793
  children: [/* @__PURE__ */ jsx(MethodBadge, { method: embeddedEndpoint.method }), /* @__PURE__ */ jsx("code", {
@@ -809,7 +809,7 @@ function OpenApiPreview() {
809
809
  title: "source/api.openapi.json",
810
810
  status: "Endpoint + examples",
811
811
  children: /* @__PURE__ */ jsx("div", {
812
- className: "clarify-preview-openapi-window overflow-x-hidden overflow-y-auto bg-(--clarify-theme-tokens-colors-background) px-3 py-3 sm:px-4 sm:py-4 dark:bg-zinc-950",
812
+ className: "clarify-preview-openapi-window overflow-x-hidden overflow-y-auto bg-(--clarify-theme-tokens-colors-background) px-3 py-3 sm:px-4 sm:py-4",
813
813
  children: /* @__PURE__ */ jsx("div", {
814
814
  className: "clarify-preview-openapi-mask min-h-full",
815
815
  children: /* @__PURE__ */ jsx("div", {