Skip to content

Commit 9ace7e7

Browse files
authored
Allow multiple search engines (#2153)
1 parent fbdd2d1 commit 9ace7e7

File tree

18 files changed

+531
-122
lines changed

18 files changed

+531
-122
lines changed

assets/css/layout.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ body {
4545
}
4646

4747
.sidebar-button {
48-
padding: 26px 12px 18px 19px;
48+
padding: 20px 12px 18px 19px;
4949
position: fixed;
5050
z-index: 200;
5151
top: 0;

assets/css/search-bar.css

Lines changed: 105 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
.search-bar {
1919
border: 1px solid var(--searchBarBorder);
2020
border-radius: var(--borderRadius-base);
21-
height: 48px;
21+
height: 40px;
2222
position: relative;
2323
width: 100%;
2424
}
@@ -29,8 +29,8 @@
2929
border-radius: var(--borderRadius-base);
3030
color: var(--searchAccentMain);
3131
position: relative;
32-
height: 46px;
33-
padding: 8px 35px 8px 43px;
32+
height: 38px;
33+
padding: 8px 40px 8px 12px;
3434
width: 100%;
3535
transition: var(--transition-all);
3636
}
@@ -44,34 +44,112 @@
4444
border: 1px solid var(--searchBarFocusColor);
4545
border-radius: calc(var(--borderRadius-base) - 1px);
4646
position: relative;
47-
box-shadow: 0px 4px 20px 0px var(--searchBarBorderColor) inset;
4847
}
4948

5049
.top-search .search-bar .search-label {
5150
position: relative;
5251
}
5352

54-
.top-search .search-bar .search-button {
55-
font-size: var(--text-sm);
53+
.top-search .search-bar .search-input-wrapper {
54+
position: relative;
55+
display: flex;
56+
align-items: center;
57+
}
58+
59+
.top-search .search-settings .engine-selector {
60+
position: relative;
61+
}
62+
63+
.top-search .search-settings .engine-selector[data-multiple="false"] {
64+
display: none;
65+
}
66+
67+
.top-search .search-settings .engine-selector[data-multiple="false"] .engine-button {
68+
cursor: default;
69+
}
70+
71+
.top-search .search-settings .engine-selector[data-multiple="false"] .engine-button .ri-arrow-down-s-line {
72+
display: none;
73+
}
74+
75+
.top-search .search-settings .engine-button {
76+
display: flex;
77+
align-items: center;
78+
gap: 6px;
79+
background-color: var(--autocompleteHover);
80+
border: none;
5681
color: var(--searchAccentMain);
82+
cursor: pointer;
83+
font-size: var(--text-sm);
84+
padding: 8px 12px;
85+
border-radius: var(--borderRadius-base);
86+
transition: var(--transition-all);
87+
height: 40px;
88+
}
89+
90+
.top-search .search-settings .engine-button:hover {
91+
background-color: var(--autocompleteSelected);
92+
}
93+
94+
.top-search .search-settings .engine-button[aria-expanded="true"] {
95+
background-color: var(--autocompleteSelected);
96+
}
97+
98+
.top-search .search-settings .engine-name {
99+
font-size: var(--text-sm);
100+
white-space: nowrap;
101+
}
102+
103+
.top-search .search-settings .engine-dropdown {
104+
position: absolute;
105+
top: calc(100% + 4px);
106+
right: 0;
107+
min-width: 200px;
108+
background-color: var(--autocompleteBackground);
109+
border-radius: var(--borderRadius-base);
110+
box-shadow: 0px 8px 24px 0px var(--autocompleteBorder);
111+
padding: 4px;
112+
z-index: 200;
113+
}
114+
115+
.top-search .search-settings .engine-dropdown[hidden] {
116+
display: none;
117+
}
118+
119+
.top-search .search-settings .engine-option {
120+
display: block;
121+
width: 100%;
122+
text-align: left;
57123
background-color: transparent;
58124
border: none;
125+
border-radius: var(--borderRadius-base);
126+
color: var(--textHeaders);
59127
cursor: pointer;
60-
left: 11px;
61-
opacity: 0.5;
62-
padding: 5px 1px 5px 5px;
63-
position: absolute;
64-
top: 60%;
65-
transform: translateY(-60%);
66-
z-index: 99;
67-
transition: var(--transition-all);
128+
padding: 8px 12px;
129+
transition: var(--transition-colors);
130+
}
131+
132+
.top-search .search-settings .engine-option:hover,
133+
.top-search .search-settings .engine-option:focus {
134+
background-color: var(--autocompleteHover);
135+
outline: none;
136+
}
137+
138+
.top-search .search-settings .engine-option[aria-checked="true"] {
139+
background-color: var(--autocompleteSelected);
140+
}
141+
142+
.top-search .search-settings .engine-option .name {
143+
display: block;
144+
font-size: var(--text-sm);
145+
font-weight: 500;
146+
margin-bottom: 2px;
68147
}
69148

70-
.top-search .search-bar.selected .search-button,
71-
.top-search .search-bar .search-button:hover,
72-
.top-search .search-bar .search-button:focus {
73-
color: var(--top-searchLanguageAccentBar);
74-
opacity: 1;
149+
.top-search .search-settings .engine-option .help {
150+
display: block;
151+
font-size: var(--text-xs);
152+
opacity: 0.7;
75153
}
76154

77155
.top-search .search-bar .search-close-button {
@@ -80,15 +158,17 @@
80158
background-color: transparent;
81159
border: none;
82160
cursor: pointer;
83-
right: 11px;
84161
margin: 0;
85162
opacity: 0.5;
86-
padding: 5px 1px 5px 0;
87-
position: absolute;
163+
padding: 5px;
88164
transform: scaleY(0);
89-
top: calc(50% - 13px);
90165
transition: var(--transition-all);
91-
z-index: 99;
166+
display: flex;
167+
align-items: center;
168+
position: absolute;
169+
right: 0;
170+
top: 50%;
171+
transform: translateY(-50%) scaleY(0);
92172
}
93173

94174
.top-search .search-bar .search-close-button:hover {
@@ -138,7 +218,7 @@
138218
}
139219

140220
body.search-focused .search-bar .search-close-button {
141-
transform: scaleY(1);
221+
transform: translateY(-50%) scaleY(1);
142222
transition: var(--transition-all);
143223
}
144224

assets/css/search.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
}
4545

4646
#search .result {
47-
margin: 2em 0 2.5em;
47+
margin: 2em 0;
4848
}
4949

5050
#search .result p {

assets/css/sidebar.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
justify-content: start;
5252
align-items: center;
5353
gap: 8px;
54-
margin: 12px 34px 12px 14px;
54+
margin: 8px 34px 12px 14px;
5555
}
5656

5757
.sidebar .sidebar-projectInfo > div {

assets/js/handlebars/templates/autocomplete-suggestions.handlebars

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33
<div class="autocomplete-suggestions">
44
<div class="autocomplete-results">
55
<span class="query">
6-
Autocompletion results for <span class="bold">"{{term}}"</span>
6+
{{#if suggestions.length}}
7+
Autocompletion results within this project
8+
{{else}}
9+
No autocompletion results within this project
10+
{{/if}}
711
</span>
812
<span class="press-return">
913
Press <span class="bold">RETURN</span> for full-text search

0 commit comments

Comments
 (0)