Skip to content

Commit 624aaab

Browse files
Ehespmikehardy
authored andcommitted
docs: update generated reference API styling (#9031)
(cherry picked from commit 30d41b9)
1 parent 804a51f commit 624aaab

2 files changed

Lines changed: 219 additions & 1 deletion

File tree

docs/reference.css

Lines changed: 215 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,215 @@
1+
:root {
2+
--light-color-background: lab(100% 0 0);
3+
--light-color-background-secondary: lab(100% 0 0);
4+
--light-color-accent: lab(91% 0 0);
5+
--light-color-active-menu-item: lab(96% 0 0);
6+
--dark-color-background: lab(3% 0 0);
7+
--dark-color-background-secondary: lab(3% 0 0);
8+
--dark-color-accent: lab(100% 0 0 / 10%);
9+
--dark-color-active-menu-item: lab(100% 0 0 / 8%);
10+
--reference-dark-body-text: lab(86% 0 0);
11+
--reference-light-body-text: lab(40% 0 0);
12+
--dim-footer-height: 0px;
13+
--dim-toolbar-contents-height: 3.5rem;
14+
--dim-container-main-margin-y: 0px;
15+
--reference-column-padding-top: 1.5rem;
16+
--reference-content-padding-x: 2rem;
17+
--reference-nav-nested-indent: .8rem;
18+
--reference-nav-item-padding-y: 0.3rem;
19+
--reference-header-logo: url("https://static.invertase.io/assets/react-native-firebase-favicon.png");
20+
--reference-header-logo-size: 1.75rem;
21+
--reference-nav-active-radius: 0.375rem;
22+
--reference-nav-hover-bg: lab(98% 0 0);
23+
--reference-header-actions-font-size: 0.875rem;
24+
}
25+
26+
.tsd-toolbar-contents > .title {
27+
display: inline-flex;
28+
align-items: center;
29+
gap: 0.625rem;
30+
}
31+
32+
.tsd-toolbar-contents > .title::before {
33+
content: "";
34+
width: var(--reference-header-logo-size);
35+
height: var(--reference-header-logo-size);
36+
flex-shrink: 0;
37+
background: var(--reference-header-logo) center / contain no-repeat;
38+
}
39+
40+
#tsd-toolbar-links a {
41+
font-size: var(--reference-header-actions-font-size);
42+
}
43+
44+
footer, .tsd-filter-visibility {
45+
display: none;
46+
}
47+
48+
.tsd-navigation.settings {
49+
margin-bottom: 2rem;
50+
}
51+
52+
.tsd-nested-navigation {
53+
margin-left: calc(var(--reference-nav-nested-indent) * 2);
54+
}
55+
56+
.tsd-nested-navigation > li > details {
57+
margin-left: calc(-1 * var(--reference-nav-nested-indent));
58+
}
59+
60+
.tsd-small-nested-navigation {
61+
margin-left: var(--reference-nav-nested-indent);
62+
}
63+
64+
.tsd-small-nested-navigation > li > details {
65+
margin-left: calc(-1 * var(--reference-nav-nested-indent));
66+
}
67+
68+
.site-menu .tsd-navigation a,
69+
.site-menu .tsd-navigation .tsd-accordion-summary {
70+
padding-top: var(--reference-nav-item-padding-y);
71+
padding-bottom: var(--reference-nav-item-padding-y);
72+
}
73+
74+
#tsd-sidebar-links a {
75+
margin-bottom: var(--reference-nav-item-padding-y);
76+
}
77+
78+
.tsd-navigation a.current,
79+
.tsd-page-navigation a.current {
80+
background: var(--color-active-menu-item);
81+
color: var(--color-text);
82+
border-radius: var(--reference-nav-active-radius);
83+
}
84+
85+
.site-menu .tsd-navigation a,
86+
.site-menu .tsd-navigation .tsd-accordion-summary,
87+
#tsd-sidebar-links a {
88+
border-radius: var(--reference-nav-active-radius);
89+
text-decoration: none;
90+
}
91+
92+
.site-menu .tsd-navigation a:hover,
93+
.site-menu .tsd-navigation .tsd-accordion-summary:hover,
94+
#tsd-sidebar-links a:hover {
95+
text-decoration: none;
96+
background: var(--reference-nav-hover-bg);
97+
}
98+
99+
.site-menu .tsd-navigation a.current:hover,
100+
#tsd-sidebar-links a.current:hover {
101+
background: var(--color-active-menu-item);
102+
}
103+
104+
@media (prefers-color-scheme: dark) {
105+
:root:not([data-theme="light"]) {
106+
--reference-nav-hover-bg: lab(100% 0 0 / 5%);
107+
}
108+
}
109+
110+
:root[data-theme="dark"] {
111+
--reference-nav-hover-bg: lab(100% 0 0 / 5%);
112+
}
113+
114+
@media (prefers-color-scheme: dark) {
115+
:root:not([data-theme="light"]) .col-content,
116+
:root:not([data-theme="light"]) .site-menu,
117+
:root:not([data-theme="light"]) .page-menu,
118+
:root:not([data-theme="light"]) #tsd-sidebar-links {
119+
--color-text: var(--reference-dark-body-text);
120+
}
121+
122+
:root:not([data-theme="light"]) .col-content {
123+
color: var(--reference-dark-body-text);
124+
}
125+
126+
:root:not([data-theme="light"]) .col-content :is(h1, h2, h3, h4, h5, h6) {
127+
color: var(--dark-color-text);
128+
}
129+
}
130+
131+
:root[data-theme="dark"] .col-content,
132+
:root[data-theme="dark"] .site-menu,
133+
:root[data-theme="dark"] .page-menu,
134+
:root[data-theme="dark"] #tsd-sidebar-links {
135+
--color-text: var(--reference-dark-body-text);
136+
}
137+
138+
:root[data-theme="dark"] .col-content {
139+
color: var(--reference-dark-body-text);
140+
}
141+
142+
:root[data-theme="dark"] .col-content :is(h1, h2, h3, h4, h5, h6) {
143+
color: var(--dark-color-text);
144+
}
145+
146+
@media (prefers-color-scheme: light) {
147+
:root:not([data-theme="dark"]) .col-content,
148+
:root:not([data-theme="dark"]) .site-menu,
149+
:root:not([data-theme="dark"]) .page-menu,
150+
:root:not([data-theme="dark"]) #tsd-sidebar-links {
151+
--color-text: var(--reference-light-body-text);
152+
}
153+
154+
:root:not([data-theme="dark"]) .col-content {
155+
color: var(--reference-light-body-text);
156+
}
157+
158+
:root:not([data-theme="dark"]) .col-content :is(h1, h2, h3, h4, h5, h6) {
159+
color: var(--light-color-text);
160+
}
161+
}
162+
163+
:root[data-theme="light"] .col-content,
164+
:root[data-theme="light"] .site-menu,
165+
:root[data-theme="light"] .page-menu,
166+
:root[data-theme="light"] #tsd-sidebar-links {
167+
--color-text: var(--reference-light-body-text);
168+
}
169+
170+
:root[data-theme="light"] .col-content {
171+
color: var(--reference-light-body-text);
172+
}
173+
174+
:root[data-theme="light"] .col-content :is(h1, h2, h3, h4, h5, h6) {
175+
color: var(--light-color-text);
176+
}
177+
178+
@media (min-width: 770px) {
179+
/* TypeDoc re-applies this at desktop breakpoints — override in the same query */
180+
.container-main {
181+
--dim-container-main-margin-y: 0px;
182+
min-height: 0;
183+
}
184+
185+
/*
186+
* Sidebar max-height is computed from layout vars; padding must stay inside
187+
* that box (TypeDoc defaults to content-box, which adds padding on top).
188+
*/
189+
.col-sidebar,
190+
.site-menu,
191+
.page-menu {
192+
box-sizing: border-box;
193+
}
194+
195+
.site-menu {
196+
margin-top: 0;
197+
padding: var(--reference-column-padding-top) 0;
198+
}
199+
200+
.col-content {
201+
padding-top: var(--reference-column-padding-top);
202+
padding-left: var(--reference-content-padding-x);
203+
padding-right: var(--reference-content-padding-x);
204+
}
205+
206+
.col-content .tsd-page-title h1 {
207+
margin-top: 0;
208+
}
209+
}
210+
211+
@media (min-width: 1200px) {
212+
.page-menu {
213+
padding-top: var(--reference-column-padding-top);
214+
}
215+
}

typedoc.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"$schema": "https://typedoc.org/schema.json",
33
"name": "React Native Firebase",
4+
"customCss": "./docs/reference.css",
45
"entryPointStrategy": "packages",
56
"entryPoints": [
67
"packages/app",
@@ -37,8 +38,10 @@
3738
"searchInComments": true,
3839
"hideGenerator": true,
3940
"cleanOutputDir": true,
40-
"titleLink": "https://github.com/invertase/react-native-firebase",
41+
"titleLink": "/",
42+
"favicon": "https://static.invertase.io/assets/react-native-firebase-favicon.png",
4143
"navigationLinks": {
44+
"Documentation": "https://rnfirebase.io",
4245
"GitHub": "https://github.com/invertase/react-native-firebase",
4346
"npm": "https://www.npmjs.com/search?q=scope%3Areact-native-firebase"
4447
},

0 commit comments

Comments
 (0)