Skip to content

Commit adfae08

Browse files
Fix CSS for choice elements in outline docs (#1687)
* Fix CSS for choice elements in outline docs Fixes #1365 * Update docs/assets/scss/schema-docs.scss Co-authored-by: A.J. Stein <alexander.stein@nist.gov> --------- Co-authored-by: A.J. Stein <alexander.stein@nist.gov>
1 parent 6ed881a commit adfae08

File tree

1 file changed

+90
-38
lines changed

1 file changed

+90
-38
lines changed

docs/assets/scss/schema-docs.scss

Lines changed: 90 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
21
@mixin header-text($header-fg) {
32
@include u-font('heading', xl);
43
@include u-text($header-fg, 'normal');
4+
55
a {
66
&:visited {
77
@include u-text($header-fg);
88
}
9+
910
&:hover {
1011
@include u-text('bold');
1112
}
@@ -14,12 +15,15 @@
1415

1516
@mixin supporting-text {
1617
@include u-font('body', 'md');
17-
@include u-text('base-darker','normal');
18+
@include u-text('base-darker', 'normal');
19+
1820
a {
19-
@include u-text('primary','normal');
21+
@include u-text('primary', 'normal');
22+
2023
&:visited {
2124
@include u-text('primary');
2225
}
26+
2327
&:hover {
2428
@include u-text('bold');
2529
}
@@ -28,25 +32,29 @@
2832

2933
@mixin model-text {
3034
@include u-font('mono', 'md');
31-
@include u-text('base-darker','normal');
35+
@include u-text('base-darker', 'normal');
36+
3237
a {
33-
@include u-text('primary','normal');
38+
@include u-text('primary', 'normal');
39+
3440
&:visited {
3541
@include u-text('primary');
3642
}
43+
3744
&:hover {
3845
@include u-text('bold');
3946
}
4047
}
4148
}
4249

43-
@mixin doc-index($header-bg,$header-fg) {
50+
@mixin doc-index($header-bg, $header-fg) {
4451
@include supporting-text();
52+
4553
section.named-object-group {
4654
/*@include u-bg('base-lightest');*/
4755
@include u-margin-bottom(2);
4856
@include u-padding-bottom('105');
49-
@include u-border(1px,'base-light');
57+
@include u-border(1px, 'base-light');
5058
@include u-radius('md');
5159

5260
}
@@ -70,9 +78,9 @@
7078
@include u-text('bold');
7179
@include u-padding-x(2px);
7280
@include u-margin-x(2px);
73-
-webkit-box-shadow: 1px 1px 3px 0 rgba(0,0,0,.75);
74-
-moz-box-shadow: 1px 1px 3px 0 rgba(0,0,0,.75);
75-
box-shadow: 1px 1px 3px 0 rgba(0,0,0,.75);
81+
-webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, .75);
82+
-moz-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, .75);
83+
box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, .75);
7684

7785
a {
7886
@include u-text('normal');
@@ -81,68 +89,98 @@
8189

8290
span.formal-name {
8391
@include supporting-text();
92+
8493
a {
8594
@include u-text('bold');
8695
}
8796
}
8897
}
8998

9099
.xml-index {
91-
@include doc-index('green-cool-20','green-cool-80');
100+
@include doc-index('green-cool-20', 'green-cool-80');
92101
}
93102

94103
.json-index {
95-
@include doc-index('blue-20','blue-80');
104+
@include doc-index('blue-20', 'blue-80');
96105
}
97106

98-
.xml-outline, .json-outline {
107+
.xml-outline,
108+
.json-outline {
99109
@include model-text();
100110
hyphens: none;
101111

102112
div.OM-entry p {
103113
line-height: 1.5;
104114
}
115+
105116
details.OM-entry {
106117
.model-container {
107118
margin-left: 2.5em;
108119
}
120+
109121
&[open] {
110122
summary {
111123
.show-closed {
112124
display: none;
113125
}
114126
}
115127
}
128+
116129
&:not([open]) {
117130
summary {
118131
.show-closed {
119132
display: initial;
120133
}
121134
}
122135
}
136+
123137
summary {
124138
cursor: pointer;
125139
list-style-position: outside;
126140
line-height: 1.5;
127141
}
128142
}
143+
129144
/*span.OM-cardinality { }*/
130-
.model-container + p {
145+
.model-container+p {
131146
margin-top: 0;
132147
}
133148

134-
a, a:visited {
149+
a,
150+
a:visited {
135151
text-decoration: none;
136152
}
137153

138-
div.OM-choice {
154+
div.OM-choices {
155+
@include u-margin-left(-2);
139156
@include u-padding-left(2);
157+
background-color: #d9e8f6;
158+
width: max-content;
159+
160+
div.OM-choice {
161+
@include u-padding-left(4);
162+
}
163+
164+
// Nested choices alternate color for readability
165+
div.OM-choices {
166+
background-color: white;
167+
168+
div.OM-choices {
169+
background-color: #d9e8f6;
170+
// Add nested colors as needed
171+
}
172+
}
140173
}
141174
}
142175

143-
@mixin reference-header($definition-header-bg,$instance-header-bg,$header-fg) {
144-
div.definition-header, div.instance-header, div.array-header {
145-
.name, p.array-member {
176+
@mixin reference-header($definition-header-bg, $instance-header-bg, $header-fg) {
177+
178+
div.definition-header,
179+
div.instance-header,
180+
div.array-header {
181+
182+
.name,
183+
p.array-member {
146184
@include header-text($header-fg);
147185
@include u-font('heading', lg);
148186
@include u-line-height('heading', 1);
@@ -152,20 +190,23 @@
152190
align-self: start;
153191
text-transform: inherit;
154192
}
193+
155194
p.type {
156195
@include model-text();
157196
@include u-line-height('mono', 1);
158197
grid-area: type;
159198
margin: 0;
160199
align-self: start;
161200
}
201+
162202
p.occurrence {
163203
@include model-text();
164204
@include u-line-height('mono', 1);
165205
grid-area: occurance;
166206
margin: 0;
167207
align-self: start;
168208
}
209+
169210
div.crosslink {
170211
grid-area: crosslink;
171212
margin: 0;
@@ -178,104 +219,115 @@
178219
}
179220
*/
180221
}
222+
181223
.formal-name {
182224
@include supporting-text();
183225
grid-area: formal-name;
184226
margin: 0;
185227
align-self: center;
186228
}
187229
}
188-
230+
189231
div.definition-header {
190232
@include u-bg($definition-header-bg);
191233
@include header-text($header-fg);
192234
@include u-margin-top('105');
193-
@include u-border(1px,'base-light');
235+
@include u-border(1px, 'base-light');
194236
@include u-radius('md');
195237
padding: .5rem;
196238
display: grid;
197239
grid-template-columns: 3fr 3fr 2fr;
198240
grid-template-rows: auto auto;
199241
grid-gap: .5em;
200-
grid-template-areas:
242+
grid-template-areas:
201243
"name type crosslink"
202244
"formal-name formal-name crosslink";
203245
}
204246

205247
div.instance-header {
206248
@include u-bg($instance-header-bg);
207249
@include header-text($header-fg);
208-
@include u-border(1px,'base-light');
250+
@include u-border(1px, 'base-light');
209251
@include u-radius('md');
210252
padding: .5rem;
211253
display: grid;
212254
grid-template-columns: 3fr 3fr 2fr 2fr;
213255
grid-template-rows: auto auto;
214256
grid-gap: .5em;
215-
grid-template-areas:
257+
grid-template-areas:
216258
"name type occurance crosslink"
217259
"formal-name formal-name formal-name crosslink";
218260
}
261+
219262
div.array-header {
220263
@include u-bg('gray-10');
221264
@include header-text($header-fg);
222-
@include u-border(1px,'base-light');
265+
@include u-border(1px, 'base-light');
223266
@include u-radius-bottom('md');
224267
padding: .5rem;
225268
display: grid;
226269
grid-template-columns: 3fr 3fr 2fr 2fr;
227270
grid-template-rows: auto auto;
228271
grid-gap: .5em;
229-
grid-template-areas:
272+
grid-template-areas:
230273
"name type occurance formal-name";
231274

232-
.formal-name {
233-
align-self: right;
275+
.formal-name {
276+
align-self: right;
234277
}
235278
}
279+
236280
div.body {
237281
@include u-padding-left('105');
238-
@include u-border-left(2px,'base-lightest');
282+
@include u-border-left(2px, 'base-lightest');
239283
@include u-margin-bottom('105');
240-
241-
> p {
284+
285+
>p {
242286
margin-top: 0.5rem;
243287
}
288+
244289
details {
245290
margin-top: 0.5rem;
291+
246292
summary {
247293
@include u-margin-bottom('05');
248294
}
249295
}
250296
}
251297
}
252298

253-
.xml-reference, .xml-definition {
254-
@include reference-header('green-cool-20','green-cool-10','green-cool-80');
299+
.xml-reference,
300+
.xml-definition {
301+
@include reference-header('green-cool-20', 'green-cool-10', 'green-cool-80');
255302

256303
div.crosslink a.usa-button {
257304
@include u-bg('green-cool-70');
258-
@include u-text('white','bold');
305+
@include u-text('white', 'bold');
306+
259307
&:visited {
260308
@include u-text('white');
261309
}
310+
262311
&:hover {
263312
@include u-text('bold');
264313
}
265314
}
266315
}
267316

268-
.json-reference, .json-definition {
269-
@include reference-header('blue-20','blue-10','blue-80');
317+
.json-reference,
318+
.json-definition {
319+
@include reference-header('blue-20', 'blue-10', 'blue-80');
270320

271321
div.crosslink a.usa-button {
272322
@include u-bg('blue-70');
273-
@include u-text('white','bold');
323+
@include u-text('white', 'bold');
324+
274325
&:visited {
275326
@include u-text('white');
276327
}
328+
277329
&:hover {
278330
@include u-text('bold');
279331
}
280332
}
281-
}
333+
}

0 commit comments

Comments
 (0)