|
4 | 4 | import {Autocomplete, GridLayout, ListBox, ListBoxItem, Size, useFilter, Virtualizer} from 'react-aria-components'; |
5 | 5 | import CheckmarkCircle from '@react-spectrum/s2/icons/CheckmarkCircle'; |
6 | 6 | import Close from '@react-spectrum/s2/icons/Close'; |
7 | | -import {Content, Heading, IllustratedMessage, pressScale, SearchField, Skeleton, Text} from '@react-spectrum/s2'; |
| 7 | +import {Content, Heading, IllustratedMessage, pressScale, SearchField, Skeleton, Text, UNSTABLE_ToastQueue as ToastQueue} from '@react-spectrum/s2'; |
8 | 8 | import {focusRing, iconStyle, style} from '@react-spectrum/s2/style' with {type: 'macro'}; |
9 | 9 | import {iconAliases} from './iconAliases.js'; |
10 | 10 | // @ts-ignore |
@@ -50,7 +50,7 @@ export function useCopyImport() { |
50 | 50 | setCopiedId(id); |
51 | 51 | timeout.current = setTimeout(() => setCopiedId(null), 2000); |
52 | 52 | }).catch(() => { |
53 | | - // noop |
| 53 | + ToastQueue.negative('Failed to copy import statement.'); |
54 | 54 | }); |
55 | 55 | }, []); |
56 | 56 |
|
@@ -124,16 +124,17 @@ const itemStyle = style({ |
124 | 124 | }); |
125 | 125 |
|
126 | 126 | interface IconSearchViewProps { |
127 | | - filteredItems: typeof iconList |
| 127 | + filteredItems: typeof iconList, |
| 128 | + listBoxClassName?: string |
128 | 129 | } |
129 | 130 |
|
130 | | -export function IconSearchView({filteredItems}: IconSearchViewProps) { |
| 131 | +export function IconSearchView({filteredItems, listBoxClassName}: IconSearchViewProps) { |
131 | 132 | let {copiedId, handleCopyImport} = useCopyImport(); |
132 | 133 |
|
133 | 134 | return ( |
134 | 135 | <> |
135 | 136 | <CopyInfoMessage /> |
136 | | - <IconListBox items={filteredItems} copiedId={copiedId} onAction={handleCopyImport} /> |
| 137 | + <IconListBox items={filteredItems} copiedId={copiedId} onAction={handleCopyImport} listBoxClassName={listBoxClassName} /> |
137 | 138 | </> |
138 | 139 | ); |
139 | 140 | } |
@@ -218,7 +219,7 @@ export function IconSearchSkeleton() { |
218 | 219 | <ListBox |
219 | 220 | items={mockItems} |
220 | 221 | layout="grid" |
221 | | - className={style({width: '100%', scrollPaddingY: 4, overflow: 'auto'})}> |
| 222 | + className={style({flexGrow: 1, overflow: 'auto', width: '100%', scrollPaddingY: 4})}> |
222 | 223 | {(item) => <SkeletonIconItem item={item} />} |
223 | 224 | </ListBox> |
224 | 225 | </Virtualizer> |
|
0 commit comments