Skip to content

Commit 61dbfeb

Browse files
committed
feat: add test page for long lists
1 parent 51843f3 commit 61dbfeb

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
import React, { useState } from 'react';
5+
6+
import { SpaceBetween } from '~components';
7+
import Select, { SelectProps } from '~components/select';
8+
9+
import ScreenshotArea from '../utils/screenshot-area';
10+
11+
const options: SelectProps.Options = Array.from({ length: 1000 }, (_, i) => ({
12+
value: `${i}`,
13+
label: `Option ${i + 1}`,
14+
}));
15+
16+
export default function () {
17+
const [selected, setSelected] = useState<SelectProps['selectedOption']>(null);
18+
19+
return (
20+
<>
21+
<h1>Virtual Scroll</h1>
22+
23+
<ScreenshotArea
24+
style={{
25+
height: 500,
26+
// Prevents dropdown from expanding outside of the screenshot area
27+
overflow: 'auto',
28+
}}
29+
>
30+
<SpaceBetween size="s">
31+
<Select
32+
placeholder="Demo with manual filtering"
33+
selectedOption={selected}
34+
options={options}
35+
filteringType="auto"
36+
finishedText="End of all results"
37+
onChange={event => setSelected(event.detail.selectedOption)}
38+
virtualScroll={true}
39+
expandToViewport={false}
40+
ariaLabel="select demo"
41+
data-testid="select-demo"
42+
/>
43+
</SpaceBetween>
44+
</ScreenshotArea>
45+
</>
46+
);
47+
}

0 commit comments

Comments
 (0)