Skip to content

Commit 5a8ede7

Browse files
committed
Remove preview feature
1 parent 4b5cb7d commit 5a8ede7

File tree

12 files changed

+215
-286
lines changed

12 files changed

+215
-286
lines changed

assets/css/_html.css

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
@import "print-cheatsheet.css";
3535
@import "makeup.css";
3636
@import "tabset.css";
37-
@import "preview.css";
3837

3938
body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],
4039
body.dark .content-inner img[src*="#gh-light-mode-only"] {

assets/css/autocomplete.css

Lines changed: 0 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -19,58 +19,6 @@
1919
background-color: transparent;
2020
}
2121

22-
.autocomplete-preview {
23-
width: 100%;
24-
margin: 0;
25-
height: 100%;
26-
line-height: 20px;
27-
background-color: var(--background);
28-
font-family: var(--sansFontFamily);
29-
border: 4px solid var(--autocompleteBorder);
30-
padding: 12px 16px;
31-
}
32-
33-
.autocomplete-preview div, .autocomplete-preview span {
34-
display: none;
35-
}
36-
37-
.autocomplete-preview.loading div {
38-
float: left;
39-
display: block;
40-
border: 5px solid var(--autocompleteBorder);
41-
border-radius: 50%;
42-
border-top: 5px solid var(--textDetailAccent);
43-
width: 20px;
44-
height: 20px;
45-
animation: spinner 4s linear infinite;
46-
}
47-
48-
.autocomplete-preview.loading span {
49-
color: var(--autocompleteResults);
50-
display: inline;
51-
margin-left: 6px;
52-
}
53-
54-
.autocomplete-preview.loading span:after {
55-
color: var(--autocompleteResults);
56-
content: "Loading";
57-
}
58-
59-
@keyframes spinner {
60-
0% { transform: rotate(0deg); }
61-
100% { transform: rotate(360deg); }
62-
}
63-
64-
.autocomplete-preview.loading iframe {
65-
height: 0;
66-
}
67-
68-
.autocomplete-preview iframe {
69-
width: 100%;
70-
height: 100%;
71-
border: 0;
72-
}
73-
7422
.autocomplete-results {
7523
list-style: none;
7624
margin: 0;
@@ -117,22 +65,6 @@
11765
scrollbar-width: thin;
11866
}
11967

120-
.autocomplete-suggestions.previewing:has(.selected) {
121-
max-height: 80vh;
122-
}
123-
124-
.autocomplete-suggestions.previewing:has(.selected) .autocomplete-suggestion:not(.selected) {
125-
display: none;
126-
}
127-
128-
.autocomplete-suggestions.previewing:not(:has(.selected)) .autocomplete-preview {
129-
display: none;
130-
}
131-
132-
.autocomplete-suggestions:not(.previewing) .autocomplete-preview {
133-
display: none;
134-
}
135-
13668
.autocomplete-suggestion {
13769
color: var(--textHeaders) !important;
13870
display: block;
@@ -153,49 +85,6 @@
15385
background-color: var(--autocompleteHover);
15486
}
15587

156-
.autocomplete-suggestion:not(.selected) .autocomplete-preview-indicator {
157-
display: none;
158-
}
159-
160-
.autocomplete-preview-indicator {
161-
float: right;
162-
}
163-
164-
.autocomplete-preview-indicator button {
165-
color: var(--iconAction);
166-
display: flex;
167-
align-items: center;
168-
text-decoration: none;
169-
border: 1px solid var(--suggestionBorder);
170-
border-radius: var(--borderRadius-base);
171-
transition: var(--transition-colors);
172-
background-color: var(--autocompletePreview);
173-
cursor: pointer;
174-
padding: 4px 8px;
175-
font-size: var(--text-sm);
176-
}
177-
178-
.autocomplete-preview-indicator button:hover {
179-
color: var(--iconActionHover);
180-
background-color: var(--autocompleteHover);
181-
}
182-
183-
.autocomplete-preview-indicator button i {
184-
margin-right: 4px;
185-
}
186-
187-
.autocomplete-suggestions.previewing .autocomplete-preview-indicator-closed {
188-
display: none;
189-
}
190-
191-
.autocomplete-suggestions:not(.previewing) .autocomplete-preview-indicator-open {
192-
display: none;
193-
}
194-
195-
.autocomplete-suggestion:hover:not(.selected) .autocomplete-preview-indicator-closed {
196-
display: block;
197-
}
198-
19988
.autocomplete-suggestion em {
20089
font-style: normal;
20190
font-weight: bold;
@@ -231,10 +120,6 @@
231120
}
232121

