@@ -124,6 +124,11 @@ class SdkThemeContext extends DefaultThemeRenderContext {
124
124
// wait for container to exist
125
125
waitForElm('.container-main')
126
126
.then(elm => {
127
+ elm.role = "main"
128
+ elm.tabIndex = "-1"
129
+
130
+ document.querySelector('.tsd-navigation.secondary')['ariaLabel'] = "Types"
131
+
127
132
if (document.querySelectorAll('img[alt~="NPM"]').length > 0) {
128
133
const versionEl = document.querySelector('img[alt="NPM version"]')
129
134
const downloadsEl = document.querySelector('img[alt="NPM downloads"]')
@@ -136,7 +141,7 @@ class SdkThemeContext extends DefaultThemeRenderContext {
136
141
return res.json()
137
142
})
138
143
.then(({ version }) => {
139
- versionEl.alt += ' ' + version
144
+ versionEl.alt = "NPM latest version V" + version
140
145
})
141
146
.catch(err => {
142
147
console.error(err)
@@ -148,7 +153,12 @@ class SdkThemeContext extends DefaultThemeRenderContext {
148
153
return res.json()
149
154
})
150
155
.then(({ downloads }) => {
151
- downloadsEl.alt += ' ' + downloads.toString() + ' per month'
156
+ function formatDownloads(num) {
157
+ if (num < 1000) return num.toString()
158
+ if (num < 1000000) return (num.toPrecision(2) / 1000).toString() + 'k'
159
+ if (num < 1000000000) return (num.toPrecision(2) / 1000000).toString() + 'M'
160
+ }
161
+ downloadsEl.alt = 'downloads ' + formatDownloads(downloads) + '/month'
152
162
})
153
163
.catch(err => {
154
164
console.error(err)
@@ -331,6 +341,7 @@ class SdkThemeContext extends DefaultThemeRenderContext {
331
341
return (
332
342
< div >
333
343
{ categories . map ( ( category : ReflectionCategory ) => {
344
+ if ( category . children . length === 0 ) return "" ;
334
345
return (
335
346
< nav class = "tsd-navigation" aria-label = { category . title } >
336
347
< details class = "tsd-index-accordion" open = { true } >
0 commit comments