Skip to content

Commit 995f5e3

Browse files
committed
Initial CSF support
1 parent f411ed4 commit 995f5e3

File tree

20 files changed

+340
-38
lines changed

20 files changed

+340
-38
lines changed

package-lock.json

Lines changed: 8 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
"terser-webpack-plugin": "^4.2.3",
8989
"to-ast": "^1.0.0",
9090
"type-detect": "^4.0.8",
91+
"unindent": "^2.0.0",
9192
"unist-util-visit": "^2.0.0",
9293
"webpack-dev-server": "^3.11.0",
9394
"webpack-merge": "^4.2.2"
@@ -163,7 +164,7 @@
163164
"strip-shebang": "^1.0.2",
164165
"style-loader": "^1.0.0",
165166
"tapable": "^1.1.3",
166-
"typescript": "^3.8.3",
167+
"typescript": "^3.9.0",
167168
"url-loader": "^2.2.0",
168169
"webpack": "^4.44.2",
169170
"webpack-cli": "^3.3.9"

src/client/rsg-components/Arguments/ArgumentsRenderer.tsx

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export const ArgumentsRenderer: React.FunctionComponent<ArgumentsProps> = ({
3636
<Heading level={5}>Arguments</Heading>
3737
</div>
3838
)}
39-
{args.map(arg => (
39+
{args.map((arg) => (
4040
<Argument key={arg.name} {...arg} />
4141
))}
4242
</div>
@@ -45,13 +45,7 @@ export const ArgumentsRenderer: React.FunctionComponent<ArgumentsProps> = ({
4545

4646
ArgumentsRenderer.propTypes = {
4747
classes: PropTypes.objectOf(PropTypes.string.isRequired).isRequired,
48-
args: PropTypes.arrayOf(
49-
PropTypes.shape({
50-
name: PropTypes.string.isRequired,
51-
type: PropTypes.object,
52-
description: PropTypes.string,
53-
}).isRequired
54-
).isRequired,
48+
args: PropTypes.array.isRequired,
5549
heading: PropTypes.bool,
5650
};
5751

src/client/rsg-components/Examples/Examples.spec.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const module: Rsg.ExamplesModule = {
1818
__exampleScope: {},
1919
__currentComponent: () => null,
2020
__examples: [],
21+
__namedExamples: {},
2122
};
2223

2324
const context = {

src/client/rsg-components/Methods/MethodsRenderer.tsx

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,7 @@ const MethodsRenderer: React.FunctionComponent<{ methods: MethodDescriptor[] }>
4141
);
4242

4343
MethodsRenderer.propTypes = {
44-
methods: PropTypes.arrayOf(
45-
PropTypes.shape({
46-
name: PropTypes.string.isRequired,
47-
description: PropTypes.string,
48-
returns: PropTypes.object,
49-
params: PropTypes.array,
50-
tags: PropTypes.object,
51-
}).isRequired
52-
).isRequired,
44+
methods: PropTypes.array.isRequired,
5345
};
5446

5547
export default MethodsRenderer;

src/client/rsg-components/ReactComponent/ReactComponent.spec.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const module: Rsg.ExamplesModule = {
1818
__exampleScope: {},
1919
__currentComponent: () => null,
2020
__examples: [],
21+
__namedExamples: {},
2122
};
2223

2324
const context = {

src/client/rsg-components/TableOfContents/TableOfContents.spec.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const module: Rsg.ExamplesModule = {
1515
__exampleScope: {},
1616
__currentComponent: () => null,
1717
__examples: [],
18+
__namedExamples: {},
1819
};
1920

2021
const components = [

src/client/rsg-components/Usage/Usage.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,7 @@ const Usage: React.FunctionComponent<{
2525
};
2626

2727
Usage.propTypes = {
28-
props: PropTypes.shape({
29-
props: PropTypes.array,
30-
methods: PropTypes.array,
31-
}).isRequired,
28+
props: PropTypes.object.isRequired,
3229
};
3330

3431
export default Usage;

src/client/rsg-components/mdx/MdxContext.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,14 @@ interface MdxContextContents {
99
documentScope: Record<string, unknown>;
1010
/** Modules imported inside examples */
1111
exampleScope: Record<string, unknown>;
12+
/** Examples, exported from CSF files */
13+
namedExamples: Record<string, string>;
1214
}
1315

1416
const MdxContext = createContext<MdxContextContents>({
1517
documentScope: {},
1618
exampleScope: {},
19+
namedExamples: {},
1720
});
1821

1922
export default MdxContext;

src/client/rsg-components/mdx/MdxWrapper.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export default function MdxWrapper({
1616
__documentScope: documentScope,
1717
__exampleScope: exampleScope,
1818
__currentComponent: currentComponent,
19+
__namedExamples: namedExamples,
1920
}: Props) {
2021
const expandedDocumentScope = {
2122
// Make React available to examples
@@ -36,6 +37,7 @@ export default function MdxWrapper({
3637
exampleMode,
3738
documentScope: expandedDocumentScope,
3839
exampleScope,
40+
namedExamples,
3941
}}
4042
>
4143
{children}

0 commit comments

Comments
 (0)