@@ -33,7 +33,9 @@ import CustomPlaceholder from '../../examples/ts/custom-placeholder'
33
33
// node
34
34
import { getAllExamples } from '../api'
35
35
36
- const EXAMPLES = [
36
+ type ExampleTuple = [ string , React . ComponentType , string ]
37
+
38
+ const EXAMPLES : ExampleTuple [ ] = [
37
39
[ 'Checklists' , CheckLists , 'check-lists' ] ,
38
40
[ 'Editable Voids' , EditableVoids , 'editable-voids' ] ,
39
41
[ 'Embeds' , Embeds , 'embeds' ] ,
@@ -58,7 +60,7 @@ const EXAMPLES = [
58
60
[ 'Custom placeholder' , CustomPlaceholder , 'custom-placeholder' ] ,
59
61
]
60
62
61
- const Header = props => (
63
+ const Header = ( props : React . HTMLAttributes < HTMLDivElement > ) => (
62
64
< div
63
65
{ ...props }
64
66
className = { css `
@@ -73,7 +75,7 @@ const Header = props => (
73
75
/>
74
76
)
75
77
76
- const Title = props => (
78
+ const Title = ( props : React . HTMLAttributes < HTMLSpanElement > ) => (
77
79
< span
78
80
{ ...props }
79
81
className = { css `
@@ -82,7 +84,7 @@ const Title = props => (
82
84
/>
83
85
)
84
86
85
- const LinkList = props => (
87
+ const LinkList = ( props : React . HTMLAttributes < HTMLDivElement > ) => (
86
88
< div
87
89
{ ...props }
88
90
className = { css `
@@ -92,7 +94,7 @@ const LinkList = props => (
92
94
/>
93
95
)
94
96
95
- const A = props => (
97
+ const A = ( props : React . AnchorHTMLAttributes < HTMLAnchorElement > ) => (
96
98
< a
97
99
{ ...props }
98
100
className = { css `
@@ -108,7 +110,7 @@ const A = props => (
108
110
/>
109
111
)
110
112
111
- const Pill = props => (
113
+ const Pill = ( props : React . HTMLAttributes < HTMLSpanElement > ) => (
112
114
< span
113
115
{ ...props }
114
116
className = { css `
@@ -120,7 +122,10 @@ const Pill = props => (
120
122
/>
121
123
)
122
124
123
- const TabList = ( { isVisible, ...props } ) => (
125
+ const TabList = ( {
126
+ isVisible,
127
+ ...props
128
+ } : React . HTMLAttributes < HTMLDivElement > & { isVisible ?: boolean } ) => (
124
129
< div
125
130
{ ...props }
126
131
className = { css `
@@ -139,7 +144,10 @@ const TabList = ({ isVisible, ...props }) => (
139
144
/>
140
145
)
141
146
142
- const TabListUnderlay = ( { isVisible, ...props } ) => (
147
+ const TabListUnderlay = ( {
148
+ isVisible,
149
+ ...props
150
+ } : React . HTMLAttributes < HTMLDivElement > & { isVisible ?: boolean } ) => (
143
151
< div
144
152
{ ...props }
145
153
className = { css `
@@ -153,7 +161,7 @@ const TabListUnderlay = ({ isVisible, ...props }) => (
153
161
/>
154
162
)
155
163
156
- const TabButton = props => (
164
+ const TabButton = ( props : React . HTMLAttributes < HTMLSpanElement > ) => (
157
165
< span
158
166
{ ...props }
159
167
className = { css `
@@ -182,7 +190,7 @@ const Tab = React.forwardRef(
182
190
href : string
183
191
[ key : string ] : unknown
184
192
} > ,
185
- ref : Ref < HTMLAnchorElement | null >
193
+ ref : Ref < HTMLAnchorElement >
186
194
) => (
187
195
< a
188
196
ref = { ref }
@@ -205,7 +213,10 @@ const Tab = React.forwardRef(
205
213
)
206
214
)
207
215
208
- const Wrapper = ( { className, ...props } ) => (
216
+ const Wrapper = ( {
217
+ className,
218
+ ...props
219
+ } : React . HTMLAttributes < HTMLDivElement > ) => (
209
220
< div
210
221
{ ...props }
211
222
className = { cx (
@@ -219,7 +230,7 @@ const Wrapper = ({ className, ...props }) => (
219
230
/>
220
231
)
221
232
222
- const ExampleHeader = props => (
233
+ const ExampleHeader = ( props : React . HTMLAttributes < HTMLDivElement > ) => (
223
234
< div
224
235
{ ...props }
225
236
className = { css `
@@ -234,7 +245,7 @@ const ExampleHeader = props => (
234
245
/>
235
246
)
236
247
237
- const ExampleTitle = props => (
248
+ const ExampleTitle = ( props : React . HTMLAttributes < HTMLSpanElement > ) => (
238
249
< span
239
250
{ ...props }
240
251
className = { css `
@@ -243,7 +254,7 @@ const ExampleTitle = props => (
243
254
/>
244
255
)
245
256
246
- const ExampleContent = props => (
257
+ const ExampleContent = ( props : React . HTMLAttributes < HTMLDivElement > ) => (
247
258
< Wrapper
248
259
{ ...props }
249
260
className = { css `
@@ -252,7 +263,7 @@ const ExampleContent = props => (
252
263
/>
253
264
)
254
265
255
- const Warning = props => (
266
+ const Warning = ( props : React . HTMLAttributes < HTMLDivElement > ) => (
256
267
< Wrapper
257
268
{ ...props }
258
269
className = { css `
@@ -269,11 +280,11 @@ const Warning = props => (
269
280
)
270
281
271
282
const ExamplePage = ( { example } : { example : string } ) => {
272
- const [ error , setError ] = useState < Error | undefined > ( )
273
- const [ stacktrace , setStacktrace ] = useState < ErrorInfo | undefined > ( )
274
- const [ showTabs , setShowTabs ] = useState < boolean > ( )
283
+ const [ error , setError ] = useState < Error | undefined > ( undefined )
284
+ const [ stacktrace , setStacktrace ] = useState < ErrorInfo | undefined > ( undefined )
285
+ const [ showTabs , setShowTabs ] = useState < boolean > ( false )
275
286
const EXAMPLE = EXAMPLES . find ( e => e [ 2 ] === example )
276
- const [ name , Component , path ] = EXAMPLE
287
+ const [ name , Component , path ] = EXAMPLE !
277
288
return (
278
289
< ErrorBoundary
279
290
onError = { ( error , stacktrace ) => {
0 commit comments