@@ -42,6 +42,9 @@ const meta: Meta< typeof Autocomplete.Root > = {
4242 'Autocomplete.Status' : Autocomplete . Status ,
4343 'Autocomplete.Clear' : Autocomplete . Clear ,
4444 } ,
45+ argTypes : {
46+ onValueChange : { action : 'onValueChange' } ,
47+ } ,
4548 parameters : {
4649 componentStatus : {
4750 status : 'recommended' ,
@@ -102,14 +105,15 @@ export const OpenOnlyOnMatch: Story = {
102105 onOpenChange = { ( nextOpen ) => {
103106 setOpen ( nextOpen && filteredItems . length > 0 ) ;
104107 } }
105- onValueChange = { ( value ) => {
108+ onValueChange = { ( value , ... changeArgs ) => {
106109 const matches = URLS . filter ( ( bookmark ) =>
107110 bookmark . value
108111 . toLowerCase ( )
109112 . includes ( value . toLowerCase ( ) )
110113 ) ;
111114 setFilteredItems ( matches ) ;
112115 setOpen ( value . length > 0 && matches . length > 0 ) ;
116+ args . onValueChange ?.( value , ...changeArgs ) ;
113117 } }
114118 filteredItems = { filteredItems }
115119 >
@@ -168,7 +172,7 @@ export const AsyncItems: Story = {
168172 { ...args }
169173 items = { results }
170174 value = { query }
171- onValueChange = { ( newValue ) => {
175+ onValueChange = { ( newValue , ... changeArgs ) => {
172176 setQuery ( newValue ) ;
173177 setLoading ( true ) ;
174178 setResults ( [ ] ) ;
@@ -183,6 +187,7 @@ export const AsyncItems: Story = {
183187 ) ;
184188 setLoading ( false ) ;
185189 } , 500 ) ;
190+ args . onValueChange ?.( newValue , ...changeArgs ) ;
186191 } }
187192 >
188193 < Autocomplete . Input
@@ -250,7 +255,10 @@ export const Inline: Story = {
250255 < Autocomplete . Root
251256 { ...args }
252257 value = { value }
253- onValueChange = { setValue }
258+ onValueChange = { ( newValue , ...changeArgs ) => {
259+ setValue ( newValue ) ;
260+ args . onValueChange ?.( newValue , ...changeArgs ) ;
261+ } }
254262 >
255263 < Autocomplete . Input
256264 aria-label = "Command"
@@ -332,7 +340,7 @@ export const WithSearchIconAndClearButton: Story = {
332340 * Experimental: Inline autocomplete triggered by `@`.
333341 */
334342export const InlineMentionAutocomplete : Story = {
335- render : function Template ( ) {
343+ render : function Template ( args ) {
336344 const inputRef = useRef < HTMLInputElement > ( null ) ;
337345 const [ value , setValue ] = useState ( '' ) ;
338346 const [ open , setOpen ] = useState ( false ) ;
@@ -417,7 +425,10 @@ export const InlineMentionAutocomplete: Story = {
417425 < Autocomplete . Root
418426 items = { USERS }
419427 value = { value }
420- onValueChange = { handleValueChange }
428+ onValueChange = { ( newValue , ...changeArgs ) => {
429+ handleValueChange ( newValue , ...changeArgs ) ;
430+ args . onValueChange ?.( newValue , ...changeArgs ) ;
431+ } }
421432 filteredItems = { filteredItems }
422433 open = { open }
423434 onOpenChange = { ( nextOpen ) => {
0 commit comments