@@ -62,7 +62,7 @@ class Properties extends Component<PropertiesProps> {
6262 return string . includes ( '(...args: any[]) => any' )
6363 }
6464
65- renderRows ( ) {
65+ renderRows ( hasDefaultOrRequired : boolean ) {
6666 const { props } = this . props
6767 const propsToIgnore = [ 'styles' , 'makeStyles' , 'dir' ]
6868
@@ -81,6 +81,7 @@ class Properties extends Component<PropertiesProps> {
8181 ! propsToIgnore . includes ( name )
8282 )
8383 } )
84+ . sort ( ( a , b ) => a . localeCompare ( b ) )
8485 . map ( ( name , idx ) => {
8586 const prop = props [ name ]
8687 return (
@@ -91,7 +92,9 @@ class Properties extends Component<PropertiesProps> {
9192 < Table . Cell >
9293 { prop . tsType && < code > { this . renderTSType ( prop . tsType ) } </ code > }
9394 </ Table . Cell >
94- < Table . Cell > { this . renderDefault ( prop ) } </ Table . Cell >
95+ { hasDefaultOrRequired && (
96+ < Table . Cell > { this . renderDefault ( prop ) } </ Table . Cell >
97+ ) }
9598 < Table . Cell > { this . renderDescription ( prop ) } </ Table . Cell >
9699 </ Table . Row >
97100 )
@@ -263,6 +266,13 @@ class Properties extends Component<PropertiesProps> {
263266 render ( ) {
264267 const { styles } = this . props
265268 const { layout } = this . props
269+ let hasDefaultOrRequired = false
270+ for ( const i in this . props . props ) {
271+ if ( this . props . props [ i ] . required || this . props . props [ i ] . defaultValue ) {
272+ hasDefaultOrRequired = true
273+ break
274+ }
275+ }
266276 return (
267277 < div css = { styles ?. properties } >
268278 < Table
@@ -273,11 +283,13 @@ class Properties extends Component<PropertiesProps> {
273283 < Table . Row >
274284 < Table . ColHeader id = "Prop" > Prop</ Table . ColHeader >
275285 < Table . ColHeader id = "Type" > Type</ Table . ColHeader >
276- < Table . ColHeader id = "Default" > Default</ Table . ColHeader >
286+ { hasDefaultOrRequired && (
287+ < Table . ColHeader id = "Default" > Default</ Table . ColHeader >
288+ ) }
277289 < Table . ColHeader id = "Description" > Description</ Table . ColHeader >
278290 </ Table . Row >
279291 </ Table . Head >
280- < Table . Body > { this . renderRows ( ) } </ Table . Body >
292+ < Table . Body > { this . renderRows ( hasDefaultOrRequired ) } </ Table . Body >
281293 </ Table >
282294 </ div >
283295 )
0 commit comments