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.
- package/LICENSE.MD +21 -0
- package/README.md +157 -0
- package/dist/app/api/mdx-watch/route.d.mts +12 -0
- package/dist/app/api/mdx-watch/route.d.ts +12 -0
- package/dist/app/api/mdx-watch/route.js +98 -0
- package/dist/app/api/mdx-watch/route.js.map +1 -0
- package/dist/app/api/mdx-watch/route.mjs +71 -0
- package/dist/app/api/mdx-watch/route.mjs.map +1 -0
- package/dist/app/docs-page.d.mts +32 -0
- package/dist/app/docs-page.d.ts +32 -0
- package/dist/app/docs-page.js +4072 -0
- package/dist/app/docs-page.js.map +1 -0
- package/dist/app/docs-page.mjs +14 -0
- package/dist/app/docs-page.mjs.map +1 -0
- package/dist/app/layout.css +297 -0
- package/dist/app/layout.css.map +1 -0
- package/dist/app/layout.d.mts +19 -0
- package/dist/app/layout.d.ts +19 -0
- package/dist/app/layout.js +112 -0
- package/dist/app/layout.js.map +1 -0
- package/dist/app/layout.mjs +13 -0
- package/dist/app/layout.mjs.map +1 -0
- package/dist/chunk-DR4EPLMT.mjs +1013 -0
- package/dist/chunk-DR4EPLMT.mjs.map +1 -0
- package/dist/chunk-INL2EC72.mjs +170 -0
- package/dist/chunk-INL2EC72.mjs.map +1 -0
- package/dist/chunk-IZFGEAD6.mjs +61 -0
- package/dist/chunk-IZFGEAD6.mjs.map +1 -0
- package/dist/chunk-KTRWWAGL.mjs +50 -0
- package/dist/chunk-KTRWWAGL.mjs.map +1 -0
- package/dist/chunk-MZJHJ6BV.mjs +21 -0
- package/dist/chunk-MZJHJ6BV.mjs.map +1 -0
- package/dist/chunk-NXRIAL7T.mjs +3119 -0
- package/dist/chunk-NXRIAL7T.mjs.map +1 -0
- package/dist/components/index.d.mts +822 -0
- package/dist/components/index.d.ts +822 -0
- package/dist/components/index.js +3738 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index.mjs +3627 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/index.css +297 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.mts +545 -0
- package/dist/index.d.ts +545 -0
- package/dist/index.js +4648 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +347 -0
- package/dist/index.mjs.map +1 -0
- package/dist/lib/index.d.mts +798 -0
- package/dist/lib/index.d.ts +798 -0
- package/dist/lib/index.js +1301 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/index.mjs +89 -0
- package/dist/lib/index.mjs.map +1 -0
- package/package.json +119 -0
- package/src/app/api/mdx-watch/route.ts +86 -0
- package/src/app/docs-page.tsx +212 -0
- package/src/app/layout.tsx +74 -0
- package/src/components/docs/accordion.tsx +53 -0
- package/src/components/docs/api/api-endpoint.tsx +59 -0
- package/src/components/docs/api/api-params.tsx +43 -0
- package/src/components/docs/api/api-playground.tsx +233 -0
- package/src/components/docs/api/api-reference.tsx +291 -0
- package/src/components/docs/api/api-response.tsx +48 -0
- package/src/components/docs/api/index.ts +5 -0
- package/src/components/docs/badge.tsx +22 -0
- package/src/components/docs/breadcrumb.tsx +51 -0
- package/src/components/docs/callout.tsx +109 -0
- package/src/components/docs/card.tsx +84 -0
- package/src/components/docs/category-index.tsx +112 -0
- package/src/components/docs/code-block.tsx +129 -0
- package/src/components/docs/columns.tsx +45 -0
- package/src/components/docs/componentTextProps.ts +85 -0
- package/src/components/docs/dev-mode-badge.tsx +35 -0
- package/src/components/docs/doc-layout-wrapper.tsx +54 -0
- package/src/components/docs/doc-layout.tsx +111 -0
- package/src/components/docs/doc-loading.tsx +15 -0
- package/src/components/docs/doc-metadata.tsx +55 -0
- package/src/components/docs/doc-navigation.tsx +62 -0
- package/src/components/docs/doc-tags.tsx +25 -0
- package/src/components/docs/draft-badge.tsx +10 -0
- package/src/components/docs/footer.tsx +47 -0
- package/src/components/docs/frame.tsx +22 -0
- package/src/components/docs/header.tsx +122 -0
- package/src/components/docs/hot-reload-indicator.tsx +77 -0
- package/src/components/docs/icon.tsx +70 -0
- package/src/components/docs/image-card.tsx +95 -0
- package/src/components/docs/image.tsx +73 -0
- package/src/components/docs/index.ts +48 -0
- package/src/components/docs/math.tsx +46 -0
- package/src/components/docs/mdx-components.tsx +166 -0
- package/src/components/docs/mdx-hot-reload.tsx +37 -0
- package/src/components/docs/mermaid.tsx +77 -0
- package/src/components/docs/mobile-doc-layout.tsx +115 -0
- package/src/components/docs/not-found-content.tsx +55 -0
- package/src/components/docs/search-highlight.tsx +127 -0
- package/src/components/docs/search-modal.tsx +223 -0
- package/src/components/docs/sidebar-skeleton.tsx +39 -0
- package/src/components/docs/sidebar.tsx +323 -0
- package/src/components/docs/site-banner.tsx +92 -0
- package/src/components/docs/steps.tsx +29 -0
- package/src/components/docs/tab-context.tsx +28 -0
- package/src/components/docs/tab-groups.tsx +50 -0
- package/src/components/docs/table-of-contents.tsx +104 -0
- package/src/components/docs/tabs.tsx +63 -0
- package/src/components/docs/theme-toggle.tsx +39 -0
- package/src/components/docs/tooltip.tsx +37 -0
- package/src/components/docs/version-switcher.tsx +52 -0
- package/src/components/docs/video.tsx +80 -0
- package/src/components/global/index.ts +3 -0
- package/src/components/global/version-not-found.tsx +26 -0
- package/src/components/index.ts +8 -0
- package/src/components/theme-provider.tsx +11 -0
- package/src/components/ui/badge.tsx +46 -0
- package/src/components/ui/button.tsx +60 -0
- package/src/components/ui/dialog.tsx +143 -0
- package/src/components/ui/index.ts +6 -0
- package/src/components/ui/input.tsx +21 -0
- package/src/components/ui/textarea.tsx +18 -0
- package/src/index.ts +41 -0
- package/src/lib/api-parser.types.ts +78 -0
- package/src/lib/api.types.ts +202 -0
- package/src/lib/category.ts +71 -0
- package/src/lib/config.server.ts +170 -0
- package/src/lib/config.ts +20 -0
- package/src/lib/config.types.ts +295 -0
- package/src/lib/dev-utils.ts +75 -0
- package/src/lib/index.ts +27 -0
- package/src/lib/mdx-cache.ts +200 -0
- package/src/lib/mdx.ts +402 -0
- package/src/lib/parsers/base-parser.ts +16 -0
- package/src/lib/parsers/index.ts +69 -0
- package/src/lib/parsers/openapi-parser.ts +251 -0
- package/src/lib/parsers/postman-parser.ts +301 -0
- package/src/lib/parsers/specra-parser.ts +24 -0
- package/src/lib/redirects.ts +40 -0
- package/src/lib/remark-code-meta.ts +23 -0
- package/src/lib/sidebar-utils.ts +188 -0
- package/src/lib/toc.ts +24 -0
- package/src/lib/utils.ts +36 -0
- package/src/specra.config.json +124 -0
- package/src/styles/globals.css +427 -0
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
import {
|
|
2
|
+
RootLayout,
|
|
3
|
+
generateMetadata
|
|
4
|
+
} from "./chunk-IZFGEAD6.mjs";
|
|
5
|
+
import {
|
|
6
|
+
Accordion,
|
|
7
|
+
AccordionItem,
|
|
8
|
+
ApiEndpoint,
|
|
9
|
+
ApiParams,
|
|
10
|
+
ApiPlayground,
|
|
11
|
+
ApiReference,
|
|
12
|
+
ApiResponse,
|
|
13
|
+
Badge,
|
|
14
|
+
Badge2,
|
|
15
|
+
Breadcrumb,
|
|
16
|
+
Button,
|
|
17
|
+
Callout,
|
|
18
|
+
Card,
|
|
19
|
+
CardGrid,
|
|
20
|
+
CategoryIndex,
|
|
21
|
+
CodeBlock,
|
|
22
|
+
Column,
|
|
23
|
+
Columns,
|
|
24
|
+
DevModeBadge,
|
|
25
|
+
Dialog,
|
|
26
|
+
DialogClose,
|
|
27
|
+
DialogContent,
|
|
28
|
+
DialogDescription,
|
|
29
|
+
DialogFooter,
|
|
30
|
+
DialogHeader,
|
|
31
|
+
DialogOverlay,
|
|
32
|
+
DialogPortal,
|
|
33
|
+
DialogTitle,
|
|
34
|
+
DialogTrigger,
|
|
35
|
+
DocLayout,
|
|
36
|
+
DocLayoutWrapper,
|
|
37
|
+
DocLoading,
|
|
38
|
+
DocMetadata,
|
|
39
|
+
DocNavigation,
|
|
40
|
+
DocPage,
|
|
41
|
+
DocTags,
|
|
42
|
+
DraftBadge,
|
|
43
|
+
Footer,
|
|
44
|
+
Frame,
|
|
45
|
+
Header,
|
|
46
|
+
HotReloadIndicator,
|
|
47
|
+
Icon,
|
|
48
|
+
Image,
|
|
49
|
+
ImageCard,
|
|
50
|
+
ImageCardGrid,
|
|
51
|
+
Input,
|
|
52
|
+
Math as Math2,
|
|
53
|
+
MdxHotReload,
|
|
54
|
+
Mermaid,
|
|
55
|
+
MobileDocLayout,
|
|
56
|
+
NotFoundContent,
|
|
57
|
+
SearchHighlight,
|
|
58
|
+
SearchModal,
|
|
59
|
+
Sidebar,
|
|
60
|
+
SiteBanner,
|
|
61
|
+
Step,
|
|
62
|
+
Steps,
|
|
63
|
+
Tab,
|
|
64
|
+
TabGroups,
|
|
65
|
+
TableOfContents,
|
|
66
|
+
Tabs,
|
|
67
|
+
Textarea,
|
|
68
|
+
ThemeToggle,
|
|
69
|
+
Tooltip,
|
|
70
|
+
VersionSwitcher,
|
|
71
|
+
Video,
|
|
72
|
+
badgeVariants,
|
|
73
|
+
buttonVariants,
|
|
74
|
+
generateMetadata as generateMetadata2,
|
|
75
|
+
generateStaticParams,
|
|
76
|
+
mdxComponents
|
|
77
|
+
} from "./chunk-NXRIAL7T.mjs";
|
|
78
|
+
import {
|
|
79
|
+
TabProvider,
|
|
80
|
+
useTabContext
|
|
81
|
+
} from "./chunk-MZJHJ6BV.mjs";
|
|
82
|
+
import {
|
|
83
|
+
buildRedirectMappings,
|
|
84
|
+
extractHeadings,
|
|
85
|
+
findRedirect
|
|
86
|
+
} from "./chunk-KTRWWAGL.mjs";
|
|
87
|
+
import {
|
|
88
|
+
OpenApiParser,
|
|
89
|
+
PerfTimer,
|
|
90
|
+
PostmanParser,
|
|
91
|
+
SpecraParser,
|
|
92
|
+
buildSidebarStructure,
|
|
93
|
+
clearAllCaches,
|
|
94
|
+
debugLog,
|
|
95
|
+
detectParserType,
|
|
96
|
+
extractTableOfContents,
|
|
97
|
+
getAdjacentDocs,
|
|
98
|
+
getAllCategoryConfigs,
|
|
99
|
+
getAllDocs,
|
|
100
|
+
getCacheStats,
|
|
101
|
+
getCachedAllDocs,
|
|
102
|
+
getCachedDocBySlug,
|
|
103
|
+
getCachedVersions,
|
|
104
|
+
getCategoryConfig,
|
|
105
|
+
getDocBySlug,
|
|
106
|
+
getVersions,
|
|
107
|
+
isCategoryPage,
|
|
108
|
+
logCacheOperation,
|
|
109
|
+
logFsOperation,
|
|
110
|
+
logMemoryUsage,
|
|
111
|
+
parseApiSpec,
|
|
112
|
+
sortSidebarGroups,
|
|
113
|
+
sortSidebarItems
|
|
114
|
+
} from "./chunk-DR4EPLMT.mjs";
|
|
115
|
+
import {
|
|
116
|
+
cn,
|
|
117
|
+
defaultConfig,
|
|
118
|
+
getAssetPath,
|
|
119
|
+
getConfig,
|
|
120
|
+
getConfigValue,
|
|
121
|
+
initConfig,
|
|
122
|
+
loadConfig,
|
|
123
|
+
processContentWithEnv,
|
|
124
|
+
reloadConfig,
|
|
125
|
+
replaceEnvVariables,
|
|
126
|
+
validateConfig
|
|
127
|
+
} from "./chunk-INL2EC72.mjs";
|
|
128
|
+
|
|
129
|
+
// src/components/docs/componentTextProps.ts
|
|
130
|
+
var COMPONENT_TEXT_PROPS = {
|
|
131
|
+
// Accordion components
|
|
132
|
+
Accordion: ["title"],
|
|
133
|
+
AccordionItem: ["title"],
|
|
134
|
+
// Alert/Callout components
|
|
135
|
+
Alert: ["title", "description"],
|
|
136
|
+
Banner: ["title"],
|
|
137
|
+
Callout: ["title", "content"],
|
|
138
|
+
Note: ["title"],
|
|
139
|
+
Warning: ["title", "text"],
|
|
140
|
+
// Navigation components
|
|
141
|
+
BreadCrumb: ["title", "slug", "version"],
|
|
142
|
+
// Card components
|
|
143
|
+
Card: ["title", "description"],
|
|
144
|
+
ImageCard: ["title", "description", "alt"],
|
|
145
|
+
// Media components
|
|
146
|
+
Image: ["alt", "caption"],
|
|
147
|
+
Video: ["caption"],
|
|
148
|
+
Frame: ["title"],
|
|
149
|
+
Mermaid: ["caption"],
|
|
150
|
+
// Interactive components
|
|
151
|
+
Tooltip: ["content"],
|
|
152
|
+
// Code components
|
|
153
|
+
CodeBlock: ["filename"],
|
|
154
|
+
// Step components
|
|
155
|
+
Step: ["title"]
|
|
156
|
+
};
|
|
157
|
+
function extractComponentPropsText(mdx) {
|
|
158
|
+
return mdx.replace(
|
|
159
|
+
/<([A-Z][\w]*)\b([^/>]*)\/>/g,
|
|
160
|
+
(_, component, props) => {
|
|
161
|
+
const searchableProps = COMPONENT_TEXT_PROPS[component];
|
|
162
|
+
if (!searchableProps) return " ";
|
|
163
|
+
let extracted = "";
|
|
164
|
+
for (const prop of searchableProps) {
|
|
165
|
+
const match = props.match(
|
|
166
|
+
new RegExp(`${prop}="([^"]+)"`, "i")
|
|
167
|
+
);
|
|
168
|
+
if (match) {
|
|
169
|
+
extracted += " " + match[1];
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return extracted || " ";
|
|
173
|
+
}
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
function extractSearchText(mdx) {
|
|
177
|
+
return extractComponentPropsText(mdx).replace(/```[\s\S]*?```/g, " ").replace(/<([A-Z][\w]*)\b[^>]*>[\s\S]*?<\/\1>/g, " ").replace(/<\/?[A-Za-z][^>]*>/g, " ").replace(/`[^`]+`/g, " ").replace(/\[([^\]]+)\]\([^)]+\)/g, "$1").replace(/[#>*_~=-]+/g, " ").replace(/\s+/g, " ").trim().slice(0, 1e3);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// src/components/docs/sidebar-skeleton.tsx
|
|
181
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
182
|
+
function SidebarSkeleton() {
|
|
183
|
+
return /* @__PURE__ */ jsx("aside", { className: "w-64 pr-8 py-6", children: /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
|
|
184
|
+
/* @__PURE__ */ jsx("div", { className: "px-2", children: /* @__PURE__ */ jsx("div", { className: "h-5 w-32 bg-muted/50 rounded animate-pulse" }) }),
|
|
185
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-1", children: [...Array(8)].map((_, i) => /* @__PURE__ */ jsx("div", { className: "px-3 py-2", children: /* @__PURE__ */ jsx(
|
|
186
|
+
"div",
|
|
187
|
+
{
|
|
188
|
+
className: "h-4 bg-muted/50 rounded animate-pulse",
|
|
189
|
+
style: { width: `${60 + Math.random() * 40}%` }
|
|
190
|
+
}
|
|
191
|
+
) }, i)) }),
|
|
192
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
193
|
+
/* @__PURE__ */ jsx("div", { className: "px-2 mb-2", children: /* @__PURE__ */ jsx("div", { className: "h-4 w-24 bg-muted/50 rounded animate-pulse" }) }),
|
|
194
|
+
[...Array(5)].map((_, i) => /* @__PURE__ */ jsx("div", { className: "px-3 py-2", children: /* @__PURE__ */ jsx(
|
|
195
|
+
"div",
|
|
196
|
+
{
|
|
197
|
+
className: "h-4 bg-muted/50 rounded animate-pulse",
|
|
198
|
+
style: { width: `${50 + Math.random() * 50}%` }
|
|
199
|
+
}
|
|
200
|
+
) }, i))
|
|
201
|
+
] })
|
|
202
|
+
] }) });
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// src/components/global/version-not-found.tsx
|
|
206
|
+
import { AlertTriangle } from "lucide-react";
|
|
207
|
+
import Link from "next/link";
|
|
208
|
+
import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
209
|
+
function VersionNotFound() {
|
|
210
|
+
return /* @__PURE__ */ jsx2(Fragment, { children: /* @__PURE__ */ jsx2("div", { className: "flex min-h-screen items-center justify-center px-4", children: /* @__PURE__ */ jsxs2("div", { className: "text-center", children: [
|
|
211
|
+
/* @__PURE__ */ jsx2("div", { className: "mb-4 flex justify-center", children: /* @__PURE__ */ jsx2(AlertTriangle, { className: "h-16 w-16 text-yellow-500" }) }),
|
|
212
|
+
/* @__PURE__ */ jsx2("h1", { className: "mb-2 text-4xl font-bold", children: "Version Not Found" }),
|
|
213
|
+
/* @__PURE__ */ jsx2("p", { className: "mb-6 text-muted-foreground", children: "The documentation version you're looking for doesn't exist." }),
|
|
214
|
+
/* @__PURE__ */ jsx2(
|
|
215
|
+
Link,
|
|
216
|
+
{
|
|
217
|
+
href: "/docs/v1.0.0",
|
|
218
|
+
className: "inline-flex items-center rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90",
|
|
219
|
+
children: "Go to Latest Version"
|
|
220
|
+
}
|
|
221
|
+
)
|
|
222
|
+
] }) }) });
|
|
223
|
+
}
|
|
224
|
+
export {
|
|
225
|
+
Accordion,
|
|
226
|
+
AccordionItem,
|
|
227
|
+
ApiEndpoint,
|
|
228
|
+
ApiParams,
|
|
229
|
+
ApiPlayground,
|
|
230
|
+
ApiReference,
|
|
231
|
+
ApiResponse,
|
|
232
|
+
ApiResponse as ApiResponseDisplay,
|
|
233
|
+
Badge2 as Badge,
|
|
234
|
+
Breadcrumb,
|
|
235
|
+
Button,
|
|
236
|
+
COMPONENT_TEXT_PROPS,
|
|
237
|
+
Callout,
|
|
238
|
+
Card,
|
|
239
|
+
CardGrid,
|
|
240
|
+
CategoryIndex,
|
|
241
|
+
CodeBlock,
|
|
242
|
+
Column,
|
|
243
|
+
Columns,
|
|
244
|
+
DevModeBadge,
|
|
245
|
+
Dialog,
|
|
246
|
+
DialogClose,
|
|
247
|
+
DialogContent,
|
|
248
|
+
DialogDescription,
|
|
249
|
+
DialogFooter,
|
|
250
|
+
DialogHeader,
|
|
251
|
+
DialogOverlay,
|
|
252
|
+
DialogPortal,
|
|
253
|
+
DialogTitle,
|
|
254
|
+
DialogTrigger,
|
|
255
|
+
Badge as DocBadge,
|
|
256
|
+
DocLayout,
|
|
257
|
+
DocLayoutWrapper,
|
|
258
|
+
DocLoading,
|
|
259
|
+
DocMetadata,
|
|
260
|
+
DocNavigation,
|
|
261
|
+
DocTags,
|
|
262
|
+
DocPage as DocsPage,
|
|
263
|
+
DraftBadge,
|
|
264
|
+
Footer,
|
|
265
|
+
Frame,
|
|
266
|
+
Header,
|
|
267
|
+
HotReloadIndicator,
|
|
268
|
+
Icon,
|
|
269
|
+
Image,
|
|
270
|
+
ImageCard,
|
|
271
|
+
ImageCardGrid,
|
|
272
|
+
Input,
|
|
273
|
+
Math2 as Math,
|
|
274
|
+
MdxHotReload,
|
|
275
|
+
Mermaid,
|
|
276
|
+
MobileDocLayout,
|
|
277
|
+
NotFoundContent,
|
|
278
|
+
OpenApiParser,
|
|
279
|
+
PerfTimer,
|
|
280
|
+
PostmanParser,
|
|
281
|
+
RootLayout,
|
|
282
|
+
SearchHighlight,
|
|
283
|
+
SearchModal,
|
|
284
|
+
Sidebar,
|
|
285
|
+
SidebarSkeleton,
|
|
286
|
+
SiteBanner,
|
|
287
|
+
SpecraParser,
|
|
288
|
+
Step,
|
|
289
|
+
Steps,
|
|
290
|
+
Tab,
|
|
291
|
+
TabGroups,
|
|
292
|
+
TabProvider,
|
|
293
|
+
TableOfContents,
|
|
294
|
+
Tabs,
|
|
295
|
+
Textarea,
|
|
296
|
+
ThemeToggle,
|
|
297
|
+
Tooltip,
|
|
298
|
+
VersionNotFound,
|
|
299
|
+
VersionSwitcher,
|
|
300
|
+
Video,
|
|
301
|
+
badgeVariants,
|
|
302
|
+
buildRedirectMappings,
|
|
303
|
+
buildSidebarStructure,
|
|
304
|
+
buttonVariants,
|
|
305
|
+
clearAllCaches,
|
|
306
|
+
cn,
|
|
307
|
+
debugLog,
|
|
308
|
+
defaultConfig,
|
|
309
|
+
detectParserType,
|
|
310
|
+
extractComponentPropsText,
|
|
311
|
+
extractHeadings,
|
|
312
|
+
extractSearchText,
|
|
313
|
+
extractTableOfContents,
|
|
314
|
+
findRedirect,
|
|
315
|
+
generateMetadata2 as generateDocsMetadata,
|
|
316
|
+
generateStaticParams as generateDocsStaticParams,
|
|
317
|
+
generateMetadata as generateRootMetadata,
|
|
318
|
+
getAdjacentDocs,
|
|
319
|
+
getAllCategoryConfigs,
|
|
320
|
+
getAllDocs,
|
|
321
|
+
getAssetPath,
|
|
322
|
+
getCacheStats,
|
|
323
|
+
getCachedAllDocs,
|
|
324
|
+
getCachedDocBySlug,
|
|
325
|
+
getCachedVersions,
|
|
326
|
+
getCategoryConfig,
|
|
327
|
+
getConfig,
|
|
328
|
+
getConfigValue,
|
|
329
|
+
getDocBySlug,
|
|
330
|
+
getVersions,
|
|
331
|
+
initConfig,
|
|
332
|
+
isCategoryPage,
|
|
333
|
+
loadConfig,
|
|
334
|
+
logCacheOperation,
|
|
335
|
+
logFsOperation,
|
|
336
|
+
logMemoryUsage,
|
|
337
|
+
mdxComponents,
|
|
338
|
+
parseApiSpec,
|
|
339
|
+
processContentWithEnv,
|
|
340
|
+
reloadConfig,
|
|
341
|
+
replaceEnvVariables,
|
|
342
|
+
sortSidebarGroups,
|
|
343
|
+
sortSidebarItems,
|
|
344
|
+
useTabContext,
|
|
345
|
+
validateConfig
|
|
346
|
+
};
|
|
347
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/docs/componentTextProps.ts","../src/components/docs/sidebar-skeleton.tsx","../src/components/global/version-not-found.tsx"],"sourcesContent":["\n\nexport const COMPONENT_TEXT_PROPS: Record<string, string[]> = {\n // Accordion components\n Accordion: [\"title\"],\n AccordionItem: [\"title\"],\n\n // Alert/Callout components\n Alert: [\"title\", \"description\"],\n Banner: [\"title\"],\n Callout: [\"title\", \"content\"],\n Note: [\"title\"],\n Warning: [\"title\", \"text\"],\n\n // Navigation components\n BreadCrumb: [\"title\", \"slug\", \"version\"],\n\n // Card components\n Card: [\"title\", \"description\"],\n ImageCard: [\"title\", \"description\", \"alt\"],\n\n // Media components\n Image: [\"alt\", \"caption\"],\n Video: [\"caption\"],\n Frame: [\"title\"],\n Mermaid: [\"caption\"],\n\n // Interactive components\n Tooltip: [\"content\"],\n\n // Code components\n CodeBlock: [\"filename\"],\n\n // Step components\n Step: [\"title\"],\n}\n\nexport function extractComponentPropsText(mdx: string): string {\n return mdx.replace(\n /<([A-Z][\\w]*)\\b([^/>]*)\\/>/g,\n (_, component, props) => {\n const searchableProps = COMPONENT_TEXT_PROPS[component]\n if (!searchableProps) return \" \"\n\n let extracted = \"\"\n\n for (const prop of searchableProps) {\n const match = props.match(\n new RegExp(`${prop}=\"([^\"]+)\"`, \"i\")\n )\n if (match) {\n extracted += \" \" + match[1]\n }\n }\n\n return extracted || \" \"\n }\n )\n}\n\nexport function extractSearchText(mdx: string): string {\n return extractComponentPropsText(mdx)\n // 2. Remove fenced code blocks\n .replace(/```[\\s\\S]*?```/g, \" \")\n\n // 3. Remove JSX blocks with children\n .replace(/<([A-Z][\\w]*)\\b[^>]*>[\\s\\S]*?<\\/\\1>/g, \" \")\n\n // 4. Remove remaining JSX & HTML\n .replace(/<\\/?[A-Za-z][^>]*>/g, \" \")\n\n // 5. Remove inline code\n .replace(/`[^`]+`/g, \" \")\n\n // 6. Remove markdown links (keep text)\n .replace(/\\[([^\\]]+)\\]\\([^)]+\\)/g, \"$1\")\n\n // 7. Remove markdown noise\n .replace(/[#>*_~=-]+/g, \" \")\n\n // 8. Normalize whitespace\n .replace(/\\s+/g, \" \")\n .trim()\n .slice(0, 1000)\n}","export function SidebarSkeleton() {\n return (\n <aside className=\"w-64 pr-8 py-6\">\n <div className=\"space-y-6\">\n {/* Documentation title */}\n <div className=\"px-2\">\n <div className=\"h-5 w-32 bg-muted/50 rounded animate-pulse\" />\n </div>\n\n {/* Skeleton items */}\n <div className=\"space-y-1\">\n {[...Array(8)].map((_, i) => (\n <div key={i} className=\"px-3 py-2\">\n <div\n className=\"h-4 bg-muted/50 rounded animate-pulse\"\n style={{ width: `${60 + Math.random() * 40}%` }}\n />\n </div>\n ))}\n </div>\n\n {/* Another section */}\n <div className=\"space-y-1\">\n <div className=\"px-2 mb-2\">\n <div className=\"h-4 w-24 bg-muted/50 rounded animate-pulse\" />\n </div>\n {[...Array(5)].map((_, i) => (\n <div key={i} className=\"px-3 py-2\">\n <div\n className=\"h-4 bg-muted/50 rounded animate-pulse\"\n style={{ width: `${50 + Math.random() * 50}%` }}\n />\n </div>\n ))}\n </div>\n </div>\n </aside>\n )\n}\n","import { AlertTriangle } from \"lucide-react\";\nimport Link from \"next/link\";\n\nexport function VersionNotFound() {\n return (\n <>\n <div className=\"flex min-h-screen items-center justify-center px-4\">\n <div className=\"text-center\">\n <div className=\"mb-4 flex justify-center\">\n <AlertTriangle className=\"h-16 w-16 text-yellow-500\" />\n </div>\n <h1 className=\"mb-2 text-4xl font-bold\">Version Not Found</h1>\n <p className=\"mb-6 text-muted-foreground\">\n The documentation version you're looking for doesn't exist.\n </p>\n <Link\n href=\"/docs/v1.0.0\"\n className=\"inline-flex items-center rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground hover:bg-primary/90\"\n >\n Go to Latest Version\n </Link>\n </div>\n </div>\n </>\n )\n}"],"mappings":"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","names":["jsx","jsxs"]}
|