Skip to content

Commit 2971aae

Browse files
authored
fix(docs): S2 docs search menu view transitions (#9194)
1 parent 902fd02 commit 2971aae

File tree

4 files changed

+12
-11
lines changed

4 files changed

+12
-11
lines changed

packages/dev/s2-docs/src/Header.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,10 +153,8 @@ export default function Header(props: PageProps) {
153153
aria-controls={searchOpen ? searchMenuId : undefined}
154154
href={homepage}
155155
onKeyDown={handleActionButtonKeyDown}
156-
// @ts-ignore
157-
// onHoverStart={() => preloadSearchMenu()}
158156
ref={ref}
159-
style={pressScale(ref)}
157+
style={pressScale(ref, {visibility: searchOpen ? 'hidden' : 'visible'})}
160158
className={renderProps => libraryStyles({...renderProps})}>
161159
<div className={style({display: 'flex', alignItems: 'center'})}>
162160
<div className={style({marginTop: 4})} style={{viewTransitionName: !searchOpen ? 'search-menu-icon' : 'none'} as CSSProperties}>

packages/dev/s2-docs/src/SearchMenu.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ interface SearchMenuProps {
5656
currentPage: Page,
5757
onClose: () => void,
5858
overlayId?: string,
59-
initialSearchValue: string
59+
initialSearchValue: string,
60+
isSearchOpen: boolean
6061
}
6162

6263
function CloseButton({onClose}: {onClose: () => void}) {
@@ -72,7 +73,7 @@ function CloseButton({onClose}: {onClose: () => void}) {
7273
}
7374

7475
export function SearchMenu(props: SearchMenuProps) {
75-
let {pages, currentPage, onClose, overlayId} = props;
76+
let {pages, currentPage, onClose, overlayId, isSearchOpen} = props;
7677

7778
const currentLibrary = getLibraryFromPage(currentPage);
7879
let [selectedLibrary, setSelectedLibrary] = useState<Library>(currentLibrary);
@@ -258,11 +259,11 @@ export function SearchMenu(props: SearchMenuProps) {
258259
{orderedTabs.map((tab, i) => (
259260
<Tab key={tab.id} id={tab.id}>
260261
<div className={style({display: 'flex', gap: 12, marginTop: 4})}>
261-
<div style={{viewTransitionName: i === 0 ? 'search-menu-icon' : 'none'} as CSSProperties}>
262+
<div style={{viewTransitionName: (i === 0 && isSearchOpen) ? 'search-menu-icon' : 'none'} as CSSProperties}>
262263
{tab.icon}
263264
</div>
264265
<div>
265-
<span style={{viewTransitionName: i === 0 ? 'search-menu-label' : 'none'} as CSSProperties} className={style({font: 'ui-2xl'})}>
266+
<span style={{viewTransitionName: (i === 0 && isSearchOpen) ? 'search-menu-label' : 'none'} as CSSProperties} className={style({font: 'ui-2xl'})}>
266267
{tab.label}
267268
</span>
268269
<div className={style({fontSize: 'ui-sm'})}>{tab.description}</div>
@@ -289,7 +290,7 @@ export function SearchMenu(props: SearchMenuProps) {
289290
size="L"
290291
aria-label={`Search ${tab.label}`}
291292
placeholder={placeholderText}
292-
UNSAFE_style={{marginInlineEnd: 296, viewTransitionName: i === 0 ? 'search-menu-search-field' : 'none'} as CSSProperties}
293+
UNSAFE_style={{marginInlineEnd: 296, viewTransitionName: (i === 0 && isSearchOpen) ? 'search-menu-search-field' : 'none'} as CSSProperties}
293294
styles={style({width: 500})} />
294295
</div>
295296

packages/dev/s2-docs/src/SearchMenuTrigger.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ export default function SearchMenuTrigger({onOpen, onClose, isSearchOpen, overla
172172
isFocusVisible: 2
173173
}
174174
})({isHovered, isFocusVisible})}
175-
style={{viewTransitionName: !isSearchOpen ? 'search-menu-search-field' : 'none'} as CSSProperties}>
175+
style={{viewTransitionName: !isSearchOpen ? 'search-menu-search-field' : 'none', visibility: isSearchOpen ? 'hidden' : 'visible'} as CSSProperties}>
176176
<Search
177177
UNSAFE_className={String(style({
178178
size: fontRelative(20),
@@ -206,7 +206,8 @@ export default function SearchMenuTrigger({onOpen, onClose, isSearchOpen, overla
206206
currentPage={props.currentPage}
207207
onClose={onClose}
208208
overlayId={overlayId}
209-
initialSearchValue={initialSearchValue} />
209+
initialSearchValue={initialSearchValue}
210+
isSearchOpen={isSearchOpen} />
210211
</Modal>
211212
</ModalOverlay>
212213
</div>

packages/dev/s2-docs/src/SearchMenuWrapper.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@ export default function SearchMenuWrapper({pages, currentPage}) {
9797
pages={pages}
9898
currentPage={currentPage}
9999
onClose={closeSearchMenu}
100-
initialSearchValue="" />
100+
initialSearchValue=""
101+
isSearchOpen={searchOpen} />
101102
</Modal>
102103
</ModalOverlay>
103104
</DialogTrigger>

0 commit comments

Comments
 (0)