@@ -52,7 +52,6 @@ function usePlacesWidget(props) {
5252 var inputRef = ( 0 , _react . useRef ) ( null ) ;
5353 var event = ( 0 , _react . useRef ) ( null ) ;
5454 var autocompleteRef = ( 0 , _react . useRef ) ( null ) ;
55- var observerHack = ( 0 , _react . useRef ) ( null ) ;
5655 var languageQueryParam = language ? "&language=" . concat ( language ) : "" ;
5756 var googleMapsScriptUrl = "" . concat ( googleMapsScriptBaseUrl , "?libraries=" ) . concat ( libraries , "&key=" ) . concat ( apiKey ) . concat ( languageQueryParam ) ;
5857 var handleLoadScript = ( 0 , _react . useCallback ) ( function ( ) {
@@ -103,21 +102,22 @@ function usePlacesWidget(props) {
103102 } , [ ] ) ; // Autofill workaround adapted from https://stackoverflow.com/questions/29931712/chrome-autofill-covers-autocomplete-for-google-maps-api-v3/49161445#49161445
104103
105104 ( 0 , _react . useEffect ) ( function ( ) {
106- var _React$version ;
107-
108105 // TODO find out why react 18(strict mode) hangs the page loading
109- if ( ! ( _react . default !== null && _react . default !== void 0 && ( _React$version = _react . default . version ) !== null && _React$version !== void 0 && _React$version . startsWith ( "18" ) ) && _utils . isBrowser && window . MutationObserver && inputRef . current && inputRef . current instanceof HTMLInputElement ) {
110- observerHack . current = new MutationObserver ( function ( ) {
111- observerHack . current . disconnect ( ) ;
106+ if ( _utils . isBrowser && window . MutationObserver && inputRef . current && inputRef . current instanceof HTMLInputElement ) {
107+ var observerHack = new MutationObserver ( function ( ) {
108+ observerHack . disconnect ( ) ;
112109
113110 if ( inputRef . current ) {
114111 inputRef . current . autocomplete = inputAutocompleteValue ;
115112 }
116113 } ) ;
117- observerHack . current . observe ( inputRef . current , {
114+ observerHack . observe ( inputRef . current , {
118115 attributes : true ,
119116 attributeFilter : [ "autocomplete" ]
120117 } ) ;
118+ return function ( ) {
119+ observerHack . disconnect ( ) ; // Cleanup
120+ } ;
121121 }
122122 } , [ inputAutocompleteValue ] ) ;
123123 ( 0 , _react . useEffect ) ( function ( ) {
0 commit comments