@@ -25,12 +25,15 @@ interface Step {
25
25
codeProps : CodeProps
26
26
}
27
27
28
- const defaultFilename = "App.js"
28
+ interface Options {
29
+ defaultFileName ?: string
30
+ }
29
31
30
32
function useMdxSteps (
31
33
mdx : React . ReactNode ,
32
34
previewProps : PreviewProps ,
33
- codeProps : CodeProps
35
+ codeProps : CodeProps ,
36
+ options : Options = { }
34
37
) {
35
38
const steps : Step [ ] = [ ]
36
39
let prevFiles : CodeFiles = { }
@@ -41,7 +44,8 @@ function useMdxSteps(
41
44
const { files, activeFile } = getFiles (
42
45
stepHeadProps ,
43
46
prevFiles ,
44
- prevActiveFile
47
+ prevActiveFile ,
48
+ options . defaultFileName
45
49
)
46
50
const step = {
47
51
content : [ ] ,
@@ -69,7 +73,8 @@ function useMdxSteps(
69
73
function getFiles (
70
74
stepHeadProps : StepHeadProps ,
71
75
prevFiles : CodeFiles = { } ,
72
- prevActiveFile : string = ""
76
+ prevActiveFile : string = "" ,
77
+ defaultFileName : string = "App.js"
73
78
) {
74
79
let activeFile = stepHeadProps . activeFile || ""
75
80
const files = { ...prevFiles }
@@ -80,7 +85,7 @@ function getFiles(
80
85
preElement ?. props ?. children ?. props || { }
81
86
const lang = codeElementProps . className ?. slice ( 9 )
82
87
const { filename, hideTab } = parseMetastring (
83
- codeElementProps . metastring || defaultFilename
88
+ codeElementProps . metastring || defaultFileName
84
89
)
85
90
const code = codeElementProps . children
86
91
files [ filename ] = { code, lang, hideTab }
0 commit comments