|
1 | 1 | [data-theme='light'] .DocSearch { |
2 | 2 | /* --docsearch-primary-color: var(--ifm-color-primary); */ |
3 | 3 | /* --docsearch-text-color: var(--ifm-font-color-base); */ |
4 | | - --docsearch-muted-color: var(--general-gray-dark); |
| 4 | + --docsearch-muted-color: var(--general-gray-mid); |
5 | 5 | --docsearch-container-background: rgba(10, 10, 10, 0.9); |
6 | 6 | /* Modal */ |
7 | 7 | --docsearch-modal-background: var(--ifm-color-secondary-lighter); |
8 | 8 | /* Search box */ |
9 | 9 | --docsearch-searchbox-background: var(--ifm-color-secondary); |
10 | | - --docsearch-searchbox-focus-background: var(--ifm-color-white); |
| 10 | + --docsearch-searchbox-focus-background: var(--general-gray-light); |
11 | 11 | --docsearch-primary-color: var(--general-black); |
12 | 12 | --docsearch-searchbox-shadow: 0 0 0 0.2rem var(--docsearch-primary-color); |
13 | 13 | --docsearch-highlight-color: var(--general-black); |
|
17 | 17 | --docsearch-hit-background: var(--ifm-color-white); |
18 | 18 | /* Footer */ |
19 | 19 | --docsearch-footer-background: var(--ifm-color-white); |
| 20 | + |
| 21 | + // Light mode: keep text/icons dark; use a light highlight background for hover/selection. |
| 22 | + // We use !important here because DocSearch styles and our shared rules below |
| 23 | + // set a dark background for hover/selection. |
| 24 | + .DocSearch-Hit[aria-selected='true'] a, |
| 25 | + .DocSearch-Hit[aria-selected='false'] a:hover { |
| 26 | + background-color: var(--docsearch-hit-highlight-color) !important; |
| 27 | + color: var(--general-black) !important; |
| 28 | + } |
| 29 | + |
| 30 | + .DocSearch-Hit[aria-selected='true'] a :is(.DocSearch-Hit-title, .DocSearch-Hit-path, .DocSearch-Hit-text), |
| 31 | + .DocSearch-Hit[aria-selected='false'] a:hover :is(.DocSearch-Hit-title, .DocSearch-Hit-path, .DocSearch-Hit-text) { |
| 32 | + color: var(--general-black) !important; |
| 33 | + } |
20 | 34 | } |
21 | 35 |
|
22 | 36 | [data-theme='dark'] .DocSearch { |
23 | 37 | --docsearch-text-color: var(--ifm-font-color-base); |
24 | | - --docsearch-muted-color: var(--ifm-color-secondary-darkest); |
| 38 | + --docsearch-muted-color: var(--general-gray-mid); |
25 | 39 | --docsearch-container-background: rgba(10, 10, 10, 0.9); |
26 | 40 | /* Modal */ |
27 | 41 | --docsearch-modal-background: var(--general-gray-dark); |
|
46 | 60 |
|
47 | 61 | .DocSearch { |
48 | 62 | --docsearch-spacing: 1.2rem; |
49 | | - --docsearch-modal-width: 56rem; |
| 63 | + --docsearch-modal-width: 74.5rem; |
50 | 64 | --docsearch-modal-height: 60rem; |
51 | 65 | --docsearch-searchbox-height: 5.6rem; |
52 | 66 | --docsearch-footer-height: 4.4rem; |
53 | 67 |
|
| 68 | + .DocSearch-Button { |
| 69 | + border: 1px solid var(--docsearch-primary-color); |
| 70 | + background-color: var(--docsearch-searchbox-focus-background); |
| 71 | + box-shadow: 0 0 0 0.1rem var(--docsearch-primary-color); |
| 72 | + } |
| 73 | + |
| 74 | + .DocSearch-Button:hover { |
| 75 | + box-shadow: 0 0 0 0.2rem var(--docsearch-primary-color); |
| 76 | + } |
| 77 | + |
| 78 | + .DocSearch-Button:focus-visible { |
| 79 | + box-shadow: 0 0 0 0.3rem var(--docsearch-primary-color); |
| 80 | + } |
| 81 | + |
54 | 82 | .DocSearch-Modal { |
55 | 83 | border-radius: 0; |
56 | 84 | margin: 0; |
|
74 | 102 | border-radius: 0.4rem; |
75 | 103 | } |
76 | 104 |
|
| 105 | + // Make "Clear the query" less prominent: icon-only clear affordance. |
| 106 | + // Keeps the accessible label/title intact, but visually renders a small "×" icon. |
| 107 | + .DocSearch-Clear { |
| 108 | + font-size: 0; |
| 109 | + width: 2.8rem; |
| 110 | + height: 2.8rem; |
| 111 | + padding: 0; |
| 112 | + display: inline-flex; |
| 113 | + align-items: center; |
| 114 | + justify-content: center; |
| 115 | + color: transparent; |
| 116 | + } |
| 117 | + |
| 118 | + .DocSearch-Clear::before { |
| 119 | + content: ''; |
| 120 | + width: 1.6rem; |
| 121 | + height: 1.6rem; |
| 122 | + background-color: var(--docsearch-icon-color); |
| 123 | + -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6l1 2h5v2H3V5h5l1-2Zm1 6h2v10h-2V9Zm4 0h2v10h-2V9ZM7 9h2v10H7V9Zm-1 12h12a2 2 0 0 0 2-2V7H4v12a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E") no-repeat center / contain; |
| 124 | + mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3h6l1 2h5v2H3V5h5l1-2Zm1 6h2v10h-2V9Zm4 0h2v10h-2V9ZM7 9h2v10H7V9Zm-1 12h12a2 2 0 0 0 2-2V7H4v12a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E") no-repeat center / contain; |
| 125 | + } |
| 126 | + |
| 127 | + .DocSearch-Clear:hover::before { |
| 128 | + background-color: var(--docsearch-highlight-color); |
| 129 | + } |
| 130 | + |
77 | 131 | .DocSearch-Input { |
78 | 132 | font-size: 2rem; |
| 133 | + font-weight: 400; |
| 134 | + |
| 135 | + &::placeholder { |
| 136 | + color: var(--docsearch-muted-color); |
| 137 | + font-weight: 300; |
| 138 | + opacity: 0.75; |
| 139 | + } |
79 | 140 | } |
80 | 141 |
|
81 | 142 | .DocSearch-Help { |
|
100 | 161 | padding: 3.6rem 0; |
101 | 162 | } |
102 | 163 |
|
| 164 | + // No results: render the query on its own line to avoid overlap when wrapping |
| 165 | + .DocSearch-NoResults .DocSearch-Title { |
| 166 | + line-height: 1.2; |
| 167 | + } |
| 168 | + |
| 169 | + .DocSearch-NoResults .DocSearch-Title > strong { |
| 170 | + display: block; |
| 171 | + margin-top: 0.2em; |
| 172 | + line-height: 1.2; |
| 173 | + overflow-wrap: anywhere; |
| 174 | + word-break: break-word; |
| 175 | + } |
| 176 | + |
103 | 177 | .DocSearch-Dropdown { |
104 | 178 | margin-top: 0.2rem; |
105 | 179 | } |
|
137 | 211 |
|
138 | 212 | .DocSearch-Hit[aria-selected='true'] a { |
139 | 213 | background-color: var(--general-black); |
| 214 | + |
| 215 | + .DocSearch-Hit-title, |
| 216 | + .DocSearch-Hit-path { |
| 217 | + color: var(--docsearch-hit-active-color); |
| 218 | + } |
140 | 219 | } |
141 | 220 |
|
142 | 221 | .DocSearch-HitsFooter a { |
|
0 commit comments