Skip to content

Commit 0c4b83a

Browse files
committed
try to repro #4027
1 parent 1473c26 commit 0c4b83a

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

packages/react/src/SelectPanel/SelectPanel.examples.stories.tsx

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {SelectPanel} from './SelectPanel'
77
import type {OverlayProps} from '../Overlay'
88
import {TriangleDownIcon} from '@primer/octicons-react'
99
import {ActionList} from '../deprecated/ActionList'
10+
import {Stack} from '../Stack'
1011

1112
const meta = {
1213
title: 'Components/SelectPanel/Examples',
@@ -345,3 +346,37 @@ export const ItemsInScope = () => {
345346
</>
346347
)
347348
}
349+
350+
export const RepositionAfterLoading = () => {
351+
const [selected, setSelected] = React.useState<ItemInput[]>([items[0], items[1]])
352+
const [open, setOpen] = useState(false)
353+
const [filter, setFilter] = React.useState('')
354+
const filteredItems = items.filter(item => item.text.toLowerCase().startsWith(filter.toLowerCase()))
355+
const [loading, setLoading] = useState(true)
356+
357+
React.useEffect(() => {
358+
if (!open) setLoading(true)
359+
window.setTimeout(() => {
360+
if (open) setLoading(false)
361+
}, 2000)
362+
}, [open])
363+
364+
return (
365+
<>
366+
<Stack direction="vertical" justify="space-between" style={{height: 'calc(100vh - 300px)', width: 'fit-content'}}>
367+
<h1>Items in component scope</h1>
368+
<SelectPanel
369+
loading={loading}
370+
title="Select labels"
371+
placeholderText="Filter Labels"
372+
open={open}
373+
onOpenChange={setOpen}
374+
items={filteredItems}
375+
selected={selected}
376+
onSelectedChange={setSelected}
377+
onFilterChange={setFilter}
378+
/>
379+
</Stack>
380+
</>
381+
)
382+
}

0 commit comments

Comments
 (0)