opendoc-theme 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +43 -0
  4. data/_includes/directory.html +95 -0
  5. data/_includes/document-title.txt +58 -0
  6. data/_includes/toc.html +107 -0
  7. data/_includes/toolbar.html +53 -0
  8. data/_includes/welcome.html +5 -0
  9. data/_layouts/default.html +147 -0
  10. data/_layouts/home.html +4 -0
  11. data/_layouts/iframe.html +13 -0
  12. data/_layouts/page.html +4 -0
  13. data/_layouts/print.html +27 -0
  14. data/_sass/_base.scss +381 -0
  15. data/_sass/_constants.scss +87 -0
  16. data/_sass/_iframe.scss +7 -0
  17. data/_sass/_layout.scss +419 -0
  18. data/_sass/_nav.scss +592 -0
  19. data/_sass/_print.scss +43 -0
  20. data/_sass/_syntax-highlighting.scss +61 -0
  21. data/_sass/_toolbar.scss +372 -0
  22. data/_sass/_welcome.scss +41 -0
  23. data/assets/export.md +30 -0
  24. data/assets/images/chevron-up-white.svg +1 -0
  25. data/assets/images/chevron-up.svg +1 -0
  26. data/assets/images/close.svg +17 -0
  27. data/assets/images/favicon.ico +0 -0
  28. data/assets/images/feedback-hover.svg +3 -0
  29. data/assets/images/feedback-mobile.svg +1 -0
  30. data/assets/images/feedback.svg +1 -0
  31. data/assets/images/github-hover.svg +3 -0
  32. data/assets/images/github.svg +1 -0
  33. data/assets/images/home.svg +14 -0
  34. data/assets/images/index-img.png +0 -0
  35. data/assets/images/logo.png +0 -0
  36. data/assets/images/menu.svg +1 -0
  37. data/assets/images/opendoc-logo-full.svg +10 -0
  38. data/assets/images/pdf-hover.svg +11 -0
  39. data/assets/images/pdf.svg +9 -0
  40. data/assets/images/search-icon-dark.svg +19 -0
  41. data/assets/images/search-icon-white.svg +12 -0
  42. data/assets/images/share.svg +1 -0
  43. data/assets/images/sidebar-hover.svg +3 -0
  44. data/assets/images/sidebar.svg +1 -0
  45. data/assets/images/vertical-dots.svg +1 -0
  46. data/assets/images/x-mobile.svg +1 -0
  47. data/assets/index.html +5 -0
  48. data/assets/js/banner.js +20 -0
  49. data/assets/js/google_analytics.js +11 -0
  50. data/assets/js/header.js +31 -0
  51. data/assets/js/helpers.js +24 -0
  52. data/assets/js/lunr.min.js +6 -0
  53. data/assets/js/navigation.js +202 -0
  54. data/assets/js/page-index.js +57 -0
  55. data/assets/js/pqueue.js +373 -0
  56. data/assets/js/pre-loader.js +43 -0
  57. data/assets/js/search.js +580 -0
  58. data/assets/js/toolbar.js +130 -0
  59. data/assets/siteIndex.json +56 -0
  60. data/assets/startup/build.sh +18 -0
  61. data/assets/startup/docprint.html +20 -0
  62. data/assets/startup/pdf-gen.js +309 -0
  63. data/assets/startup/prebuild-lunr-index.js +52 -0
  64. data/assets/styles/main.scss +13 -0
  65. data/assets/styles/normalize.css +427 -0
  66. data/assets/vendor/babel-polyfill.min.js +3 -0
  67. data/assets/vendor/dom4.js +2 -0
  68. data/assets/vendor/fetch.umd.js +531 -0
  69. data/assets/vendor/headroom.min.js +7 -0
  70. data/assets/vendor/jump.min.js +2 -0
  71. data/assets/vendor/mark.min.js +7 -0
  72. data/assets/vendor/popper.min.js +5 -0
  73. data/assets/vendor/web-share-shim.bundle.min.js +2 -0
  74. metadata +158 -0
