UNPKG

next

Version:

The React Framework

76 lines (74 loc) 3.86 kB
'use client'; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "ClientPageRoot", { enumerable: true, get: function() { return ClientPageRoot; } }); const _jsxruntime = require("react/jsx-runtime"); const _invarianterror = require("../../shared/lib/invariant-error"); const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime"); const _react = require("react"); const _routeparams = require("../route-params"); const _hooksclientcontextsharedruntime = require("../../shared/lib/hooks-client-context.shared-runtime"); function ClientPageRoot({ Component, serverProvidedParams }) { let searchParams; let params; if (serverProvidedParams !== null) { searchParams = serverProvidedParams.searchParams; params = serverProvidedParams.params; } else { // When Cache Components is enabled, the server does not pass the params as // props; they are parsed on the client and passed via context. const layoutRouterContext = (0, _react.use)(_approutercontextsharedruntime.LayoutRouterContext); params = layoutRouterContext !== null ? layoutRouterContext.parentParams : {}; // This is an intentional behavior change: when Cache Components is enabled, // client segments receive the "canonical" search params, not the // rewritten ones. Users should either call useSearchParams directly or pass // the rewritten ones in from a Server Component. // TODO: Log a deprecation error when this object is accessed searchParams = (0, _routeparams.urlSearchParamsToParsedUrlQuery)((0, _react.use)(_hooksclientcontextsharedruntime.SearchParamsContext)); } if (typeof window === 'undefined') { const { workAsyncStorage } = require('../../server/app-render/work-async-storage.external'); let clientSearchParams; let clientParams; // We are going to instrument the searchParams prop with tracking for the // appropriate context. We wrap differently in prerendering vs rendering const store = workAsyncStorage.getStore(); if (!store) { throw Object.defineProperty(new _invarianterror.InvariantError('Expected workStore to exist when handling searchParams in a client Page.'), "__NEXT_ERROR_CODE", { value: "E564", enumerable: false, configurable: true }); } const { createSearchParamsFromClient } = require('../../server/request/search-params'); clientSearchParams = createSearchParamsFromClient(searchParams, store); const { createParamsFromClient } = require('../../server/request/params'); clientParams = createParamsFromClient(params, store); return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, { params: clientParams, searchParams: clientSearchParams }); } else { const { createRenderSearchParamsFromClient } = require('../request/search-params.browser'); const clientSearchParams = createRenderSearchParamsFromClient(searchParams); const { createRenderParamsFromClient } = require('../request/params.browser'); const clientParams = createRenderParamsFromClient(params); return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, { params: clientParams, searchParams: clientSearchParams }); } } if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=client-page.js.map