233122
@media screen and (hover: none) {
234-
.autocomplete-preview-indicator {
235-
display: none !important;
236-
}
237-
238123
.autocomplete-results .press-return {
239124
display: none !important;
240125
}

assets/css/preview.css

Lines changed: 0 additions & 24 deletions
This file was deleted.

assets/js/autocomplete/autocomplete-list.js

Lines changed: 0 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { getSuggestions } from './suggestions'
22
import { isBlank, qs } from '../helpers'
3-
import { currentTheme } from '../theme'
43
import autocompleteSuggestionsTemplate from '../handlebars/templates/autocomplete-suggestions.handlebars'
54

65
export const AUTOCOMPLETE_CONTAINER_SELECTOR = '.autocomplete'
@@ -9,7 +8,6 @@ export const AUTOCOMPLETE_SUGGESTION_SELECTOR = '.autocomplete-suggestion'
98

109
const state = {
1110
autocompleteSuggestions: [],
12-
previewOpen: false,
1311
selectedIdx: -1
1412
}
1513

@@ -84,17 +82,6 @@ export function moveAutocompleteSelection (offset) {
8482
setAutocompleteSelection(newAutocompleteIndex(offset))
8583
}
8684

87-
function handlePreviewMessage (event) {
88-
if (event.data.type === 'preview') {
89-
const { contentHeight } = event.data
90-
const previewContainer = qs('.autocomplete-preview')
91-
if (previewContainer) {
92-
previewContainer.style.height = `${contentHeight + 32}px`
93-
previewContainer.classList.remove('loading')
94-
}
95-
}
96-
}
97-
9885
export function setAutocompleteSelection (index) {
9986
state.selectedIdx = index
10087
const suggestionList = qs(AUTOCOMPLETE_SUGGESTION_LIST_SELECTOR)
@@ -106,77 +93,13 @@ export function setAutocompleteSelection (index) {
10693
}
10794

10895
if (elementToSelect) {
109-
if (state.previewOpen) {
110-
removePreview()
111-
window.addEventListener('message', handlePreviewMessage)
112-
suggestionList.classList.add('previewing')
113-
const newContainer = document.createElement('div')
114-
newContainer.classList.add('autocomplete-preview')
115-
newContainer.classList.add('loading')
116-
117-
const previewHref = elementToSelect.href.replace('.html', `.html?preview=true&theme=${currentTheme()}`)
118-
const iframe = document.createElement('iframe')
119-
iframe.setAttribute('src', previewHref)
120-
121-
newContainer.appendChild(document.createElement('div'))
122-
newContainer.appendChild(document.createElement('span'))
123-
newContainer.appendChild(iframe)
124-
elementToSelect.parentNode.insertBefore(newContainer, elementToSelect.nextSibling)
125-
}
126-
12796
elementToSelect.classList.add('selected')
12897
elementToSelect.scrollIntoView({ block: 'nearest' })
12998
} else {
13099
if (suggestionList) { suggestionList.scrollTop = 0 }
131100
}
132101
}
133102

134-
/**
135-
* Toggles the preview state of the autocomplete list
136-
*/
137-
export function togglePreview () {
138-
if (state.previewOpen) {
139-
hidePreview()
140-
} else {
141-
showPreview()
142-
}
143-
}
144-
145-
/**
146-
* Hides the preview state of the autocomplete list
147-
*/
148-
export function hidePreview () {
149-
state.previewOpen = false
150-
const suggestionList = qs(AUTOCOMPLETE_SUGGESTION_LIST_SELECTOR)
151-
if (suggestionList) { suggestionList.classList.remove('previewing') }
152-
removePreview()
153-
}
154-
155-
/**
156-
* Shows the preview state of the autocomplete list
157-
*/
158-
export function showPreview (elementToSelect) {
159-
state.previewOpen = true
160-
161-
if (elementToSelect) {
162-
elementToSelect = elementToSelect.closest(AUTOCOMPLETE_SUGGESTION_SELECTOR)
163-
} else {
164-
elementToSelect = qs(`${AUTOCOMPLETE_SUGGESTION_SELECTOR}[data-index="${state.selectedIdx}"]`)
165-
}
166-
167-
if (elementToSelect) {
168-
setAutocompleteSelection(parseInt(elementToSelect.dataset.index))
169-
}
170-
}
171-
172-
function removePreview () {
173-
const preview = qs('.autocomplete-preview')
174-
if (preview) {
175-
preview.remove()
176-
window.removeEventListener('message', handlePreviewMessage)
177-
}
178-
}
179-
180103
function newAutocompleteIndex (offset) {
181104
// Include the default first option with index -1
182105
const length = state.autocompleteSuggestions.length + 1

assets/js/entry/html.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
// Load preview & hint-page first because they could remove DOM.
1+
// Load hint-page first because it could remove DOM.
22
// This prevents later modules doing unnecessary work.
3-
import '../preview'
43
import '../tooltips/hint-page'
54
// The remaining modules are loaded in order of visible impact.
65
import '../theme'

assets/js/globals.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
const params = new URLSearchParams(window.location.search)
22
const isFrame = window.self !== window.parent
33

4-
export const isPreview = isFrame && params.has('preview')
54
export const isHint = isFrame && params.has('hint')
6-
export const isEmbedded = isPreview || isHint
5+
export const isEmbedded = isHint
76

87
// These variables are set by other scripts (e.g. generated by the docs task).
98

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

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
Autocompletion results for <span class="bold">"{{term}}"</span>
77
</span>
88
<span class="press-return">
9-
Press <span class="bold">RETURN</span> for full-text search, <span class="bold">TAB</span> for previews
9+
Press <span class="bold">RETURN</span> for full-text search
1010
</span>
1111
</div>
1212
<div>
@@ -22,18 +22,6 @@
2222
{{#each labels}}
2323
<span class="label">{{this}}</span>
2424
{{/each}}
25-
<div class="autocomplete-preview-indicator autocomplete-preview-indicator-open">
26-
<button onclick="onTogglePreviewClick(event, false)" title="Close preview" tabindex="-1">
27-
<i class="ri-close-line" aria-hidden="true"></i>
28-
Close preview
29-
</button>
30-
</div>
31-
<div class="autocomplete-preview-indicator autocomplete-preview-indicator-closed">
32-
<button onclick="onTogglePreviewClick(event, true)" title="Open preview" tabindex="-1">
33-
<i class="ri-search-2-line" aria-hidden="true"></i>
34-
Open preview
35-
</button>
36-
</div>
3725
</div>
3826

3927
{{#if description}}

assets/js/preview.js

Lines changed: 0 additions & 32 deletions
This file was deleted.

0 commit comments

Comments
 (0)