1
1
import {
2
2
AutocompleteApi as AutocompleteCoreApi ,
3
+ AutocompleteEnvironment ,
3
4
AutocompleteScopeApi ,
4
5
BaseItem ,
5
6
} from '@algolia/autocomplete-core' ;
6
7
7
- import { createDomElement } from './createDomElement' ;
8
8
import { ClearIcon , Input , LoadingIcon , SearchIcon } from './elements' ;
9
+ import { getCreateDomElement } from './getCreateDomElement' ;
9
10
import {
10
11
AutocompleteClassNames ,
11
12
AutocompleteDom ,
@@ -18,6 +19,7 @@ type CreateDomProps<TItem extends BaseItem> = {
18
19
autocomplete : AutocompleteCoreApi < TItem > ;
19
20
autocompleteScopeApi : AutocompleteScopeApi < TItem > ;
20
21
classNames : AutocompleteClassNames ;
22
+ environment : AutocompleteEnvironment ;
21
23
isDetached : boolean ;
22
24
placeholder ?: string ;
23
25
propGetters : AutocompletePropGetters < TItem > ;
@@ -29,12 +31,15 @@ export function createAutocompleteDom<TItem extends BaseItem>({
29
31
autocomplete,
30
32
autocompleteScopeApi,
31
33
classNames,
34
+ environment,
32
35
isDetached,
33
36
placeholder = 'Search' ,
34
37
propGetters,
35
38
setIsModalOpen,
36
39
state,
37
40
} : CreateDomProps < TItem > ) : AutocompleteDom {
41
+ const createDomElement = getCreateDomElement ( environment ) ;
42
+
38
43
const rootProps = propGetters . getRootProps ( {
39
44
state,
40
45
props : autocomplete . getRootProps ( { } ) ,
@@ -68,7 +73,7 @@ export function createAutocompleteDom<TItem extends BaseItem>({
68
73
class : classNames . submitButton ,
69
74
type : 'submit' ,
70
75
title : 'Submit' ,
71
- children : [ SearchIcon ( { } ) ] ,
76
+ children : [ SearchIcon ( { environment } ) ] ,
72
77
} ) ;
73
78
const label = createDomElement ( 'label' , {
74
79
class : classNames . label ,
@@ -79,15 +84,16 @@ export function createAutocompleteDom<TItem extends BaseItem>({
79
84
class : classNames . clearButton ,
80
85
type : 'reset' ,
81
86
title : 'Clear' ,
82
- children : [ ClearIcon ( { } ) ] ,
87
+ children : [ ClearIcon ( { environment } ) ] ,
83
88
} ) ;
84
89
const loadingIndicator = createDomElement ( 'div' , {
85
90
class : classNames . loadingIndicator ,
86
- children : [ LoadingIcon ( { } ) ] ,
91
+ children : [ LoadingIcon ( { environment } ) ] ,
87
92
} ) ;
88
93
89
94
const input = Input ( {
90
95
class : classNames . input ,
96
+ environment,
91
97
state,
92
98
getInputProps : propGetters . getInputProps ,
93
99
getInputPropsCore : autocomplete . getInputProps ,
@@ -142,7 +148,7 @@ export function createAutocompleteDom<TItem extends BaseItem>({
142
148
if ( isDetached ) {
143
149
const detachedSearchButtonIcon = createDomElement ( 'div' , {
144
150
class : classNames . detachedSearchButtonIcon ,
145
- children : [ SearchIcon ( { } ) ] ,
151
+ children : [ SearchIcon ( { environment } ) ] ,
146
152
} ) ;
147
153
const detachedSearchButtonPlaceholder = createDomElement ( 'div' , {
148
154
class : classNames . detachedSearchButtonPlaceholder ,
0 commit comments