"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = require("react"); var getValue = function (search, param) { return new URLSearchParams(search).get(param); }; var useSearchParam = function (param) { var location = window.location; var _a = react_1.useState(function () { return getValue(location.search, param); }), value = _a[0], setValue = _a[1]; react_1.useEffect(function () { var onChange = function () { setValue(getValue(location.search, param)); }; window.addEventListener('popstate', onChange); window.addEventListener('pushstate', onChange); window.addEventListener('replacestate', onChange); return function () { window.removeEventListener('popstate', onChange); window.removeEventListener('pushstate', onChange); window.removeEventListener('replacestate', onChange); }; }, []); return value; }; var useSearchParamServer = function () { return null; }; exports.default = typeof window === 'object' ? useSearchParam : useSearchParamServer;