@openpkg-ts/doc-generator 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/README.md +324 -0
- package/dist/cli.js +389 -0
- package/dist/index.d.ts +827 -0
- package/dist/index.js +79 -0
- package/dist/react-styled.d.ts +588 -0
- package/dist/react-styled.js +766 -0
- package/dist/react.d.ts +221 -0
- package/dist/react.js +35 -0
- package/dist/shared/chunk-7hg53zpt.js +1160 -0
- package/dist/shared/chunk-e5fkh3kh.js +679 -0
- package/dist/shared/chunk-taeg9090.js +171 -0
- package/package.json +84 -0
- package/templates/embedded/README.md +81 -0
- package/templates/embedded/docusaurus/sidebars.js +38 -0
- package/templates/embedded/fumadocs/meta.json +26 -0
- package/templates/standalone/index.html +34 -0
- package/templates/standalone/package.json +17 -0
- package/templates/standalone/src/main.ts +223 -0
- package/templates/standalone/src/styles.css +43 -0
- package/templates/standalone/vite.config.ts +9 -0
package/dist/react.d.ts
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { SpecMember } from "@openpkg-ts/spec";
|
|
2
|
+
interface CollapsibleMethodProps {
|
|
3
|
+
/** Method member to display */
|
|
4
|
+
member: SpecMember;
|
|
5
|
+
/** Default expanded state */
|
|
6
|
+
defaultExpanded?: boolean;
|
|
7
|
+
/** Custom className */
|
|
8
|
+
className?: string;
|
|
9
|
+
/** Custom header renderer */
|
|
10
|
+
renderHeader?: (member: SpecMember, expanded: boolean, toggle: () => void) => React.ReactNode;
|
|
11
|
+
/** Custom content renderer */
|
|
12
|
+
renderContent?: (member: SpecMember) => React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Headless collapsible method component.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* <CollapsibleMethod member={method} defaultExpanded />
|
|
20
|
+
*
|
|
21
|
+
* // Custom rendering
|
|
22
|
+
* <CollapsibleMethod
|
|
23
|
+
* member={method}
|
|
24
|
+
* renderHeader={(m, expanded, toggle) => (
|
|
25
|
+
* <button onClick={toggle}>{m.name}</button>
|
|
26
|
+
* )}
|
|
27
|
+
* />
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
declare function CollapsibleMethod({ member, defaultExpanded, className, renderHeader, renderContent }: CollapsibleMethodProps): React.ReactNode;
|
|
31
|
+
import { SpecExample } from "@openpkg-ts/spec";
|
|
32
|
+
interface ExampleBlockProps {
|
|
33
|
+
/** Examples to display (string or SpecExample) */
|
|
34
|
+
examples: (string | SpecExample)[];
|
|
35
|
+
/** Custom className */
|
|
36
|
+
className?: string;
|
|
37
|
+
/** Custom example renderer */
|
|
38
|
+
renderExample?: (example: string | SpecExample, index: number) => React.ReactNode;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Normalize example to string content.
|
|
42
|
+
*/
|
|
43
|
+
declare function getExampleCode(example: string | SpecExample): string;
|
|
44
|
+
/**
|
|
45
|
+
* Get example title if available.
|
|
46
|
+
*/
|
|
47
|
+
declare function getExampleTitle(example: string | SpecExample): string | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Get example language.
|
|
50
|
+
*/
|
|
51
|
+
declare function getExampleLanguage(example: string | SpecExample): string;
|
|
52
|
+
/**
|
|
53
|
+
* Clean code by removing markdown fences.
|
|
54
|
+
*/
|
|
55
|
+
declare function cleanCode(code: string): string;
|
|
56
|
+
/**
|
|
57
|
+
* Headless example block component.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```tsx
|
|
61
|
+
* <ExampleBlock examples={exp.examples} />
|
|
62
|
+
*
|
|
63
|
+
* // Custom rendering
|
|
64
|
+
* <ExampleBlock
|
|
65
|
+
* examples={exp.examples}
|
|
66
|
+
* renderExample={(ex) => <CustomCode code={getExampleCode(ex)} />}
|
|
67
|
+
* />
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
declare function ExampleBlock({ examples, className, renderExample }: ExampleBlockProps): React.ReactNode;
|
|
71
|
+
import { SpecSchema, SpecSignatureParameter } from "@openpkg-ts/spec";
|
|
72
|
+
interface ExpandablePropertyProps {
|
|
73
|
+
/** Parameter to display */
|
|
74
|
+
param: SpecSignatureParameter;
|
|
75
|
+
/** Nesting depth */
|
|
76
|
+
depth?: number;
|
|
77
|
+
/** Custom className */
|
|
78
|
+
className?: string;
|
|
79
|
+
}
|
|
80
|
+
interface NestedPropertyProps {
|
|
81
|
+
/** Property name */
|
|
82
|
+
name: string;
|
|
83
|
+
/** Property schema */
|
|
84
|
+
schema: SpecSchema;
|
|
85
|
+
/** Is required */
|
|
86
|
+
required?: boolean;
|
|
87
|
+
/** Nesting depth */
|
|
88
|
+
depth?: number;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Nested property display.
|
|
92
|
+
*/
|
|
93
|
+
declare function NestedProperty({ name, schema, required, depth }: NestedPropertyProps): React.ReactNode;
|
|
94
|
+
/**
|
|
95
|
+
* Headless expandable property for parameters with nested objects.
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```tsx
|
|
99
|
+
* <ExpandableProperty param={param} />
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
declare function ExpandableProperty({ param, depth, className }: ExpandablePropertyProps): React.ReactNode;
|
|
103
|
+
import { SpecMember as SpecMember2 } from "@openpkg-ts/spec";
|
|
104
|
+
interface MembersTableProps {
|
|
105
|
+
/** Members to display */
|
|
106
|
+
members: SpecMember2[];
|
|
107
|
+
/** Custom className */
|
|
108
|
+
className?: string;
|
|
109
|
+
/** Group by kind (constructor, property, method) */
|
|
110
|
+
groupByKind?: boolean;
|
|
111
|
+
/** Custom member renderer */
|
|
112
|
+
renderMember?: (member: SpecMember2, index: number) => React.ReactNode;
|
|
113
|
+
}
|
|
114
|
+
interface MemberGroups {
|
|
115
|
+
constructors: SpecMember2[];
|
|
116
|
+
properties: SpecMember2[];
|
|
117
|
+
methods: SpecMember2[];
|
|
118
|
+
accessors: SpecMember2[];
|
|
119
|
+
other: SpecMember2[];
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Group members by their kind.
|
|
123
|
+
*/
|
|
124
|
+
declare function groupMembersByKind(members: SpecMember2[]): MemberGroups;
|
|
125
|
+
interface MemberRowProps {
|
|
126
|
+
member: SpecMember2;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Individual member row.
|
|
130
|
+
*/
|
|
131
|
+
declare function MemberRow({ member }: MemberRowProps): React.ReactNode;
|
|
132
|
+
/**
|
|
133
|
+
* Headless members table for classes/interfaces.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```tsx
|
|
137
|
+
* <MembersTable members={exp.members} groupByKind />
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
declare function MembersTable({ members, className, groupByKind, renderMember }: MembersTableProps): React.ReactNode;
|
|
141
|
+
import { SpecMember as SpecMember3, SpecSignatureParameter as SpecSignatureParameter2 } from "@openpkg-ts/spec";
|
|
142
|
+
interface ParamTableProps {
|
|
143
|
+
/** Parameters or members to display */
|
|
144
|
+
items: (SpecSignatureParameter2 | SpecMember3)[];
|
|
145
|
+
/** Show required indicator */
|
|
146
|
+
showRequired?: boolean;
|
|
147
|
+
/** Custom className */
|
|
148
|
+
className?: string;
|
|
149
|
+
/** Render custom row */
|
|
150
|
+
renderRow?: (item: SpecSignatureParameter2 | SpecMember3, index: number) => React.ReactNode;
|
|
151
|
+
}
|
|
152
|
+
interface ParamRowProps {
|
|
153
|
+
item: SpecSignatureParameter2 | SpecMember3;
|
|
154
|
+
showRequired?: boolean;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Individual parameter row component.
|
|
158
|
+
*/
|
|
159
|
+
declare function ParamRow({ item, showRequired }: ParamRowProps): React.ReactNode;
|
|
160
|
+
/**
|
|
161
|
+
* Headless parameter table component.
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```tsx
|
|
165
|
+
* <ParamTable items={sig.parameters} />
|
|
166
|
+
*
|
|
167
|
+
* // Custom row rendering
|
|
168
|
+
* <ParamTable
|
|
169
|
+
* items={sig.parameters}
|
|
170
|
+
* renderRow={(item) => <CustomRow key={item.name} param={item} />}
|
|
171
|
+
* />
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
declare function ParamTable({ items, showRequired, className, renderRow }: ParamTableProps): React.ReactNode;
|
|
175
|
+
import { SpecExport } from "@openpkg-ts/spec";
|
|
176
|
+
interface SignatureProps {
|
|
177
|
+
/** The to render signature for */
|
|
178
|
+
export: SpecExport;
|
|
179
|
+
/** Index of signature to render (for overloaded functions) */
|
|
180
|
+
signatureIndex?: number;
|
|
181
|
+
/** Custom className */
|
|
182
|
+
className?: string;
|
|
183
|
+
/** Render prop for custom rendering */
|
|
184
|
+
children?: (signature: string) => React.ReactNode;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Headless signature component. Renders a type signature string.
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```tsx
|
|
191
|
+
* // Default rendering
|
|
192
|
+
* <Signature export={fn} />
|
|
193
|
+
*
|
|
194
|
+
* // Custom rendering
|
|
195
|
+
* <Signature export={fn}>
|
|
196
|
+
* {(sig) => <pre>{sig}</pre>}
|
|
197
|
+
* </Signature>
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
declare function Signature({ export: exp, signatureIndex, className, children }: SignatureProps): React.ReactNode;
|
|
201
|
+
import { SpecMember as SpecMember4, SpecSignatureParameter as SpecSignatureParameter3 } from "@openpkg-ts/spec";
|
|
202
|
+
interface TypeTableProps {
|
|
203
|
+
/** Members or parameters to display */
|
|
204
|
+
items: (SpecSignatureParameter3 | SpecMember4)[];
|
|
205
|
+
/** Show required indicator */
|
|
206
|
+
showRequired?: boolean;
|
|
207
|
+
/** Custom className */
|
|
208
|
+
className?: string;
|
|
209
|
+
/** Render custom row */
|
|
210
|
+
renderRow?: (item: SpecSignatureParameter3 | SpecMember4, index: number) => React.ReactNode;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Headless type table for displaying interface/type members.
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* ```tsx
|
|
217
|
+
* <TypeTable items={exp.members} />
|
|
218
|
+
* ```
|
|
219
|
+
*/
|
|
220
|
+
declare function TypeTable({ items, showRequired, className, renderRow }: TypeTableProps): React.ReactNode;
|
|
221
|
+
export { groupMembersByKind, getExampleTitle, getExampleLanguage, getExampleCode, cleanCode, TypeTableProps, TypeTable, SignatureProps, Signature, ParamTableProps, ParamTable, ParamRowProps, ParamRow, NestedPropertyProps, NestedProperty, MembersTableProps, MembersTable, MemberRowProps, MemberRow, MemberGroups, ExpandablePropertyProps, ExpandableProperty, ExampleBlockProps, ExampleBlock, CollapsibleMethodProps, CollapsibleMethod };
|
package/dist/react.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CollapsibleMethod,
|
|
3
|
+
ExampleBlock,
|
|
4
|
+
ExpandableProperty,
|
|
5
|
+
MemberRow,
|
|
6
|
+
MembersTable,
|
|
7
|
+
NestedProperty,
|
|
8
|
+
ParamRow,
|
|
9
|
+
ParamTable,
|
|
10
|
+
Signature,
|
|
11
|
+
TypeTable,
|
|
12
|
+
cleanCode,
|
|
13
|
+
getExampleCode,
|
|
14
|
+
getExampleLanguage,
|
|
15
|
+
getExampleTitle,
|
|
16
|
+
groupMembersByKind
|
|
17
|
+
} from "./shared/chunk-e5fkh3kh.js";
|
|
18
|
+
import"./shared/chunk-taeg9090.js";
|
|
19
|
+
export {
|
|
20
|
+
groupMembersByKind,
|
|
21
|
+
getExampleTitle,
|
|
22
|
+
getExampleLanguage,
|
|
23
|
+
getExampleCode,
|
|
24
|
+
cleanCode,
|
|
25
|
+
TypeTable,
|
|
26
|
+
Signature,
|
|
27
|
+
ParamTable,
|
|
28
|
+
ParamRow,
|
|
29
|
+
NestedProperty,
|
|
30
|
+
MembersTable,
|
|
31
|
+
MemberRow,
|
|
32
|
+
ExpandableProperty,
|
|
33
|
+
ExampleBlock,
|
|
34
|
+
CollapsibleMethod
|
|
35
|
+
};
|