@@ -13,6 +13,7 @@ import { renderTemplate } from './renderTemplate';
1313import {
1414 AutocompleteClassNames ,
1515 AutocompleteDom ,
16+ AutocompletePropGetters ,
1617 AutocompleteRenderer ,
1718 AutocompleteState ,
1819} from './types' ;
@@ -22,12 +23,14 @@ type RenderProps<TItem extends BaseItem> = {
2223 state : AutocompleteState < TItem > ;
2324 classNames : Partial < AutocompleteClassNames > ;
2425 panelRoot : HTMLElement ;
25- } & AutocompleteCoreApi < TItem > &
26- AutocompleteDom ;
26+ autocomplete : AutocompleteCoreApi < TItem > ;
27+ } & AutocompleteDom &
28+ AutocompletePropGetters < TItem > ;
2729
2830export function render < TItem extends BaseItem > (
2931 renderer : AutocompleteRenderer < TItem > ,
3032 {
33+ autocomplete,
3134 state,
3235 getRootProps,
3336 getInputProps,
@@ -43,8 +46,18 @@ export function render<TItem extends BaseItem>(
4346 panel,
4447 } : RenderProps < TItem >
4548) : ( ) => void {
46- setPropertiesWithoutEvents ( root , getRootProps ( { } ) ) ;
47- setPropertiesWithoutEvents ( input , getInputProps ( { inputElement : input } ) ) ;
49+ setPropertiesWithoutEvents (
50+ root ,
51+ getRootProps ( { state, props : autocomplete . getRootProps ( { } ) } )
52+ ) ;
53+ setPropertiesWithoutEvents (
54+ input ,
55+ getInputProps ( {
56+ state,
57+ props : autocomplete . getInputProps ( { inputElement : input } ) ,
58+ inputElement : input ,
59+ } )
60+ ) ;
4861 setPropertiesWithoutEvents ( resetButton , { hidden : ! state . query } ) ;
4962 setProperties ( submitButton , { hidden : state . status === 'stalled' } ) ;
5063 setProperties ( loadingIndicator , { hidden : state . status !== 'stalled' } ) ;
@@ -88,14 +101,17 @@ export function render<TItem extends BaseItem>(
88101 if ( items . length > 0 ) {
89102 const listElement = SourceList ( {
90103 classNames,
91- ...getListProps ( ) ,
104+ ...getListProps ( { state , props : autocomplete . getListProps ( { } ) } ) ,
92105 } ) ;
93106 const listFragment = document . createDocumentFragment ( ) ;
94107
95108 items . forEach ( ( item ) => {
96109 const itemElement = SourceItem ( {
97110 classNames,
98- ...getItemProps ( { item, source } ) ,
111+ ...getItemProps ( {
112+ state,
113+ props : autocomplete . getItemProps ( { item, source } ) ,
114+ } ) ,
99115 } ) ;
100116
101117 renderTemplate ( {
0 commit comments