specra 0.1.0

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 (142) hide show
  1. package/LICENSE.MD +21 -0
  2. package/README.md +157 -0
  3. package/dist/app/api/mdx-watch/route.d.mts +12 -0
  4. package/dist/app/api/mdx-watch/route.d.ts +12 -0
  5. package/dist/app/api/mdx-watch/route.js +98 -0
  6. package/dist/app/api/mdx-watch/route.js.map +1 -0
  7. package/dist/app/api/mdx-watch/route.mjs +71 -0
  8. package/dist/app/api/mdx-watch/route.mjs.map +1 -0
  9. package/dist/app/docs-page.d.mts +32 -0
  10. package/dist/app/docs-page.d.ts +32 -0
  11. package/dist/app/docs-page.js +4072 -0
  12. package/dist/app/docs-page.js.map +1 -0
  13. package/dist/app/docs-page.mjs +14 -0
  14. package/dist/app/docs-page.mjs.map +1 -0
  15. package/dist/app/layout.css +297 -0
  16. package/dist/app/layout.css.map +1 -0
  17. package/dist/app/layout.d.mts +19 -0
  18. package/dist/app/layout.d.ts +19 -0
  19. package/dist/app/layout.js +112 -0
  20. package/dist/app/layout.js.map +1 -0
  21. package/dist/app/layout.mjs +13 -0
  22. package/dist/app/layout.mjs.map +1 -0
  23. package/dist/chunk-DR4EPLMT.mjs +1013 -0
  24. package/dist/chunk-DR4EPLMT.mjs.map +1 -0
  25. package/dist/chunk-INL2EC72.mjs +170 -0
  26. package/dist/chunk-INL2EC72.mjs.map +1 -0
  27. package/dist/chunk-IZFGEAD6.mjs +61 -0
  28. package/dist/chunk-IZFGEAD6.mjs.map +1 -0
  29. package/dist/chunk-KTRWWAGL.mjs +50 -0
  30. package/dist/chunk-KTRWWAGL.mjs.map +1 -0
  31. package/dist/chunk-MZJHJ6BV.mjs +21 -0
  32. package/dist/chunk-MZJHJ6BV.mjs.map +1 -0
  33. package/dist/chunk-NXRIAL7T.mjs +3119 -0
  34. package/dist/chunk-NXRIAL7T.mjs.map +1 -0
  35. package/dist/components/index.d.mts +822 -0
  36. package/dist/components/index.d.ts +822 -0
  37. package/dist/components/index.js +3738 -0
  38. package/dist/components/index.js.map +1 -0
  39. package/dist/components/index.mjs +3627 -0
  40. package/dist/components/index.mjs.map +1 -0
  41. package/dist/index.css +297 -0
  42. package/dist/index.css.map +1 -0
  43. package/dist/index.d.mts +545 -0
  44. package/dist/index.d.ts +545 -0
  45. package/dist/index.js +4648 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/index.mjs +347 -0
  48. package/dist/index.mjs.map +1 -0
  49. package/dist/lib/index.d.mts +798 -0
  50. package/dist/lib/index.d.ts +798 -0
  51. package/dist/lib/index.js +1301 -0
  52. package/dist/lib/index.js.map +1 -0
  53. package/dist/lib/index.mjs +89 -0
  54. package/dist/lib/index.mjs.map +1 -0
  55. package/package.json +119 -0
  56. package/src/app/api/mdx-watch/route.ts +86 -0
  57. package/src/app/docs-page.tsx +212 -0
  58. package/src/app/layout.tsx +74 -0
  59. package/src/components/docs/accordion.tsx +53 -0
  60. package/src/components/docs/api/api-endpoint.tsx +59 -0
  61. package/src/components/docs/api/api-params.tsx +43 -0
  62. package/src/components/docs/api/api-playground.tsx +233 -0
  63. package/src/components/docs/api/api-reference.tsx +291 -0
  64. package/src/components/docs/api/api-response.tsx +48 -0
  65. package/src/components/docs/api/index.ts +5 -0
  66. package/src/components/docs/badge.tsx +22 -0
  67. package/src/components/docs/breadcrumb.tsx +51 -0
  68. package/src/components/docs/callout.tsx +109 -0
  69. package/src/components/docs/card.tsx +84 -0
  70. package/src/components/docs/category-index.tsx +112 -0
  71. package/src/components/docs/code-block.tsx +129 -0
  72. package/src/components/docs/columns.tsx +45 -0
  73. package/src/components/docs/componentTextProps.ts +85 -0
  74. package/src/components/docs/dev-mode-badge.tsx +35 -0
  75. package/src/components/docs/doc-layout-wrapper.tsx +54 -0
  76. package/src/components/docs/doc-layout.tsx +111 -0
  77. package/src/components/docs/doc-loading.tsx +15 -0
  78. package/src/components/docs/doc-metadata.tsx +55 -0
  79. package/src/components/docs/doc-navigation.tsx +62 -0
  80. package/src/components/docs/doc-tags.tsx +25 -0
  81. package/src/components/docs/draft-badge.tsx +10 -0
  82. package/src/components/docs/footer.tsx +47 -0
  83. package/src/components/docs/frame.tsx +22 -0
  84. package/src/components/docs/header.tsx +122 -0
  85. package/src/components/docs/hot-reload-indicator.tsx +77 -0
  86. package/src/components/docs/icon.tsx +70 -0
  87. package/src/components/docs/image-card.tsx +95 -0
  88. package/src/components/docs/image.tsx +73 -0
  89. package/src/components/docs/index.ts +48 -0
  90. package/src/components/docs/math.tsx +46 -0
  91. package/src/components/docs/mdx-components.tsx +166 -0
  92. package/src/components/docs/mdx-hot-reload.tsx +37 -0
  93. package/src/components/docs/mermaid.tsx +77 -0
  94. package/src/components/docs/mobile-doc-layout.tsx +115 -0
  95. package/src/components/docs/not-found-content.tsx +55 -0
  96. package/src/components/docs/search-highlight.tsx +127 -0
  97. package/src/components/docs/search-modal.tsx +223 -0
  98. package/src/components/docs/sidebar-skeleton.tsx +39 -0
  99. package/src/components/docs/sidebar.tsx +323 -0
  100. package/src/components/docs/site-banner.tsx +92 -0
  101. package/src/components/docs/steps.tsx +29 -0
  102. package/src/components/docs/tab-context.tsx +28 -0
  103. package/src/components/docs/tab-groups.tsx +50 -0
  104. package/src/components/docs/table-of-contents.tsx +104 -0
  105. package/src/components/docs/tabs.tsx +63 -0
  106. package/src/components/docs/theme-toggle.tsx +39 -0
  107. package/src/components/docs/tooltip.tsx +37 -0
  108. package/src/components/docs/version-switcher.tsx +52 -0
  109. package/src/components/docs/video.tsx +80 -0
  110. package/src/components/global/index.ts +3 -0
  111. package/src/components/global/version-not-found.tsx +26 -0
  112. package/src/components/index.ts +8 -0
  113. package/src/components/theme-provider.tsx +11 -0
  114. package/src/components/ui/badge.tsx +46 -0
  115. package/src/components/ui/button.tsx +60 -0
  116. package/src/components/ui/dialog.tsx +143 -0
  117. package/src/components/ui/index.ts +6 -0
  118. package/src/components/ui/input.tsx +21 -0
  119. package/src/components/ui/textarea.tsx +18 -0
  120. package/src/index.ts +41 -0
  121. package/src/lib/api-parser.types.ts +78 -0
  122. package/src/lib/api.types.ts +202 -0
  123. package/src/lib/category.ts +71 -0
  124. package/src/lib/config.server.ts +170 -0
  125. package/src/lib/config.ts +20 -0
  126. package/src/lib/config.types.ts +295 -0
  127. package/src/lib/dev-utils.ts +75 -0
  128. package/src/lib/index.ts +27 -0
  129. package/src/lib/mdx-cache.ts +200 -0
  130. package/src/lib/mdx.ts +402 -0
  131. package/src/lib/parsers/base-parser.ts +16 -0
  132. package/src/lib/parsers/index.ts +69 -0
  133. package/src/lib/parsers/openapi-parser.ts +251 -0
  134. package/src/lib/parsers/postman-parser.ts +301 -0
  135. package/src/lib/parsers/specra-parser.ts +24 -0
  136. package/src/lib/redirects.ts +40 -0
  137. package/src/lib/remark-code-meta.ts +23 -0
  138. package/src/lib/sidebar-utils.ts +188 -0
  139. package/src/lib/toc.ts +24 -0
  140. package/src/lib/utils.ts +36 -0
  141. package/src/specra.config.json +124 -0
  142. package/src/styles/globals.css +427 -0
