@@ -4,14 +4,20 @@ import type { Selection as AriaSelection } from 'react-aria-components';
44
55import { Icon } from '@launchpad-ui/icons' ;
66import { useState } from 'react' ;
7+ import { useFilter } from 'react-aria-components' ;
78import { expect , fireEvent , userEvent , waitFor , within } from 'storybook/test' ;
89
10+ import { Autocomplete as AutocompleteComponent } from '../src/Autocomplete' ;
911import { Button } from '../src/Button' ;
12+ import { Group } from '../src/Group' ;
1013import { Header } from '../src/Header' ;
14+ import { IconButton } from '../src/IconButton' ;
15+ import { Input } from '../src/Input' ;
1116import { Keyboard } from '../src/Keyboard' ;
1217import { Menu , MenuItem , MenuTrigger , SubmenuTrigger } from '../src/Menu' ;
1318import { Popover } from '../src/Popover' ;
1419import { Pressable } from '../src/Pressable' ;
20+ import { SearchField } from '../src/SearchField' ;
1521import { MenuSection } from '../src/Section' ;
1622import { Separator } from '../src/Separator' ;
1723import { Text } from '../src/Text' ;
@@ -336,3 +342,59 @@ export const CustomTrigger: Story = {
336342 } ,
337343 ...open ,
338344} ;
345+
346+ export const Autocomplete : Story = {
347+ render : ( args ) => {
348+ const { contains } = useFilter ( { sensitivity : 'base' } ) ;
349+
350+ return (
351+ < MenuTrigger >
352+ < Button > Trigger</ Button >
353+ < Popover >
354+ < AutocompleteComponent filter = { contains } >
355+ < SearchField aria-label = "search" autoFocus >
356+ < Group >
357+ < Icon name = "search" size = "small" />
358+ < Input placeholder = "Search" />
359+ < IconButton
360+ icon = "cancel-circle-outline"
361+ aria-label = "clear"
362+ size = "small"
363+ variant = "minimal"
364+ />
365+ </ Group >
366+ </ SearchField >
367+ < Menu { ...args } >
368+ < MenuItem > Item one</ MenuItem >
369+ < MenuItem > Item two</ MenuItem >
370+ < MenuItem > Item three</ MenuItem >
371+ < SubmenuTrigger >
372+ < MenuItem > Item four</ MenuItem >
373+ < Popover >
374+ < AutocompleteComponent filter = { contains } >
375+ < SearchField aria-label = "search" autoFocus >
376+ < Group >
377+ < Icon name = "search" size = "small" />
378+ < Input placeholder = "Search" />
379+ < IconButton
380+ icon = "cancel-circle-outline"
381+ aria-label = "clear"
382+ size = "small"
383+ variant = "minimal"
384+ />
385+ </ Group >
386+ </ SearchField >
387+ < Menu { ...args } >
388+ < MenuItem > Item five</ MenuItem >
389+ < MenuItem > Item six</ MenuItem >
390+ </ Menu >
391+ </ AutocompleteComponent >
392+ </ Popover >
393+ </ SubmenuTrigger >
394+ </ Menu >
395+ </ AutocompleteComponent >
396+ </ Popover >
397+ </ MenuTrigger >
398+ ) ;
399+ } ,
400+ } ;
0 commit comments