UNPKG

react-google-places-autocomplete

Version:
45 lines 2.28 kB
var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; import React, { forwardRef, useImperativeHandle } from 'react'; import AsyncSelect from 'react-select/async'; import usePlacesService from './hooks/use-places-service'; import useFetchSuggestions from './hooks/use-fetch-suggestions'; var GooglePlacesAutocomplete = function (args, ref) { var _a, _b, _c, _d, _e, _f, _g, _h; var _j = usePlacesService({ apiKey: (_a = args.apiKey) !== null && _a !== void 0 ? _a : '', apiOptions: (_b = args.apiOptions) !== null && _b !== void 0 ? _b : {}, onLoadFailed: (_c = args.onLoadFailed) !== null && _c !== void 0 ? _c : console.error, }), placesService = _j.placesService, sessionToken = _j.sessionToken, setSessionToken = _j.setSessionToken; var fetchSuggestions = useFetchSuggestions({ autocompletionRequest: (_d = args.autocompletionRequest) !== null && _d !== void 0 ? _d : {}, debounce: (_e = args.debounce) !== null && _e !== void 0 ? _e : 300, minLengthAutocomplete: (_f = args.minLengthAutocomplete) !== null && _f !== void 0 ? _f : 0, placesService: placesService, sessionToken: sessionToken, withSessionToken: (_g = args.withSessionToken) !== null && _g !== void 0 ? _g : false, }); useImperativeHandle(ref, function () { return ({ getSessionToken: function () { return sessionToken; }, refreshSessionToken: function () { setSessionToken(new google.maps.places.AutocompleteSessionToken()); } }); }, [sessionToken]); return (React.createElement(AsyncSelect, __assign({}, (_h = args.selectProps) !== null && _h !== void 0 ? _h : {}, { loadOptions: fetchSuggestions, getOptionValue: function (_a) { var value = _a.value; return value.place_id; } }))); }; export default forwardRef(GooglePlacesAutocomplete); //# sourceMappingURL=google-places-autocomplete.js.map