@@ -0,0 +1,7 @@
1
+ .iframe {
2
+ &.site-main {
3
+ padding: 10px;
4
+ top: 0;
5
+ left: 0;
6
+ }
7
+ }
@@ -0,0 +1,419 @@
1
+ // Body
2
+ // ----
3
+ body {
4
+ -webkit-overflow-scrolling: touch;
5
+ overflow-x: hidden;
6
+ box-sizing: border-box;
7
+
8
+ mark {
9
+ font-weight: bold;
10
+ background-color: $highlight-color;
11
+ }
12
+ @include mobile-screen {
13
+ &.menu-toggled {
14
+ // Prevents scrolling main body when scrolling nav
15
+ overflow: hidden;
16
+ }
17
+ }
18
+ }
19
+
20
+ .site-header {
21
+ // site-header should be beneath mobile-menu
22
+ box-sizing: border-box;
23
+ z-index: $site-header-z-index;
24
+ height: $site-header-height;
25
+ background: white;
26
+ position: fixed;
27
+ top: 0;
28
+ left: 0;
29
+ right: 0;
30
+ border-bottom: 1px solid $divider-color;
31
+ display: flex;
32
+ justify-content: space-between;
33
+ align-items: center;
34
+ padding: 0 $site-padding;
35
+
36
+ a {
37
+ line-height: 1;
38
+ &:hover {
39
+ text-decoration: none;
40
+ }
41
+ }
42
+
43
+ @include mobile-screen {
44
+ padding: 0 $spacing 0 $large-spacing;
45
+ height: $mobile-site-header-height;
46
+ right: $mobile-site-header-height;
47
+ }
48
+
49
+ .site-header-left {
50
+ display: flex;
51
+ align-items: baseline;
52
+
53
+ .site-header-text {
54
+ color: $primary-brand-color;
55
+ margin: 0;
56
+ font-family: $header-font-family;
57
+ font-size: 25px;
58
+ }
59
+
60
+ .site-last-updated {
61
+ margin: 0;
62
+ font-size: 11px;
63
+ letter-spacing: 0.6px;
64
+ color: $subheader-text-color;
65
+ margin-left: $large-spacing;
66
+ }
67
+
68
+ @include mobile-screen {
69
+ display: none;
70
+ }
71
+ }
72
+
73
+ .site-header-right {
74
+ display: flex;
75
+ flex-direction: row;
76
+ align-items: center;
77
+
78
+ #contact-us {
79
+ margin-right: calc(2 * #{$large-spacing});
80
+ font-size: 12px;
81
+ color: $header-text-color;
82
+ font-weight: bold;
83
+ letter-spacing: 1px;
84
+ text-transform: uppercase;
85
+
86
+ span {
87
+ text-decoration: none;
88
+ }
89
+
90
+ @include mobile-screen {
91
+ display: none;
92
+ }
93
+ }
94
+
95
+ .agency-logo {
96
+ max-width: 180px;
97
+ max-height: 44px;
98
+ }
99
+
100
+ .top-mobile-btn {
101
+ display: none;
102
+ }
103
+
104
+ @include mobile-screen {
105
+ // Uncomment if u wanna put another button in the mobile header
106
+ // flex-direction: row-reverse;
107
+ // justify-content: space-between;
108
+ width: 100%;
109
+ justify-content: space-between;
110
+
111
+ .agency-logo {
112
+ max-width: 150px;
113
+ max-height: 30px;
114
+ }
115
+
116
+ .top-mobile-btn {
117
+ @include flex-center();
118
+ width: $mobile-site-header-height;
119
+ height: $mobile-site-header-height;
120
+ cursor: pointer;
121
+ img {
122
+ height: 24px;
123
+ }
124
+ }
125
+ }
126
+ }
127
+ }
128
+
129
+ .index .doc-header {
130
+ @include desktop-screen {
131
+ display: none;
132
+ }
133
+ }
134
+
135
+ // Document Header
136
+ // -----------
137
+ .doc-header {
138
+ position: fixed;
139
+ z-index: $doc-header-z-index;
140
+ top: $mobile-site-header-height;
141
+ left: 0;
142
+ right: 0;
143
+ display: flex;
144
+ justify-content: space-between;
145
+ box-sizing: border-box;
146
+ align-self: stretch;
147
+ padding: 0 calc(2 * #{$spacing});
148
+ height: $doc-header-height;
149
+ background: white;
150
+ transition-duration: $site-nav-collapse-duration;
151
+ transition-property: height, padding, top, left;
152
+ transition-timing-function: $site-nav-collapse-timing;
153
+ // to allow mobile menu to be visible outside of doc-header
154
+ overflow: visible;
155
+
156
+ @include mobile-screen {
157
+ &.headroom--pinned {
158
+ top: $mobile-site-header-height;
159
+ }
160
+
161
+ &.headroom--unpinned {
162
+ top: -$doc-header-height;
163
+ }
164
+ }
165
+
166
+ @include desktop-screen {
167
+ padding: 0 $desktop-spacing;
168
+ left: $site-nav-width;
169
+ top: $site-header-height;
170
+
171
+ body.menu-toggled & {
172
+ left: 0;
173
+ transform: none;
174
+ height: $toggled-doc-header-height;
175
+ padding: 0 $site-padding;
176
+
177
+ .description-container {
178
+ display: flex;
179
+ align-items: baseline;
180
+ flex: 1;
181
+ flex-direction: column;
182
+ }
183
+ .description-title {
184
+ margin-bottom: 0;
185
+ margin-right: 30px;
186
+ }
187
+ }
188
+ }
189
+
190
+ @include large-screen {
191
+ left: $max-site-nav-width;
192
+ }
193
+
194
+ background-color: $base-background-color;
195
+ border-bottom: 1px solid $divider-color;
196
+ // Other
197
+ flex-direction: row;
198
+ align-items: center;
199
+
200
+ // Children
201
+ .description-container {
202
+ margin-right: $large-spacing;
203
+ width: 100%;
204
+
205
+ #document-title {
206
+ font-size: 20px;
207
+ color: $primary-brand-color;
208
+ overflow: hidden;
209
+ white-space: nowrap;
210
+ text-overflow: ellipsis;
211
+ // Max two lines (currently, max one line)
212
+ // line-height: 1.3em;
213
+ // max-height: 2.6em;
214
+ margin-bottom: 0;
215
+ }
216
+ #document-subtitle {
217
+ margin-top: 0.5em;
218
+ font-size: 11px;
219
+ letter-spacing: 0.6px;
220
+ overflow: hidden;
221
+ white-space: nowrap;
222
+ text-overflow: ellipsis;
223
+ color: #9b9b9b;
224
+ text-transform: uppercase;
225
+ }
226
+ }
227
+ }
228
+
229
+ // Site Main
230
+ //----------
231
+ .site-main {
232
+ position: relative;
233
+ z-index: $site-main-z-index;
234
+ left: 0;
235
+ right: 0;
236
+ top: 0;
237
+ padding-top: $mobile-site-doc-header-height;
238
+ padding-left: $large-spacing;
239
+ padding-right: $large-spacing;
240
+ padding-bottom: $spacing;
241
+ height: auto;
242
+ overflow: hidden;
243
+
244
+ // On small screens fill the screen with content
245
+ // Shift everything right when menu is open
246
+ box-sizing: border-box;
247
+ transition-duration: $site-nav-collapse-duration;
248
+ transition-property: left, top;
249
+ transition-timing-function: $site-nav-collapse-timing;
250
+
251
+ // On medium screens fill the residual space
252
+ // Expand to fill when the menu is closed
253
+ @include desktop-screen {
254
+ left: $site-nav-width;
255
+ padding-top: $site-doc-header-height;
256
+ padding-left: $desktop-spacing;
257
+ padding-right: $desktop-spacing + $body-sidebar-right-padding;
258
+ padding-bottom: $large-spacing;
259
+ width: 100vw - $site-nav-width;
260
+ height: auto;
261
+
262
+ body.menu-toggled & {
263
+ left: 0;
264
+ padding-top: $toggled-doc-header-height + $site-header-height;
265
+ padding-left: $body-full-view-padding;
266
+ padding-right: calc(#{$body-full-view-padding} + #{$body-sidebar-right-padding});
267
+ transform: none;
268
+ width: 100vw;
269
+ height: auto;
270
+ }
271
+ }
272
+
273
+ @include large-screen {
274
+ left: $max-site-nav-width;
275
+ padding-left: $body-padding;
276
+ padding-right: calc(#{$body-padding} + #{$body-sidebar-right-padding});
277
+ width: calc(100vw - #{$max-site-nav-width});
278
+ }
279
+
280
+ h1 {
281
+ padding-top: calc(1.6 * #{$block-spacing});
282
+ }
283
+ h2 {
284
+ padding-top: calc(1.4 * #{$block-spacing} + #{$mobile-site-header-height});
285
+ }
286
+ h3 {
287
+ padding-top: calc(1.2 * #{$block-spacing} + #{$mobile-site-header-height});
288
+ }
289
+ h4 {
290
+ padding-top: calc(1 * #{$block-spacing} + #{$mobile-site-header-height});
291
+ }
292
+ h5 {
293
+ padding-top: calc(0.8 * #{$block-spacing} + #{$mobile-site-header-height});
294
+ }
295
+ h6 {
296
+ padding-top: calc(0.6 * #{$block-spacing} + #{$mobile-site-header-height});
297
+ }
298
+ a {
299
+ text-decoration: underline;
300
+ // This css part looks complicated but is required to prevent highlighting
301
+ // text with inline links to include padding-top
302
+ &[href*="#"]:before {
303
+ display: inline;
304
+ content: "";
305
+ text-decoration: none;
306
+ position: relative;
307
+ top: -$mobile-site-header-height;
308
+ visibility: hidden;
309
+ }
310
+ }
311
+
312
+ h2,
313
+ h3,
314
+ h4,
315
+ h5,
316
+ h6 {
317
+ margin-top: -$mobile-site-header-height;
318
+ }
319
+
320
+ @include desktop-screen {
321
+ h1 {
322
+ padding-top: calc(2 * #{$block-spacing});
323
+ }
324
+ h2 {
325
+ padding-top: calc(1.8 * #{$block-spacing} + #{$site-doc-header-height});
326
+ }
327
+ h3 {
328
+ padding-top: calc(1.6 * #{$block-spacing} + #{$site-doc-header-height});
329
+ }
330
+ h4 {
331
+ padding-top: calc(1.4 * #{$block-spacing} + #{$site-doc-header-height});
332
+ }
333
+ h5 {
334
+ padding-top: calc(1.2 * #{$block-spacing} + #{$site-doc-header-height});
335
+ }
336
+ h6 {
337
+ padding-top: calc(1 * #{$block-spacing} + #{$site-doc-header-height});
338
+ }
339
+ a[href*="#"]:before {
340
+ top: -$site-doc-header-height;
341
+ }
342
+ h2,
343
+ h3,
344
+ h4,
345
+ h5,
346
+ h6 {
347
+ margin-top: calc(-1 * #{$site-doc-header-height});
348
+ }
349
+ }
350
+ }
351
+
352
+ .site-branding {
353
+ position: relative;
354
+ padding-top: $large-spacing;
355
+ padding-bottom: $large-spacing;
356
+ font-size: calc(#{$base-font-size} - 5px);
357
+ color: $secondary-text-color;
358
+ text-align: center;
359
+ transition-duration: $site-nav-collapse-duration;
360
+ transition-timing-function: $site-nav-collapse-timing;
361
+ a img {
362
+ height: 16px;
363
+ margin-bottom: -3px;
364
+ cursor: pointer;
365
+ }
366
+
367
+ @include desktop-screen {
368
+ padding-left: $site-nav-width;
369
+ padding-right: $body-sidebar-right-padding;
370
+ font-size: calc(#{$base-font-size} - 3px);
371
+ a img {
372
+ height: 18px;
373
+ }
374
+ }
375
+ body.menu-toggled & {
376
+ padding-left: 0;
377
+ }
378
+ }
379
+
380
+ //custom-scrollbar
381
+ /* width */
382
+ ::-webkit-scrollbar {
383
+ width: 14px;
384
+ }
385
+
386
+ /* Track */
387
+ ::-webkit-scrollbar-track {
388
+ background: rgb(250, 250, 250);
389
+ }
390
+
391
+ /* Handle */
392
+ ::-webkit-scrollbar-thumb {
393
+ background: #d8d8d8;
394
+ -webkit-border-radius: 12px;
395
+ border-radius: 12px;
396
+ border: 4px solid rgba(0, 0, 0, 0);
397
+ background-clip: padding-box;
398
+ }
399
+
400
+ ::-webkit-scrollbar-thumb:hover {
401
+ background: #c8c8c8;
402
+ -webkit-border-radius: 12px;
403
+ border-radius: 12px;
404
+ border: 4px solid rgba(0, 0, 0, 0);
405
+ background-clip: padding-box;
406
+ }
407
+
408
+ //Examples
409
+ .examples-box {
410
+ padding: 10px;
411
+ border: 1px solid $divider-color;
412
+ border-radius: $base-border-radius;
413
+ }
414
+
415
+ //Videos
416
+ .opendoc-video {
417
+ text-align: center;
418
+ overflow: hidden;
419
+ }
data/_sass/_nav.scss ADDED
@@ -0,0 +1,592 @@
1
+ // Site Nav
2
+ // --------
3
+ .site-nav {
4
+ // Position
5
+ position: fixed;
6
+ top: 0;
7
+ z-index: $mobile-navigation-z-index;
8
+
9
+ // Sidebar content could be too long for the page
10
+ // The scrolling should be limited to the chapter selection area
11
+ overflow: visible;
12
+ display: flex;
13
+ box-sizing: border-box;
14
+ // hide this background div
15
+ height: 0;
16
+ flex-direction: column;
17
+
18
+ // Mobile has the sidebar hidden by default
19
+ // Tablets and above have it showing by default
20
+ // On larger screens the content stays in place and we move the sidebar in
21
+ transition-duration: $site-nav-collapse-duration;
22
+ transition-timing-function: $site-nav-collapse-timing;
23
+ transition-property: left, width;
24
+ width: 100vw;
25
+ @include desktop-screen {
26
+ height: 100%;
27
+ z-index: $desktop-navigation-z-index;
28
+ width: $site-nav-width;
29
+ max-width: $max-site-nav-width;
30
+ top: $site-header-height;
31
+ left: 0;
32
+ body.menu-toggled & {
33
+ left: -#{$site-nav-width};
34
+ box-shadow: none;
35
+ }
36
+ }
37
+
38
+ @include large-screen {
39
+ body.menu-toggled & {
40
+ left: -#{$max-site-nav-width};
41
+ box-shadow: none;
42
+ }
43
+ }
44
+
45
+ .back-to-documents {
46
+ min-height: calc(100vh - #{$doc-header-height});
47
+ width: $back-to-docs-width;
48
+ border-right: $divider-color 1px solid;
49
+ white-space: nowrap;
50
+ box-sizing: border-box;
51
+ cursor: pointer;
52
+
53
+ p {
54
+ height: $back-to-docs-width;
55
+ width: calc(100vh - 128px);
56
+ line-height: $back-to-docs-width;
57
+ text-transform: uppercase;
58
+ color: $header-text-color;
59
+ font-size: 14px;
60
+ letter-spacing: 1px;
61
+ // calc in translate not supported in IE
62
+ transform: rotate(-90deg) translateY(128px) translateY(-100vh);
63
+ transform-origin: right 0;
64
+ margin: 0;
65
+ display: flex;
66
+ justify-content: flex-end;
67
+ align-items: center;
68
+ user-select: none;
69
+ overflow: hidden;
70
+
71
+ img {
72
+ height: 30px;
73
+ padding-left: 40px;
74
+ padding-right: $large-spacing;
75
+ }
76
+ }
77
+
78
+ @include mobile-screen {
79
+ width: $mobile-back-to-docs-width;
80
+ p {
81
+ height: $mobile-back-to-docs-width;
82
+ line-height: $mobile-back-to-docs-width;
83
+ }
84
+ }
85
+ }
86
+
87
+ @mixin hover-state-bg {
88
+ background-color: $nav-background-hover-color;
89
+ }
90
+
91
+ @mixin hover-state-text {
92
+ color: $header-text-color;
93
+ }
94
+
95
+ .navigation {
96
+ display: flex;
97
+ flex-direction: row;
98
+
99
+ &.hidden {
100
+ display: none;
101
+ }
102
+
103
+ ul.table-of-directories {
104
+ list-style: none;
105
+ padding-left: 0;
106
+ padding-top: 0;
107
+ margin-left: 0;
108
+ margin-top: 0;
109
+ min-width: 100%;
110
+ max-width: 100%;
111
+ transition: margin-left $site-nav-collapse-duration;
112
+ max-height: calc(100vh - #{$site-doc-header-height});
113
+ overflow: auto;
114
+
115
+ @include mobile-screen {
116
+ max-height: calc(100vh - #{$mobile-site-doc-header-height});
117
+ }
118
+
119
+ &.hidden {
120
+ margin-left: -100%;
121
+ }
122
+
123
+ li {
124
+ display: flex;
125
+ width: 100%;
126
+ padding: 0;
127
+ margin: 0;
128
+
129
+ .tod-container {
130
+ flex: 1;
131
+ padding-left: $site-padding;
132
+ &:hover {
133
+ @include hover-state-bg;
134
+ text-decoration: none;
135
+ .directory-item {
136
+ @include hover-state-text;
137
+ }
138
+ }
139
+ }
140
+
141
+ // TOD directory item
142
+ .directory-item {
143
+ color: $nav-text-color;
144
+ border-bottom: 1px inset $border-color;
145
+ padding: $med-spacing 0;
146
+ font-size: $nav-font-size;
147
+ padding-right: $small-spacing;
148
+ line-height: 1.5;
149
+ }
150
+
151
+ &:last-child {
152
+ margin-bottom: $large-spacing;
153
+ .directory-item {
154
+ border-bottom: none;
155
+ }
156
+ }
157
+ }
158
+ }
159
+ }
160
+
161
+ .contents {
162
+ box-sizing: border-box;
163
+ width: 100%;
164
+
165
+ ul.table-of-contents {
166
+ margin: 0;
167
+ padding: 0;
168
+ max-height: calc(100vh - #{$site-doc-header-height});
169
+ overflow: auto;
170
+
171
+ @include mobile-screen {
172
+ max-height: calc(100vh - #{$mobile-site-header-height});
173
+ }
174
+ }
175
+
176
+ ul,
177
+ li {
178
+ padding: 0;
179
+ list-style: none;
180
+ margin: 0;
181
+ display: block;
182
+ }
183
+ }
184
+
185
+ // If there is only one document
186
+ .contents.lonely {
187
+ .nav-branch {
188
+ .nav-link {
189
+ padding-left: $site-padding;
190
+ }
191
+ & .nav-branch {
192
+ margin-left: $site-padding;
193
+ // Align expanded sublinks to logo
194
+ padding-left: calc(#{$back-to-docs-width} - #{$site-padding} - 1px);
195
+ }
196
+ }
197
+ }
198
+
199
+ .nav-branch {
200
+ position: relative;
201
+ display: flex;
202
+
203
+ // Hide margin bottom for last child
204
+ &:last-child {
205
+ border-bottom: none;
206
+ margin-bottom: $large-spacing;
207
+ }
208
+
209
+ // Show sublinks if only page
210
+ &:only-child {
211
+ .nav-branch {
212
+ display: block;
213
+ }
214
+ }
215
+
216
+ .nav-link {
217
+ font-size: $nav-font-size;
218
+ padding-left: $large-spacing;
219
+ color: $nav-text-color;
220
+ display: block;
221
+
222
+ &:hover {
223
+ @include hover-state-text;
224
+ @include hover-state-bg;
225
+ }
226
+
227
+ // TOC directory item
228
+ .directory-item {
229
+ border-bottom: 1px solid $well-background-color;
230
+ padding: $spacing $large-spacing $spacing 0;
231
+ display: inline-block;
232
+ width: calc(100% - #{$large-spacing});
233
+ line-height: 1.5;
234
+ }
235
+ }
236
+
237
+ // Sub links
238
+ & .nav-branch {
239
+ display: none;
240
+ margin-left: $large-spacing;
241
+ padding-left: $large-spacing;
242
+
243
+ .nav-link {
244
+ border-left: 2px solid $well-background-color;
245
+ border-bottom: 1px solid $well-background-color;
246
+
247
+ &:hover,
248
+ &.selected {
249
+ font-weight: normal;
250
+ color: $primary-brand-color;
251
+ }
252
+
253
+ &.selected {
254
+ border-left: 2px solid $primary-brand-color;
255
+ }
256
+
257
+ .directory-item {
258
+ border-bottom: none;
259
+ }
260
+ }
261
+
262
+ &:last-child {
263
+ border-bottom: 1px solid $well-background-color;
264
+ margin-bottom: 0;
265
+
266
+ .nav-link {
267
+ border-bottom: none;
268
+ }
269
+ }
270
+ }
271
+
272
+ // Expanded main links
273
+ &.expanded {
274
+ & > .nav-link {
275
+ font-weight: bold;
276
+ color: $header-text-color;
277
+ }
278
+ & .nav-branch {
279
+ display: block;
280
+ }
281
+ }
282
+ }
283
+
284
+ .nav-header {
285
+ height: $mobile-site-header-height;
286
+ background-color: $search-box-background-color;
287
+ display: flex;
288
+ align-items: center;
289
+ justify-content: center;
290
+ width: calc(100% - #{$mobile-site-header-height});
291
+
292
+ // Splitting up header and main
293
+ position: fixed;
294
+ left: 100vw;
295
+ transition-duration: $site-nav-collapse-duration;
296
+ transition-timing-function: $site-nav-collapse-timing;
297
+ transition-property: left;
298
+ z-index: 1;
299
+
300
+ body.search-toggled &,
301
+ body.menu-toggled & {
302
+ left: 0;
303
+ }
304
+
305
+ @include desktop-screen {
306
+ border-bottom: 1px solid $divider-color;
307
+ width: 100%;
308
+ position: static;
309
+ height: $doc-header-height;
310
+ }
311
+
312
+ .search-filter {
313
+ border-radius: $base-border-radius;
314
+ background: $header-text-color;
315
+ color: white;
316
+ font-size: 9px;
317
+ flex: 0 0 auto;
318
+ max-width: 80px;
319
+ overflow: hidden;
320
+ text-overflow: ellipsis;
321
+ white-space: nowrap;
322
+ margin-left: $small-spacing;
323
+ padding: 5px;
324
+ cursor: pointer;
325
+
326
+ &.hidden {
327
+ display: none;
328
+ }
329
+
330
+ &:empty {
331
+ display: none;
332
+ }
333
+ }
334
+
335
+ // Children
336
+ .search-box {
337
+ width: 100%;
338
+ height: 100%;
339
+ display: flex;
340
+ flex-direction: row;
341
+ align-items: center;
342
+ font-size: $nav-font-size;
343
+ box-shadow: $site-nav-shadow-inset;
344
+
345
+ .search-icon-container {
346
+ background-color: $primary-brand-color;
347
+ height: 100%;
348
+ width: $back-to-docs-width;
349
+ min-width: $back-to-docs-width;
350
+ display: flex;
351
+ align-items: center;
352
+ justify-content: center;
353
+
354
+ .search-icon,
355
+ .close-icon {
356
+ height: 24px;
357
+ width: auto;
358
+ display: none;
359
+ @include mobile-only();
360
+ }
361
+
362
+ .search-icon:not(.mobile) {
363
+ height: 30px;
364
+ @include desktop-only();
365
+ }
366
+
367
+ @include mobile-screen {
368
+ cursor: pointer;
369
+ width: $mobile-site-header-height;
370
+ min-width: $mobile-site-header-height;
371
+ background-color: transparent;
372
+
373
+ body.menu-toggled & {
374
+ cursor: default;
375
+ .close-icon {
376
+ display: none;
377
+ }
378
+ }
379
+
380
+ body.search-toggled:not(.menu-toggled) & {
381
+ .close-icon {
382
+ display: block;
383
+ }
384
+ .search-icon {
385
+ display: none;
386
+ }
387
+ }
388
+ }
389
+ }
390
+
391
+ .clear-button {
392
+ height: 27px;
393
+ width: 27px;
394
+ min-width: 27px;
395
+ display: none;
396
+ align-items: center;
397
+ justify-content: center;
398
+ margin-right: $med-spacing;
399
+ background-color: $well-background-color;
400
+ border-radius: 50%;
401
+
402
+ .clear-icon {
403
+ display: block;
404
+ height: 13px;
405
+ width: 13px;
406
+ opacity: 0.5;
407
+ path {
408
+ fill: $header-text-color;
409
+ }
410
+ }
411
+ &:hover {
412
+ background-color: $divider-color;
413
+ .clear-icon {
414
+ opacity: 1;
415
+ }
416
+ }
417
+ }
418
+ &.focused {
419
+ background: white;
420
+ }
421
+
422
+ &.filled {
423
+ background: rgba(255, 255, 255, 0.75);
424
+ .clear-button {
425
+ display: flex;
426
+ cursor: pointer;
427
+ }
428
+ .search-input-container input {
429
+ opacity: 1;
430
+ }
431
+ }
432
+
433
+ .search-input-container {
434
+ display: flex;
435
+ flex-direction: column;
436
+ justify-content: center;
437
+ margin: 0;
438
+ padding-left: $large-spacing;
439
+ padding-right: $small-spacing;
440
+ flex: 1 1 0;
441
+ min-width: 0;
442
+ overflow: visible;
443
+
444
+ @include mobile-screen {
445
+ padding-left: 0;
446
+ }
447
+
448
+ .search-header {
449
+ font-size: 9px;
450
+ letter-spacing: 1.1px;
451
+ color: $header-text-color;
452
+ opacity: 0.7;
453
+ margin: 0;
454
+ margin-bottom: 2px;
455
+ text-transform: uppercase;
456
+
457
+ @include desktop-only();
458
+ }
459
+
460
+ input {
461
+ display: block;
462
+ min-width: 0;
463
+ border: none;
464
+ outline: none;
465
+ color: $primary-text-color;
466
+ opacity: 0.5;
467
+ padding: 0;
468
+ margin: 0;
469
+ // -webkit-font-smoothing: antialiased;
470
+ }
471
+ // Do not show the in-built X in IE
472
+ input::-ms-clear {
473
+ display: none;
474
+ }
475
+ input::placeholder {
476
+ color: $header-text-color;
477
+ opacity: 0.5;
478
+ }
479
+ input:disabled ~ .search-icon {
480
+ display: none;
481
+ }
482
+ }
483
+ }
484
+ }
485
+
486
+ .nav-main {
487
+ height: calc(100% - #{$mobile-site-header-height});
488
+ overflow: hidden; // prevent double scroll bar
489
+ background-color: $base-background-color;
490
+ overscroll-behavior: contain;
491
+
492
+ // Splitting up header and main
493
+ position: fixed;
494
+ bottom: 0;
495
+ left: 100vw;
496
+ transition-duration: $site-nav-collapse-duration;
497
+ transition-timing-function: $site-nav-collapse-timing;
498
+ transition-property: left;
499
+
500
+ @include mobile-screen {
501
+ width: 100%;
502
+ body.menu-toggled & {
503
+ left: 0;
504
+ }
505
+ }
506
+
507
+ @include desktop-screen {
508
+ position: static;
509
+ height: calc(100% - #{$doc-header-height});
510
+ border-right: 1px solid $divider-color;
511
+ box-shadow: $site-nav-shadow-inset;
512
+ }
513
+ }
514
+
515
+ // Search Results
516
+ .search-results {
517
+ background: white;
518
+ position: absolute;
519
+ left: $back-to-docs-width;
520
+ top: $doc-header-height;
521
+ width: calc(100% - #{$back-to-docs-width} - 2px); // account for border width
522
+ height: auto;
523
+ max-height: calc(100vh - #{$site-doc-header-height});
524
+ overflow: auto;
525
+ z-index: $search-results-z-index;
526
+ box-shadow: -5px 6px 10px 3px rgba(0, 0, 0, 0.15);
527
+ display: none;
528
+ border: 1px solid $divider-color;
529
+ border-top: none;
530
+
531
+ @include mobile-screen {
532
+ max-height: calc(100vh - #{$mobile-site-header-height});
533
+ top: $mobile-site-header-height;
534
+ left: 0;
535
+ width: 100vw;
536
+ }
537
+
538
+ &.visible {
539
+ display: block;
540
+ }
541
+
542
+ //not-found search results{
543
+ .not-found {
544
+ margin: $spacing;
545
+ }
546
+
547
+ .search-link {
548
+ border-bottom: 1px solid $divider-color;
549
+ display: flex;
550
+ padding: $med-spacing;
551
+ cursor: pointer;
552
+ user-select: none;
553
+ font-size: $base-font-size;
554
+
555
+ &.selected {
556
+ background-color: $well-background-color;
557
+ }
558
+
559
+ &:hover {
560
+ text-decoration: none;
561
+ background-color: $well-background-color;
562
+ }
563
+
564
+ &:last-child {
565
+ border-bottom: none;
566
+ margin-bottom: $large-spacing * 2;
567
+ }
568
+
569
+ p {
570
+ margin: 0;
571
+ }
572
+
573
+ .search-title {
574
+ font-size: 14px;
575
+ font-weight: bold;
576
+ margin-bottom: $spacing;
577
+ color: $header-text-color;
578
+ }
579
+
580
+ .search-subtitle {
581
+ font-size: 13px;
582
+ margin-bottom: 5px;
583
+ color: $header-text-color;
584
+ }
585
+
586
+ .search-content {
587
+ font-size: 13px;
588
+ color: $secondary-text-color;
589
+ }
590
+ }
591
+ }
592
+ }