@@ -13,7 +13,7 @@ const props = z
1313 filename: z .string ().optional (),
1414 playground: z .boolean ().default (false ),
1515 code: z .custom <ComponentProps <typeof Code >>().optional (),
16- omitTabs: z .boolean ().optional ( ),
16+ omitTabs: z .boolean ().default ( false ),
1717 })
1818 .strict ();
1919
@@ -43,54 +43,20 @@ raw = raw.replace(/\u007f/g, "\n");
4343
4444const js = await format (tsBlankSpace (raw ), { parser: " babel" , useTabs: true });
4545
46- const includeTabsDefinition = ! omitTabs ;
47-
48- // Define tab config array
49- const tabs = [
50- {
51- label: " JavaScript" ,
52- icon: " seti:javascript" ,
53- lang: " js" ,
54- code: js ,
55- title: filename ?.replace (" .ts" , " .js" ),
56- meta: playground ? " playground" : undefined ,
57- },
58- {
59- label: " TypeScript" ,
60- icon: " seti:typescript" ,
61- lang: " ts" ,
62- code: raw ,
63- title: filename ,
64- meta: undefined
65- },
66- ] as const ;
46+ const Wrapper = omitTabs ? Fragment : Tabs ;
6747---
68- { includeTabsDefinition ? (
69- <Tabs syncKey = " workersExamples" >
70- { tabs .map (tab => (
71- <TabItem label = { tab .label } icon = { tab .icon } >
72- <Code
73- { ... code }
74- lang = { tab .lang }
75- code = { tab .code }
76- title = { tab .title }
77- meta = { tab .meta }
78- />
79- </TabItem >
80- ))}
81- </Tabs >
82- ) : (
83- <>
84- { tabs .map (tab => (
85- <TabItem label = { tab .label } icon = { tab .icon } >
86- <Code
87- { ... code }
88- lang = { tab .lang }
89- code = { tab .code }
90- title = { tab .title }
91- meta = { tab .meta }
92- />
93- </TabItem >
94- ))}
95- </>
96- )}
48+
49+ <Wrapper syncKey =" workersExamples" >
50+ <TabItem label =" JavaScript" icon =" seti:javascript" >
51+ <Code
52+ {... code }
53+ lang =" js"
54+ code ={ js }
55+ title ={ filename ?.replace (" .ts" , " .js" )}
56+ meta ={ playground ? " playground" : undefined }
57+ />
58+ </TabItem >
59+ <TabItem label =" TypeScript" icon =" seti:typescript" >
60+ <Code {... code } lang =" ts" code ={ raw } title ={ filename } />
61+ </TabItem >
62+ </Wrapper >
0 commit comments