@@ -0,0 +1,545 @@
1
+ import { Doc, SpecraConfig, DocMeta, ParserType, TabGroup } from './lib/index.js';
2
+ export { AnalyticsConfig, ApiAuthentication, ApiDocumentation, ApiEndpointSpec, ApiExample, ApiHeader, ApiParam, ApiParameter, ApiResponse, ApiSpecConfig, ApiSpecParser, BannerConfig, CategoryConfig, DeploymentConfig, EnvironmentVariables, FeaturesConfig, FooterConfig, GraphQLField, GraphQLQuery, GraphQLSchema, GraphQLType, HttpMethod, NavigationConfig, OpenApiParser, ParsedApiSpec, PerfTimer, PostmanParser, RedirectMapping, RestEndpoint, SearchConfig, SidebarGroup, SiteConfig, SocialLinks, SpecraApiResponse, SpecraApiSpec, SpecraParser, TOCItem, ThemeConfig, TocItem, WebSocketConnection, WebSocketEvent, buildRedirectMappings, buildSidebarStructure, clearAllCaches, cn, debugLog, defaultConfig, detectParserType, extractHeadings, extractTableOfContents, findRedirect, getAdjacentDocs, getAllCategoryConfigs, getAllDocs, getAssetPath, getCacheStats, getCachedAllDocs, getCachedDocBySlug, getCachedVersions, getCategoryConfig, getConfig, getConfigValue, getDocBySlug, getVersions, initConfig, isCategoryPage, loadConfig, logCacheOperation, logFsOperation, logMemoryUsage, parseApiSpec, processContentWithEnv, reloadConfig, replaceEnvVariables, sortSidebarGroups, sortSidebarItems, validateConfig } from './lib/index.js';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+ import * as React$1 from 'react';
5
+ import React__default, { ReactNode } from 'react';
6
+ import * as class_variance_authority_types from 'class-variance-authority/types';
7
+ import { VariantProps } from 'class-variance-authority';
8
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
9
+ export { default as RootLayout, generateMetadata as generateRootMetadata } from './app/layout.js';
10
+ export { default as DocsPage, generateMetadata as generateDocsMetadata, generateStaticParams as generateDocsStaticParams } from './app/docs-page.js';
11
+ import 'clsx';
12
+ import 'next';
13
+
14
+ interface AccordionItemProps {
15
+ title: string | React.ReactNode;
16
+ children: React.ReactNode;
17
+ defaultOpen?: boolean;
18
+ value?: string;
19
+ }
20
+ declare function AccordionItem({ title, children, defaultOpen }: AccordionItemProps): react_jsx_runtime.JSX.Element;
21
+ interface AccordionProps {
22
+ children: React.ReactNode;
23
+ type?: "single" | "multiple";
24
+ collapsible?: boolean;
25
+ className?: string;
26
+ }
27
+ declare function Accordion({ children, type, className }: AccordionProps): react_jsx_runtime.JSX.Element;
28
+
29
+ interface BadgeProps {
30
+ children: React.ReactNode;
31
+ variant?: "default" | "success" | "warning" | "error" | "info";
32
+ }
33
+ declare function Badge$1({ children, variant }: BadgeProps): react_jsx_runtime.JSX.Element;
34
+
35
+ interface BreadcrumbProps {
36
+ version: string;
37
+ slug: string;
38
+ title: string;
39
+ }
40
+ declare function Breadcrumb({ version, slug, title }: BreadcrumbProps): react_jsx_runtime.JSX.Element;
41
+
42
+ interface CalloutProps {
43
+ children: ReactNode;
44
+ type?: "info" | "warning" | "success" | "error" | "tip" | "note" | "danger";
45
+ title?: string;
46
+ }
47
+ declare function Callout({ children, type, title }: CalloutProps): react_jsx_runtime.JSX.Element;
48
+
49
+ interface CardProps {
50
+ title: string;
51
+ description?: string;
52
+ href?: string;
53
+ icon?: string | React.ReactNode;
54
+ children?: React.ReactNode;
55
+ external?: boolean;
56
+ }
57
+ declare function Card({ title, description, href, icon, children, external }: CardProps): react_jsx_runtime.JSX.Element;
58
+ interface CardGridProps {
59
+ children: React.ReactNode;
60
+ cols?: 1 | 2 | 3;
61
+ }
62
+ declare function CardGrid({ children, cols }: CardGridProps): react_jsx_runtime.JSX.Element;
63
+
64
+ interface CategoryIndexProps {
65
+ categoryPath: string;
66
+ version: string;
67
+ allDocs: Doc[];
68
+ title: string;
69
+ description?: string;
70
+ content?: string;
71
+ config: SpecraConfig;
72
+ }
73
+ declare function CategoryIndex({ categoryPath, version, allDocs, title, description, content, config }: CategoryIndexProps): react_jsx_runtime.JSX.Element;
74
+
75
+ interface CodeBlockProps {
76
+ code: string;
77
+ language: string;
78
+ filename?: string;
79
+ }
80
+ declare function CodeBlock({ code, language, filename }: CodeBlockProps): react_jsx_runtime.JSX.Element;
81
+
82
+ interface ColumnsProps {
83
+ children: React.ReactNode;
84
+ cols?: {
85
+ sm?: 1 | 2 | 3 | 4;
86
+ md?: 1 | 2 | 3 | 4;
87
+ lg?: 1 | 2 | 3 | 4;
88
+ xl?: 1 | 2 | 3 | 4;
89
+ };
90
+ }
91
+ declare function Columns({ children, cols }: ColumnsProps): react_jsx_runtime.JSX.Element;
92
+ interface ColumnProps {
93
+ children: React.ReactNode;
94
+ span?: 1 | 2 | 3 | 4;
95
+ }
96
+ declare function Column({ children, span }: ColumnProps): react_jsx_runtime.JSX.Element;
97
+
98
+ declare const COMPONENT_TEXT_PROPS: Record<string, string[]>;
99
+ declare function extractComponentPropsText(mdx: string): string;
100
+ declare function extractSearchText(mdx: string): string;
101
+
102
+ declare function DevModeBadge(): react_jsx_runtime.JSX.Element | null;
103
+
104
+ interface DocLayoutProps {
105
+ meta: DocMeta;
106
+ content: string;
107
+ previousDoc?: {
108
+ title: string;
109
+ slug: string;
110
+ };
111
+ nextDoc?: {
112
+ title: string;
113
+ slug: string;
114
+ };
115
+ version: string;
116
+ slug: string;
117
+ config: SpecraConfig;
118
+ }
119
+ declare function DocLayout({ content, meta, previousDoc, nextDoc, version, slug, config }: DocLayoutProps): Promise<react_jsx_runtime.JSX.Element>;
120
+
121
+ interface DocLayoutWrapperProps {
122
+ header: ReactNode;
123
+ docs: Doc[];
124
+ version: string;
125
+ content: ReactNode;
126
+ toc: ReactNode;
127
+ config: SpecraConfig;
128
+ currentPageTabGroup?: string;
129
+ }
130
+ declare function DocLayoutWrapper({ header, docs, version, content, toc, config, currentPageTabGroup }: DocLayoutWrapperProps): react_jsx_runtime.JSX.Element;
131
+
132
+ declare function DocLoading(): react_jsx_runtime.JSX.Element;
133
+
134
+ interface DocMetadataProps {
135
+ meta: DocMeta;
136
+ config: SpecraConfig;
137
+ }
138
+ declare function DocMetadata({ meta, config }: DocMetadataProps): react_jsx_runtime.JSX.Element | null;
139
+
140
+ interface DocNavigationProps {
141
+ previousDoc?: {
142
+ title: string;
143
+ slug: string;
144
+ };
145
+ nextDoc?: {
146
+ title: string;
147
+ slug: string;
148
+ };
149
+ version: string;
150
+ }
151
+ declare function DocNavigation({ previousDoc, nextDoc, version }: DocNavigationProps): react_jsx_runtime.JSX.Element | null;
152
+
153
+ interface DocTagsProps {
154
+ tags: string[];
155
+ }
156
+ declare function DocTags({ tags }: DocTagsProps): react_jsx_runtime.JSX.Element | null;
157
+
158
+ declare function DraftBadge(): react_jsx_runtime.JSX.Element;
159
+
160
+ declare function Footer({ config }: {
161
+ config: SpecraConfig;
162
+ }): react_jsx_runtime.JSX.Element | null;
163
+
164
+ interface FrameProps {
165
+ src: string;
166
+ title?: string;
167
+ height?: number | string;
168
+ width?: string;
169
+ }
170
+ declare function Frame({ src, title, height, width }: FrameProps): react_jsx_runtime.JSX.Element;
171
+
172
+ interface HeaderProps {
173
+ currentVersion: string;
174
+ versions: string[];
175
+ onMenuClick?: () => void;
176
+ config: SpecraConfig;
177
+ }
178
+ declare function Header({ currentVersion, versions, onMenuClick, config }: HeaderProps): react_jsx_runtime.JSX.Element;
179
+
180
+ declare function HotReloadIndicator(): react_jsx_runtime.JSX.Element | null;
181
+
182
+ interface IconProps {
183
+ icon: string | React.ReactNode;
184
+ iconType?: "regular" | "solid" | "light" | "thin" | "sharp-solid" | "duotone" | "brands";
185
+ color?: string;
186
+ size?: number;
187
+ className?: string;
188
+ }
189
+ declare function Icon({ icon, iconType, color, size, className }: IconProps): react_jsx_runtime.JSX.Element;
190
+
191
+ interface ImageCardProps {
192
+ src: string;
193
+ alt: string;
194
+ title?: string;
195
+ description?: string;
196
+ href?: string;
197
+ external?: boolean;
198
+ aspectRatio?: "square" | "video" | "portrait";
199
+ }
200
+ declare function ImageCard({ src, alt, title, description, href, external, aspectRatio, }: ImageCardProps): react_jsx_runtime.JSX.Element;
201
+ interface ImageCardGridProps {
202
+ children: React.ReactNode;
203
+ cols?: 1 | 2 | 3 | 4;
204
+ }
205
+ declare function ImageCardGrid({ children, cols }: ImageCardGridProps): react_jsx_runtime.JSX.Element;
206
+
207
+ interface ImageProps {
208
+ src: string;
209
+ alt: string;
210
+ caption?: string;
211
+ width?: number;
212
+ height?: number;
213
+ zoom?: boolean;
214
+ }
215
+ declare function Image({ src, alt, caption, width, height, zoom }: ImageProps): react_jsx_runtime.JSX.Element;
216
+
217
+ interface MathProps {
218
+ children: string;
219
+ block?: boolean;
220
+ }
221
+ declare function Math({ children, block }: MathProps): react_jsx_runtime.JSX.Element;
222
+
223
+ interface TabProps {
224
+ label: string;
225
+ children: React__default.ReactNode;
226
+ }
227
+ interface TabsProps {
228
+ children: React__default.ReactElement<TabProps> | React__default.ReactElement<TabProps>[];
229
+ defaultValue?: string;
230
+ }
231
+ declare function Tab({ children }: TabProps): react_jsx_runtime.JSX.Element;
232
+ declare function Tabs({ children, defaultValue }: TabsProps): react_jsx_runtime.JSX.Element;
233
+
234
+ interface VideoProps {
235
+ src: string;
236
+ caption?: string;
237
+ autoplay?: boolean;
238
+ loop?: boolean;
239
+ muted?: boolean;
240
+ controls?: boolean;
241
+ poster?: string;
242
+ }
243
+ declare function Video({ src, caption, autoplay, loop, muted, controls, poster, }: VideoProps): react_jsx_runtime.JSX.Element;
244
+
245
+ interface StepsProps {
246
+ children: React.ReactNode;
247
+ }
248
+ interface StepProps {
249
+ title: string;
250
+ children: React.ReactNode;
251
+ }
252
+ declare function Steps({ children }: StepsProps): react_jsx_runtime.JSX.Element;
253
+ declare function Step({ title, children }: StepProps): react_jsx_runtime.JSX.Element;
254
+
255
+ interface MermaidProps {
256
+ chart: string;
257
+ caption?: string;
258
+ }
259
+ declare function Mermaid({ chart, caption }: MermaidProps): react_jsx_runtime.JSX.Element;
260
+
261
+ interface TooltipProps {
262
+ children: React.ReactNode;
263
+ content: string;
264
+ position?: "top" | "bottom" | "left" | "right";
265
+ }
266
+ declare function Tooltip({ children, content, position }: TooltipProps): react_jsx_runtime.JSX.Element;
267
+
268
+ interface ApiEndpointProps {
269
+ method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
270
+ path: string;
271
+ summary?: string;
272
+ children?: ReactNode;
273
+ defaultOpen?: boolean;
274
+ }
275
+ declare function ApiEndpoint({ method, path, summary, children, defaultOpen }: ApiEndpointProps): react_jsx_runtime.JSX.Element;
276
+
277
+ interface ApiParam {
278
+ name: string;
279
+ type: string;
280
+ required?: boolean;
281
+ description?: string;
282
+ default?: string;
283
+ }
284
+ interface ApiParamsProps {
285
+ title?: string;
286
+ params: ApiParam[];
287
+ }
288
+ declare function ApiParams({ title, params }: ApiParamsProps): react_jsx_runtime.JSX.Element | null;
289
+
290
+ interface ApiResponseProps {
291
+ status: number;
292
+ description?: string;
293
+ example?: any;
294
+ schema?: any;
295
+ }
296
+ declare function ApiResponse({ status, description, example, schema }: ApiResponseProps): react_jsx_runtime.JSX.Element;
297
+
298
+ interface PathParam {
299
+ name: string;
300
+ type: string;
301
+ example?: any;
302
+ }
303
+ interface ApiPlaygroundProps {
304
+ method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
305
+ path: string;
306
+ baseUrl?: string;
307
+ headers?: Record<string, string>;
308
+ defaultBody?: string;
309
+ pathParams?: PathParam[];
310
+ }
311
+ declare function ApiPlayground({ method, path, baseUrl, headers, defaultBody, pathParams }: ApiPlaygroundProps): react_jsx_runtime.JSX.Element;
312
+
313
+ interface ApiReferenceProps {
314
+ /**
315
+ * Path to the API spec JSON file (relative to /public)
316
+ * Example: "/api-specs/my-api.json"
317
+ */
318
+ spec: string;
319
+ /**
320
+ * Parser type - auto-detect by default
321
+ * - "auto": Auto-detect format (Specra, OpenAPI, or Postman)
322
+ * - "specra": Native Specra format
323
+ * - "openapi": OpenAPI 3.x / Swagger
324
+ * - "postman": Postman Collection v2.x
325
+ */
326
+ parser?: ParserType;
327
+ /**
328
+ * Show API playground for testing
329
+ */
330
+ showPlayground?: boolean;
331
+ }
332
+ declare function ApiReference({ spec, parser, showPlayground }: ApiReferenceProps): react_jsx_runtime.JSX.Element | null;
333
+
334
+ declare const mdxComponents: {
335
+ h1: ({ children }: {
336
+ children: ReactNode;
337
+ }) => react_jsx_runtime.JSX.Element;
338
+ h2: ({ children, id }: {
339
+ children: ReactNode;
340
+ id?: string;
341
+ }) => react_jsx_runtime.JSX.Element;
342
+ h3: ({ children, id }: {
343
+ children: ReactNode;
344
+ id?: string;
345
+ }) => react_jsx_runtime.JSX.Element;
346
+ p: ({ children }: {
347
+ children: ReactNode;
348
+ }) => react_jsx_runtime.JSX.Element;
349
+ code: ({ children, className, meta, ...props }: {
350
+ children: ReactNode;
351
+ className?: string;
352
+ meta?: string;
353
+ [key: string]: any;
354
+ }) => react_jsx_runtime.JSX.Element;
355
+ pre: ({ children }: {
356
+ children: ReactNode;
357
+ }) => react_jsx_runtime.JSX.Element;
358
+ ul: ({ children }: {
359
+ children: ReactNode;
360
+ }) => react_jsx_runtime.JSX.Element;
361
+ ol: ({ children }: {
362
+ children: ReactNode;
363
+ }) => react_jsx_runtime.JSX.Element;
364
+ li: ({ children }: {
365
+ children: ReactNode;
366
+ }) => react_jsx_runtime.JSX.Element;
367
+ a: ({ children, href }: {
368
+ children: ReactNode;
369
+ href?: string;
370
+ }) => react_jsx_runtime.JSX.Element;
371
+ blockquote: ({ children }: {
372
+ children: ReactNode;
373
+ }) => react_jsx_runtime.JSX.Element;
374
+ table: ({ children }: {
375
+ children: ReactNode;
376
+ }) => react_jsx_runtime.JSX.Element;
377
+ th: ({ children }: {
378
+ children: ReactNode;
379
+ }) => react_jsx_runtime.JSX.Element;
380
+ td: ({ children }: {
381
+ children: ReactNode;
382
+ }) => react_jsx_runtime.JSX.Element;
383
+ Callout: typeof Callout;
384
+ Accordion: typeof Accordion;
385
+ AccordionItem: typeof AccordionItem;
386
+ Tabs: typeof Tabs;
387
+ Tab: typeof Tab;
388
+ Image: typeof Image;
389
+ Video: typeof Video;
390
+ Card: typeof Card;
391
+ CardGrid: typeof CardGrid;
392
+ ImageCard: typeof ImageCard;
393
+ ImageCardGrid: typeof ImageCardGrid;
394
+ Steps: typeof Steps;
395
+ Step: typeof Step;
396
+ Icon: typeof Icon;
397
+ Mermaid: typeof Mermaid;
398
+ Math: typeof Math;
399
+ Columns: typeof Columns;
400
+ Column: typeof Column;
401
+ Badge: typeof Badge$1;
402
+ Tooltip: typeof Tooltip;
403
+ Frame: typeof Frame;
404
+ ApiEndpoint: typeof ApiEndpoint;
405
+ ApiParams: typeof ApiParams;
406
+ ApiResponse: typeof ApiResponse;
407
+ ApiPlayground: typeof ApiPlayground;
408
+ ApiReference: typeof ApiReference;
409
+ };
410
+
411
+ declare function MdxHotReload(): null;
412
+
413
+ interface MobileDocLayoutProps {
414
+ header: ReactNode;
415
+ docs: Doc[];
416
+ version: string;
417
+ content: ReactNode;
418
+ toc: ReactNode;
419
+ config: SpecraConfig;
420
+ activeTabGroup?: string;
421
+ onTabChange?: (tabId: string) => void;
422
+ }
423
+ declare function MobileDocLayout({ header, docs, version, content, toc, config, activeTabGroup, onTabChange }: MobileDocLayoutProps): react_jsx_runtime.JSX.Element;
424
+
425
+ interface NotFoundContentProps {
426
+ version: string;
427
+ }
428
+ declare function NotFoundContent({ version }: NotFoundContentProps): react_jsx_runtime.JSX.Element;
429
+
430
+ declare function SearchHighlight(): null;
431
+
432
+ interface SearchModalProps {
433
+ isOpen: boolean;
434
+ onClose: () => void;
435
+ config: SpecraConfig;
436
+ }
437
+ declare function SearchModal({ isOpen, onClose, config }: SearchModalProps): react_jsx_runtime.JSX.Element;
438
+
439
+ declare function SidebarSkeleton(): react_jsx_runtime.JSX.Element;
440
+
441
+ interface DocItem {
442
+ title: string;
443
+ slug: string;
444
+ filePath: string;
445
+ section?: string;
446
+ group?: string;
447
+ sidebar?: string;
448
+ sidebar_position?: number;
449
+ categoryLabel?: string;
450
+ categoryPosition?: number;
451
+ categoryCollapsible?: boolean;
452
+ categoryCollapsed?: boolean;
453
+ categoryIcon?: string;
454
+ categoryTabGroup?: string;
455
+ meta?: {
456
+ icon?: string;
457
+ tab_group?: string;
458
+ [key: string]: any;
459
+ };
460
+ }
461
+ interface SidebarProps {
462
+ docs: DocItem[];
463
+ version: string;
464
+ onLinkClick?: () => void;
465
+ config: SpecraConfig;
466
+ activeTabGroup?: string;
467
+ }
468
+ declare function Sidebar({ docs, version, onLinkClick, config, activeTabGroup }: SidebarProps): react_jsx_runtime.JSX.Element | null;
469
+
470
+ interface SiteBannerProps {
471
+ config: SpecraConfig;
472
+ }
473
+ declare function SiteBanner({ config }: SiteBannerProps): react_jsx_runtime.JSX.Element | null;
474
+
475
+ interface TabContextType {
476
+ activeTabGroup: string;
477
+ setActiveTabGroup: (tabId: string) => void;
478
+ }
479
+ declare function TabProvider({ children, defaultTab }: {
480
+ children: ReactNode;
481
+ defaultTab: string;
482
+ }): react_jsx_runtime.JSX.Element;
483
+ declare function useTabContext(): TabContextType;
484
+
485
+ interface TabGroupsProps {
486
+ tabGroups: TabGroup[];
487
+ activeTabId?: string;
488
+ onTabChange?: (tabId: string) => void;
489
+ }
490
+ declare function TabGroups({ tabGroups, activeTabId, onTabChange }: TabGroupsProps): react_jsx_runtime.JSX.Element | null;
491
+
492
+ interface TOCItem {
493
+ id: string;
494
+ title: string;
495
+ level: number;
496
+ }
497
+ interface TableOfContentsProps {
498
+ items: TOCItem[];
499
+ config: SpecraConfig;
500
+ }
501
+ declare function TableOfContents({ items, config }: TableOfContentsProps): react_jsx_runtime.JSX.Element | null;
502
+
503
+ declare function ThemeToggle(): react_jsx_runtime.JSX.Element;
504
+
505
+ interface VersionSwitcherProps {
506
+ currentVersion: string;
507
+ versions: string[];
508
+ }
509
+ declare function VersionSwitcher({ currentVersion, versions }: VersionSwitcherProps): react_jsx_runtime.JSX.Element;
510
+
511
+ declare const badgeVariants: (props?: ({
512
+ variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
513
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
514
+ declare function Badge({ className, variant, asChild, ...props }: React$1.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
515
+ asChild?: boolean;
516
+ }): react_jsx_runtime.JSX.Element;
517
+
518
+ declare const buttonVariants: (props?: ({
519
+ variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
520
+ size?: "icon" | "default" | "sm" | "lg" | "icon-sm" | "icon-lg" | null | undefined;
521
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
522
+ declare function Button({ className, variant, size, asChild, ...props }: React$1.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
523
+ asChild?: boolean;
524
+ }): react_jsx_runtime.JSX.Element;
525
+
526
+ declare function Dialog({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Root>): react_jsx_runtime.JSX.Element;
527
+ declare function DialogTrigger({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
528
+ declare function DialogPortal({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Portal>): react_jsx_runtime.JSX.Element;
529
+ declare function DialogClose({ ...props }: React$1.ComponentProps<typeof DialogPrimitive.Close>): react_jsx_runtime.JSX.Element;
530
+ declare function DialogOverlay({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Overlay>): react_jsx_runtime.JSX.Element;
531
+ declare function DialogContent({ className, children, showCloseButton, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Content> & {
532
+ showCloseButton?: boolean;
533
+ }): react_jsx_runtime.JSX.Element;
534
+ declare function DialogHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
535
+ declare function DialogFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
536
+ declare function DialogTitle({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Title>): react_jsx_runtime.JSX.Element;
537
+ declare function DialogDescription({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Description>): react_jsx_runtime.JSX.Element;
538
+
539
+ declare function Input({ className, type, ...props }: React$1.ComponentProps<"input">): react_jsx_runtime.JSX.Element;
540
+
541
+ declare function Textarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
542
+
543
+ declare function VersionNotFound(): react_jsx_runtime.JSX.Element;
544
+
545
+ export { Accordion, AccordionItem, ApiEndpoint, ApiParams, ApiPlayground, ApiReference, ApiResponse as ApiResponseDisplay, Badge, Breadcrumb, Button, COMPONENT_TEXT_PROPS, Callout, Card, CardGrid, CategoryIndex, CodeBlock, Column, Columns, DevModeBadge, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Doc, Badge$1 as DocBadge, DocLayout, DocLayoutWrapper, DocLoading, DocMeta, DocMetadata, DocNavigation, DocTags, DraftBadge, Footer, Frame, Header, HotReloadIndicator, Icon, Image, ImageCard, ImageCardGrid, Input, Math, MdxHotReload, Mermaid, MobileDocLayout, NotFoundContent, ParserType, SearchHighlight, SearchModal, Sidebar, SidebarSkeleton, SiteBanner, SpecraConfig, Step, Steps, Tab, TabGroup, TabGroups, TabProvider, TableOfContents, Tabs, Textarea, ThemeToggle, Tooltip, VersionNotFound, VersionSwitcher, Video, badgeVariants, buttonVariants, extractComponentPropsText, extractSearchText, mdxComponents, useTabContext };