'use client';
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
import { useSearchParams as useNextSearchParams } from 'next/navigation.js';
import * as qs from 'qs-esm';
import React, { createContext, use } from 'react';
const initialContext = {
    searchParams: {},
    stringifyParams: ()=>''
};
const Context = /*#__PURE__*/ createContext(initialContext);
/**
 * @deprecated
 * The SearchParamsProvider is deprecated and will be removed in the next major release. Instead, use the `useSearchParams` hook from `next/navigation` directly. See https://github.com/payloadcms/payload/pull/9581.
 * @example
 * ```tsx
 * import { useSearchParams } from 'next/navigation'
 * ```
 */ export const SearchParamsProvider = ({ children })=>{
    const nextSearchParams = useNextSearchParams();
    const searchString = nextSearchParams.toString();
    const searchParams = React.useMemo(()=>qs.parse(searchString, {
            depth: 10,
            ignoreQueryPrefix: true
        }), [
        searchString
    ]);
    const stringifyParams = React.useCallback(({ params, replace = false })=>{
        return qs.stringify({
            ...replace ? {} : searchParams,
            ...params
        }, {
            addQueryPrefix: true
        });
    }, [
        searchParams
    ]);
    return /*#__PURE__*/ _jsxDEV(Context, {
        value: {
            searchParams,
            stringifyParams
        },
        children: children
    }, void 0, false, {
        fileName: "src/providers/SearchParams/index.tsx",
        lineNumber: 53,
        columnNumber: 10
    }, this);
};
/**
 * @deprecated
 * The `useSearchParams` hook is deprecated and will be removed in the next major release. Instead, use the `useSearchParams` hook from `next/navigation` directly. See https://github.com/payloadcms/payload/pull/9581.
 * @example
 * ```tsx
 * import { useSearchParams } from 'next/navigation'
 * ```
 * If you need to parse the `where` query, you can do so with the `parseSearchParams` utility.
 * ```tsx
 * import { parseSearchParams } from '@payloadcms/ui'
 * const parsedSearchParams = parseSearchParams(searchParams)
 * ```
 */ export const useSearchParams = ()=>use(Context);

//# sourceMappingURL=index.js.map