@vendure-io/docs-provider 0.3.0 → 0.4.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/README.md +97 -17
- package/dist/folder-utils.d.ts +136 -0
- package/dist/folder-utils.d.ts.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +240 -31
- package/dist/loader.cjs +1 -1
- package/dist/loader.js +1 -1
- package/dist/manifest-BYUKRuRu.cjs +3 -0
- package/dist/manifest-CVIfw0ha.js +228 -0
- package/dist/manifest-resolver.d.ts +59 -0
- package/dist/manifest-resolver.d.ts.map +1 -0
- package/dist/mdx-components.d.ts +26 -1
- package/dist/mdx-components.d.ts.map +1 -1
- package/dist/schema.d.ts +110 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/slug-utils.d.ts +52 -0
- package/dist/slug-utils.d.ts.map +1 -0
- package/dist/types.d.ts +40 -0
- package/dist/types.d.ts.map +1 -1
- package/docs/creating-a-docs-package.md +79 -0
- package/docs/frontmatter-reference.md +36 -0
- package/docs/manifest-reference.md +248 -1
- package/docs/mdx-components-reference.md +31 -0
- package/package.json +1 -1
- package/dist/manifest-BJ3t6hu2.js +0 -208
- package/dist/manifest-CNnJGNwK.cjs +0 -3
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
var y = Object.defineProperty;
|
|
2
|
+
var $ = (r, n, e) => n in r ? y(r, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[n] = e;
|
|
3
|
+
var l = (r, n, e) => $(r, typeof n != "symbol" ? n + "" : n, e);
|
|
4
|
+
import u from "gray-matter";
|
|
5
|
+
import { z as t } from "zod";
|
|
6
|
+
const m = t.enum(["v1", "v2", "v3"]), f = t.object({
|
|
7
|
+
indexFields: t.array(t.enum(["title", "description", "content", "keywords"])),
|
|
8
|
+
boosts: t.record(t.string(), t.number()).optional()
|
|
9
|
+
}), h = t.object({
|
|
10
|
+
repository: t.string().regex(/^[^/]+\/[^/]+$/, 'Repository must be in format "owner/repo"'),
|
|
11
|
+
branch: t.string().optional(),
|
|
12
|
+
docsPath: t.string().optional()
|
|
13
|
+
}), d = t.lazy(
|
|
14
|
+
() => t.object({
|
|
15
|
+
title: t.string().min(1, "Navigation title is required"),
|
|
16
|
+
slug: t.string().min(1, "Navigation slug is required"),
|
|
17
|
+
file: t.string().optional(),
|
|
18
|
+
children: t.array(d).optional(),
|
|
19
|
+
badge: t.string().optional()
|
|
20
|
+
})
|
|
21
|
+
), p = t.object({
|
|
22
|
+
id: t.string().min(1, "Package ID is required"),
|
|
23
|
+
name: t.string().min(1, "Package name is required"),
|
|
24
|
+
version: t.string().regex(/^\d+\.\d+\.\d+/, "Version must be valid semver"),
|
|
25
|
+
vendureVersion: m,
|
|
26
|
+
navigation: t.array(d),
|
|
27
|
+
search: f.optional(),
|
|
28
|
+
github: h.optional(),
|
|
29
|
+
basePath: t.string().optional()
|
|
30
|
+
}), v = t.object({
|
|
31
|
+
title: t.string().min(1, "Page title is required"),
|
|
32
|
+
description: t.string().optional(),
|
|
33
|
+
keywords: t.array(t.string()).optional(),
|
|
34
|
+
sidebarLabel: t.string().optional(),
|
|
35
|
+
hidden: t.boolean().optional(),
|
|
36
|
+
order: t.number().int().optional()
|
|
37
|
+
}), V = t.object({
|
|
38
|
+
meta: v,
|
|
39
|
+
content: t.string(),
|
|
40
|
+
filePath: t.string()
|
|
41
|
+
}), E = t.object({
|
|
42
|
+
manifest: p,
|
|
43
|
+
basePath: t.string()
|
|
44
|
+
}), q = t.object({
|
|
45
|
+
title: t.string(),
|
|
46
|
+
slug: t.string(),
|
|
47
|
+
path: t.string()
|
|
48
|
+
}), B = t.object({
|
|
49
|
+
title: t.string(),
|
|
50
|
+
slug: t.string(),
|
|
51
|
+
file: t.string().optional(),
|
|
52
|
+
children: t.array(t.lazy(() => d)).optional(),
|
|
53
|
+
badge: t.string().optional(),
|
|
54
|
+
path: t.string(),
|
|
55
|
+
depth: t.number().int().min(0),
|
|
56
|
+
parentPath: t.string().optional()
|
|
57
|
+
}), b = t.lazy(
|
|
58
|
+
() => t.object({
|
|
59
|
+
title: t.string().min(1).optional(),
|
|
60
|
+
slug: t.string().min(1).optional(),
|
|
61
|
+
file: t.string().optional(),
|
|
62
|
+
children: t.array(b).optional(),
|
|
63
|
+
badge: t.string().optional()
|
|
64
|
+
})
|
|
65
|
+
), z = t.object({
|
|
66
|
+
id: t.string().min(1, "Package ID is required"),
|
|
67
|
+
name: t.string().min(1, "Package name is required"),
|
|
68
|
+
version: t.string().regex(/^\d+\.\d+\.\d+/, "Version must be valid semver"),
|
|
69
|
+
vendureVersion: m,
|
|
70
|
+
navigation: t.array(b),
|
|
71
|
+
search: f.optional(),
|
|
72
|
+
github: h.optional(),
|
|
73
|
+
basePath: t.string().optional()
|
|
74
|
+
});
|
|
75
|
+
class g extends Error {
|
|
76
|
+
constructor(e, i, a) {
|
|
77
|
+
super(e);
|
|
78
|
+
l(this, "filePath");
|
|
79
|
+
l(this, "originalError");
|
|
80
|
+
this.name = "FrontmatterParseError", this.filePath = i, this.originalError = a;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function L(r, n) {
|
|
84
|
+
try {
|
|
85
|
+
const { data: e, content: i } = u(r);
|
|
86
|
+
return {
|
|
87
|
+
meta: x(e, n),
|
|
88
|
+
content: i.trim()
|
|
89
|
+
};
|
|
90
|
+
} catch (e) {
|
|
91
|
+
throw e instanceof g ? e : new g(
|
|
92
|
+
`Failed to parse frontmatter${n ? ` in ${n}` : ""}`,
|
|
93
|
+
n,
|
|
94
|
+
e
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function x(r, n) {
|
|
99
|
+
const e = v.safeParse(r);
|
|
100
|
+
if (!e.success) {
|
|
101
|
+
const i = e.error.issues.map((a) => ` - ${a.path.join(".")}: ${a.message}`).join(`
|
|
102
|
+
`);
|
|
103
|
+
throw new g(
|
|
104
|
+
`Invalid frontmatter${n ? ` in ${n}` : ""}:
|
|
105
|
+
${i}`,
|
|
106
|
+
n,
|
|
107
|
+
e.error
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
return e.data;
|
|
111
|
+
}
|
|
112
|
+
function A(r) {
|
|
113
|
+
return r.trimStart().startsWith("---");
|
|
114
|
+
}
|
|
115
|
+
function C(r) {
|
|
116
|
+
const { data: n } = u(r);
|
|
117
|
+
return n;
|
|
118
|
+
}
|
|
119
|
+
class k extends Error {
|
|
120
|
+
constructor(e, i) {
|
|
121
|
+
super(e);
|
|
122
|
+
l(this, "issues");
|
|
123
|
+
this.name = "ManifestValidationError", this.issues = i;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
function G(r) {
|
|
127
|
+
const n = p.safeParse(r);
|
|
128
|
+
if (!n.success) {
|
|
129
|
+
const e = n.error.issues.map((i) => `${i.path.join(".")}: ${i.message}`);
|
|
130
|
+
throw new k("Invalid manifest", e);
|
|
131
|
+
}
|
|
132
|
+
return n.data;
|
|
133
|
+
}
|
|
134
|
+
function H(r, n) {
|
|
135
|
+
const e = n.split("/").filter(Boolean);
|
|
136
|
+
return N(r.navigation, e);
|
|
137
|
+
}
|
|
138
|
+
function N(r, n) {
|
|
139
|
+
if (n.length === 0) return;
|
|
140
|
+
const [e, ...i] = n, a = r.find((o) => o.slug === e);
|
|
141
|
+
if (a) {
|
|
142
|
+
if (i.length === 0) return a;
|
|
143
|
+
if (a.children)
|
|
144
|
+
return N(a.children, i);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
function P(r) {
|
|
148
|
+
const n = [];
|
|
149
|
+
return S(r.navigation, "", 0, void 0, n), n;
|
|
150
|
+
}
|
|
151
|
+
function S(r, n, e, i, a) {
|
|
152
|
+
for (const o of r) {
|
|
153
|
+
const s = n ? `${n}/${o.slug}` : o.slug;
|
|
154
|
+
a.push({
|
|
155
|
+
...o,
|
|
156
|
+
path: s,
|
|
157
|
+
depth: e,
|
|
158
|
+
parentPath: i
|
|
159
|
+
}), o.children && o.children.length > 0 && S(o.children, s, e + 1, s, a);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
function R(r, n) {
|
|
163
|
+
const e = n.split("/").filter(Boolean), i = [];
|
|
164
|
+
let a = r.navigation, o = "";
|
|
165
|
+
for (const s of e) {
|
|
166
|
+
const c = a.find((j) => j.slug === s);
|
|
167
|
+
if (!c) break;
|
|
168
|
+
o = o ? `${o}/${s}` : s, i.push({
|
|
169
|
+
title: c.title,
|
|
170
|
+
slug: c.slug,
|
|
171
|
+
path: o
|
|
172
|
+
}), a = c.children ?? [];
|
|
173
|
+
}
|
|
174
|
+
return i;
|
|
175
|
+
}
|
|
176
|
+
function w(r) {
|
|
177
|
+
return P(r).filter((n) => n.file !== void 0);
|
|
178
|
+
}
|
|
179
|
+
function W(r, n) {
|
|
180
|
+
const e = w(r), i = e.findIndex((a) => a.path === n);
|
|
181
|
+
return i === -1 ? {} : {
|
|
182
|
+
prev: i > 0 ? e[i - 1] : void 0,
|
|
183
|
+
next: i < e.length - 1 ? e[i + 1] : void 0
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
function D(r, n) {
|
|
187
|
+
const e = n.split("/").filter(Boolean);
|
|
188
|
+
if (e.length === 0) return !1;
|
|
189
|
+
if (r.slug === e[0]) {
|
|
190
|
+
if (e.length === 1) return !0;
|
|
191
|
+
if (r.children) {
|
|
192
|
+
const i = e.slice(1).join("/");
|
|
193
|
+
return r.children.some((a) => D(a, i));
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return !1;
|
|
197
|
+
}
|
|
198
|
+
function J(r, n) {
|
|
199
|
+
return P(r).filter((e) => e.depth === n);
|
|
200
|
+
}
|
|
201
|
+
export {
|
|
202
|
+
q as B,
|
|
203
|
+
v as D,
|
|
204
|
+
B as F,
|
|
205
|
+
h as G,
|
|
206
|
+
E as L,
|
|
207
|
+
k as M,
|
|
208
|
+
b as N,
|
|
209
|
+
f as S,
|
|
210
|
+
m as V,
|
|
211
|
+
V as a,
|
|
212
|
+
z as b,
|
|
213
|
+
p as c,
|
|
214
|
+
d,
|
|
215
|
+
C as e,
|
|
216
|
+
g as f,
|
|
217
|
+
R as g,
|
|
218
|
+
A as h,
|
|
219
|
+
H as i,
|
|
220
|
+
P as j,
|
|
221
|
+
w as k,
|
|
222
|
+
J as l,
|
|
223
|
+
W as m,
|
|
224
|
+
D as n,
|
|
225
|
+
G as o,
|
|
226
|
+
L as p,
|
|
227
|
+
x as v
|
|
228
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { DocsPackageManifest, DocsPackageManifestInput } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Error thrown when manifest resolution fails
|
|
4
|
+
*/
|
|
5
|
+
export declare class ManifestResolutionError extends Error {
|
|
6
|
+
readonly nodePath?: string;
|
|
7
|
+
readonly filePath?: string;
|
|
8
|
+
readonly originalError?: unknown;
|
|
9
|
+
constructor(message: string, nodePath?: string, filePath?: string, originalError?: unknown);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Options for manifest resolution
|
|
13
|
+
*/
|
|
14
|
+
export interface ResolveManifestOptions {
|
|
15
|
+
/**
|
|
16
|
+
* Whether to throw an error if a file cannot be read.
|
|
17
|
+
* If false, nodes without valid files will use filename-derived values.
|
|
18
|
+
* @default true
|
|
19
|
+
*/
|
|
20
|
+
strict?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Resolve a manifest input by deriving missing title/slug values from files.
|
|
24
|
+
*
|
|
25
|
+
* For navigation nodes:
|
|
26
|
+
* - If `title` is missing, reads from frontmatter `title` or derives from filename
|
|
27
|
+
* - If `slug` is missing, derives from filename
|
|
28
|
+
*
|
|
29
|
+
* @param input - The manifest input with optional title/slug
|
|
30
|
+
* @param options - Resolution options
|
|
31
|
+
* @returns Fully resolved DocsPackageManifest
|
|
32
|
+
* @throws {ManifestResolutionError} If resolution fails (in strict mode)
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const input: DocsPackageManifestInput = {
|
|
37
|
+
* id: 'my-docs',
|
|
38
|
+
* name: 'My Docs',
|
|
39
|
+
* version: '1.0.0',
|
|
40
|
+
* vendureVersion: 'v3',
|
|
41
|
+
* navigation: [
|
|
42
|
+
* { file: file('docs/getting-started.mdx') }, // title & slug derived
|
|
43
|
+
* { title: 'Custom Title', file: file('docs/intro.mdx') }, // only slug derived
|
|
44
|
+
* ],
|
|
45
|
+
* }
|
|
46
|
+
*
|
|
47
|
+
* const manifest = resolveManifest(input)
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function resolveManifest(input: DocsPackageManifestInput, options?: ResolveManifestOptions): DocsPackageManifest;
|
|
51
|
+
/**
|
|
52
|
+
* Check if a manifest input needs resolution
|
|
53
|
+
* (i.e., has any navigation nodes with missing title or slug)
|
|
54
|
+
*
|
|
55
|
+
* @param input - The manifest input to check
|
|
56
|
+
* @returns True if resolution is needed
|
|
57
|
+
*/
|
|
58
|
+
export declare function manifestNeedsResolution(input: DocsPackageManifestInput): boolean;
|
|
59
|
+
//# sourceMappingURL=manifest-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-resolver.d.ts","sourceRoot":"","sources":["../src/manifest-resolver.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EAGzB,MAAM,SAAS,CAAA;AAEhB;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjC,SAAgB,aAAa,CAAC,EAAE,OAAO,CAAA;gBAE3B,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO;CAO3F;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,wBAAwB,EAC/B,OAAO,GAAE,sBAA2B,GACnC,mBAAmB,CAerB;AAsHD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAEhF"}
|
package/dist/mdx-components.d.ts
CHANGED
|
@@ -153,8 +153,33 @@ export interface GraphQLDocProps {
|
|
|
153
153
|
/** GraphQL SDL content */
|
|
154
154
|
children: unknown;
|
|
155
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* LinkCard Component
|
|
158
|
+
*
|
|
159
|
+
* A card-style link that provides more visual prominence than a standard link.
|
|
160
|
+
* Displays a title, optional subtitle, and an arrow indicator.
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```mdx
|
|
164
|
+
* <LinkCard
|
|
165
|
+
* href="/guides/getting-started"
|
|
166
|
+
* title="Getting Started"
|
|
167
|
+
* subtitle="Learn how to set up your first project"
|
|
168
|
+
* />
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
export interface LinkCardProps {
|
|
172
|
+
/** URL to navigate to (internal or external) */
|
|
173
|
+
href: string;
|
|
174
|
+
/** Primary text displayed on the card */
|
|
175
|
+
title: string;
|
|
176
|
+
/** Secondary text displayed below the title */
|
|
177
|
+
subtitle?: string;
|
|
178
|
+
/** Additional content (alternative to subtitle for richer content) */
|
|
179
|
+
children?: unknown;
|
|
180
|
+
}
|
|
156
181
|
/**
|
|
157
182
|
* Union type of all MDX component props for type checking
|
|
158
183
|
*/
|
|
159
|
-
export type MdxComponentProps = GenerationInfoProps | MemberInfoProps | MemberDescriptionProps | CustomFieldPropertyProps | StackblitzProps | GraphQLDocProps;
|
|
184
|
+
export type MdxComponentProps = GenerationInfoProps | MemberInfoProps | MemberDescriptionProps | CustomFieldPropertyProps | StackblitzProps | GraphQLDocProps | LinkCardProps;
|
|
160
185
|
//# sourceMappingURL=mdx-components.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdx-components.d.ts","sourceRoot":"","sources":["../src/mdx-components.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAA;IAClB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAA;IACjE,yDAAyD;IACzD,IAAI,EAAE,OAAO,CAAA;IACb,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,sBAAsB;IACrC,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,wBAAwB;IACvC,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAA;IACjB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAA;CACX;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,IAAI,EACA,UAAU,GACV,OAAO,GACP,cAAc,GACd,MAAM,GACN,OAAO,GACP,MAAM,GACN,QAAQ,GACR,WAAW,GACX,OAAO,GACP,UAAU,CAAA;IACd,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yBAAyB;IACzB,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC7B,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB,eAAe,GACf,sBAAsB,GACtB,wBAAwB,GACxB,eAAe,GACf,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"mdx-components.d.ts","sourceRoot":"","sources":["../src/mdx-components.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAA;IAClB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAA;IACjE,yDAAyD;IACzD,IAAI,EAAE,OAAO,CAAA;IACb,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,sBAAsB;IACrC,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,wBAAwB;IACvC,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAA;IACjB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAA;CACX;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,IAAI,EACA,UAAU,GACV,OAAO,GACP,cAAc,GACd,MAAM,GACN,OAAO,GACP,MAAM,GACN,QAAQ,GACR,WAAW,GACX,OAAO,GACP,UAAU,CAAA;IACd,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yBAAyB;IACzB,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC7B,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB,eAAe,GACf,sBAAsB,GACtB,wBAAwB,GACxB,eAAe,GACf,eAAe,GACf,aAAa,CAAA"}
|
package/dist/schema.d.ts
CHANGED
|
@@ -141,18 +141,21 @@ export declare const DocPageMetaSchema: z.ZodObject<{
|
|
|
141
141
|
keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
142
142
|
sidebarLabel: z.ZodOptional<z.ZodString>;
|
|
143
143
|
hidden: z.ZodOptional<z.ZodBoolean>;
|
|
144
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
144
145
|
}, "strip", z.ZodTypeAny, {
|
|
145
146
|
title: string;
|
|
146
147
|
description?: string | undefined;
|
|
147
148
|
keywords?: string[] | undefined;
|
|
148
149
|
sidebarLabel?: string | undefined;
|
|
149
150
|
hidden?: boolean | undefined;
|
|
151
|
+
order?: number | undefined;
|
|
150
152
|
}, {
|
|
151
153
|
title: string;
|
|
152
154
|
description?: string | undefined;
|
|
153
155
|
keywords?: string[] | undefined;
|
|
154
156
|
sidebarLabel?: string | undefined;
|
|
155
157
|
hidden?: boolean | undefined;
|
|
158
|
+
order?: number | undefined;
|
|
156
159
|
}>;
|
|
157
160
|
/**
|
|
158
161
|
* Schema for a loaded documentation page
|
|
@@ -164,18 +167,21 @@ export declare const DocPageSchema: z.ZodObject<{
|
|
|
164
167
|
keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
165
168
|
sidebarLabel: z.ZodOptional<z.ZodString>;
|
|
166
169
|
hidden: z.ZodOptional<z.ZodBoolean>;
|
|
170
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
167
171
|
}, "strip", z.ZodTypeAny, {
|
|
168
172
|
title: string;
|
|
169
173
|
description?: string | undefined;
|
|
170
174
|
keywords?: string[] | undefined;
|
|
171
175
|
sidebarLabel?: string | undefined;
|
|
172
176
|
hidden?: boolean | undefined;
|
|
177
|
+
order?: number | undefined;
|
|
173
178
|
}, {
|
|
174
179
|
title: string;
|
|
175
180
|
description?: string | undefined;
|
|
176
181
|
keywords?: string[] | undefined;
|
|
177
182
|
sidebarLabel?: string | undefined;
|
|
178
183
|
hidden?: boolean | undefined;
|
|
184
|
+
order?: number | undefined;
|
|
179
185
|
}>;
|
|
180
186
|
content: z.ZodString;
|
|
181
187
|
filePath: z.ZodString;
|
|
@@ -187,6 +193,7 @@ export declare const DocPageSchema: z.ZodObject<{
|
|
|
187
193
|
keywords?: string[] | undefined;
|
|
188
194
|
sidebarLabel?: string | undefined;
|
|
189
195
|
hidden?: boolean | undefined;
|
|
196
|
+
order?: number | undefined;
|
|
190
197
|
};
|
|
191
198
|
filePath: string;
|
|
192
199
|
}, {
|
|
@@ -197,6 +204,7 @@ export declare const DocPageSchema: z.ZodObject<{
|
|
|
197
204
|
keywords?: string[] | undefined;
|
|
198
205
|
sidebarLabel?: string | undefined;
|
|
199
206
|
hidden?: boolean | undefined;
|
|
207
|
+
order?: number | undefined;
|
|
200
208
|
};
|
|
201
209
|
filePath: string;
|
|
202
210
|
}>;
|
|
@@ -414,6 +422,106 @@ export declare const FlatNavigationNodeSchema: z.ZodObject<{
|
|
|
414
422
|
badge?: string | undefined;
|
|
415
423
|
parentPath?: string | undefined;
|
|
416
424
|
}>;
|
|
425
|
+
/**
|
|
426
|
+
* Schema for navigation node input (with optional title/slug)
|
|
427
|
+
*/
|
|
428
|
+
export declare const NavigationNodeInputSchema: z.ZodType<{
|
|
429
|
+
title?: string;
|
|
430
|
+
slug?: string;
|
|
431
|
+
file?: string;
|
|
432
|
+
children?: unknown[];
|
|
433
|
+
badge?: string;
|
|
434
|
+
}>;
|
|
435
|
+
/**
|
|
436
|
+
* Schema for manifest input (with optional title/slug in navigation)
|
|
437
|
+
*/
|
|
438
|
+
export declare const DocsPackageManifestInputSchema: z.ZodObject<{
|
|
439
|
+
id: z.ZodString;
|
|
440
|
+
name: z.ZodString;
|
|
441
|
+
version: z.ZodString;
|
|
442
|
+
vendureVersion: z.ZodEnum<["v1", "v2", "v3"]>;
|
|
443
|
+
navigation: z.ZodArray<z.ZodType<{
|
|
444
|
+
title?: string;
|
|
445
|
+
slug?: string;
|
|
446
|
+
file?: string;
|
|
447
|
+
children?: unknown[];
|
|
448
|
+
badge?: string;
|
|
449
|
+
}, z.ZodTypeDef, {
|
|
450
|
+
title?: string;
|
|
451
|
+
slug?: string;
|
|
452
|
+
file?: string;
|
|
453
|
+
children?: unknown[];
|
|
454
|
+
badge?: string;
|
|
455
|
+
}>, "many">;
|
|
456
|
+
search: z.ZodOptional<z.ZodObject<{
|
|
457
|
+
indexFields: z.ZodArray<z.ZodEnum<["title", "description", "content", "keywords"]>, "many">;
|
|
458
|
+
boosts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
459
|
+
}, "strip", z.ZodTypeAny, {
|
|
460
|
+
indexFields: ("title" | "description" | "content" | "keywords")[];
|
|
461
|
+
boosts?: Record<string, number> | undefined;
|
|
462
|
+
}, {
|
|
463
|
+
indexFields: ("title" | "description" | "content" | "keywords")[];
|
|
464
|
+
boosts?: Record<string, number> | undefined;
|
|
465
|
+
}>>;
|
|
466
|
+
github: z.ZodOptional<z.ZodObject<{
|
|
467
|
+
repository: z.ZodString;
|
|
468
|
+
branch: z.ZodOptional<z.ZodString>;
|
|
469
|
+
docsPath: z.ZodOptional<z.ZodString>;
|
|
470
|
+
}, "strip", z.ZodTypeAny, {
|
|
471
|
+
repository: string;
|
|
472
|
+
branch?: string | undefined;
|
|
473
|
+
docsPath?: string | undefined;
|
|
474
|
+
}, {
|
|
475
|
+
repository: string;
|
|
476
|
+
branch?: string | undefined;
|
|
477
|
+
docsPath?: string | undefined;
|
|
478
|
+
}>>;
|
|
479
|
+
basePath: z.ZodOptional<z.ZodString>;
|
|
480
|
+
}, "strip", z.ZodTypeAny, {
|
|
481
|
+
id: string;
|
|
482
|
+
name: string;
|
|
483
|
+
version: string;
|
|
484
|
+
vendureVersion: "v1" | "v2" | "v3";
|
|
485
|
+
navigation: {
|
|
486
|
+
title?: string;
|
|
487
|
+
slug?: string;
|
|
488
|
+
file?: string;
|
|
489
|
+
children?: unknown[];
|
|
490
|
+
badge?: string;
|
|
491
|
+
}[];
|
|
492
|
+
search?: {
|
|
493
|
+
indexFields: ("title" | "description" | "content" | "keywords")[];
|
|
494
|
+
boosts?: Record<string, number> | undefined;
|
|
495
|
+
} | undefined;
|
|
496
|
+
github?: {
|
|
497
|
+
repository: string;
|
|
498
|
+
branch?: string | undefined;
|
|
499
|
+
docsPath?: string | undefined;
|
|
500
|
+
} | undefined;
|
|
501
|
+
basePath?: string | undefined;
|
|
502
|
+
}, {
|
|
503
|
+
id: string;
|
|
504
|
+
name: string;
|
|
505
|
+
version: string;
|
|
506
|
+
vendureVersion: "v1" | "v2" | "v3";
|
|
507
|
+
navigation: {
|
|
508
|
+
title?: string;
|
|
509
|
+
slug?: string;
|
|
510
|
+
file?: string;
|
|
511
|
+
children?: unknown[];
|
|
512
|
+
badge?: string;
|
|
513
|
+
}[];
|
|
514
|
+
search?: {
|
|
515
|
+
indexFields: ("title" | "description" | "content" | "keywords")[];
|
|
516
|
+
boosts?: Record<string, number> | undefined;
|
|
517
|
+
} | undefined;
|
|
518
|
+
github?: {
|
|
519
|
+
repository: string;
|
|
520
|
+
branch?: string | undefined;
|
|
521
|
+
docsPath?: string | undefined;
|
|
522
|
+
} | undefined;
|
|
523
|
+
basePath?: string | undefined;
|
|
524
|
+
}>;
|
|
417
525
|
export type VendureVersionInferred = z.infer<typeof VendureVersionSchema>;
|
|
418
526
|
export type SearchConfigInferred = z.infer<typeof SearchConfigSchema>;
|
|
419
527
|
export type GitHubConfigInferred = z.infer<typeof GitHubConfigSchema>;
|
|
@@ -424,4 +532,6 @@ export type DocPageInferred = z.infer<typeof DocPageSchema>;
|
|
|
424
532
|
export type LoadedDocsPackageInferred = z.infer<typeof LoadedDocsPackageSchema>;
|
|
425
533
|
export type BreadcrumbItemInferred = z.infer<typeof BreadcrumbItemSchema>;
|
|
426
534
|
export type FlatNavigationNodeInferred = z.infer<typeof FlatNavigationNodeSchema>;
|
|
535
|
+
export type NavigationNodeInputInferred = z.infer<typeof NavigationNodeInputSchema>;
|
|
536
|
+
export type DocsPackageManifestInputInferred = z.infer<typeof DocsPackageManifestInputSchema>;
|
|
427
537
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;GAEG;AACH,eAAO,MAAM,oBAAoB,+BAA6B,CAAA;AAE9D;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;EAG7B,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAI7B,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAQA,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;eAlB7B,MAAM;cACP,MAAM;eACL,MAAM;mBACF,OAAO,EAAE;gBACZ,MAAM;;eAJP,MAAM;cACP,MAAM;eACL,MAAM;mBACF,OAAO,EAAE;gBACZ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAJP,MAAM;cACP,MAAM;eACL,MAAM;mBACF,OAAO,EAAE;gBACZ,MAAM;;;;;;;;;;;;;;;;;;eAJP,MAAM;cACP,MAAM;eACL,MAAM;mBACF,OAAO,EAAE;gBACZ,MAAM;;;;;;;;;;;;EAuBd,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert text to a URL-friendly slug (kebab-case)
|
|
3
|
+
*
|
|
4
|
+
* @param text - The text to convert to a slug
|
|
5
|
+
* @returns A URL-friendly slug in kebab-case
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* toSlug('Getting Started') // 'getting-started'
|
|
10
|
+
* toSlug('Custom Plugins & Extensions') // 'custom-plugins-extensions'
|
|
11
|
+
* toSlug('API v2.0') // 'api-v2-0'
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function toSlug(text: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* Extract a slug from a filename
|
|
17
|
+
*
|
|
18
|
+
* Removes file extension and converts to slug format.
|
|
19
|
+
* Handles common patterns like `01-getting-started.mdx` by stripping numeric prefixes.
|
|
20
|
+
*
|
|
21
|
+
* @param filename - The filename (with or without path)
|
|
22
|
+
* @returns The slug derived from the filename
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* slugFromFilename('getting-started.mdx') // 'getting-started'
|
|
27
|
+
* slugFromFilename('01-installation.mdx') // 'installation'
|
|
28
|
+
* slugFromFilename('Custom Plugins.mdx') // 'custom-plugins'
|
|
29
|
+
* slugFromFilename('/path/to/my-file.md') // 'my-file'
|
|
30
|
+
* slugFromFilename('index.mdx') // 'index'
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare function slugFromFilename(filename: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* Generate a title from a filename
|
|
36
|
+
*
|
|
37
|
+
* Converts filename to a human-readable title by removing extensions,
|
|
38
|
+
* numeric prefixes, and converting hyphens/underscores to spaces with proper capitalization.
|
|
39
|
+
*
|
|
40
|
+
* @param filename - The filename (with or without path)
|
|
41
|
+
* @returns A human-readable title derived from the filename
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* titleFromFilename('getting-started.mdx') // 'Getting Started'
|
|
46
|
+
* titleFromFilename('01-installation.mdx') // 'Installation'
|
|
47
|
+
* titleFromFilename('api_reference.mdx') // 'Api Reference'
|
|
48
|
+
* titleFromFilename('custom-plugins.mdx') // 'Custom Plugins'
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare function titleFromFilename(filename: string): string;
|
|
52
|
+
//# sourceMappingURL=slug-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slug-utils.d.ts","sourceRoot":"","sources":["../src/slug-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ3C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYzD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiB1D"}
|
package/dist/types.d.ts
CHANGED
|
@@ -72,6 +72,8 @@ export interface DocPageMeta {
|
|
|
72
72
|
sidebarLabel?: string;
|
|
73
73
|
/** Hide this page from navigation/sidebar */
|
|
74
74
|
hidden?: boolean;
|
|
75
|
+
/** Sort order for folder discovery (lower numbers appear first) */
|
|
76
|
+
order?: number;
|
|
75
77
|
}
|
|
76
78
|
/**
|
|
77
79
|
* A fully loaded documentation page with content and metadata
|
|
@@ -115,4 +117,42 @@ export interface FlatNavigationNode extends NavigationNode {
|
|
|
115
117
|
/** Parent node's path, if any */
|
|
116
118
|
parentPath?: string;
|
|
117
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Input type for navigation nodes with optional title and slug.
|
|
122
|
+
* When title/slug are omitted, they are derived from the file.
|
|
123
|
+
*/
|
|
124
|
+
export interface NavigationNodeInput {
|
|
125
|
+
/** Display title (optional - derived from frontmatter if not provided) */
|
|
126
|
+
title?: string;
|
|
127
|
+
/** URL slug (optional - derived from filename if not provided) */
|
|
128
|
+
slug?: string;
|
|
129
|
+
/** Path to MDX file relative to package root (required for deriving title/slug) */
|
|
130
|
+
file?: string;
|
|
131
|
+
/** Nested child navigation nodes */
|
|
132
|
+
children?: NavigationNodeInput[];
|
|
133
|
+
/** Optional badge label (e.g., "New", "Beta", "Deprecated") */
|
|
134
|
+
badge?: string;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Input type for manifest with optional title/slug in navigation nodes.
|
|
138
|
+
* Use this when creating manifests with auto-derived titles and slugs.
|
|
139
|
+
*/
|
|
140
|
+
export interface DocsPackageManifestInput {
|
|
141
|
+
/** Unique package identifier (e.g., "core", "plugins", "enterprise") */
|
|
142
|
+
id: string;
|
|
143
|
+
/** Human-readable display name */
|
|
144
|
+
name: string;
|
|
145
|
+
/** Package version (semver) */
|
|
146
|
+
version: string;
|
|
147
|
+
/** Vendure version this documentation targets */
|
|
148
|
+
vendureVersion: VendureVersion;
|
|
149
|
+
/** Navigation structure for the package (with optional title/slug) */
|
|
150
|
+
navigation: NavigationNodeInput[];
|
|
151
|
+
/** Optional search index configuration */
|
|
152
|
+
search?: SearchConfig;
|
|
153
|
+
/** Optional GitHub repository configuration for edit links and issue reporting */
|
|
154
|
+
github?: GitHubConfig;
|
|
155
|
+
/** Absolute path to package root for asset resolution (e.g., images) */
|
|
156
|
+
basePath?: string;
|
|
157
|
+
}
|
|
118
158
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE/C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,WAAW,EAAE,CAAC,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC,EAAE,CAAA;IACjE,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAA;IAC3B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAA;IACV,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,cAAc,EAAE,cAAc,CAAA;IAC9B,2CAA2C;IAC3C,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,kFAAkF;IAClF,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|