Files
chinese-family-tree-2/.next/dev/static/chunks/a0629__pnpm_398c3dda._.js
T
freedakgmail bade25ff26 0.0.1.2
2025-11-23 09:13:25 +08:00

7238 lines
306 KiB
JavaScript

(globalThis.TURBOPACK || (globalThis.TURBOPACK = [])).push([typeof document === "object" ? document.currentScript : undefined,
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/navigation.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
module.exports = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/navigation.js [app-client] (ecmascript)");
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@vercel+analytics@1.5.0_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@vercel/analytics/dist/next/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
__turbopack_context__.s([
"Analytics",
()=>Analytics2
]);
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
// src/nextjs/index.tsx
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
// src/nextjs/utils.ts
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/navigation.js [app-client] (ecmascript)");
"use client";
;
;
// package.json
var name = "@vercel/analytics";
var version = "1.5.0";
// src/queue.ts
var initQueue = ()=>{
if (window.va) return;
window.va = function a(...params) {
(window.vaq = window.vaq || []).push(params);
};
};
// src/utils.ts
function isBrowser() {
return typeof window !== "undefined";
}
function detectEnvironment() {
try {
const env = ("TURBOPACK compile-time value", "development");
if ("TURBOPACK compile-time truthy", 1) {
return "development";
}
} catch (e) {}
return "production";
}
function setMode(mode = "auto") {
if (mode === "auto") {
window.vam = detectEnvironment();
return;
}
window.vam = mode;
}
function getMode() {
const mode = isBrowser() ? window.vam : detectEnvironment();
return mode || "production";
}
function isDevelopment() {
return getMode() === "development";
}
function computeRoute(pathname, pathParams) {
if (!pathname || !pathParams) {
return pathname;
}
let result = pathname;
try {
const entries = Object.entries(pathParams);
for (const [key, value] of entries){
if (!Array.isArray(value)) {
const matcher = turnValueToRegExp(value);
if (matcher.test(result)) {
result = result.replace(matcher, `/[${key}]`);
}
}
}
for (const [key, value] of entries){
if (Array.isArray(value)) {
const matcher = turnValueToRegExp(value.join("/"));
if (matcher.test(result)) {
result = result.replace(matcher, `/[...${key}]`);
}
}
}
return result;
} catch (e) {
return pathname;
}
}
function turnValueToRegExp(value) {
return new RegExp(`/${escapeRegExp(value)}(?=[/?#]|$)`);
}
function escapeRegExp(string) {
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
function getScriptSrc(props) {
if (props.scriptSrc) {
return props.scriptSrc;
}
if (isDevelopment()) {
return "https://va.vercel-scripts.com/v1/script.debug.js";
}
if (props.basePath) {
return `${props.basePath}/insights/script.js`;
}
return "/_vercel/insights/script.js";
}
// src/generic.ts
function inject(props = {
debug: true
}) {
var _a;
if (!isBrowser()) return;
setMode(props.mode);
initQueue();
if (props.beforeSend) {
(_a = window.va) == null ? void 0 : _a.call(window, "beforeSend", props.beforeSend);
}
const src = getScriptSrc(props);
if (document.head.querySelector(`script[src*="${src}"]`)) return;
const script = document.createElement("script");
script.src = src;
script.defer = true;
script.dataset.sdkn = name + (props.framework ? `/${props.framework}` : "");
script.dataset.sdkv = version;
if (props.disableAutoTrack) {
script.dataset.disableAutoTrack = "1";
}
if (props.endpoint) {
script.dataset.endpoint = props.endpoint;
} else if (props.basePath) {
script.dataset.endpoint = `${props.basePath}/insights`;
}
if (props.dsn) {
script.dataset.dsn = props.dsn;
}
script.onerror = ()=>{
const errorMessage = isDevelopment() ? "Please check if any ad blockers are enabled and try again." : "Be sure to enable Web Analytics for your project and deploy again. See https://vercel.com/docs/analytics/quickstart for more information.";
console.log(`[Vercel Web Analytics] Failed to load script from ${src}. ${errorMessage}`);
};
if (isDevelopment() && props.debug === false) {
script.dataset.debug = "false";
}
document.head.appendChild(script);
}
function pageview({ route, path }) {
var _a;
(_a = window.va) == null ? void 0 : _a.call(window, "pageview", {
route,
path
});
}
// src/react/utils.ts
function getBasePath() {
if (typeof __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"] === "undefined" || typeof __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].env === "undefined") {
return void 0;
}
return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].env.REACT_APP_VERCEL_OBSERVABILITY_BASEPATH;
}
// src/react/index.tsx
function Analytics(props) {
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])({
"Analytics.useEffect": ()=>{
var _a;
if (props.beforeSend) {
(_a = window.va) == null ? void 0 : _a.call(window, "beforeSend", props.beforeSend);
}
}
}["Analytics.useEffect"], [
props.beforeSend
]);
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])({
"Analytics.useEffect": ()=>{
inject({
framework: props.framework || "react",
basePath: props.basePath ?? getBasePath(),
...props.route !== void 0 && {
disableAutoTrack: true
},
...props
});
}
}["Analytics.useEffect"], []);
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])({
"Analytics.useEffect": ()=>{
if (props.route && props.path) {
pageview({
route: props.route,
path: props.path
});
}
}
}["Analytics.useEffect"], [
props.route,
props.path
]);
return null;
}
;
var useRoute = ()=>{
const params = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useParams"])();
const searchParams = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useSearchParams"])();
const path = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["usePathname"])();
if (!params) {
return {
route: null,
path
};
}
const finalParams = Object.keys(params).length ? params : Object.fromEntries(searchParams.entries());
return {
route: computeRoute(path, finalParams),
path
};
};
function getBasePath2() {
if (typeof __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"] === "undefined" || typeof __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].env === "undefined") {
return void 0;
}
return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].env.NEXT_PUBLIC_VERCEL_OBSERVABILITY_BASEPATH;
}
// src/nextjs/index.tsx
function AnalyticsComponent(props) {
const { route, path } = useRoute();
return /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement(Analytics, {
path,
route,
...props,
basePath: getBasePath2(),
framework: "next"
});
}
function Analytics2(props) {
return /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Suspense"], {
fallback: null
}, /* @__PURE__ */ __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].createElement(AnalyticsComponent, {
...props
}));
}
;
//# sourceMappingURL=index.mjs.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
/**
* @license React
* react-jsx-dev-runtime.development.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
"use strict";
"production" !== ("TURBOPACK compile-time value", "development") && function() {
function getComponentNameFromType(type) {
if (null == type) return null;
if ("function" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
if ("string" === typeof type) return type;
switch(type){
case REACT_FRAGMENT_TYPE:
return "Fragment";
case REACT_PROFILER_TYPE:
return "Profiler";
case REACT_STRICT_MODE_TYPE:
return "StrictMode";
case REACT_SUSPENSE_TYPE:
return "Suspense";
case REACT_SUSPENSE_LIST_TYPE:
return "SuspenseList";
case REACT_ACTIVITY_TYPE:
return "Activity";
case REACT_VIEW_TRANSITION_TYPE:
return "ViewTransition";
}
if ("object" === typeof type) switch("number" === typeof type.tag && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), type.$$typeof){
case REACT_PORTAL_TYPE:
return "Portal";
case REACT_CONTEXT_TYPE:
return type.displayName || "Context";
case REACT_CONSUMER_TYPE:
return (type._context.displayName || "Context") + ".Consumer";
case REACT_FORWARD_REF_TYPE:
var innerType = type.render;
type = type.displayName;
type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
return type;
case REACT_MEMO_TYPE:
return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
case REACT_LAZY_TYPE:
innerType = type._payload;
type = type._init;
try {
return getComponentNameFromType(type(innerType));
} catch (x) {}
}
return null;
}
function testStringCoercion(value) {
return "" + value;
}
function checkKeyStringCoercion(value) {
try {
testStringCoercion(value);
var JSCompiler_inline_result = !1;
} catch (e) {
JSCompiler_inline_result = !0;
}
if (JSCompiler_inline_result) {
JSCompiler_inline_result = console;
var JSCompiler_temp_const = JSCompiler_inline_result.error;
var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
JSCompiler_temp_const.call(JSCompiler_inline_result, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", JSCompiler_inline_result$jscomp$0);
return testStringCoercion(value);
}
}
function getTaskName(type) {
if (type === REACT_FRAGMENT_TYPE) return "<>";
if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE) return "<...>";
try {
var name = getComponentNameFromType(type);
return name ? "<" + name + ">" : "<...>";
} catch (x) {
return "<...>";
}
}
function getOwner() {
var dispatcher = ReactSharedInternals.A;
return null === dispatcher ? null : dispatcher.getOwner();
}
function UnknownOwner() {
return Error("react-stack-top-frame");
}
function hasValidKey(config) {
if (hasOwnProperty.call(config, "key")) {
var getter = Object.getOwnPropertyDescriptor(config, "key").get;
if (getter && getter.isReactWarning) return !1;
}
return void 0 !== config.key;
}
function defineKeyPropWarningGetter(props, displayName) {
function warnAboutAccessingKey() {
specialPropKeyWarningShown || (specialPropKeyWarningShown = !0, console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", displayName));
}
warnAboutAccessingKey.isReactWarning = !0;
Object.defineProperty(props, "key", {
get: warnAboutAccessingKey,
configurable: !0
});
}
function elementRefGetterWithDeprecationWarning() {
var componentName = getComponentNameFromType(this.type);
didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = !0, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."));
componentName = this.props.ref;
return void 0 !== componentName ? componentName : null;
}
function ReactElement(type, key, props, owner, debugStack, debugTask) {
var refProp = props.ref;
type = {
$$typeof: REACT_ELEMENT_TYPE,
type: type,
key: key,
props: props,
_owner: owner
};
null !== (void 0 !== refProp ? refProp : null) ? Object.defineProperty(type, "ref", {
enumerable: !1,
get: elementRefGetterWithDeprecationWarning
}) : Object.defineProperty(type, "ref", {
enumerable: !1,
value: null
});
type._store = {};
Object.defineProperty(type._store, "validated", {
configurable: !1,
enumerable: !1,
writable: !0,
value: 0
});
Object.defineProperty(type, "_debugInfo", {
configurable: !1,
enumerable: !1,
writable: !0,
value: null
});
Object.defineProperty(type, "_debugStack", {
configurable: !1,
enumerable: !1,
writable: !0,
value: debugStack
});
Object.defineProperty(type, "_debugTask", {
configurable: !1,
enumerable: !1,
writable: !0,
value: debugTask
});
Object.freeze && (Object.freeze(type.props), Object.freeze(type));
return type;
}
function jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStack, debugTask) {
var children = config.children;
if (void 0 !== children) if (isStaticChildren) if (isArrayImpl(children)) {
for(isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++)validateChildKeys(children[isStaticChildren]);
Object.freeze && Object.freeze(children);
} else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
else validateChildKeys(children);
if (hasOwnProperty.call(config, "key")) {
children = getComponentNameFromType(type);
var keys = Object.keys(config).filter(function(k) {
return "key" !== k;
});
isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', isStaticChildren, children, keys, children), didWarnAboutKeySpread[children + isStaticChildren] = !0);
}
children = null;
void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
if ("key" in config) {
maybeKey = {};
for(var propName in config)"key" !== propName && (maybeKey[propName] = config[propName]);
} else maybeKey = config;
children && defineKeyPropWarningGetter(maybeKey, "function" === typeof type ? type.displayName || type.name || "Unknown" : type);
return ReactElement(type, children, maybeKey, getOwner(), debugStack, debugTask);
}
function validateChildKeys(node) {
isValidElement(node) ? node._store && (node._store.validated = 1) : "object" === typeof node && null !== node && node.$$typeof === REACT_LAZY_TYPE && ("fulfilled" === node._payload.status ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
}
function isValidElement(object) {
return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
}
var React = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_VIEW_TRANSITION_TYPE = Symbol.for("react.view_transition"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
return null;
};
React = {
react_stack_bottom_frame: function(callStackForError) {
return callStackForError();
}
};
var specialPropKeyWarningShown;
var didWarnAboutElementRef = {};
var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(React, UnknownOwner)();
var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
var didWarnAboutKeySpread = {};
exports.Fragment = REACT_FRAGMENT_TYPE;
exports.jsxDEV = function(type, config, maybeKey, isStaticChildren) {
var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
if (trackActualOwner) {
var previousStackTraceLimit = Error.stackTraceLimit;
Error.stackTraceLimit = 10;
var debugStackDEV = Error("react-stack-top-frame");
Error.stackTraceLimit = previousStackTraceLimit;
} else debugStackDEV = unknownOwnerDebugStack;
return jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStackDEV, trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask);
};
}();
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-dev-runtime.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
'use strict';
if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
;
else {
module.exports = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js [app-client] (ecmascript)");
}
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
// packages/react/compose-refs/src/composeRefs.tsx
__turbopack_context__.s([
"composeRefs",
()=>composeRefs,
"useComposedRefs",
()=>useComposedRefs
]);
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
;
function setRef(ref, value) {
if (typeof ref === "function") {
return ref(value);
} else if (ref !== null && ref !== void 0) {
ref.current = value;
}
}
function composeRefs(...refs) {
return (node)=>{
let hasCleanup = false;
const cleanups = refs.map((ref)=>{
const cleanup = setRef(ref, node);
if (!hasCleanup && typeof cleanup == "function") {
hasCleanup = true;
}
return cleanup;
});
if (hasCleanup) {
return ()=>{
for(let i = 0; i < cleanups.length; i++){
const cleanup = cleanups[i];
if (typeof cleanup == "function") {
cleanup();
} else {
setRef(refs[i], null);
}
}
};
}
};
}
function useComposedRefs(...refs) {
return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"](composeRefs(...refs), refs);
}
;
//# sourceMappingURL=index.mjs.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-slot@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-slot/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
// packages/react/slot/src/Slot.tsx
__turbopack_context__.s([
"Root",
()=>Root,
"Slot",
()=>Slot,
"Slottable",
()=>Slottable
]);
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs [app-client] (ecmascript)");
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
;
;
;
var Slot = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
const { children, ...slotProps } = props;
const childrenArray = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].toArray(children);
const slottable = childrenArray.find(isSlottable);
if (slottable) {
const newElement = slottable.props.children;
const newChildren = childrenArray.map((child)=>{
if (child === slottable) {
if (__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].count(newElement) > 1) return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].only(null);
return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](newElement) ? newElement.props.children : null;
} else {
return child;
}
});
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SlotClone, {
...slotProps,
ref: forwardedRef,
children: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](newElement) ? __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["cloneElement"](newElement, void 0, newChildren) : null
});
}
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(SlotClone, {
...slotProps,
ref: forwardedRef,
children
});
});
Slot.displayName = "Slot";
var SlotClone = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"]((props, forwardedRef)=>{
const { children, ...slotProps } = props;
if (__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](children)) {
const childrenRef = getElementRef(children);
return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["cloneElement"](children, {
...mergeProps(slotProps, children.props),
// @ts-ignore
ref: forwardedRef ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$radix$2d$ui$2b$react$2d$compose$2d$refs$40$1$2e$1$2e$1_$40$types$2b$react$40$19$2e$2$2e$6_react$40$19$2e$2$2e$0$2f$node_modules$2f40$radix$2d$ui$2f$react$2d$compose$2d$refs$2f$dist$2f$index$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["composeRefs"])(forwardedRef, childrenRef) : childrenRef
});
}
return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].count(children) > 1 ? __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Children"].only(null) : null;
});
SlotClone.displayName = "SlotClone";
var Slottable = ({ children })=>{
return /* @__PURE__ */ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsx"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["Fragment"], {
children
});
};
function isSlottable(child) {
return __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["isValidElement"](child) && child.type === Slottable;
}
function mergeProps(slotProps, childProps) {
const overrideProps = {
...childProps
};
for(const propName in childProps){
const slotPropValue = slotProps[propName];
const childPropValue = childProps[propName];
const isHandler = /^on[A-Z]/.test(propName);
if (isHandler) {
if (slotPropValue && childPropValue) {
overrideProps[propName] = (...args)=>{
childPropValue(...args);
slotPropValue(...args);
};
} else if (slotPropValue) {
overrideProps[propName] = slotPropValue;
}
} else if (propName === "style") {
overrideProps[propName] = {
...slotPropValue,
...childPropValue
};
} else if (propName === "className") {
overrideProps[propName] = [
slotPropValue,
childPropValue
].filter(Boolean).join(" ");
}
}
return {
...slotProps,
...overrideProps
};
}
function getElementRef(element) {
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
if (mayWarn) {
return element.ref;
}
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
if (mayWarn) {
return element.props.ref;
}
return element.props.ref || element.ref;
}
var Root = Slot;
;
//# sourceMappingURL=index.mjs.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
__turbopack_context__.s([
"clsx",
()=>clsx,
"default",
()=>__TURBOPACK__default__export__
]);
function r(e) {
var t, f, n = "";
if ("string" == typeof e || "number" == typeof e) n += e;
else if ("object" == typeof e) if (Array.isArray(e)) {
var o = e.length;
for(t = 0; t < o; t++)e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
} else for(f in e)e[f] && (n && (n += " "), n += f);
return n;
}
function clsx() {
for(var e, t, f = 0, n = "", o = arguments.length; f < o; f++)(e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
return n;
}
const __TURBOPACK__default__export__ = clsx;
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
/**
* Copyright 2022 Joe Bell. All rights reserved.
*
* This file is licensed to you under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/ __turbopack_context__.s([
"cva",
()=>cva,
"cx",
()=>cx
]);
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$clsx$40$2$2e$1$2e$1$2f$node_modules$2f$clsx$2f$dist$2f$clsx$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs [app-client] (ecmascript)");
;
const falsyToString = (value)=>typeof value === "boolean" ? `${value}` : value === 0 ? "0" : value;
const cx = __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$clsx$40$2$2e$1$2e$1$2f$node_modules$2f$clsx$2f$dist$2f$clsx$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["clsx"];
const cva = (base, config)=>(props)=>{
var _config_compoundVariants;
if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
const { variants, defaultVariants } = config;
const getVariantClassNames = Object.keys(variants).map((variant)=>{
const variantProp = props === null || props === void 0 ? void 0 : props[variant];
const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];
if (variantProp === null) return null;
const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);
return variants[variant][variantKey];
});
const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{
let [key, value] = param;
if (value === undefined) {
return acc;
}
acc[key] = value;
return acc;
}, {});
const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{
let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;
return Object.entries(compoundVariantOptions).every((param)=>{
let [key, value] = param;
return Array.isArray(value) ? value.includes({
...defaultVariants,
...propsWithoutUndefined
}[key]) : ({
...defaultVariants,
...propsWithoutUndefined
})[key] === value;
}) ? [
...acc,
cvClass,
cvClassName
] : acc;
}, []);
return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);
};
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
__turbopack_context__.s([
"createTailwindMerge",
()=>createTailwindMerge,
"extendTailwindMerge",
()=>extendTailwindMerge,
"fromTheme",
()=>fromTheme,
"getDefaultConfig",
()=>getDefaultConfig,
"mergeConfigs",
()=>mergeConfigs,
"twJoin",
()=>twJoin,
"twMerge",
()=>twMerge,
"validators",
()=>validators
]);
const CLASS_PART_SEPARATOR = '-';
const createClassGroupUtils = (config)=>{
const classMap = createClassMap(config);
const { conflictingClassGroups, conflictingClassGroupModifiers } = config;
const getClassGroupId = (className)=>{
const classParts = className.split(CLASS_PART_SEPARATOR);
// Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.
if (classParts[0] === '' && classParts.length !== 1) {
classParts.shift();
}
return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
};
const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier)=>{
const conflicts = conflictingClassGroups[classGroupId] || [];
if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
return [
...conflicts,
...conflictingClassGroupModifiers[classGroupId]
];
}
return conflicts;
};
return {
getClassGroupId,
getConflictingClassGroupIds
};
};
const getGroupRecursive = (classParts, classPartObject)=>{
if (classParts.length === 0) {
return classPartObject.classGroupId;
}
const currentClassPart = classParts[0];
const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;
if (classGroupFromNextClassPart) {
return classGroupFromNextClassPart;
}
if (classPartObject.validators.length === 0) {
return undefined;
}
const classRest = classParts.join(CLASS_PART_SEPARATOR);
return classPartObject.validators.find(({ validator })=>validator(classRest))?.classGroupId;
};
const arbitraryPropertyRegex = /^\[(.+)\]$/;
const getGroupIdForArbitraryProperty = (className)=>{
if (arbitraryPropertyRegex.test(className)) {
const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));
if (property) {
// I use two dots here because one dot is used as prefix for class groups in plugins
return 'arbitrary..' + property;
}
}
};
/**
* Exported for testing only
*/ const createClassMap = (config)=>{
const { theme, prefix } = config;
const classMap = {
nextPart: new Map(),
validators: []
};
const prefixedClassGroupEntries = getPrefixedClassGroupEntries(Object.entries(config.classGroups), prefix);
prefixedClassGroupEntries.forEach(([classGroupId, classGroup])=>{
processClassesRecursively(classGroup, classMap, classGroupId, theme);
});
return classMap;
};
const processClassesRecursively = (classGroup, classPartObject, classGroupId, theme)=>{
classGroup.forEach((classDefinition)=>{
if (typeof classDefinition === 'string') {
const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);
classPartObjectToEdit.classGroupId = classGroupId;
return;
}
if (typeof classDefinition === 'function') {
if (isThemeGetter(classDefinition)) {
processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
return;
}
classPartObject.validators.push({
validator: classDefinition,
classGroupId
});
return;
}
Object.entries(classDefinition).forEach(([key, classGroup])=>{
processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);
});
});
};
const getPart = (classPartObject, path)=>{
let currentClassPartObject = classPartObject;
path.split(CLASS_PART_SEPARATOR).forEach((pathPart)=>{
if (!currentClassPartObject.nextPart.has(pathPart)) {
currentClassPartObject.nextPart.set(pathPart, {
nextPart: new Map(),
validators: []
});
}
currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
});
return currentClassPartObject;
};
const isThemeGetter = (func)=>func.isThemeGetter;
const getPrefixedClassGroupEntries = (classGroupEntries, prefix)=>{
if (!prefix) {
return classGroupEntries;
}
return classGroupEntries.map(([classGroupId, classGroup])=>{
const prefixedClassGroup = classGroup.map((classDefinition)=>{
if (typeof classDefinition === 'string') {
return prefix + classDefinition;
}
if (typeof classDefinition === 'object') {
return Object.fromEntries(Object.entries(classDefinition).map(([key, value])=>[
prefix + key,
value
]));
}
return classDefinition;
});
return [
classGroupId,
prefixedClassGroup
];
});
};
// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance
const createLruCache = (maxCacheSize)=>{
if (maxCacheSize < 1) {
return {
get: ()=>undefined,
set: ()=>{}
};
}
let cacheSize = 0;
let cache = new Map();
let previousCache = new Map();
const update = (key, value)=>{
cache.set(key, value);
cacheSize++;
if (cacheSize > maxCacheSize) {
cacheSize = 0;
previousCache = cache;
cache = new Map();
}
};
return {
get (key) {
let value = cache.get(key);
if (value !== undefined) {
return value;
}
if ((value = previousCache.get(key)) !== undefined) {
update(key, value);
return value;
}
},
set (key, value) {
if (cache.has(key)) {
cache.set(key, value);
} else {
update(key, value);
}
}
};
};
const IMPORTANT_MODIFIER = '!';
const createParseClassName = (config)=>{
const { separator, experimentalParseClassName } = config;
const isSeparatorSingleCharacter = separator.length === 1;
const firstSeparatorCharacter = separator[0];
const separatorLength = separator.length;
// parseClassName inspired by https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js
const parseClassName = (className)=>{
const modifiers = [];
let bracketDepth = 0;
let modifierStart = 0;
let postfixModifierPosition;
for(let index = 0; index < className.length; index++){
let currentCharacter = className[index];
if (bracketDepth === 0) {
if (currentCharacter === firstSeparatorCharacter && (isSeparatorSingleCharacter || className.slice(index, index + separatorLength) === separator)) {
modifiers.push(className.slice(modifierStart, index));
modifierStart = index + separatorLength;
continue;
}
if (currentCharacter === '/') {
postfixModifierPosition = index;
continue;
}
}
if (currentCharacter === '[') {
bracketDepth++;
} else if (currentCharacter === ']') {
bracketDepth--;
}
}
const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
const hasImportantModifier = baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER);
const baseClassName = hasImportantModifier ? baseClassNameWithImportantModifier.substring(1) : baseClassNameWithImportantModifier;
const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;
return {
modifiers,
hasImportantModifier,
baseClassName,
maybePostfixModifierPosition
};
};
if (experimentalParseClassName) {
return (className)=>experimentalParseClassName({
className,
parseClassName
});
}
return parseClassName;
};
/**
* Sorts modifiers according to following schema:
* - Predefined modifiers are sorted alphabetically
* - When an arbitrary variant appears, it must be preserved which modifiers are before and after it
*/ const sortModifiers = (modifiers)=>{
if (modifiers.length <= 1) {
return modifiers;
}
const sortedModifiers = [];
let unsortedModifiers = [];
modifiers.forEach((modifier)=>{
const isArbitraryVariant = modifier[0] === '[';
if (isArbitraryVariant) {
sortedModifiers.push(...unsortedModifiers.sort(), modifier);
unsortedModifiers = [];
} else {
unsortedModifiers.push(modifier);
}
});
sortedModifiers.push(...unsortedModifiers.sort());
return sortedModifiers;
};
const createConfigUtils = (config)=>({
cache: createLruCache(config.cacheSize),
parseClassName: createParseClassName(config),
...createClassGroupUtils(config)
});
const SPLIT_CLASSES_REGEX = /\s+/;
const mergeClassList = (classList, configUtils)=>{
const { parseClassName, getClassGroupId, getConflictingClassGroupIds } = configUtils;
/**
* Set of classGroupIds in following format:
* `{importantModifier}{variantModifiers}{classGroupId}`
* @example 'float'
* @example 'hover:focus:bg-color'
* @example 'md:!pr'
*/ const classGroupsInConflict = [];
const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
let result = '';
for(let index = classNames.length - 1; index >= 0; index -= 1){
const originalClassName = classNames[index];
const { modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition } = parseClassName(originalClassName);
let hasPostfixModifier = Boolean(maybePostfixModifierPosition);
let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
if (!classGroupId) {
if (!hasPostfixModifier) {
// Not a Tailwind class
result = originalClassName + (result.length > 0 ? ' ' + result : result);
continue;
}
classGroupId = getClassGroupId(baseClassName);
if (!classGroupId) {
// Not a Tailwind class
result = originalClassName + (result.length > 0 ? ' ' + result : result);
continue;
}
hasPostfixModifier = false;
}
const variantModifier = sortModifiers(modifiers).join(':');
const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
const classId = modifierId + classGroupId;
if (classGroupsInConflict.includes(classId)) {
continue;
}
classGroupsInConflict.push(classId);
const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
for(let i = 0; i < conflictGroups.length; ++i){
const group = conflictGroups[i];
classGroupsInConflict.push(modifierId + group);
}
// Tailwind class not in conflict
result = originalClassName + (result.length > 0 ? ' ' + result : result);
}
return result;
};
/**
* The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.
*
* Specifically:
* - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js
* - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts
*
* Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
*/ function twJoin() {
let index = 0;
let argument;
let resolvedValue;
let string = '';
while(index < arguments.length){
if (argument = arguments[index++]) {
if (resolvedValue = toValue(argument)) {
string && (string += ' ');
string += resolvedValue;
}
}
}
return string;
}
const toValue = (mix)=>{
if (typeof mix === 'string') {
return mix;
}
let resolvedValue;
let string = '';
for(let k = 0; k < mix.length; k++){
if (mix[k]) {
if (resolvedValue = toValue(mix[k])) {
string && (string += ' ');
string += resolvedValue;
}
}
}
return string;
};
function createTailwindMerge(createConfigFirst, ...createConfigRest) {
let configUtils;
let cacheGet;
let cacheSet;
let functionToCall = initTailwindMerge;
function initTailwindMerge(classList) {
const config = createConfigRest.reduce((previousConfig, createConfigCurrent)=>createConfigCurrent(previousConfig), createConfigFirst());
configUtils = createConfigUtils(config);
cacheGet = configUtils.cache.get;
cacheSet = configUtils.cache.set;
functionToCall = tailwindMerge;
return tailwindMerge(classList);
}
function tailwindMerge(classList) {
const cachedResult = cacheGet(classList);
if (cachedResult) {
return cachedResult;
}
const result = mergeClassList(classList, configUtils);
cacheSet(classList, result);
return result;
}
return function callTailwindMerge() {
return functionToCall(twJoin.apply(null, arguments));
};
}
const fromTheme = (key)=>{
const themeGetter = (theme)=>theme[key] || [];
themeGetter.isThemeGetter = true;
return themeGetter;
};
const arbitraryValueRegex = /^\[(?:([a-z-]+):)?(.+)\]$/i;
const fractionRegex = /^\d+\/\d+$/;
const stringLengths = /*#__PURE__*/ new Set([
'px',
'full',
'screen'
]);
const tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
const lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/;
const colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/;
// Shadow always begins with x and y offset separated by underscore optionally prepended by inset
const shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
const imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
const isLength = (value)=>isNumber(value) || stringLengths.has(value) || fractionRegex.test(value);
const isArbitraryLength = (value)=>getIsArbitraryValue(value, 'length', isLengthOnly);
const isNumber = (value)=>Boolean(value) && !Number.isNaN(Number(value));
const isArbitraryNumber = (value)=>getIsArbitraryValue(value, 'number', isNumber);
const isInteger = (value)=>Boolean(value) && Number.isInteger(Number(value));
const isPercent = (value)=>value.endsWith('%') && isNumber(value.slice(0, -1));
const isArbitraryValue = (value)=>arbitraryValueRegex.test(value);
const isTshirtSize = (value)=>tshirtUnitRegex.test(value);
const sizeLabels = /*#__PURE__*/ new Set([
'length',
'size',
'percentage'
]);
const isArbitrarySize = (value)=>getIsArbitraryValue(value, sizeLabels, isNever);
const isArbitraryPosition = (value)=>getIsArbitraryValue(value, 'position', isNever);
const imageLabels = /*#__PURE__*/ new Set([
'image',
'url'
]);
const isArbitraryImage = (value)=>getIsArbitraryValue(value, imageLabels, isImage);
const isArbitraryShadow = (value)=>getIsArbitraryValue(value, '', isShadow);
const isAny = ()=>true;
const getIsArbitraryValue = (value, label, testValue)=>{
const result = arbitraryValueRegex.exec(value);
if (result) {
if (result[1]) {
return typeof label === 'string' ? result[1] === label : label.has(result[1]);
}
return testValue(result[2]);
}
return false;
};
const isLengthOnly = (value)=>// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
lengthUnitRegex.test(value) && !colorFunctionRegex.test(value);
const isNever = ()=>false;
const isShadow = (value)=>shadowRegex.test(value);
const isImage = (value)=>imageRegex.test(value);
const validators = /*#__PURE__*/ Object.defineProperty({
__proto__: null,
isAny,
isArbitraryImage,
isArbitraryLength,
isArbitraryNumber,
isArbitraryPosition,
isArbitraryShadow,
isArbitrarySize,
isArbitraryValue,
isInteger,
isLength,
isNumber,
isPercent,
isTshirtSize
}, Symbol.toStringTag, {
value: 'Module'
});
const getDefaultConfig = ()=>{
const colors = fromTheme('colors');
const spacing = fromTheme('spacing');
const blur = fromTheme('blur');
const brightness = fromTheme('brightness');
const borderColor = fromTheme('borderColor');
const borderRadius = fromTheme('borderRadius');
const borderSpacing = fromTheme('borderSpacing');
const borderWidth = fromTheme('borderWidth');
const contrast = fromTheme('contrast');
const grayscale = fromTheme('grayscale');
const hueRotate = fromTheme('hueRotate');
const invert = fromTheme('invert');
const gap = fromTheme('gap');
const gradientColorStops = fromTheme('gradientColorStops');
const gradientColorStopPositions = fromTheme('gradientColorStopPositions');
const inset = fromTheme('inset');
const margin = fromTheme('margin');
const opacity = fromTheme('opacity');
const padding = fromTheme('padding');
const saturate = fromTheme('saturate');
const scale = fromTheme('scale');
const sepia = fromTheme('sepia');
const skew = fromTheme('skew');
const space = fromTheme('space');
const translate = fromTheme('translate');
const getOverscroll = ()=>[
'auto',
'contain',
'none'
];
const getOverflow = ()=>[
'auto',
'hidden',
'clip',
'visible',
'scroll'
];
const getSpacingWithAutoAndArbitrary = ()=>[
'auto',
isArbitraryValue,
spacing
];
const getSpacingWithArbitrary = ()=>[
isArbitraryValue,
spacing
];
const getLengthWithEmptyAndArbitrary = ()=>[
'',
isLength,
isArbitraryLength
];
const getNumberWithAutoAndArbitrary = ()=>[
'auto',
isNumber,
isArbitraryValue
];
const getPositions = ()=>[
'bottom',
'center',
'left',
'left-bottom',
'left-top',
'right',
'right-bottom',
'right-top',
'top'
];
const getLineStyles = ()=>[
'solid',
'dashed',
'dotted',
'double',
'none'
];
const getBlendModes = ()=>[
'normal',
'multiply',
'screen',
'overlay',
'darken',
'lighten',
'color-dodge',
'color-burn',
'hard-light',
'soft-light',
'difference',
'exclusion',
'hue',
'saturation',
'color',
'luminosity'
];
const getAlign = ()=>[
'start',
'end',
'center',
'between',
'around',
'evenly',
'stretch'
];
const getZeroAndEmpty = ()=>[
'',
'0',
isArbitraryValue
];
const getBreaks = ()=>[
'auto',
'avoid',
'all',
'avoid-page',
'page',
'left',
'right',
'column'
];
const getNumberAndArbitrary = ()=>[
isNumber,
isArbitraryValue
];
return {
cacheSize: 500,
separator: ':',
theme: {
colors: [
isAny
],
spacing: [
isLength,
isArbitraryLength
],
blur: [
'none',
'',
isTshirtSize,
isArbitraryValue
],
brightness: getNumberAndArbitrary(),
borderColor: [
colors
],
borderRadius: [
'none',
'',
'full',
isTshirtSize,
isArbitraryValue
],
borderSpacing: getSpacingWithArbitrary(),
borderWidth: getLengthWithEmptyAndArbitrary(),
contrast: getNumberAndArbitrary(),
grayscale: getZeroAndEmpty(),
hueRotate: getNumberAndArbitrary(),
invert: getZeroAndEmpty(),
gap: getSpacingWithArbitrary(),
gradientColorStops: [
colors
],
gradientColorStopPositions: [
isPercent,
isArbitraryLength
],
inset: getSpacingWithAutoAndArbitrary(),
margin: getSpacingWithAutoAndArbitrary(),
opacity: getNumberAndArbitrary(),
padding: getSpacingWithArbitrary(),
saturate: getNumberAndArbitrary(),
scale: getNumberAndArbitrary(),
sepia: getZeroAndEmpty(),
skew: getNumberAndArbitrary(),
space: getSpacingWithArbitrary(),
translate: getSpacingWithArbitrary()
},
classGroups: {
// Layout
/**
* Aspect Ratio
* @see https://tailwindcss.com/docs/aspect-ratio
*/ aspect: [
{
aspect: [
'auto',
'square',
'video',
isArbitraryValue
]
}
],
/**
* Container
* @see https://tailwindcss.com/docs/container
*/ container: [
'container'
],
/**
* Columns
* @see https://tailwindcss.com/docs/columns
*/ columns: [
{
columns: [
isTshirtSize
]
}
],
/**
* Break After
* @see https://tailwindcss.com/docs/break-after
*/ 'break-after': [
{
'break-after': getBreaks()
}
],
/**
* Break Before
* @see https://tailwindcss.com/docs/break-before
*/ 'break-before': [
{
'break-before': getBreaks()
}
],
/**
* Break Inside
* @see https://tailwindcss.com/docs/break-inside
*/ 'break-inside': [
{
'break-inside': [
'auto',
'avoid',
'avoid-page',
'avoid-column'
]
}
],
/**
* Box Decoration Break
* @see https://tailwindcss.com/docs/box-decoration-break
*/ 'box-decoration': [
{
'box-decoration': [
'slice',
'clone'
]
}
],
/**
* Box Sizing
* @see https://tailwindcss.com/docs/box-sizing
*/ box: [
{
box: [
'border',
'content'
]
}
],
/**
* Display
* @see https://tailwindcss.com/docs/display
*/ display: [
'block',
'inline-block',
'inline',
'flex',
'inline-flex',
'table',
'inline-table',
'table-caption',
'table-cell',
'table-column',
'table-column-group',
'table-footer-group',
'table-header-group',
'table-row-group',
'table-row',
'flow-root',
'grid',
'inline-grid',
'contents',
'list-item',
'hidden'
],
/**
* Floats
* @see https://tailwindcss.com/docs/float
*/ float: [
{
float: [
'right',
'left',
'none',
'start',
'end'
]
}
],
/**
* Clear
* @see https://tailwindcss.com/docs/clear
*/ clear: [
{
clear: [
'left',
'right',
'both',
'none',
'start',
'end'
]
}
],
/**
* Isolation
* @see https://tailwindcss.com/docs/isolation
*/ isolation: [
'isolate',
'isolation-auto'
],
/**
* Object Fit
* @see https://tailwindcss.com/docs/object-fit
*/ 'object-fit': [
{
object: [
'contain',
'cover',
'fill',
'none',
'scale-down'
]
}
],
/**
* Object Position
* @see https://tailwindcss.com/docs/object-position
*/ 'object-position': [
{
object: [
...getPositions(),
isArbitraryValue
]
}
],
/**
* Overflow
* @see https://tailwindcss.com/docs/overflow
*/ overflow: [
{
overflow: getOverflow()
}
],
/**
* Overflow X
* @see https://tailwindcss.com/docs/overflow
*/ 'overflow-x': [
{
'overflow-x': getOverflow()
}
],
/**
* Overflow Y
* @see https://tailwindcss.com/docs/overflow
*/ 'overflow-y': [
{
'overflow-y': getOverflow()
}
],
/**
* Overscroll Behavior
* @see https://tailwindcss.com/docs/overscroll-behavior
*/ overscroll: [
{
overscroll: getOverscroll()
}
],
/**
* Overscroll Behavior X
* @see https://tailwindcss.com/docs/overscroll-behavior
*/ 'overscroll-x': [
{
'overscroll-x': getOverscroll()
}
],
/**
* Overscroll Behavior Y
* @see https://tailwindcss.com/docs/overscroll-behavior
*/ 'overscroll-y': [
{
'overscroll-y': getOverscroll()
}
],
/**
* Position
* @see https://tailwindcss.com/docs/position
*/ position: [
'static',
'fixed',
'absolute',
'relative',
'sticky'
],
/**
* Top / Right / Bottom / Left
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/ inset: [
{
inset: [
inset
]
}
],
/**
* Right / Left
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/ 'inset-x': [
{
'inset-x': [
inset
]
}
],
/**
* Top / Bottom
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/ 'inset-y': [
{
'inset-y': [
inset
]
}
],
/**
* Start
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/ start: [
{
start: [
inset
]
}
],
/**
* End
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/ end: [
{
end: [
inset
]
}
],
/**
* Top
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/ top: [
{
top: [
inset
]
}
],
/**
* Right
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/ right: [
{
right: [
inset
]
}
],
/**
* Bottom
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/ bottom: [
{
bottom: [
inset
]
}
],
/**
* Left
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/ left: [
{
left: [
inset
]
}
],
/**
* Visibility
* @see https://tailwindcss.com/docs/visibility
*/ visibility: [
'visible',
'invisible',
'collapse'
],
/**
* Z-Index
* @see https://tailwindcss.com/docs/z-index
*/ z: [
{
z: [
'auto',
isInteger,
isArbitraryValue
]
}
],
// Flexbox and Grid
/**
* Flex Basis
* @see https://tailwindcss.com/docs/flex-basis
*/ basis: [
{
basis: getSpacingWithAutoAndArbitrary()
}
],
/**
* Flex Direction
* @see https://tailwindcss.com/docs/flex-direction
*/ 'flex-direction': [
{
flex: [
'row',
'row-reverse',
'col',
'col-reverse'
]
}
],
/**
* Flex Wrap
* @see https://tailwindcss.com/docs/flex-wrap
*/ 'flex-wrap': [
{
flex: [
'wrap',
'wrap-reverse',
'nowrap'
]
}
],
/**
* Flex
* @see https://tailwindcss.com/docs/flex
*/ flex: [
{
flex: [
'1',
'auto',
'initial',
'none',
isArbitraryValue
]
}
],
/**
* Flex Grow
* @see https://tailwindcss.com/docs/flex-grow
*/ grow: [
{
grow: getZeroAndEmpty()
}
],
/**
* Flex Shrink
* @see https://tailwindcss.com/docs/flex-shrink
*/ shrink: [
{
shrink: getZeroAndEmpty()
}
],
/**
* Order
* @see https://tailwindcss.com/docs/order
*/ order: [
{
order: [
'first',
'last',
'none',
isInteger,
isArbitraryValue
]
}
],
/**
* Grid Template Columns
* @see https://tailwindcss.com/docs/grid-template-columns
*/ 'grid-cols': [
{
'grid-cols': [
isAny
]
}
],
/**
* Grid Column Start / End
* @see https://tailwindcss.com/docs/grid-column
*/ 'col-start-end': [
{
col: [
'auto',
{
span: [
'full',
isInteger,
isArbitraryValue
]
},
isArbitraryValue
]
}
],
/**
* Grid Column Start
* @see https://tailwindcss.com/docs/grid-column
*/ 'col-start': [
{
'col-start': getNumberWithAutoAndArbitrary()
}
],
/**
* Grid Column End
* @see https://tailwindcss.com/docs/grid-column
*/ 'col-end': [
{
'col-end': getNumberWithAutoAndArbitrary()
}
],
/**
* Grid Template Rows
* @see https://tailwindcss.com/docs/grid-template-rows
*/ 'grid-rows': [
{
'grid-rows': [
isAny
]
}
],
/**
* Grid Row Start / End
* @see https://tailwindcss.com/docs/grid-row
*/ 'row-start-end': [
{
row: [
'auto',
{
span: [
isInteger,
isArbitraryValue
]
},
isArbitraryValue
]
}
],
/**
* Grid Row Start
* @see https://tailwindcss.com/docs/grid-row
*/ 'row-start': [
{
'row-start': getNumberWithAutoAndArbitrary()
}
],
/**
* Grid Row End
* @see https://tailwindcss.com/docs/grid-row
*/ 'row-end': [
{
'row-end': getNumberWithAutoAndArbitrary()
}
],
/**
* Grid Auto Flow
* @see https://tailwindcss.com/docs/grid-auto-flow
*/ 'grid-flow': [
{
'grid-flow': [
'row',
'col',
'dense',
'row-dense',
'col-dense'
]
}
],
/**
* Grid Auto Columns
* @see https://tailwindcss.com/docs/grid-auto-columns
*/ 'auto-cols': [
{
'auto-cols': [
'auto',
'min',
'max',
'fr',
isArbitraryValue
]
}
],
/**
* Grid Auto Rows
* @see https://tailwindcss.com/docs/grid-auto-rows
*/ 'auto-rows': [
{
'auto-rows': [
'auto',
'min',
'max',
'fr',
isArbitraryValue
]
}
],
/**
* Gap
* @see https://tailwindcss.com/docs/gap
*/ gap: [
{
gap: [
gap
]
}
],
/**
* Gap X
* @see https://tailwindcss.com/docs/gap
*/ 'gap-x': [
{
'gap-x': [
gap
]
}
],
/**
* Gap Y
* @see https://tailwindcss.com/docs/gap
*/ 'gap-y': [
{
'gap-y': [
gap
]
}
],
/**
* Justify Content
* @see https://tailwindcss.com/docs/justify-content
*/ 'justify-content': [
{
justify: [
'normal',
...getAlign()
]
}
],
/**
* Justify Items
* @see https://tailwindcss.com/docs/justify-items
*/ 'justify-items': [
{
'justify-items': [
'start',
'end',
'center',
'stretch'
]
}
],
/**
* Justify Self
* @see https://tailwindcss.com/docs/justify-self
*/ 'justify-self': [
{
'justify-self': [
'auto',
'start',
'end',
'center',
'stretch'
]
}
],
/**
* Align Content
* @see https://tailwindcss.com/docs/align-content
*/ 'align-content': [
{
content: [
'normal',
...getAlign(),
'baseline'
]
}
],
/**
* Align Items
* @see https://tailwindcss.com/docs/align-items
*/ 'align-items': [
{
items: [
'start',
'end',
'center',
'baseline',
'stretch'
]
}
],
/**
* Align Self
* @see https://tailwindcss.com/docs/align-self
*/ 'align-self': [
{
self: [
'auto',
'start',
'end',
'center',
'stretch',
'baseline'
]
}
],
/**
* Place Content
* @see https://tailwindcss.com/docs/place-content
*/ 'place-content': [
{
'place-content': [
...getAlign(),
'baseline'
]
}
],
/**
* Place Items
* @see https://tailwindcss.com/docs/place-items
*/ 'place-items': [
{
'place-items': [
'start',
'end',
'center',
'baseline',
'stretch'
]
}
],
/**
* Place Self
* @see https://tailwindcss.com/docs/place-self
*/ 'place-self': [
{
'place-self': [
'auto',
'start',
'end',
'center',
'stretch'
]
}
],
// Spacing
/**
* Padding
* @see https://tailwindcss.com/docs/padding
*/ p: [
{
p: [
padding
]
}
],
/**
* Padding X
* @see https://tailwindcss.com/docs/padding
*/ px: [
{
px: [
padding
]
}
],
/**
* Padding Y
* @see https://tailwindcss.com/docs/padding
*/ py: [
{
py: [
padding
]
}
],
/**
* Padding Start
* @see https://tailwindcss.com/docs/padding
*/ ps: [
{
ps: [
padding
]
}
],
/**
* Padding End
* @see https://tailwindcss.com/docs/padding
*/ pe: [
{
pe: [
padding
]
}
],
/**
* Padding Top
* @see https://tailwindcss.com/docs/padding
*/ pt: [
{
pt: [
padding
]
}
],
/**
* Padding Right
* @see https://tailwindcss.com/docs/padding
*/ pr: [
{
pr: [
padding
]
}
],
/**
* Padding Bottom
* @see https://tailwindcss.com/docs/padding
*/ pb: [
{
pb: [
padding
]
}
],
/**
* Padding Left
* @see https://tailwindcss.com/docs/padding
*/ pl: [
{
pl: [
padding
]
}
],
/**
* Margin
* @see https://tailwindcss.com/docs/margin
*/ m: [
{
m: [
margin
]
}
],
/**
* Margin X
* @see https://tailwindcss.com/docs/margin
*/ mx: [
{
mx: [
margin
]
}
],
/**
* Margin Y
* @see https://tailwindcss.com/docs/margin
*/ my: [
{
my: [
margin
]
}
],
/**
* Margin Start
* @see https://tailwindcss.com/docs/margin
*/ ms: [
{
ms: [
margin
]
}
],
/**
* Margin End
* @see https://tailwindcss.com/docs/margin
*/ me: [
{
me: [
margin
]
}
],
/**
* Margin Top
* @see https://tailwindcss.com/docs/margin
*/ mt: [
{
mt: [
margin
]
}
],
/**
* Margin Right
* @see https://tailwindcss.com/docs/margin
*/ mr: [
{
mr: [
margin
]
}
],
/**
* Margin Bottom
* @see https://tailwindcss.com/docs/margin
*/ mb: [
{
mb: [
margin
]
}
],
/**
* Margin Left
* @see https://tailwindcss.com/docs/margin
*/ ml: [
{
ml: [
margin
]
}
],
/**
* Space Between X
* @see https://tailwindcss.com/docs/space
*/ 'space-x': [
{
'space-x': [
space
]
}
],
/**
* Space Between X Reverse
* @see https://tailwindcss.com/docs/space
*/ 'space-x-reverse': [
'space-x-reverse'
],
/**
* Space Between Y
* @see https://tailwindcss.com/docs/space
*/ 'space-y': [
{
'space-y': [
space
]
}
],
/**
* Space Between Y Reverse
* @see https://tailwindcss.com/docs/space
*/ 'space-y-reverse': [
'space-y-reverse'
],
// Sizing
/**
* Width
* @see https://tailwindcss.com/docs/width
*/ w: [
{
w: [
'auto',
'min',
'max',
'fit',
'svw',
'lvw',
'dvw',
isArbitraryValue,
spacing
]
}
],
/**
* Min-Width
* @see https://tailwindcss.com/docs/min-width
*/ 'min-w': [
{
'min-w': [
isArbitraryValue,
spacing,
'min',
'max',
'fit'
]
}
],
/**
* Max-Width
* @see https://tailwindcss.com/docs/max-width
*/ 'max-w': [
{
'max-w': [
isArbitraryValue,
spacing,
'none',
'full',
'min',
'max',
'fit',
'prose',
{
screen: [
isTshirtSize
]
},
isTshirtSize
]
}
],
/**
* Height
* @see https://tailwindcss.com/docs/height
*/ h: [
{
h: [
isArbitraryValue,
spacing,
'auto',
'min',
'max',
'fit',
'svh',
'lvh',
'dvh'
]
}
],
/**
* Min-Height
* @see https://tailwindcss.com/docs/min-height
*/ 'min-h': [
{
'min-h': [
isArbitraryValue,
spacing,
'min',
'max',
'fit',
'svh',
'lvh',
'dvh'
]
}
],
/**
* Max-Height
* @see https://tailwindcss.com/docs/max-height
*/ 'max-h': [
{
'max-h': [
isArbitraryValue,
spacing,
'min',
'max',
'fit',
'svh',
'lvh',
'dvh'
]
}
],
/**
* Size
* @see https://tailwindcss.com/docs/size
*/ size: [
{
size: [
isArbitraryValue,
spacing,
'auto',
'min',
'max',
'fit'
]
}
],
// Typography
/**
* Font Size
* @see https://tailwindcss.com/docs/font-size
*/ 'font-size': [
{
text: [
'base',
isTshirtSize,
isArbitraryLength
]
}
],
/**
* Font Smoothing
* @see https://tailwindcss.com/docs/font-smoothing
*/ 'font-smoothing': [
'antialiased',
'subpixel-antialiased'
],
/**
* Font Style
* @see https://tailwindcss.com/docs/font-style
*/ 'font-style': [
'italic',
'not-italic'
],
/**
* Font Weight
* @see https://tailwindcss.com/docs/font-weight
*/ 'font-weight': [
{
font: [
'thin',
'extralight',
'light',
'normal',
'medium',
'semibold',
'bold',
'extrabold',
'black',
isArbitraryNumber
]
}
],
/**
* Font Family
* @see https://tailwindcss.com/docs/font-family
*/ 'font-family': [
{
font: [
isAny
]
}
],
/**
* Font Variant Numeric
* @see https://tailwindcss.com/docs/font-variant-numeric
*/ 'fvn-normal': [
'normal-nums'
],
/**
* Font Variant Numeric
* @see https://tailwindcss.com/docs/font-variant-numeric
*/ 'fvn-ordinal': [
'ordinal'
],
/**
* Font Variant Numeric
* @see https://tailwindcss.com/docs/font-variant-numeric
*/ 'fvn-slashed-zero': [
'slashed-zero'
],
/**
* Font Variant Numeric
* @see https://tailwindcss.com/docs/font-variant-numeric
*/ 'fvn-figure': [
'lining-nums',
'oldstyle-nums'
],
/**
* Font Variant Numeric
* @see https://tailwindcss.com/docs/font-variant-numeric
*/ 'fvn-spacing': [
'proportional-nums',
'tabular-nums'
],
/**
* Font Variant Numeric
* @see https://tailwindcss.com/docs/font-variant-numeric
*/ 'fvn-fraction': [
'diagonal-fractions',
'stacked-fractions'
],
/**
* Letter Spacing
* @see https://tailwindcss.com/docs/letter-spacing
*/ tracking: [
{
tracking: [
'tighter',
'tight',
'normal',
'wide',
'wider',
'widest',
isArbitraryValue
]
}
],
/**
* Line Clamp
* @see https://tailwindcss.com/docs/line-clamp
*/ 'line-clamp': [
{
'line-clamp': [
'none',
isNumber,
isArbitraryNumber
]
}
],
/**
* Line Height
* @see https://tailwindcss.com/docs/line-height
*/ leading: [
{
leading: [
'none',
'tight',
'snug',
'normal',
'relaxed',
'loose',
isLength,
isArbitraryValue
]
}
],
/**
* List Style Image
* @see https://tailwindcss.com/docs/list-style-image
*/ 'list-image': [
{
'list-image': [
'none',
isArbitraryValue
]
}
],
/**
* List Style Type
* @see https://tailwindcss.com/docs/list-style-type
*/ 'list-style-type': [
{
list: [
'none',
'disc',
'decimal',
isArbitraryValue
]
}
],
/**
* List Style Position
* @see https://tailwindcss.com/docs/list-style-position
*/ 'list-style-position': [
{
list: [
'inside',
'outside'
]
}
],
/**
* Placeholder Color
* @deprecated since Tailwind CSS v3.0.0
* @see https://tailwindcss.com/docs/placeholder-color
*/ 'placeholder-color': [
{
placeholder: [
colors
]
}
],
/**
* Placeholder Opacity
* @see https://tailwindcss.com/docs/placeholder-opacity
*/ 'placeholder-opacity': [
{
'placeholder-opacity': [
opacity
]
}
],
/**
* Text Alignment
* @see https://tailwindcss.com/docs/text-align
*/ 'text-alignment': [
{
text: [
'left',
'center',
'right',
'justify',
'start',
'end'
]
}
],
/**
* Text Color
* @see https://tailwindcss.com/docs/text-color
*/ 'text-color': [
{
text: [
colors
]
}
],
/**
* Text Opacity
* @see https://tailwindcss.com/docs/text-opacity
*/ 'text-opacity': [
{
'text-opacity': [
opacity
]
}
],
/**
* Text Decoration
* @see https://tailwindcss.com/docs/text-decoration
*/ 'text-decoration': [
'underline',
'overline',
'line-through',
'no-underline'
],
/**
* Text Decoration Style
* @see https://tailwindcss.com/docs/text-decoration-style
*/ 'text-decoration-style': [
{
decoration: [
...getLineStyles(),
'wavy'
]
}
],
/**
* Text Decoration Thickness
* @see https://tailwindcss.com/docs/text-decoration-thickness
*/ 'text-decoration-thickness': [
{
decoration: [
'auto',
'from-font',
isLength,
isArbitraryLength
]
}
],
/**
* Text Underline Offset
* @see https://tailwindcss.com/docs/text-underline-offset
*/ 'underline-offset': [
{
'underline-offset': [
'auto',
isLength,
isArbitraryValue
]
}
],
/**
* Text Decoration Color
* @see https://tailwindcss.com/docs/text-decoration-color
*/ 'text-decoration-color': [
{
decoration: [
colors
]
}
],
/**
* Text Transform
* @see https://tailwindcss.com/docs/text-transform
*/ 'text-transform': [
'uppercase',
'lowercase',
'capitalize',
'normal-case'
],
/**
* Text Overflow
* @see https://tailwindcss.com/docs/text-overflow
*/ 'text-overflow': [
'truncate',
'text-ellipsis',
'text-clip'
],
/**
* Text Wrap
* @see https://tailwindcss.com/docs/text-wrap
*/ 'text-wrap': [
{
text: [
'wrap',
'nowrap',
'balance',
'pretty'
]
}
],
/**
* Text Indent
* @see https://tailwindcss.com/docs/text-indent
*/ indent: [
{
indent: getSpacingWithArbitrary()
}
],
/**
* Vertical Alignment
* @see https://tailwindcss.com/docs/vertical-align
*/ 'vertical-align': [
{
align: [
'baseline',
'top',
'middle',
'bottom',
'text-top',
'text-bottom',
'sub',
'super',
isArbitraryValue
]
}
],
/**
* Whitespace
* @see https://tailwindcss.com/docs/whitespace
*/ whitespace: [
{
whitespace: [
'normal',
'nowrap',
'pre',
'pre-line',
'pre-wrap',
'break-spaces'
]
}
],
/**
* Word Break
* @see https://tailwindcss.com/docs/word-break
*/ break: [
{
break: [
'normal',
'words',
'all',
'keep'
]
}
],
/**
* Hyphens
* @see https://tailwindcss.com/docs/hyphens
*/ hyphens: [
{
hyphens: [
'none',
'manual',
'auto'
]
}
],
/**
* Content
* @see https://tailwindcss.com/docs/content
*/ content: [
{
content: [
'none',
isArbitraryValue
]
}
],
// Backgrounds
/**
* Background Attachment
* @see https://tailwindcss.com/docs/background-attachment
*/ 'bg-attachment': [
{
bg: [
'fixed',
'local',
'scroll'
]
}
],
/**
* Background Clip
* @see https://tailwindcss.com/docs/background-clip
*/ 'bg-clip': [
{
'bg-clip': [
'border',
'padding',
'content',
'text'
]
}
],
/**
* Background Opacity
* @deprecated since Tailwind CSS v3.0.0
* @see https://tailwindcss.com/docs/background-opacity
*/ 'bg-opacity': [
{
'bg-opacity': [
opacity
]
}
],
/**
* Background Origin
* @see https://tailwindcss.com/docs/background-origin
*/ 'bg-origin': [
{
'bg-origin': [
'border',
'padding',
'content'
]
}
],
/**
* Background Position
* @see https://tailwindcss.com/docs/background-position
*/ 'bg-position': [
{
bg: [
...getPositions(),
isArbitraryPosition
]
}
],
/**
* Background Repeat
* @see https://tailwindcss.com/docs/background-repeat
*/ 'bg-repeat': [
{
bg: [
'no-repeat',
{
repeat: [
'',
'x',
'y',
'round',
'space'
]
}
]
}
],
/**
* Background Size
* @see https://tailwindcss.com/docs/background-size
*/ 'bg-size': [
{
bg: [
'auto',
'cover',
'contain',
isArbitrarySize
]
}
],
/**
* Background Image
* @see https://tailwindcss.com/docs/background-image
*/ 'bg-image': [
{
bg: [
'none',
{
'gradient-to': [
't',
'tr',
'r',
'br',
'b',
'bl',
'l',
'tl'
]
},
isArbitraryImage
]
}
],
/**
* Background Color
* @see https://tailwindcss.com/docs/background-color
*/ 'bg-color': [
{
bg: [
colors
]
}
],
/**
* Gradient Color Stops From Position
* @see https://tailwindcss.com/docs/gradient-color-stops
*/ 'gradient-from-pos': [
{
from: [
gradientColorStopPositions
]
}
],
/**
* Gradient Color Stops Via Position
* @see https://tailwindcss.com/docs/gradient-color-stops
*/ 'gradient-via-pos': [
{
via: [
gradientColorStopPositions
]
}
],
/**
* Gradient Color Stops To Position
* @see https://tailwindcss.com/docs/gradient-color-stops
*/ 'gradient-to-pos': [
{
to: [
gradientColorStopPositions
]
}
],
/**
* Gradient Color Stops From
* @see https://tailwindcss.com/docs/gradient-color-stops
*/ 'gradient-from': [
{
from: [
gradientColorStops
]
}
],
/**
* Gradient Color Stops Via
* @see https://tailwindcss.com/docs/gradient-color-stops
*/ 'gradient-via': [
{
via: [
gradientColorStops
]
}
],
/**
* Gradient Color Stops To
* @see https://tailwindcss.com/docs/gradient-color-stops
*/ 'gradient-to': [
{
to: [
gradientColorStops
]
}
],
// Borders
/**
* Border Radius
* @see https://tailwindcss.com/docs/border-radius
*/ rounded: [
{
rounded: [
borderRadius
]
}
],
/**
* Border Radius Start
* @see https://tailwindcss.com/docs/border-radius
*/ 'rounded-s': [
{
'rounded-s': [
borderRadius
]
}
],
/**
* Border Radius End
* @see https://tailwindcss.com/docs/border-radius
*/ 'rounded-e': [
{
'rounded-e': [
borderRadius
]
}
],
/**
* Border Radius Top
* @see https://tailwindcss.com/docs/border-radius
*/ 'rounded-t': [
{
'rounded-t': [
borderRadius
]
}
],
/**
* Border Radius Right
* @see https://tailwindcss.com/docs/border-radius
*/ 'rounded-r': [
{
'rounded-r': [
borderRadius
]
}
],
/**
* Border Radius Bottom
* @see https://tailwindcss.com/docs/border-radius
*/ 'rounded-b': [
{
'rounded-b': [
borderRadius
]
}
],
/**
* Border Radius Left
* @see https://tailwindcss.com/docs/border-radius
*/ 'rounded-l': [
{
'rounded-l': [
borderRadius
]
}
],
/**
* Border Radius Start Start
* @see https://tailwindcss.com/docs/border-radius
*/ 'rounded-ss': [
{
'rounded-ss': [
borderRadius
]
}
],
/**
* Border Radius Start End
* @see https://tailwindcss.com/docs/border-radius
*/ 'rounded-se': [
{
'rounded-se': [
borderRadius
]
}
],
/**
* Border Radius End End
* @see https://tailwindcss.com/docs/border-radius
*/ 'rounded-ee': [
{
'rounded-ee': [
borderRadius
]
}
],
/**
* Border Radius End Start
* @see https://tailwindcss.com/docs/border-radius
*/ 'rounded-es': [
{
'rounded-es': [
borderRadius
]
}
],
/**
* Border Radius Top Left
* @see https://tailwindcss.com/docs/border-radius
*/ 'rounded-tl': [
{
'rounded-tl': [
borderRadius
]
}
],
/**
* Border Radius Top Right
* @see https://tailwindcss.com/docs/border-radius
*/ 'rounded-tr': [
{
'rounded-tr': [
borderRadius
]
}
],
/**
* Border Radius Bottom Right
* @see https://tailwindcss.com/docs/border-radius
*/ 'rounded-br': [
{
'rounded-br': [
borderRadius
]
}
],
/**
* Border Radius Bottom Left
* @see https://tailwindcss.com/docs/border-radius
*/ 'rounded-bl': [
{
'rounded-bl': [
borderRadius
]
}
],
/**
* Border Width
* @see https://tailwindcss.com/docs/border-width
*/ 'border-w': [
{
border: [
borderWidth
]
}
],
/**
* Border Width X
* @see https://tailwindcss.com/docs/border-width
*/ 'border-w-x': [
{
'border-x': [
borderWidth
]
}
],
/**
* Border Width Y
* @see https://tailwindcss.com/docs/border-width
*/ 'border-w-y': [
{
'border-y': [
borderWidth
]
}
],
/**
* Border Width Start
* @see https://tailwindcss.com/docs/border-width
*/ 'border-w-s': [
{
'border-s': [
borderWidth
]
}
],
/**
* Border Width End
* @see https://tailwindcss.com/docs/border-width
*/ 'border-w-e': [
{
'border-e': [
borderWidth
]
}
],
/**
* Border Width Top
* @see https://tailwindcss.com/docs/border-width
*/ 'border-w-t': [
{
'border-t': [
borderWidth
]
}
],
/**
* Border Width Right
* @see https://tailwindcss.com/docs/border-width
*/ 'border-w-r': [
{
'border-r': [
borderWidth
]
}
],
/**
* Border Width Bottom
* @see https://tailwindcss.com/docs/border-width
*/ 'border-w-b': [
{
'border-b': [
borderWidth
]
}
],
/**
* Border Width Left
* @see https://tailwindcss.com/docs/border-width
*/ 'border-w-l': [
{
'border-l': [
borderWidth
]
}
],
/**
* Border Opacity
* @see https://tailwindcss.com/docs/border-opacity
*/ 'border-opacity': [
{
'border-opacity': [
opacity
]
}
],
/**
* Border Style
* @see https://tailwindcss.com/docs/border-style
*/ 'border-style': [
{
border: [
...getLineStyles(),
'hidden'
]
}
],
/**
* Divide Width X
* @see https://tailwindcss.com/docs/divide-width
*/ 'divide-x': [
{
'divide-x': [
borderWidth
]
}
],
/**
* Divide Width X Reverse
* @see https://tailwindcss.com/docs/divide-width
*/ 'divide-x-reverse': [
'divide-x-reverse'
],
/**
* Divide Width Y
* @see https://tailwindcss.com/docs/divide-width
*/ 'divide-y': [
{
'divide-y': [
borderWidth
]
}
],
/**
* Divide Width Y Reverse
* @see https://tailwindcss.com/docs/divide-width
*/ 'divide-y-reverse': [
'divide-y-reverse'
],
/**
* Divide Opacity
* @see https://tailwindcss.com/docs/divide-opacity
*/ 'divide-opacity': [
{
'divide-opacity': [
opacity
]
}
],
/**
* Divide Style
* @see https://tailwindcss.com/docs/divide-style
*/ 'divide-style': [
{
divide: getLineStyles()
}
],
/**
* Border Color
* @see https://tailwindcss.com/docs/border-color
*/ 'border-color': [
{
border: [
borderColor
]
}
],
/**
* Border Color X
* @see https://tailwindcss.com/docs/border-color
*/ 'border-color-x': [
{
'border-x': [
borderColor
]
}
],
/**
* Border Color Y
* @see https://tailwindcss.com/docs/border-color
*/ 'border-color-y': [
{
'border-y': [
borderColor
]
}
],
/**
* Border Color S
* @see https://tailwindcss.com/docs/border-color
*/ 'border-color-s': [
{
'border-s': [
borderColor
]
}
],
/**
* Border Color E
* @see https://tailwindcss.com/docs/border-color
*/ 'border-color-e': [
{
'border-e': [
borderColor
]
}
],
/**
* Border Color Top
* @see https://tailwindcss.com/docs/border-color
*/ 'border-color-t': [
{
'border-t': [
borderColor
]
}
],
/**
* Border Color Right
* @see https://tailwindcss.com/docs/border-color
*/ 'border-color-r': [
{
'border-r': [
borderColor
]
}
],
/**
* Border Color Bottom
* @see https://tailwindcss.com/docs/border-color
*/ 'border-color-b': [
{
'border-b': [
borderColor
]
}
],
/**
* Border Color Left
* @see https://tailwindcss.com/docs/border-color
*/ 'border-color-l': [
{
'border-l': [
borderColor
]
}
],
/**
* Divide Color
* @see https://tailwindcss.com/docs/divide-color
*/ 'divide-color': [
{
divide: [
borderColor
]
}
],
/**
* Outline Style
* @see https://tailwindcss.com/docs/outline-style
*/ 'outline-style': [
{
outline: [
'',
...getLineStyles()
]
}
],
/**
* Outline Offset
* @see https://tailwindcss.com/docs/outline-offset
*/ 'outline-offset': [
{
'outline-offset': [
isLength,
isArbitraryValue
]
}
],
/**
* Outline Width
* @see https://tailwindcss.com/docs/outline-width
*/ 'outline-w': [
{
outline: [
isLength,
isArbitraryLength
]
}
],
/**
* Outline Color
* @see https://tailwindcss.com/docs/outline-color
*/ 'outline-color': [
{
outline: [
colors
]
}
],
/**
* Ring Width
* @see https://tailwindcss.com/docs/ring-width
*/ 'ring-w': [
{
ring: getLengthWithEmptyAndArbitrary()
}
],
/**
* Ring Width Inset
* @see https://tailwindcss.com/docs/ring-width
*/ 'ring-w-inset': [
'ring-inset'
],
/**
* Ring Color
* @see https://tailwindcss.com/docs/ring-color
*/ 'ring-color': [
{
ring: [
colors
]
}
],
/**
* Ring Opacity
* @see https://tailwindcss.com/docs/ring-opacity
*/ 'ring-opacity': [
{
'ring-opacity': [
opacity
]
}
],
/**
* Ring Offset Width
* @see https://tailwindcss.com/docs/ring-offset-width
*/ 'ring-offset-w': [
{
'ring-offset': [
isLength,
isArbitraryLength
]
}
],
/**
* Ring Offset Color
* @see https://tailwindcss.com/docs/ring-offset-color
*/ 'ring-offset-color': [
{
'ring-offset': [
colors
]
}
],
// Effects
/**
* Box Shadow
* @see https://tailwindcss.com/docs/box-shadow
*/ shadow: [
{
shadow: [
'',
'inner',
'none',
isTshirtSize,
isArbitraryShadow
]
}
],
/**
* Box Shadow Color
* @see https://tailwindcss.com/docs/box-shadow-color
*/ 'shadow-color': [
{
shadow: [
isAny
]
}
],
/**
* Opacity
* @see https://tailwindcss.com/docs/opacity
*/ opacity: [
{
opacity: [
opacity
]
}
],
/**
* Mix Blend Mode
* @see https://tailwindcss.com/docs/mix-blend-mode
*/ 'mix-blend': [
{
'mix-blend': [
...getBlendModes(),
'plus-lighter',
'plus-darker'
]
}
],
/**
* Background Blend Mode
* @see https://tailwindcss.com/docs/background-blend-mode
*/ 'bg-blend': [
{
'bg-blend': getBlendModes()
}
],
// Filters
/**
* Filter
* @deprecated since Tailwind CSS v3.0.0
* @see https://tailwindcss.com/docs/filter
*/ filter: [
{
filter: [
'',
'none'
]
}
],
/**
* Blur
* @see https://tailwindcss.com/docs/blur
*/ blur: [
{
blur: [
blur
]
}
],
/**
* Brightness
* @see https://tailwindcss.com/docs/brightness
*/ brightness: [
{
brightness: [
brightness
]
}
],
/**
* Contrast
* @see https://tailwindcss.com/docs/contrast
*/ contrast: [
{
contrast: [
contrast
]
}
],
/**
* Drop Shadow
* @see https://tailwindcss.com/docs/drop-shadow
*/ 'drop-shadow': [
{
'drop-shadow': [
'',
'none',
isTshirtSize,
isArbitraryValue
]
}
],
/**
* Grayscale
* @see https://tailwindcss.com/docs/grayscale
*/ grayscale: [
{
grayscale: [
grayscale
]
}
],
/**
* Hue Rotate
* @see https://tailwindcss.com/docs/hue-rotate
*/ 'hue-rotate': [
{
'hue-rotate': [
hueRotate
]
}
],
/**
* Invert
* @see https://tailwindcss.com/docs/invert
*/ invert: [
{
invert: [
invert
]
}
],
/**
* Saturate
* @see https://tailwindcss.com/docs/saturate
*/ saturate: [
{
saturate: [
saturate
]
}
],
/**
* Sepia
* @see https://tailwindcss.com/docs/sepia
*/ sepia: [
{
sepia: [
sepia
]
}
],
/**
* Backdrop Filter
* @deprecated since Tailwind CSS v3.0.0
* @see https://tailwindcss.com/docs/backdrop-filter
*/ 'backdrop-filter': [
{
'backdrop-filter': [
'',
'none'
]
}
],
/**
* Backdrop Blur
* @see https://tailwindcss.com/docs/backdrop-blur
*/ 'backdrop-blur': [
{
'backdrop-blur': [
blur
]
}
],
/**
* Backdrop Brightness
* @see https://tailwindcss.com/docs/backdrop-brightness
*/ 'backdrop-brightness': [
{
'backdrop-brightness': [
brightness
]
}
],
/**
* Backdrop Contrast
* @see https://tailwindcss.com/docs/backdrop-contrast
*/ 'backdrop-contrast': [
{
'backdrop-contrast': [
contrast
]
}
],
/**
* Backdrop Grayscale
* @see https://tailwindcss.com/docs/backdrop-grayscale
*/ 'backdrop-grayscale': [
{
'backdrop-grayscale': [
grayscale
]
}
],
/**
* Backdrop Hue Rotate
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
*/ 'backdrop-hue-rotate': [
{
'backdrop-hue-rotate': [
hueRotate
]
}
],
/**
* Backdrop Invert
* @see https://tailwindcss.com/docs/backdrop-invert
*/ 'backdrop-invert': [
{
'backdrop-invert': [
invert
]
}
],
/**
* Backdrop Opacity
* @see https://tailwindcss.com/docs/backdrop-opacity
*/ 'backdrop-opacity': [
{
'backdrop-opacity': [
opacity
]
}
],
/**
* Backdrop Saturate
* @see https://tailwindcss.com/docs/backdrop-saturate
*/ 'backdrop-saturate': [
{
'backdrop-saturate': [
saturate
]
}
],
/**
* Backdrop Sepia
* @see https://tailwindcss.com/docs/backdrop-sepia
*/ 'backdrop-sepia': [
{
'backdrop-sepia': [
sepia
]
}
],
// Tables
/**
* Border Collapse
* @see https://tailwindcss.com/docs/border-collapse
*/ 'border-collapse': [
{
border: [
'collapse',
'separate'
]
}
],
/**
* Border Spacing
* @see https://tailwindcss.com/docs/border-spacing
*/ 'border-spacing': [
{
'border-spacing': [
borderSpacing
]
}
],
/**
* Border Spacing X
* @see https://tailwindcss.com/docs/border-spacing
*/ 'border-spacing-x': [
{
'border-spacing-x': [
borderSpacing
]
}
],
/**
* Border Spacing Y
* @see https://tailwindcss.com/docs/border-spacing
*/ 'border-spacing-y': [
{
'border-spacing-y': [
borderSpacing
]
}
],
/**
* Table Layout
* @see https://tailwindcss.com/docs/table-layout
*/ 'table-layout': [
{
table: [
'auto',
'fixed'
]
}
],
/**
* Caption Side
* @see https://tailwindcss.com/docs/caption-side
*/ caption: [
{
caption: [
'top',
'bottom'
]
}
],
// Transitions and Animation
/**
* Tranisition Property
* @see https://tailwindcss.com/docs/transition-property
*/ transition: [
{
transition: [
'none',
'all',
'',
'colors',
'opacity',
'shadow',
'transform',
isArbitraryValue
]
}
],
/**
* Transition Duration
* @see https://tailwindcss.com/docs/transition-duration
*/ duration: [
{
duration: getNumberAndArbitrary()
}
],
/**
* Transition Timing Function
* @see https://tailwindcss.com/docs/transition-timing-function
*/ ease: [
{
ease: [
'linear',
'in',
'out',
'in-out',
isArbitraryValue
]
}
],
/**
* Transition Delay
* @see https://tailwindcss.com/docs/transition-delay
*/ delay: [
{
delay: getNumberAndArbitrary()
}
],
/**
* Animation
* @see https://tailwindcss.com/docs/animation
*/ animate: [
{
animate: [
'none',
'spin',
'ping',
'pulse',
'bounce',
isArbitraryValue
]
}
],
// Transforms
/**
* Transform
* @see https://tailwindcss.com/docs/transform
*/ transform: [
{
transform: [
'',
'gpu',
'none'
]
}
],
/**
* Scale
* @see https://tailwindcss.com/docs/scale
*/ scale: [
{
scale: [
scale
]
}
],
/**
* Scale X
* @see https://tailwindcss.com/docs/scale
*/ 'scale-x': [
{
'scale-x': [
scale
]
}
],
/**
* Scale Y
* @see https://tailwindcss.com/docs/scale
*/ 'scale-y': [
{
'scale-y': [
scale
]
}
],
/**
* Rotate
* @see https://tailwindcss.com/docs/rotate
*/ rotate: [
{
rotate: [
isInteger,
isArbitraryValue
]
}
],
/**
* Translate X
* @see https://tailwindcss.com/docs/translate
*/ 'translate-x': [
{
'translate-x': [
translate
]
}
],
/**
* Translate Y
* @see https://tailwindcss.com/docs/translate
*/ 'translate-y': [
{
'translate-y': [
translate
]
}
],
/**
* Skew X
* @see https://tailwindcss.com/docs/skew
*/ 'skew-x': [
{
'skew-x': [
skew
]
}
],
/**
* Skew Y
* @see https://tailwindcss.com/docs/skew
*/ 'skew-y': [
{
'skew-y': [
skew
]
}
],
/**
* Transform Origin
* @see https://tailwindcss.com/docs/transform-origin
*/ 'transform-origin': [
{
origin: [
'center',
'top',
'top-right',
'right',
'bottom-right',
'bottom',
'bottom-left',
'left',
'top-left',
isArbitraryValue
]
}
],
// Interactivity
/**
* Accent Color
* @see https://tailwindcss.com/docs/accent-color
*/ accent: [
{
accent: [
'auto',
colors
]
}
],
/**
* Appearance
* @see https://tailwindcss.com/docs/appearance
*/ appearance: [
{
appearance: [
'none',
'auto'
]
}
],
/**
* Cursor
* @see https://tailwindcss.com/docs/cursor
*/ cursor: [
{
cursor: [
'auto',
'default',
'pointer',
'wait',
'text',
'move',
'help',
'not-allowed',
'none',
'context-menu',
'progress',
'cell',
'crosshair',
'vertical-text',
'alias',
'copy',
'no-drop',
'grab',
'grabbing',
'all-scroll',
'col-resize',
'row-resize',
'n-resize',
'e-resize',
's-resize',
'w-resize',
'ne-resize',
'nw-resize',
'se-resize',
'sw-resize',
'ew-resize',
'ns-resize',
'nesw-resize',
'nwse-resize',
'zoom-in',
'zoom-out',
isArbitraryValue
]
}
],
/**
* Caret Color
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
*/ 'caret-color': [
{
caret: [
colors
]
}
],
/**
* Pointer Events
* @see https://tailwindcss.com/docs/pointer-events
*/ 'pointer-events': [
{
'pointer-events': [
'none',
'auto'
]
}
],
/**
* Resize
* @see https://tailwindcss.com/docs/resize
*/ resize: [
{
resize: [
'none',
'y',
'x',
''
]
}
],
/**
* Scroll Behavior
* @see https://tailwindcss.com/docs/scroll-behavior
*/ 'scroll-behavior': [
{
scroll: [
'auto',
'smooth'
]
}
],
/**
* Scroll Margin
* @see https://tailwindcss.com/docs/scroll-margin
*/ 'scroll-m': [
{
'scroll-m': getSpacingWithArbitrary()
}
],
/**
* Scroll Margin X
* @see https://tailwindcss.com/docs/scroll-margin
*/ 'scroll-mx': [
{
'scroll-mx': getSpacingWithArbitrary()
}
],
/**
* Scroll Margin Y
* @see https://tailwindcss.com/docs/scroll-margin
*/ 'scroll-my': [
{
'scroll-my': getSpacingWithArbitrary()
}
],
/**
* Scroll Margin Start
* @see https://tailwindcss.com/docs/scroll-margin
*/ 'scroll-ms': [
{
'scroll-ms': getSpacingWithArbitrary()
}
],
/**
* Scroll Margin End
* @see https://tailwindcss.com/docs/scroll-margin
*/ 'scroll-me': [
{
'scroll-me': getSpacingWithArbitrary()
}
],
/**
* Scroll Margin Top
* @see https://tailwindcss.com/docs/scroll-margin
*/ 'scroll-mt': [
{
'scroll-mt': getSpacingWithArbitrary()
}
],
/**
* Scroll Margin Right
* @see https://tailwindcss.com/docs/scroll-margin
*/ 'scroll-mr': [
{
'scroll-mr': getSpacingWithArbitrary()
}
],
/**
* Scroll Margin Bottom
* @see https://tailwindcss.com/docs/scroll-margin
*/ 'scroll-mb': [
{
'scroll-mb': getSpacingWithArbitrary()
}
],
/**
* Scroll Margin Left
* @see https://tailwindcss.com/docs/scroll-margin
*/ 'scroll-ml': [
{
'scroll-ml': getSpacingWithArbitrary()
}
],
/**
* Scroll Padding
* @see https://tailwindcss.com/docs/scroll-padding
*/ 'scroll-p': [
{
'scroll-p': getSpacingWithArbitrary()
}
],
/**
* Scroll Padding X
* @see https://tailwindcss.com/docs/scroll-padding
*/ 'scroll-px': [
{
'scroll-px': getSpacingWithArbitrary()
}
],
/**
* Scroll Padding Y
* @see https://tailwindcss.com/docs/scroll-padding
*/ 'scroll-py': [
{
'scroll-py': getSpacingWithArbitrary()
}
],
/**
* Scroll Padding Start
* @see https://tailwindcss.com/docs/scroll-padding
*/ 'scroll-ps': [
{
'scroll-ps': getSpacingWithArbitrary()
}
],
/**
* Scroll Padding End
* @see https://tailwindcss.com/docs/scroll-padding
*/ 'scroll-pe': [
{
'scroll-pe': getSpacingWithArbitrary()
}
],
/**
* Scroll Padding Top
* @see https://tailwindcss.com/docs/scroll-padding
*/ 'scroll-pt': [
{
'scroll-pt': getSpacingWithArbitrary()
}
],
/**
* Scroll Padding Right
* @see https://tailwindcss.com/docs/scroll-padding
*/ 'scroll-pr': [
{
'scroll-pr': getSpacingWithArbitrary()
}
],
/**
* Scroll Padding Bottom
* @see https://tailwindcss.com/docs/scroll-padding
*/ 'scroll-pb': [
{
'scroll-pb': getSpacingWithArbitrary()
}
],
/**
* Scroll Padding Left
* @see https://tailwindcss.com/docs/scroll-padding
*/ 'scroll-pl': [
{
'scroll-pl': getSpacingWithArbitrary()
}
],
/**
* Scroll Snap Align
* @see https://tailwindcss.com/docs/scroll-snap-align
*/ 'snap-align': [
{
snap: [
'start',
'end',
'center',
'align-none'
]
}
],
/**
* Scroll Snap Stop
* @see https://tailwindcss.com/docs/scroll-snap-stop
*/ 'snap-stop': [
{
snap: [
'normal',
'always'
]
}
],
/**
* Scroll Snap Type
* @see https://tailwindcss.com/docs/scroll-snap-type
*/ 'snap-type': [
{
snap: [
'none',
'x',
'y',
'both'
]
}
],
/**
* Scroll Snap Type Strictness
* @see https://tailwindcss.com/docs/scroll-snap-type
*/ 'snap-strictness': [
{
snap: [
'mandatory',
'proximity'
]
}
],
/**
* Touch Action
* @see https://tailwindcss.com/docs/touch-action
*/ touch: [
{
touch: [
'auto',
'none',
'manipulation'
]
}
],
/**
* Touch Action X
* @see https://tailwindcss.com/docs/touch-action
*/ 'touch-x': [
{
'touch-pan': [
'x',
'left',
'right'
]
}
],
/**
* Touch Action Y
* @see https://tailwindcss.com/docs/touch-action
*/ 'touch-y': [
{
'touch-pan': [
'y',
'up',
'down'
]
}
],
/**
* Touch Action Pinch Zoom
* @see https://tailwindcss.com/docs/touch-action
*/ 'touch-pz': [
'touch-pinch-zoom'
],
/**
* User Select
* @see https://tailwindcss.com/docs/user-select
*/ select: [
{
select: [
'none',
'text',
'all',
'auto'
]
}
],
/**
* Will Change
* @see https://tailwindcss.com/docs/will-change
*/ 'will-change': [
{
'will-change': [
'auto',
'scroll',
'contents',
'transform',
isArbitraryValue
]
}
],
// SVG
/**
* Fill
* @see https://tailwindcss.com/docs/fill
*/ fill: [
{
fill: [
colors,
'none'
]
}
],
/**
* Stroke Width
* @see https://tailwindcss.com/docs/stroke-width
*/ 'stroke-w': [
{
stroke: [
isLength,
isArbitraryLength,
isArbitraryNumber
]
}
],
/**
* Stroke
* @see https://tailwindcss.com/docs/stroke
*/ stroke: [
{
stroke: [
colors,
'none'
]
}
],
// Accessibility
/**
* Screen Readers
* @see https://tailwindcss.com/docs/screen-readers
*/ sr: [
'sr-only',
'not-sr-only'
],
/**
* Forced Color Adjust
* @see https://tailwindcss.com/docs/forced-color-adjust
*/ 'forced-color-adjust': [
{
'forced-color-adjust': [
'auto',
'none'
]
}
]
},
conflictingClassGroups: {
overflow: [
'overflow-x',
'overflow-y'
],
overscroll: [
'overscroll-x',
'overscroll-y'
],
inset: [
'inset-x',
'inset-y',
'start',
'end',
'top',
'right',
'bottom',
'left'
],
'inset-x': [
'right',
'left'
],
'inset-y': [
'top',
'bottom'
],
flex: [
'basis',
'grow',
'shrink'
],
gap: [
'gap-x',
'gap-y'
],
p: [
'px',
'py',
'ps',
'pe',
'pt',
'pr',
'pb',
'pl'
],
px: [
'pr',
'pl'
],
py: [
'pt',
'pb'
],
m: [
'mx',
'my',
'ms',
'me',
'mt',
'mr',
'mb',
'ml'
],
mx: [
'mr',
'ml'
],
my: [
'mt',
'mb'
],
size: [
'w',
'h'
],
'font-size': [
'leading'
],
'fvn-normal': [
'fvn-ordinal',
'fvn-slashed-zero',
'fvn-figure',
'fvn-spacing',
'fvn-fraction'
],
'fvn-ordinal': [
'fvn-normal'
],
'fvn-slashed-zero': [
'fvn-normal'
],
'fvn-figure': [
'fvn-normal'
],
'fvn-spacing': [
'fvn-normal'
],
'fvn-fraction': [
'fvn-normal'
],
'line-clamp': [
'display',
'overflow'
],
rounded: [
'rounded-s',
'rounded-e',
'rounded-t',
'rounded-r',
'rounded-b',
'rounded-l',
'rounded-ss',
'rounded-se',
'rounded-ee',
'rounded-es',
'rounded-tl',
'rounded-tr',
'rounded-br',
'rounded-bl'
],
'rounded-s': [
'rounded-ss',
'rounded-es'
],
'rounded-e': [
'rounded-se',
'rounded-ee'
],
'rounded-t': [
'rounded-tl',
'rounded-tr'
],
'rounded-r': [
'rounded-tr',
'rounded-br'
],
'rounded-b': [
'rounded-br',
'rounded-bl'
],
'rounded-l': [
'rounded-tl',
'rounded-bl'
],
'border-spacing': [
'border-spacing-x',
'border-spacing-y'
],
'border-w': [
'border-w-s',
'border-w-e',
'border-w-t',
'border-w-r',
'border-w-b',
'border-w-l'
],
'border-w-x': [
'border-w-r',
'border-w-l'
],
'border-w-y': [
'border-w-t',
'border-w-b'
],
'border-color': [
'border-color-s',
'border-color-e',
'border-color-t',
'border-color-r',
'border-color-b',
'border-color-l'
],
'border-color-x': [
'border-color-r',
'border-color-l'
],
'border-color-y': [
'border-color-t',
'border-color-b'
],
'scroll-m': [
'scroll-mx',
'scroll-my',
'scroll-ms',
'scroll-me',
'scroll-mt',
'scroll-mr',
'scroll-mb',
'scroll-ml'
],
'scroll-mx': [
'scroll-mr',
'scroll-ml'
],
'scroll-my': [
'scroll-mt',
'scroll-mb'
],
'scroll-p': [
'scroll-px',
'scroll-py',
'scroll-ps',
'scroll-pe',
'scroll-pt',
'scroll-pr',
'scroll-pb',
'scroll-pl'
],
'scroll-px': [
'scroll-pr',
'scroll-pl'
],
'scroll-py': [
'scroll-pt',
'scroll-pb'
],
touch: [
'touch-x',
'touch-y',
'touch-pz'
],
'touch-x': [
'touch'
],
'touch-y': [
'touch'
],
'touch-pz': [
'touch'
]
},
conflictingClassGroupModifiers: {
'font-size': [
'leading'
]
}
};
};
/**
* @param baseConfig Config where other config will be merged into. This object will be mutated.
* @param configExtension Partial config to merge into the `baseConfig`.
*/ const mergeConfigs = (baseConfig, { cacheSize, prefix, separator, experimentalParseClassName, extend = {}, override = {} })=>{
overrideProperty(baseConfig, 'cacheSize', cacheSize);
overrideProperty(baseConfig, 'prefix', prefix);
overrideProperty(baseConfig, 'separator', separator);
overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName);
for(const configKey in override){
overrideConfigProperties(baseConfig[configKey], override[configKey]);
}
for(const key in extend){
mergeConfigProperties(baseConfig[key], extend[key]);
}
return baseConfig;
};
const overrideProperty = (baseObject, overrideKey, overrideValue)=>{
if (overrideValue !== undefined) {
baseObject[overrideKey] = overrideValue;
}
};
const overrideConfigProperties = (baseObject, overrideObject)=>{
if (overrideObject) {
for(const key in overrideObject){
overrideProperty(baseObject, key, overrideObject[key]);
}
}
};
const mergeConfigProperties = (baseObject, mergeObject)=>{
if (mergeObject) {
for(const key in mergeObject){
const mergeValue = mergeObject[key];
if (mergeValue !== undefined) {
baseObject[key] = (baseObject[key] || []).concat(mergeValue);
}
}
}
};
const extendTailwindMerge = (configExtension, ...createConfig)=>typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(()=>mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);
const twMerge = /*#__PURE__*/ createTailwindMerge(getDefaultConfig);
;
//# sourceMappingURL=bundle-mjs.mjs.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/shared/src/utils.js [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
/**
* @license lucide-react v0.454.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/ __turbopack_context__.s([
"mergeClasses",
()=>mergeClasses,
"toKebabCase",
()=>toKebabCase
]);
const toKebabCase = (string)=>string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
const mergeClasses = (...classes)=>classes.filter((className, index, array)=>{
return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
}).join(" ").trim();
;
//# sourceMappingURL=utils.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/defaultAttributes.js [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
/**
* @license lucide-react v0.454.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/ __turbopack_context__.s([
"default",
()=>defaultAttributes
]);
var defaultAttributes = {
xmlns: "http://www.w3.org/2000/svg",
width: 24,
height: 24,
viewBox: "0 0 24 24",
fill: "none",
stroke: "currentColor",
strokeWidth: 2,
strokeLinecap: "round",
strokeLinejoin: "round"
};
;
//# sourceMappingURL=defaultAttributes.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/Icon.js [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
/**
* @license lucide-react v0.454.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/ __turbopack_context__.s([
"default",
()=>Icon
]);
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$defaultAttributes$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/defaultAttributes.js [app-client] (ecmascript)");
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/shared/src/utils.js [app-client] (ecmascript)");
;
;
;
const Icon = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"])(({ color = "currentColor", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = "", children, iconNode, ...rest }, ref)=>{
return (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createElement"])("svg", {
ref,
...__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$defaultAttributes$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"],
width: size,
height: size,
stroke: color,
strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
className: (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["mergeClasses"])("lucide", className),
...rest
}, [
...iconNode.map(([tag, attrs])=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createElement"])(tag, attrs)),
...Array.isArray(children) ? children : [
children
]
]);
});
;
//# sourceMappingURL=Icon.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
/**
* @license lucide-react v0.454.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/ __turbopack_context__.s([
"default",
()=>createLucideIcon
]);
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/shared/src/utils.js [app-client] (ecmascript)");
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$Icon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/Icon.js [app-client] (ecmascript)");
;
;
;
const createLucideIcon = (iconName, iconNode)=>{
const Component = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"])(({ className, ...props }, ref)=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createElement"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$Icon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"], {
ref,
iconNode,
className: (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["mergeClasses"])(`lucide-${(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["toKebabCase"])(iconName)}`, className),
...props
}));
Component.displayName = `${iconName}`;
return Component;
};
;
//# sourceMappingURL=createLucideIcon.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/download.js [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
/**
* @license lucide-react v0.454.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/ __turbopack_context__.s([
"default",
()=>Download
]);
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
;
const Download = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("Download", [
[
"path",
{
d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
key: "ih7n3h"
}
],
[
"polyline",
{
points: "7 10 12 15 17 10",
key: "2ggqvy"
}
],
[
"line",
{
x1: "12",
x2: "12",
y1: "15",
y2: "3",
key: "1vk2je"
}
]
]);
;
//# sourceMappingURL=download.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/download.js [app-client] (ecmascript) <export default as Download>", ((__turbopack_context__) => {
"use strict";
__turbopack_context__.s([
"Download",
()=>__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$download$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
]);
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$download$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/download.js [app-client] (ecmascript)");
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/x.js [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
/**
* @license lucide-react v0.454.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/ __turbopack_context__.s([
"default",
()=>X
]);
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
;
const X = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("X", [
[
"path",
{
d: "M18 6 6 18",
key: "1bl5f8"
}
],
[
"path",
{
d: "m6 6 12 12",
key: "d8bk6v"
}
]
]);
;
//# sourceMappingURL=x.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/x.js [app-client] (ecmascript) <export default as X>", ((__turbopack_context__) => {
"use strict";
__turbopack_context__.s([
"X",
()=>__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$x$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
]);
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$x$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/x.js [app-client] (ecmascript)");
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/smartphone.js [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
/**
* @license lucide-react v0.454.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/ __turbopack_context__.s([
"default",
()=>Smartphone
]);
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-client] (ecmascript)");
;
const Smartphone = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("Smartphone", [
[
"rect",
{
width: "14",
height: "20",
x: "5",
y: "2",
rx: "2",
ry: "2",
key: "1yt0o3"
}
],
[
"path",
{
d: "M12 18h.01",
key: "mhygvu"
}
]
]);
;
//# sourceMappingURL=smartphone.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/smartphone.js [app-client] (ecmascript) <export default as Smartphone>", ((__turbopack_context__) => {
"use strict";
__turbopack_context__.s([
"Smartphone",
()=>__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$smartphone$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
]);
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$smartphone$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/smartphone.js [app-client] (ecmascript)");
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/router/utils/disable-smooth-scroll.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "disableSmoothScrollDuringRouteTransition", {
enumerable: true,
get: function() {
return disableSmoothScrollDuringRouteTransition;
}
});
const _warnonce = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/utils/warn-once.js [app-client] (ecmascript)");
function disableSmoothScrollDuringRouteTransition(fn, options = {}) {
// if only the hash is changed, we don't need to disable smooth scrolling
// we only care to prevent smooth scrolling when navigating to a new page to avoid jarring UX
if (options.onlyHashChange) {
fn();
return;
}
const htmlElement = document.documentElement;
const hasDataAttribute = htmlElement.dataset.scrollBehavior === 'smooth';
if (!hasDataAttribute) {
// Warn if smooth scrolling is detected but no data attribute is present
if (("TURBOPACK compile-time value", "development") === 'development' && getComputedStyle(htmlElement).scrollBehavior === 'smooth') {
(0, _warnonce.warnOnce)('Detected `scroll-behavior: smooth` on the `<html>` element. To disable smooth scrolling during route transitions, ' + 'add `data-scroll-behavior="smooth"` to your <html> element. ' + 'Learn more: https://nextjs.org/docs/messages/missing-data-scroll-behavior');
}
// No smooth scrolling configured, run directly without style manipulation
fn();
return;
}
// Proceed with temporarily disabling smooth scrolling
const existing = htmlElement.style.scrollBehavior;
htmlElement.style.scrollBehavior = 'auto';
if (!options.dontForceLayout) {
// In Chrome-based browsers we need to force reflow before calling `scrollTo`.
// Otherwise it will not pickup the change in scrollBehavior
// More info here: https://github.com/vercel/next.js/issues/40719#issuecomment-1336248042
htmlElement.getClientRects();
}
fn();
htmlElement.style.scrollBehavior = existing;
} //# sourceMappingURL=disable-smooth-scroll.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/bfcache.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useRouterBFCache", {
enumerable: true,
get: function() {
return useRouterBFCache;
}
});
const _react = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
// When the flag is disabled, only track the currently active tree
const MAX_BF_CACHE_ENTRIES = ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : 1;
function useRouterBFCache(activeTree, activeStateKey) {
// The currently active entry. The entries form a linked list, sorted in
// order of most recently active. This allows us to reuse parts of the list
// without cloning, unless there's a reordering or removal.
// TODO: Once we start tracking back/forward history at each route level,
// we should use the history order instead. In other words, when traversing
// to an existing entry as a result of a popstate event, we should maintain
// the existing order instead of moving it to the front of the list. I think
// an initial implementation of this could be to pass an incrementing id
// to history.pushState/replaceState, then use that here for ordering.
const [prevActiveEntry, setPrevActiveEntry] = (0, _react.useState)(()=>{
const initialEntry = {
tree: activeTree,
stateKey: activeStateKey,
next: null
};
return initialEntry;
});
if (prevActiveEntry.tree === activeTree) {
// Fast path. The active tree hasn't changed, so we can reuse the
// existing state.
return prevActiveEntry;
}
// The route tree changed. Note that this doesn't mean that the tree changed
// *at this level* — the change may be due to a child route. Either way, we
// need to either add or update the router tree in the bfcache.
//
// The rest of the code looks more complicated than it actually is because we
// can't mutate the state in place; we have to copy-on-write.
// Create a new entry for the active cache key. This is the head of the new
// linked list.
const newActiveEntry = {
tree: activeTree,
stateKey: activeStateKey,
next: null
};
// We need to append the old list onto the new list. If the head of the new
// list was already present in the cache, then we'll need to clone everything
// that came before it. Then we can reuse the rest.
let n = 1;
let oldEntry = prevActiveEntry;
let clonedEntry = newActiveEntry;
while(oldEntry !== null && n < MAX_BF_CACHE_ENTRIES){
if (oldEntry.stateKey === activeStateKey) {
// Fast path. This entry in the old list that corresponds to the key that
// is now active. We've already placed a clone of this entry at the front
// of the new list. We can reuse the rest of the old list without cloning.
// NOTE: We don't need to worry about eviction in this case because we
// haven't increased the size of the cache, and we assume the max size
// is constant across renders. If we were to change it to a dynamic limit,
// then the implementation would need to account for that.
clonedEntry.next = oldEntry.next;
break;
} else {
// Clone the entry and append it to the list.
n++;
const entry = {
tree: oldEntry.tree,
stateKey: oldEntry.stateKey,
next: null
};
clonedEntry.next = entry;
clonedEntry = entry;
}
oldEntry = oldEntry.next;
}
setPrevActiveEntry(newActiveEntry);
return newActiveEntry;
}
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=bfcache.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/layout-router.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
'use client';
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, /**
* OuterLayoutRouter handles the current segment as well as <Offscreen> rendering of other segments.
* It can be rendered next to each other with a different `parallelRouterKey`, allowing for Parallel routes.
*/ "default", {
enumerable: true,
get: function() {
return OuterLayoutRouter;
}
});
const _interop_require_default = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_default.cjs [app-client] (ecmascript)");
const _interop_require_wildcard = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs [app-client] (ecmascript)");
const _jsxruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
const _routerreducertypes = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js [app-client] (ecmascript)");
const _react = /*#__PURE__*/ _interop_require_wildcard._(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"));
const _reactdom = /*#__PURE__*/ _interop_require_default._(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react-dom/index.js [app-client] (ecmascript)"));
const _approutercontextsharedruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js [app-client] (ecmascript)");
const _fetchserverresponse = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js [app-client] (ecmascript)");
const _unresolvedthenable = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/unresolved-thenable.js [app-client] (ecmascript)");
const _errorboundary = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/error-boundary.js [app-client] (ecmascript)");
const _matchsegments = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/match-segments.js [app-client] (ecmascript)");
const _disablesmoothscroll = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/router/utils/disable-smooth-scroll.js [app-client] (ecmascript)");
const _redirectboundary = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/redirect-boundary.js [app-client] (ecmascript)");
const _errorboundary1 = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js [app-client] (ecmascript)");
const _createroutercachekey = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js [app-client] (ecmascript)");
const _hasinterceptionrouteincurrenttree = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js [app-client] (ecmascript)");
const _useactionqueue = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/use-action-queue.js [app-client] (ecmascript)");
const _bfcache = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/bfcache.js [app-client] (ecmascript)");
const _apppaths = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/router/utils/app-paths.js [app-client] (ecmascript)");
const _hooksclientcontextsharedruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js [app-client] (ecmascript)");
const _routeparams = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/route-params.js [app-client] (ecmascript)");
/**
* Add refetch marker to router state at the point of the current layout segment.
* This ensures the response returned is not further down than the current layout segment.
*/ function walkAddRefetch(segmentPathToWalk, treeToRecreate) {
if (segmentPathToWalk) {
const [segment, parallelRouteKey] = segmentPathToWalk;
const isLast = segmentPathToWalk.length === 2;
if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) {
if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) {
if (isLast) {
const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]);
return [
treeToRecreate[0],
{
...treeToRecreate[1],
[parallelRouteKey]: [
subTree[0],
subTree[1],
subTree[2],
'refetch'
]
}
];
}
return [
treeToRecreate[0],
{
...treeToRecreate[1],
[parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey])
}
];
}
}
}
return treeToRecreate;
}
const __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = _reactdom.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available
/**
* Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning
*/ function findDOMNode(instance) {
// Tree-shake for server bundle
if (typeof window === 'undefined') return null;
// __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode is null during module init.
// We need to lazily reference it.
const internal_reactDOMfindDOMNode = __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode;
return internal_reactDOMfindDOMNode(instance);
}
const rectProperties = [
'bottom',
'height',
'left',
'right',
'top',
'width',
'x',
'y'
];
/**
* Check if a HTMLElement is hidden or fixed/sticky position
*/ function shouldSkipElement(element) {
// we ignore fixed or sticky positioned elements since they'll likely pass the "in-viewport" check
// and will result in a situation we bail on scroll because of something like a fixed nav,
// even though the actual page content is offscreen
if ([
'sticky',
'fixed'
].includes(getComputedStyle(element).position)) {
return true;
}
// Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent`
// because `offsetParent` doesn't consider document/body
const rect = element.getBoundingClientRect();
return rectProperties.every((item)=>rect[item] === 0);
}
/**
* Check if the top corner of the HTMLElement is in the viewport.
*/ function topOfElementInViewport(element, viewportHeight) {
const rect = element.getBoundingClientRect();
return rect.top >= 0 && rect.top <= viewportHeight;
}
/**
* Find the DOM node for a hash fragment.
* If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior.
* If the hash fragment is an id, the page has to scroll to the element with that id.
* If the hash fragment is a name, the page has to scroll to the first element with that name.
*/ function getHashFragmentDomNode(hashFragment) {
// If the hash fragment is `top` the page has to scroll to the top of the page.
if (hashFragment === 'top') {
return document.body;
}
// If the hash fragment is an id, the page has to scroll to the element with that id.
return document.getElementById(hashFragment) ?? // If the hash fragment is a name, the page has to scroll to the first element with that name.
document.getElementsByName(hashFragment)[0];
}
class InnerScrollAndFocusHandler extends _react.default.Component {
componentDidMount() {
this.handlePotentialScroll();
}
componentDidUpdate() {
// Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders.
if (this.props.focusAndScrollRef.apply) {
this.handlePotentialScroll();
}
}
render() {
return this.props.children;
}
constructor(...args){
super(...args), this.handlePotentialScroll = ()=>{
// Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed.
const { focusAndScrollRef, segmentPath } = this.props;
if (focusAndScrollRef.apply) {
// segmentPaths is an array of segment paths that should be scrolled to
// if the current segment path is not in the array, the scroll is not applied
// unless the array is empty, in which case the scroll is always applied
if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) {
return;
}
let domNode = null;
const hashFragment = focusAndScrollRef.hashFragment;
if (hashFragment) {
domNode = getHashFragmentDomNode(hashFragment);
}
// `findDOMNode` is tricky because it returns just the first child if the component is a fragment.
// This already caused a bug where the first child was a <link/> in head.
if (!domNode) {
domNode = findDOMNode(this);
}
// If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree.
if (!(domNode instanceof Element)) {
return;
}
// Verify if the element is a HTMLElement and if we want to consider it for scroll behavior.
// If the element is skipped, try to select the next sibling and try again.
while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){
if ("TURBOPACK compile-time truthy", 1) {
if (domNode.parentElement?.localName === 'head') {
// TODO: We enter this state when metadata was rendered as part of the page or via Next.js.
// This is always a bug in Next.js and caused by React hoisting metadata.
// We need to replace `findDOMNode` in favor of Fragment Refs (when available) so that we can skip over metadata.
}
}
// No siblings found that match the criteria are found, so handle scroll higher up in the tree instead.
if (domNode.nextElementSibling === null) {
return;
}
domNode = domNode.nextElementSibling;
}
// State is mutated to ensure that the focus and scroll is applied only once.
focusAndScrollRef.apply = false;
focusAndScrollRef.hashFragment = null;
focusAndScrollRef.segmentPaths = [];
(0, _disablesmoothscroll.disableSmoothScrollDuringRouteTransition)(()=>{
// In case of hash scroll, we only need to scroll the element into view
if (hashFragment) {
;
domNode.scrollIntoView();
return;
}
// Store the current viewport height because reading `clientHeight` causes a reflow,
// and it won't change during this function.
const htmlElement = document.documentElement;
const viewportHeight = htmlElement.clientHeight;
// If the element's top edge is already in the viewport, exit early.
if (topOfElementInViewport(domNode, viewportHeight)) {
return;
}
// Otherwise, try scrolling go the top of the document to be backward compatible with pages
// scrollIntoView() called on `<html/>` element scrolls horizontally on chrome and firefox (that shouldn't happen)
// We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left
// scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically
htmlElement.scrollTop = 0;
// Scroll to domNode if domNode is not in viewport when scrolled to top of document
if (!topOfElementInViewport(domNode, viewportHeight)) {
// Scroll into view doesn't scroll horizontally by default when not needed
;
domNode.scrollIntoView();
}
}, {
// We will force layout by querying domNode position
dontForceLayout: true,
onlyHashChange: focusAndScrollRef.onlyHashChange
});
// Mutate after scrolling so that it can be read by `disableSmoothScrollDuringRouteTransition`
focusAndScrollRef.onlyHashChange = false;
// Set focus on the element
domNode.focus();
}
};
}
}
function ScrollAndFocusHandler({ segmentPath, children }) {
const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);
if (!context) {
throw Object.defineProperty(new Error('invariant global layout router not mounted'), "__NEXT_ERROR_CODE", {
value: "E473",
enumerable: false,
configurable: true
});
}
return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndFocusHandler, {
segmentPath: segmentPath,
focusAndScrollRef: context.focusAndScrollRef,
children: children
});
}
/**
* InnerLayoutRouter handles rendering the provided segment based on the cache.
*/ function InnerLayoutRouter({ tree, segmentPath, debugNameContext, cacheNode, params, url, isActive }) {
const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);
const parentNavPromises = (0, _react.useContext)(_hooksclientcontextsharedruntime.NavigationPromisesContext);
if (!context) {
throw Object.defineProperty(new Error('invariant global layout router not mounted'), "__NEXT_ERROR_CODE", {
value: "E473",
enumerable: false,
configurable: true
});
}
const { tree: fullTree } = context;
// `rsc` represents the renderable node for this segment.
// If this segment has a `prefetchRsc`, it's the statically prefetched data.
// We should use that on initial render instead of `rsc`. Then we'll switch
// to `rsc` when the dynamic response streams in.
//
// If no prefetch data is available, then we go straight to rendering `rsc`.
const resolvedPrefetchRsc = cacheNode.prefetchRsc !== null ? cacheNode.prefetchRsc : cacheNode.rsc;
// We use `useDeferredValue` to handle switching between the prefetched and
// final values. The second argument is returned on initial render, then it
// re-renders with the first argument.
const rsc = (0, _react.useDeferredValue)(cacheNode.rsc, resolvedPrefetchRsc);
// `rsc` is either a React node or a promise for a React node, except we
// special case `null` to represent that this segment's data is missing. If
// it's a promise, we need to unwrap it so we can determine whether or not the
// data is missing.
const resolvedRsc = typeof rsc === 'object' && rsc !== null && typeof rsc.then === 'function' ? (0, _react.use)(rsc) : rsc;
if (!resolvedRsc) {
// The data for this segment is not available, and there's no pending
// navigation that will be able to fulfill it. We need to fetch more from
// the server and patch the cache.
// Only fetch data for the active segment. Inactive segments (rendered
// offscreen for bfcache) should not trigger fetches.
if (isActive) {
// Check if there's already a pending request.
let lazyData = cacheNode.lazyData;
if (lazyData === null) {
/**
* Router state with refetch marker added
*/ // TODO-APP: remove ''
const refetchTree = walkAddRefetch([
'',
...segmentPath
], fullTree);
const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(fullTree);
const navigatedAt = Date.now();
cacheNode.lazyData = lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), {
flightRouterState: refetchTree,
nextUrl: includeNextUrl ? // the next-url after a navigation, but we want the same
// interception route to be matched that used the last
// next-url.
context.previousNextUrl || context.nextUrl : null
}).then((serverResponse)=>{
(0, _react.startTransition)(()=>{
(0, _useactionqueue.dispatchAppRouterAction)({
type: _routerreducertypes.ACTION_SERVER_PATCH,
previousTree: fullTree,
serverResponse,
navigatedAt
});
});
return serverResponse;
});
// Suspend while waiting for lazyData to resolve
(0, _react.use)(lazyData);
}
}
// Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered.
// A falsey `resolvedRsc` indicates missing data -- we should not commit that branch, and we need to wait for the data to arrive.
(0, _react.use)(_unresolvedthenable.unresolvedThenable);
}
// If we get to this point, then we know we have something we can render.
let content = resolvedRsc;
// In dev, we create a NavigationPromisesContext containing the instrumented promises that provide
// `useSelectedLayoutSegment` and `useSelectedLayoutSegments`.
// Promises are cached outside of render to survive suspense retries.
let navigationPromises = null;
if ("TURBOPACK compile-time truthy", 1) {
const { createNestedLayoutNavigationPromises } = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/navigation-devtools.js [app-client] (ecmascript)");
navigationPromises = createNestedLayoutNavigationPromises(tree, parentNavPromises);
}
if (navigationPromises) {
content = /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.NavigationPromisesContext.Provider, {
value: navigationPromises,
children: resolvedRsc
});
}
const subtree = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {
value: {
parentTree: tree,
parentCacheNode: cacheNode,
parentSegmentPath: segmentPath,
parentParams: params,
debugNameContext: debugNameContext,
// TODO-APP: overriding of url for parallel routes
url: url,
isActive: isActive
},
children: content
});
// Ensure root layout is not wrapped in a div as the root layout renders `<html>`
return subtree;
}
/**
* Renders suspense boundary with the provided "loading" property as the fallback.
* If no loading property is provided it renders the children without a suspense boundary.
*/ function LoadingBoundary({ name, loading, children }) {
// If loading is a promise, unwrap it. This happens in cases where we haven't
// yet received the loading data from the server — which includes whether or
// not this layout has a loading component at all.
//
// It's OK to suspend here instead of inside the fallback because this
// promise will resolve simultaneously with the data for the segment itself.
// So it will never suspend for longer than it would have if we didn't use
// a Suspense fallback at all.
let loadingModuleData;
if (typeof loading === 'object' && loading !== null && typeof loading.then === 'function') {
const promiseForLoading = loading;
loadingModuleData = (0, _react.use)(promiseForLoading);
} else {
loadingModuleData = loading;
}
if (loadingModuleData) {
const loadingRsc = loadingModuleData[0];
const loadingStyles = loadingModuleData[1];
const loadingScripts = loadingModuleData[2];
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {
name: name,
fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
children: [
loadingStyles,
loadingScripts,
loadingRsc
]
}),
children: children
});
}
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
children: children
});
}
function OuterLayoutRouter({ parallelRouterKey, error, errorStyles, errorScripts, templateStyles, templateScripts, template, notFound, forbidden, unauthorized, segmentViewBoundaries }) {
const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);
if (!context) {
throw Object.defineProperty(new Error('invariant expected layout router to be mounted'), "__NEXT_ERROR_CODE", {
value: "E56",
enumerable: false,
configurable: true
});
}
const { parentTree, parentCacheNode, parentSegmentPath, parentParams, url, isActive, debugNameContext } = context;
// Get the CacheNode for this segment by reading it from the parent segment's
// child map.
const parentParallelRoutes = parentCacheNode.parallelRoutes;
let segmentMap = parentParallelRoutes.get(parallelRouterKey);
// If the parallel router cache node does not exist yet, create it.
// This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.
if (!segmentMap) {
segmentMap = new Map();
parentParallelRoutes.set(parallelRouterKey, segmentMap);
}
const parentTreeSegment = parentTree[0];
const segmentPath = parentSegmentPath === null ? // the code. We should clean this up.
[
parallelRouterKey
] : parentSegmentPath.concat([
parentTreeSegment,
parallelRouterKey
]);
// The "state" key of a segment is the one passed to React — it represents the
// identity of the UI tree. Whenever the state key changes, the tree is
// recreated and the state is reset. In the App Router model, search params do
// not cause state to be lost, so two segments with the same segment path but
// different search params should have the same state key.
//
// The "cache" key of a segment, however, *does* include the search params, if
// it's possible that the segment accessed the search params on the server.
// (This only applies to page segments; layout segments cannot access search
// params on the server.)
const activeTree = parentTree[1][parallelRouterKey];
const activeSegment = activeTree[0];
const activeStateKey = (0, _createroutercachekey.createRouterCacheKey)(activeSegment, true) // no search params
;
// At each level of the route tree, not only do we render the currently
// active segment — we also render the last N segments that were active at
// this level inside a hidden <Activity> boundary, to preserve their state
// if or when the user navigates to them again.
//
// bfcacheEntry is a linked list of FlightRouterStates.
let bfcacheEntry = (0, _bfcache.useRouterBFCache)(activeTree, activeStateKey);
let children = [];
do {
const tree = bfcacheEntry.tree;
const stateKey = bfcacheEntry.stateKey;
const segment = tree[0];
const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);
// Read segment path from the parallel router cache node.
let cacheNode = segmentMap.get(cacheKey);
if (cacheNode === undefined) {
// When data is not available during rendering client-side we need to fetch
// it from the server.
const newLazyCacheNode = {
lazyData: null,
rsc: null,
prefetchRsc: null,
head: null,
prefetchHead: null,
parallelRoutes: new Map(),
loading: null,
navigatedAt: -1
};
// Flight data fetch kicked off during render and put into the cache.
cacheNode = newLazyCacheNode;
segmentMap.set(cacheKey, newLazyCacheNode);
}
/*
- Error boundary
- Only renders error boundary if error component is provided.
- Rendered for each segment to ensure they have their own error state.
- When gracefully degrade for bots, skip rendering error boundary.
- Loading boundary
- Only renders suspense boundary if loading components is provided.
- Rendered for each segment to ensure they have their own loading state.
- Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch.
*/ let segmentBoundaryTriggerNode = null;
let segmentViewStateNode = null;
if ("TURBOPACK compile-time truthy", 1) {
const { SegmentBoundaryTriggerNode, SegmentViewStateNode } = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js [app-client] (ecmascript)");
const pagePrefix = (0, _apppaths.normalizeAppPath)(url);
segmentViewStateNode = /*#__PURE__*/ (0, _jsxruntime.jsx)(SegmentViewStateNode, {
page: pagePrefix
}, pagePrefix);
segmentBoundaryTriggerNode = /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(SegmentBoundaryTriggerNode, {})
});
}
let params = parentParams;
if (Array.isArray(segment)) {
// This segment contains a route param. Accumulate these as we traverse
// down the router tree. The result represents the set of params that
// the layout/page components are permitted to access below this point.
const paramName = segment[0];
const paramCacheKey = segment[1];
const paramType = segment[2];
const paramValue = (0, _routeparams.getParamValueFromCacheKey)(paramCacheKey, paramType);
if (paramValue !== null) {
params = {
...parentParams,
[paramName]: paramValue
};
}
}
const debugName = getBoundaryDebugNameFromSegment(segment);
// `debugNameContext` represents the nearest non-"virtual" parent segment.
// `getBoundaryDebugNameFromSegment` returns undefined for virtual segments.
// So if `debugName` is undefined, the context is passed through unchanged.
const childDebugNameContext = debugName ?? debugNameContext;
// In practical terms, clicking this name in the Suspense DevTools
// should select the child slots of that layout.
//
// So the name we apply to the Activity boundary is actually based on
// the nearest parent segments.
//
// We skip over "virtual" parents, i.e. ones inserted by Next.js that
// don't correspond to application-defined code.
const isVirtual = debugName === undefined;
const debugNameToDisplay = isVirtual ? undefined : debugNameContext;
// TODO: The loading module data for a segment is stored on the parent, then
// applied to each of that parent segment's parallel route slots. In the
// simple case where there's only one parallel route (the `children` slot),
// this is no different from if the loading module data where stored on the
// child directly. But I'm not sure this actually makes sense when there are
// multiple parallel routes. It's not a huge issue because you always have
// the option to define a narrower loading boundary for a particular slot. But
// this sort of smells like an implementation accident to me.
const loadingModuleData = parentCacheNode.loading;
let child = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, {
value: /*#__PURE__*/ (0, _jsxruntime.jsxs)(ScrollAndFocusHandler, {
segmentPath: segmentPath,
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {
errorComponent: error,
errorStyles: errorStyles,
errorScripts: errorScripts,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, {
name: debugNameToDisplay,
loading: loadingModuleData,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary1.HTTPAccessFallbackBoundary, {
notFound: notFound,
forbidden: forbidden,
unauthorized: unauthorized,
children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, {
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, {
url: url,
tree: tree,
params: params,
cacheNode: cacheNode,
segmentPath: segmentPath,
debugNameContext: childDebugNameContext,
isActive: isActive && stateKey === activeStateKey
}),
segmentBoundaryTriggerNode
]
})
})
})
}),
segmentViewStateNode
]
}),
children: [
templateStyles,
templateScripts,
template
]
}, stateKey);
if ("TURBOPACK compile-time truthy", 1) {
const { SegmentStateProvider } = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js [app-client] (ecmascript)");
child = /*#__PURE__*/ (0, _jsxruntime.jsxs)(SegmentStateProvider, {
children: [
child,
segmentViewBoundaries
]
}, stateKey);
}
if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
;
children.push(child);
bfcacheEntry = bfcacheEntry.next;
}while (bfcacheEntry !== null)
return children;
}
function getBoundaryDebugNameFromSegment(segment) {
if (segment === '/') {
// Reached the root
return '/';
}
if (typeof segment === 'string') {
if (isVirtualLayout(segment)) {
return undefined;
} else {
return segment + '/';
}
}
const paramCacheKey = segment[1];
return paramCacheKey + '/';
}
function isVirtualLayout(segment) {
return(// in a more special way instead of checking the name, to distinguish them
// from app-defined groups.
segment === '(slot)');
}
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=layout-router.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/render-from-template-context.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return RenderFromTemplateContext;
}
});
const _interop_require_wildcard = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs [app-client] (ecmascript)");
const _jsxruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
const _react = /*#__PURE__*/ _interop_require_wildcard._(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"));
const _approutercontextsharedruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js [app-client] (ecmascript)");
function RenderFromTemplateContext() {
const children = (0, _react.useContext)(_approutercontextsharedruntime.TemplateContext);
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
children: children
});
}
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=render-from-template-context.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "ReflectAdapter", {
enumerable: true,
get: function() {
return ReflectAdapter;
}
});
class ReflectAdapter {
static get(target, prop, receiver) {
const value = Reflect.get(target, prop, receiver);
if (typeof value === 'function') {
return value.bind(target);
}
return value;
}
static set(target, prop, value, receiver) {
return Reflect.set(target, prop, value, receiver);
}
static has(target, prop) {
return Reflect.has(target, prop);
}
static deleteProperty(target, prop) {
return Reflect.deleteProperty(target, prop);
}
} //# sourceMappingURL=reflect.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
// This regex will have fast negatives meaning valid identifiers may not pass
// this test. However this is only used during static generation to provide hints
// about why a page bailed out of some or all prerendering and we can use bracket notation
// for example while `ಠ_ಠ` is a valid identifier it's ok to print `searchParams['ಠ_ಠ']`
// even if this would have been fine too `searchParams.ಠ_ಠ`
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
describeHasCheckingStringProperty: null,
describeStringPropertyAccess: null,
wellKnownProperties: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
describeHasCheckingStringProperty: function() {
return describeHasCheckingStringProperty;
},
describeStringPropertyAccess: function() {
return describeStringPropertyAccess;
},
wellKnownProperties: function() {
return wellKnownProperties;
}
});
const isDefinitelyAValidIdentifier = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
function describeStringPropertyAccess(target, prop) {
if (isDefinitelyAValidIdentifier.test(prop)) {
return `\`${target}.${prop}\``;
}
return `\`${target}[${JSON.stringify(prop)}]\``;
}
function describeHasCheckingStringProperty(target, prop) {
const stringifiedProp = JSON.stringify(prop);
return `\`Reflect.has(${target}, ${stringifiedProp})\`, \`${stringifiedProp} in ${target}\`, or similar`;
}
const wellKnownProperties = new Set([
'hasOwnProperty',
'isPrototypeOf',
'propertyIsEnumerable',
'toString',
'valueOf',
'toLocaleString',
// Promise prototype
'then',
'catch',
'finally',
// React Promise extension
'status',
// 'value',
// 'error',
// React introspection
'displayName',
'_debugInfo',
// Common tested properties
'toJSON',
'$$typeof',
'__esModule'
]); //# sourceMappingURL=reflect-utils.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/request/search-params.browser.dev.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "createRenderSearchParamsFromClient", {
enumerable: true,
get: function() {
return createRenderSearchParamsFromClient;
}
});
const _reflect = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)");
const _reflectutils = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)");
const CachedSearchParams = new WeakMap();
function makeUntrackedSearchParamsWithDevWarnings(underlyingSearchParams) {
const cachedSearchParams = CachedSearchParams.get(underlyingSearchParams);
if (cachedSearchParams) {
return cachedSearchParams;
}
const proxiedProperties = new Set();
const promise = Promise.resolve(underlyingSearchParams);
Object.keys(underlyingSearchParams).forEach((prop)=>{
if (_reflectutils.wellKnownProperties.has(prop)) {
// These properties cannot be shadowed because they need to be the
// true underlying value for Promises to work correctly at runtime
} else {
proxiedProperties.add(prop);
}
});
const proxiedPromise = new Proxy(promise, {
get (target, prop, receiver) {
if (typeof prop === 'string') {
if (!_reflectutils.wellKnownProperties.has(prop) && (proxiedProperties.has(prop) || // We are accessing a property that doesn't exist on the promise nor
// the underlying searchParams.
Reflect.has(target, prop) === false)) {
const expression = (0, _reflectutils.describeStringPropertyAccess)('searchParams', prop);
warnForSyncAccess(expression);
}
}
return _reflect.ReflectAdapter.get(target, prop, receiver);
},
set (target, prop, value, receiver) {
if (typeof prop === 'string') {
proxiedProperties.delete(prop);
}
return Reflect.set(target, prop, value, receiver);
},
has (target, prop) {
if (typeof prop === 'string') {
if (!_reflectutils.wellKnownProperties.has(prop) && (proxiedProperties.has(prop) || // We are accessing a property that doesn't exist on the promise nor
// the underlying searchParams.
Reflect.has(target, prop) === false)) {
const expression = (0, _reflectutils.describeHasCheckingStringProperty)('searchParams', prop);
warnForSyncAccess(expression);
}
}
return Reflect.has(target, prop);
},
ownKeys (target) {
warnForSyncSpread();
return Reflect.ownKeys(target);
}
});
CachedSearchParams.set(underlyingSearchParams, proxiedPromise);
return proxiedPromise;
}
function warnForSyncAccess(expression) {
console.error(`A searchParam property was accessed directly with ${expression}. ` + `\`searchParams\` is a Promise and must be unwrapped with \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`);
}
function warnForSyncSpread() {
console.error(`The keys of \`searchParams\` were accessed directly. ` + `\`searchParams\` is a Promise and must be unwrapped with \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`);
}
function createRenderSearchParamsFromClient(underlyingSearchParams) {
return makeUntrackedSearchParamsWithDevWarnings(underlyingSearchParams);
}
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=search-params.browser.dev.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/request/search-params.browser.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "createRenderSearchParamsFromClient", {
enumerable: true,
get: function() {
return createRenderSearchParamsFromClient;
}
});
const createRenderSearchParamsFromClient = ("TURBOPACK compile-time truthy", 1) ? __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/request/search-params.browser.dev.js [app-client] (ecmascript)").createRenderSearchParamsFromClient : "TURBOPACK unreachable";
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=search-params.browser.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/request/params.browser.dev.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "createRenderParamsFromClient", {
enumerable: true,
get: function() {
return createRenderParamsFromClient;
}
});
const _reflect = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)");
const _reflectutils = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)");
const CachedParams = new WeakMap();
function makeDynamicallyTrackedParamsWithDevWarnings(underlyingParams) {
const cachedParams = CachedParams.get(underlyingParams);
if (cachedParams) {
return cachedParams;
}
// We don't use makeResolvedReactPromise here because params
// supports copying with spread and we don't want to unnecessarily
// instrument the promise with spreadable properties of ReactPromise.
const promise = Promise.resolve(underlyingParams);
const proxiedProperties = new Set();
Object.keys(underlyingParams).forEach((prop)=>{
if (_reflectutils.wellKnownProperties.has(prop)) {
// These properties cannot be shadowed because they need to be the
// true underlying value for Promises to work correctly at runtime
} else {
proxiedProperties.add(prop);
}
});
const proxiedPromise = new Proxy(promise, {
get (target, prop, receiver) {
if (typeof prop === 'string') {
if (proxiedProperties.has(prop)) {
const expression = (0, _reflectutils.describeStringPropertyAccess)('params', prop);
warnForSyncAccess(expression);
}
}
return _reflect.ReflectAdapter.get(target, prop, receiver);
},
set (target, prop, value, receiver) {
if (typeof prop === 'string') {
proxiedProperties.delete(prop);
}
return _reflect.ReflectAdapter.set(target, prop, value, receiver);
},
ownKeys (target) {
warnForEnumeration();
return Reflect.ownKeys(target);
}
});
CachedParams.set(underlyingParams, proxiedPromise);
return proxiedPromise;
}
function warnForSyncAccess(expression) {
console.error(`A param property was accessed directly with ${expression}. ` + `\`params\` is a Promise and must be unwrapped with \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`);
}
function warnForEnumeration() {
console.error(`params are being enumerated. ` + `\`params\` is a Promise and must be unwrapped with \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`);
}
function createRenderParamsFromClient(clientParams) {
return makeDynamicallyTrackedParamsWithDevWarnings(clientParams);
}
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=params.browser.dev.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/request/params.browser.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "createRenderParamsFromClient", {
enumerable: true,
get: function() {
return createRenderParamsFromClient;
}
});
const createRenderParamsFromClient = ("TURBOPACK compile-time truthy", 1) ? __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/request/params.browser.dev.js [app-client] (ecmascript)").createRenderParamsFromClient : "TURBOPACK unreachable";
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=params.browser.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "createDedupedByCallsiteServerErrorLoggerDev", {
enumerable: true,
get: function() {
return createDedupedByCallsiteServerErrorLoggerDev;
}
});
const _react = /*#__PURE__*/ _interop_require_wildcard(__turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"));
function _getRequireWildcardCache(nodeInterop) {
if (typeof WeakMap !== "function") return null;
var cacheBabelInterop = new WeakMap();
var cacheNodeInterop = new WeakMap();
return (_getRequireWildcardCache = function(nodeInterop) {
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
})(nodeInterop);
}
function _interop_require_wildcard(obj, nodeInterop) {
if (!nodeInterop && obj && obj.__esModule) {
return obj;
}
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
return {
default: obj
};
}
var cache = _getRequireWildcardCache(nodeInterop);
if (cache && cache.has(obj)) {
return cache.get(obj);
}
var newObj = {
__proto__: null
};
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
for(var key in obj){
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
if (desc && (desc.get || desc.set)) {
Object.defineProperty(newObj, key, desc);
} else {
newObj[key] = obj[key];
}
}
}
newObj.default = obj;
if (cache) {
cache.set(obj, newObj);
}
return newObj;
}
const errorRef = {
current: null
};
// React.cache is currently only available in canary/experimental React channels.
const cache = typeof _react.cache === 'function' ? _react.cache : (fn)=>fn;
// When Cache Components is enabled, we record these as errors so that they
// are captured by the dev overlay as it's more critical to fix these
// when enabled.
const logErrorOrWarn = ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : console.warn;
// We don't want to dedupe across requests.
// The developer might've just attempted to fix the warning so we should warn again if it still happens.
const flushCurrentErrorIfNew = cache((key)=>{
try {
logErrorOrWarn(errorRef.current);
} finally{
errorRef.current = null;
}
});
function createDedupedByCallsiteServerErrorLoggerDev(getMessage) {
return function logDedupedError(...args) {
const message = getMessage(...args);
if ("TURBOPACK compile-time truthy", 1) {
var _stack;
const callStackFrames = (_stack = new Error().stack) == null ? void 0 : _stack.split('\n');
if (callStackFrames === undefined || callStackFrames.length < 4) {
logErrorOrWarn(message);
} else {
// Error:
// logDedupedError
// asyncApiBeingAccessedSynchronously
// <userland callsite>
// TODO: This breaks if sourcemaps with ignore lists are enabled.
const key = callStackFrames[4];
errorRef.current = message;
flushCurrentErrorIfNew(key);
}
} else //TURBOPACK unreachable
;
};
} //# sourceMappingURL=create-deduped-by-callsite-server-error-logger.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "afterTaskAsyncStorageInstance", {
enumerable: true,
get: function() {
return afterTaskAsyncStorageInstance;
}
});
const _asynclocalstorage = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/async-local-storage.js [app-client] (ecmascript)");
const afterTaskAsyncStorageInstance = (0, _asynclocalstorage.createAsyncLocalStorage)(); //# sourceMappingURL=after-task-async-storage-instance.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/after-task-async-storage.external.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "afterTaskAsyncStorage", {
enumerable: true,
get: function() {
return _aftertaskasyncstorageinstance.afterTaskAsyncStorageInstance;
}
});
const _aftertaskasyncstorageinstance = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js [app-client] (ecmascript)"); //# sourceMappingURL=after-task-async-storage.external.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/request/utils.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
isRequestAPICallableInsideAfter: null,
throwForSearchParamsAccessInUseCache: null,
throwWithStaticGenerationBailoutErrorWithDynamicError: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
isRequestAPICallableInsideAfter: function() {
return isRequestAPICallableInsideAfter;
},
throwForSearchParamsAccessInUseCache: function() {
return throwForSearchParamsAccessInUseCache;
},
throwWithStaticGenerationBailoutErrorWithDynamicError: function() {
return throwWithStaticGenerationBailoutErrorWithDynamicError;
}
});
const _staticgenerationbailout = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/static-generation-bailout.js [app-client] (ecmascript)");
const _aftertaskasyncstorageexternal = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/after-task-async-storage.external.js [app-client] (ecmascript)");
function throwWithStaticGenerationBailoutErrorWithDynamicError(route, expression) {
throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError(`Route ${route} with \`dynamic = "error"\` couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`), "__NEXT_ERROR_CODE", {
value: "E543",
enumerable: false,
configurable: true
});
}
function throwForSearchParamsAccessInUseCache(workStore, constructorOpt) {
const error = Object.defineProperty(new Error(`Route ${workStore.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`), "__NEXT_ERROR_CODE", {
value: "E842",
enumerable: false,
configurable: true
});
Error.captureStackTrace(error, constructorOpt);
workStore.invalidDynamicUsageError ??= error;
throw error;
}
function isRequestAPICallableInsideAfter() {
const afterTaskStore = _aftertaskasyncstorageexternal.afterTaskAsyncStorage.getStore();
return (afterTaskStore == null ? void 0 : afterTaskStore.rootTaskSpawnPhase) === 'action';
} //# sourceMappingURL=utils.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/request/search-params.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
createPrerenderSearchParamsForClientPage: null,
createSearchParamsFromClient: null,
createServerSearchParamsForMetadata: null,
createServerSearchParamsForServerPage: null,
makeErroringSearchParamsForUseCache: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
createPrerenderSearchParamsForClientPage: function() {
return createPrerenderSearchParamsForClientPage;
},
createSearchParamsFromClient: function() {
return createSearchParamsFromClient;
},
createServerSearchParamsForMetadata: function() {
return createServerSearchParamsForMetadata;
},
createServerSearchParamsForServerPage: function() {
return createServerSearchParamsForServerPage;
},
makeErroringSearchParamsForUseCache: function() {
return makeErroringSearchParamsForUseCache;
}
});
const _reflect = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)");
const _dynamicrendering = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-rendering.js [app-client] (ecmascript)");
const _workunitasyncstorageexternal = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js [app-client] (ecmascript)");
const _invarianterror = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/invariant-error.js [app-client] (ecmascript)");
const _dynamicrenderingutils = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/dynamic-rendering-utils.js [app-client] (ecmascript)");
const _creatededupedbycallsiteservererrorlogger = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js [app-client] (ecmascript)");
const _reflectutils = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)");
const _utils = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/request/utils.js [app-client] (ecmascript)");
const _stagedrendering = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/staged-rendering.js [app-client] (ecmascript)");
function createSearchParamsFromClient(underlyingSearchParams, workStore) {
const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
if (workUnitStore) {
switch(workUnitStore.type){
case 'prerender':
case 'prerender-client':
case 'prerender-ppr':
case 'prerender-legacy':
return createStaticPrerenderSearchParams(workStore, workUnitStore);
case 'prerender-runtime':
throw Object.defineProperty(new _invarianterror.InvariantError('createSearchParamsFromClient should not be called in a runtime prerender.'), "__NEXT_ERROR_CODE", {
value: "E769",
enumerable: false,
configurable: true
});
case 'cache':
case 'private-cache':
case 'unstable-cache':
throw Object.defineProperty(new _invarianterror.InvariantError('createSearchParamsFromClient should not be called in cache contexts.'), "__NEXT_ERROR_CODE", {
value: "E739",
enumerable: false,
configurable: true
});
case 'request':
return createRenderSearchParams(underlyingSearchParams, workStore, workUnitStore);
default:
workUnitStore;
}
}
(0, _workunitasyncstorageexternal.throwInvariantForMissingStore)();
}
const createServerSearchParamsForMetadata = createServerSearchParamsForServerPage;
function createServerSearchParamsForServerPage(underlyingSearchParams, workStore) {
const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
if (workUnitStore) {
switch(workUnitStore.type){
case 'prerender':
case 'prerender-client':
case 'prerender-ppr':
case 'prerender-legacy':
return createStaticPrerenderSearchParams(workStore, workUnitStore);
case 'cache':
case 'private-cache':
case 'unstable-cache':
throw Object.defineProperty(new _invarianterror.InvariantError('createServerSearchParamsForServerPage should not be called in cache contexts.'), "__NEXT_ERROR_CODE", {
value: "E747",
enumerable: false,
configurable: true
});
case 'prerender-runtime':
return createRuntimePrerenderSearchParams(underlyingSearchParams, workUnitStore);
case 'request':
return createRenderSearchParams(underlyingSearchParams, workStore, workUnitStore);
default:
workUnitStore;
}
}
(0, _workunitasyncstorageexternal.throwInvariantForMissingStore)();
}
function createPrerenderSearchParamsForClientPage(workStore) {
if (workStore.forceStatic) {
// When using forceStatic we override all other logic and always just return an empty
// dictionary object.
return Promise.resolve({});
}
const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
if (workUnitStore) {
switch(workUnitStore.type){
case 'prerender':
case 'prerender-client':
// We're prerendering in a mode that aborts (cacheComponents) and should stall
// the promise to ensure the RSC side is considered dynamic
return (0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, workStore.route, '`searchParams`');
case 'prerender-runtime':
throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderSearchParamsForClientPage should not be called in a runtime prerender.'), "__NEXT_ERROR_CODE", {
value: "E768",
enumerable: false,
configurable: true
});
case 'cache':
case 'private-cache':
case 'unstable-cache':
throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderSearchParamsForClientPage should not be called in cache contexts.'), "__NEXT_ERROR_CODE", {
value: "E746",
enumerable: false,
configurable: true
});
case 'prerender-ppr':
case 'prerender-legacy':
case 'request':
return Promise.resolve({});
default:
workUnitStore;
}
}
(0, _workunitasyncstorageexternal.throwInvariantForMissingStore)();
}
function createStaticPrerenderSearchParams(workStore, prerenderStore) {
if (workStore.forceStatic) {
// When using forceStatic we override all other logic and always just return an empty
// dictionary object.
return Promise.resolve({});
}
switch(prerenderStore.type){
case 'prerender':
case 'prerender-client':
// We are in a cacheComponents (PPR or otherwise) prerender
return makeHangingSearchParams(workStore, prerenderStore);
case 'prerender-ppr':
case 'prerender-legacy':
// We are in a legacy static generation and need to interrupt the
// prerender when search params are accessed.
return makeErroringSearchParams(workStore, prerenderStore);
default:
return prerenderStore;
}
}
function createRuntimePrerenderSearchParams(underlyingSearchParams, workUnitStore) {
return (0, _dynamicrendering.delayUntilRuntimeStage)(workUnitStore, makeUntrackedSearchParams(underlyingSearchParams));
}
function createRenderSearchParams(underlyingSearchParams, workStore, requestStore) {
if (workStore.forceStatic) {
// When using forceStatic we override all other logic and always just return an empty
// dictionary object.
return Promise.resolve({});
} else {
if ("TURBOPACK compile-time truthy", 1) {
// Semantically we only need the dev tracking when running in `next dev`
// but since you would never use next dev with production NODE_ENV we use this
// as a proxy so we can statically exclude this code from production builds.
return makeUntrackedSearchParamsWithDevWarnings(underlyingSearchParams, workStore, requestStore);
} else //TURBOPACK unreachable
;
}
}
const CachedSearchParams = new WeakMap();
const CachedSearchParamsForUseCache = new WeakMap();
function makeHangingSearchParams(workStore, prerenderStore) {
const cachedSearchParams = CachedSearchParams.get(prerenderStore);
if (cachedSearchParams) {
return cachedSearchParams;
}
const promise = (0, _dynamicrenderingutils.makeHangingPromise)(prerenderStore.renderSignal, workStore.route, '`searchParams`');
const proxiedPromise = new Proxy(promise, {
get (target, prop, receiver) {
if (Object.hasOwn(promise, prop)) {
// The promise has this property directly. we must return it.
// We know it isn't a dynamic access because it can only be something
// that was previously written to the promise and thus not an underlying searchParam value
return _reflect.ReflectAdapter.get(target, prop, receiver);
}
switch(prop){
case 'then':
{
const expression = '`await searchParams`, `searchParams.then`, or similar';
(0, _dynamicrendering.annotateDynamicAccess)(expression, prerenderStore);
return _reflect.ReflectAdapter.get(target, prop, receiver);
}
case 'status':
{
const expression = '`use(searchParams)`, `searchParams.status`, or similar';
(0, _dynamicrendering.annotateDynamicAccess)(expression, prerenderStore);
return _reflect.ReflectAdapter.get(target, prop, receiver);
}
default:
{
return _reflect.ReflectAdapter.get(target, prop, receiver);
}
}
}
});
CachedSearchParams.set(prerenderStore, proxiedPromise);
return proxiedPromise;
}
function makeErroringSearchParams(workStore, prerenderStore) {
const cachedSearchParams = CachedSearchParams.get(workStore);
if (cachedSearchParams) {
return cachedSearchParams;
}
const underlyingSearchParams = {};
// For search params we don't construct a ReactPromise because we want to interrupt
// rendering on any property access that was not set from outside and so we only want
// to have properties like value and status if React sets them.
const promise = Promise.resolve(underlyingSearchParams);
const proxiedPromise = new Proxy(promise, {
get (target, prop, receiver) {
if (Object.hasOwn(promise, prop)) {
// The promise has this property directly. we must return it.
// We know it isn't a dynamic access because it can only be something
// that was previously written to the promise and thus not an underlying searchParam value
return _reflect.ReflectAdapter.get(target, prop, receiver);
}
if (typeof prop === 'string' && prop === 'then') {
const expression = '`await searchParams`, `searchParams.then`, or similar';
if (workStore.dynamicShouldError) {
(0, _utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route, expression);
} else if (prerenderStore.type === 'prerender-ppr') {
// PPR Prerender (no cacheComponents)
(0, _dynamicrendering.postponeWithTracking)(workStore.route, expression, prerenderStore.dynamicTracking);
} else {
// Legacy Prerender
(0, _dynamicrendering.throwToInterruptStaticGeneration)(expression, workStore, prerenderStore);
}
}
return _reflect.ReflectAdapter.get(target, prop, receiver);
}
});
CachedSearchParams.set(workStore, proxiedPromise);
return proxiedPromise;
}
function makeErroringSearchParamsForUseCache(workStore) {
const cachedSearchParams = CachedSearchParamsForUseCache.get(workStore);
if (cachedSearchParams) {
return cachedSearchParams;
}
const promise = Promise.resolve({});
const proxiedPromise = new Proxy(promise, {
get: function get(target, prop, receiver) {
if (Object.hasOwn(promise, prop)) {
// The promise has this property directly. we must return it. We know it
// isn't a dynamic access because it can only be something that was
// previously written to the promise and thus not an underlying
// searchParam value
return _reflect.ReflectAdapter.get(target, prop, receiver);
}
if (typeof prop === 'string' && (prop === 'then' || !_reflectutils.wellKnownProperties.has(prop))) {
(0, _utils.throwForSearchParamsAccessInUseCache)(workStore, get);
}
return _reflect.ReflectAdapter.get(target, prop, receiver);
}
});
CachedSearchParamsForUseCache.set(workStore, proxiedPromise);
return proxiedPromise;
}
function makeUntrackedSearchParams(underlyingSearchParams) {
const cachedSearchParams = CachedSearchParams.get(underlyingSearchParams);
if (cachedSearchParams) {
return cachedSearchParams;
}
const promise = Promise.resolve(underlyingSearchParams);
CachedSearchParams.set(underlyingSearchParams, promise);
return promise;
}
function makeUntrackedSearchParamsWithDevWarnings(underlyingSearchParams, workStore, requestStore) {
if (requestStore.asyncApiPromises) {
// Do not cache the resulting promise. If we do, we'll only show the first "awaited at"
// across all segments that receive searchParams.
return makeUntrackedSearchParamsWithDevWarningsImpl(underlyingSearchParams, workStore, requestStore);
} else {
const cachedSearchParams = CachedSearchParams.get(underlyingSearchParams);
if (cachedSearchParams) {
return cachedSearchParams;
}
const promise = makeUntrackedSearchParamsWithDevWarningsImpl(underlyingSearchParams, workStore, requestStore);
CachedSearchParams.set(requestStore, promise);
return promise;
}
}
function makeUntrackedSearchParamsWithDevWarningsImpl(underlyingSearchParams, workStore, requestStore) {
const promiseInitialized = {
current: false
};
const proxiedUnderlying = instrumentSearchParamsObjectWithDevWarnings(underlyingSearchParams, workStore, promiseInitialized);
let promise;
if (requestStore.asyncApiPromises) {
// We wrap each instance of searchParams in a `new Promise()`.
// This is important when all awaits are in third party which would otherwise
// track all the way to the internal params.
const sharedSearchParamsParent = requestStore.asyncApiPromises.sharedSearchParamsParent;
promise = new Promise((resolve, reject)=>{
sharedSearchParamsParent.then(()=>resolve(proxiedUnderlying), reject);
});
// @ts-expect-error
promise.displayName = 'searchParams';
} else {
promise = (0, _dynamicrenderingutils.makeDevtoolsIOAwarePromise)(proxiedUnderlying, requestStore, _stagedrendering.RenderStage.Runtime);
}
promise.then(()=>{
promiseInitialized.current = true;
}, // is aborted before it can reach the runtime stage.
// In that case, we have to prevent an unhandled rejection from the promise
// created by this `.then()` call.
// This does not affect the `promiseInitialized` logic above,
// because `proxiedUnderlying` will not be used to resolve the promise,
// so there's no risk of any of its properties being accessed and triggering
// an undesireable warning.
ignoreReject);
return instrumentSearchParamsPromiseWithDevWarnings(underlyingSearchParams, promise, workStore);
}
function ignoreReject() {}
function instrumentSearchParamsObjectWithDevWarnings(underlyingSearchParams, workStore, promiseInitialized) {
// We have an unfortunate sequence of events that requires this initialization logic. We want to instrument the underlying
// searchParams object to detect if you are accessing values in dev. This is used for warnings and for things like the static prerender
// indicator. However when we pass this proxy to our Promise.resolve() below the VM checks if the resolved value is a promise by looking
// at the `.then` property. To our dynamic tracking logic this is indistinguishable from a `then` searchParam and so we would normally trigger
// dynamic tracking. However we know that this .then is not real dynamic access, it's just how thenables resolve in sequence. So we introduce
// this initialization concept so we omit the dynamic check until after we've constructed our resolved promise.
return new Proxy(underlyingSearchParams, {
get (target, prop, receiver) {
if (typeof prop === 'string' && promiseInitialized.current) {
if (workStore.dynamicShouldError) {
const expression = (0, _reflectutils.describeStringPropertyAccess)('searchParams', prop);
(0, _utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route, expression);
}
}
return _reflect.ReflectAdapter.get(target, prop, receiver);
},
has (target, prop) {
if (typeof prop === 'string') {
if (workStore.dynamicShouldError) {
const expression = (0, _reflectutils.describeHasCheckingStringProperty)('searchParams', prop);
(0, _utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route, expression);
}
}
return Reflect.has(target, prop);
},
ownKeys (target) {
if (workStore.dynamicShouldError) {
const expression = '`{...searchParams}`, `Object.keys(searchParams)`, or similar';
(0, _utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route, expression);
}
return Reflect.ownKeys(target);
}
});
}
function instrumentSearchParamsPromiseWithDevWarnings(underlyingSearchParams, promise, workStore) {
// Track which properties we should warn for.
const proxiedProperties = new Set();
Object.keys(underlyingSearchParams).forEach((prop)=>{
if (_reflectutils.wellKnownProperties.has(prop)) {
// These properties cannot be shadowed because they need to be the
// true underlying value for Promises to work correctly at runtime
} else {
proxiedProperties.add(prop);
}
});
return new Proxy(promise, {
get (target, prop, receiver) {
if (prop === 'then' && workStore.dynamicShouldError) {
const expression = '`searchParams.then`';
(0, _utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route, expression);
}
if (typeof prop === 'string') {
if (!_reflectutils.wellKnownProperties.has(prop) && (proxiedProperties.has(prop) || // We are accessing a property that doesn't exist on the promise nor
// the underlying searchParams.
Reflect.has(target, prop) === false)) {
const expression = (0, _reflectutils.describeStringPropertyAccess)('searchParams', prop);
warnForSyncAccess(workStore.route, expression);
}
}
return _reflect.ReflectAdapter.get(target, prop, receiver);
},
set (target, prop, value, receiver) {
if (typeof prop === 'string') {
proxiedProperties.delete(prop);
}
return Reflect.set(target, prop, value, receiver);
},
has (target, prop) {
if (typeof prop === 'string') {
if (!_reflectutils.wellKnownProperties.has(prop) && (proxiedProperties.has(prop) || // We are accessing a property that doesn't exist on the promise nor
// the underlying searchParams.
Reflect.has(target, prop) === false)) {
const expression = (0, _reflectutils.describeHasCheckingStringProperty)('searchParams', prop);
warnForSyncAccess(workStore.route, expression);
}
}
return Reflect.has(target, prop);
},
ownKeys (target) {
const expression = '`Object.keys(searchParams)` or similar';
warnForSyncAccess(workStore.route, expression);
return Reflect.ownKeys(target);
}
});
}
const warnForSyncAccess = (0, _creatededupedbycallsiteservererrorlogger.createDedupedByCallsiteServerErrorLoggerDev)(createSearchAccessError);
function createSearchAccessError(route, expression) {
const prefix = route ? `Route "${route}" ` : 'This route ';
return Object.defineProperty(new Error(`${prefix}used ${expression}. ` + `\`searchParams\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`), "__NEXT_ERROR_CODE", {
value: "E848",
enumerable: false,
configurable: true
});
} //# sourceMappingURL=search-params.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "dynamicAccessAsyncStorageInstance", {
enumerable: true,
get: function() {
return dynamicAccessAsyncStorageInstance;
}
});
const _asynclocalstorage = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/async-local-storage.js [app-client] (ecmascript)");
const dynamicAccessAsyncStorageInstance = (0, _asynclocalstorage.createAsyncLocalStorage)(); //# sourceMappingURL=dynamic-access-async-storage-instance.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "dynamicAccessAsyncStorage", {
enumerable: true,
get: function() {
return _dynamicaccessasyncstorageinstance.dynamicAccessAsyncStorageInstance;
}
});
const _dynamicaccessasyncstorageinstance = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js [app-client] (ecmascript)"); //# sourceMappingURL=dynamic-access-async-storage.external.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/request/params.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
createParamsFromClient: null,
createPrerenderParamsForClientSegment: null,
createServerParamsForMetadata: null,
createServerParamsForRoute: null,
createServerParamsForServerSegment: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
createParamsFromClient: function() {
return createParamsFromClient;
},
createPrerenderParamsForClientSegment: function() {
return createPrerenderParamsForClientSegment;
},
createServerParamsForMetadata: function() {
return createServerParamsForMetadata;
},
createServerParamsForRoute: function() {
return createServerParamsForRoute;
},
createServerParamsForServerSegment: function() {
return createServerParamsForServerSegment;
}
});
const _workasyncstorageexternal = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-async-storage.external.js [app-client] (ecmascript)");
const _reflect = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)");
const _dynamicrendering = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-rendering.js [app-client] (ecmascript)");
const _workunitasyncstorageexternal = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js [app-client] (ecmascript)");
const _invarianterror = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/invariant-error.js [app-client] (ecmascript)");
const _reflectutils = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)");
const _dynamicrenderingutils = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/dynamic-rendering-utils.js [app-client] (ecmascript)");
const _creatededupedbycallsiteservererrorlogger = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js [app-client] (ecmascript)");
const _dynamicaccessasyncstorageexternal = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js [app-client] (ecmascript)");
const _stagedrendering = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/staged-rendering.js [app-client] (ecmascript)");
function createParamsFromClient(underlyingParams, workStore) {
const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
if (workUnitStore) {
switch(workUnitStore.type){
case 'prerender':
case 'prerender-client':
case 'prerender-ppr':
case 'prerender-legacy':
return createStaticPrerenderParams(underlyingParams, workStore, workUnitStore);
case 'cache':
case 'private-cache':
case 'unstable-cache':
throw Object.defineProperty(new _invarianterror.InvariantError('createParamsFromClient should not be called in cache contexts.'), "__NEXT_ERROR_CODE", {
value: "E736",
enumerable: false,
configurable: true
});
case 'prerender-runtime':
throw Object.defineProperty(new _invarianterror.InvariantError('createParamsFromClient should not be called in a runtime prerender.'), "__NEXT_ERROR_CODE", {
value: "E770",
enumerable: false,
configurable: true
});
case 'request':
if ("TURBOPACK compile-time truthy", 1) {
// Semantically we only need the dev tracking when running in `next dev`
// but since you would never use next dev with production NODE_ENV we use this
// as a proxy so we can statically exclude this code from production builds.
const devFallbackParams = workUnitStore.devFallbackParams;
return createRenderParamsInDev(underlyingParams, devFallbackParams, workStore, workUnitStore);
} else //TURBOPACK unreachable
;
default:
workUnitStore;
}
}
(0, _workunitasyncstorageexternal.throwInvariantForMissingStore)();
}
const createServerParamsForMetadata = createServerParamsForServerSegment;
function createServerParamsForRoute(underlyingParams, workStore) {
const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
if (workUnitStore) {
switch(workUnitStore.type){
case 'prerender':
case 'prerender-client':
case 'prerender-ppr':
case 'prerender-legacy':
return createStaticPrerenderParams(underlyingParams, workStore, workUnitStore);
case 'cache':
case 'private-cache':
case 'unstable-cache':
throw Object.defineProperty(new _invarianterror.InvariantError('createServerParamsForRoute should not be called in cache contexts.'), "__NEXT_ERROR_CODE", {
value: "E738",
enumerable: false,
configurable: true
});
case 'prerender-runtime':
return createRuntimePrerenderParams(underlyingParams, workUnitStore);
case 'request':
if ("TURBOPACK compile-time truthy", 1) {
// Semantically we only need the dev tracking when running in `next dev`
// but since you would never use next dev with production NODE_ENV we use this
// as a proxy so we can statically exclude this code from production builds.
const devFallbackParams = workUnitStore.devFallbackParams;
return createRenderParamsInDev(underlyingParams, devFallbackParams, workStore, workUnitStore);
} else //TURBOPACK unreachable
;
default:
workUnitStore;
}
}
(0, _workunitasyncstorageexternal.throwInvariantForMissingStore)();
}
function createServerParamsForServerSegment(underlyingParams, workStore) {
const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
if (workUnitStore) {
switch(workUnitStore.type){
case 'prerender':
case 'prerender-client':
case 'prerender-ppr':
case 'prerender-legacy':
return createStaticPrerenderParams(underlyingParams, workStore, workUnitStore);
case 'cache':
case 'private-cache':
case 'unstable-cache':
throw Object.defineProperty(new _invarianterror.InvariantError('createServerParamsForServerSegment should not be called in cache contexts.'), "__NEXT_ERROR_CODE", {
value: "E743",
enumerable: false,
configurable: true
});
case 'prerender-runtime':
return createRuntimePrerenderParams(underlyingParams, workUnitStore);
case 'request':
if ("TURBOPACK compile-time truthy", 1) {
// Semantically we only need the dev tracking when running in `next dev`
// but since you would never use next dev with production NODE_ENV we use this
// as a proxy so we can statically exclude this code from production builds.
const devFallbackParams = workUnitStore.devFallbackParams;
return createRenderParamsInDev(underlyingParams, devFallbackParams, workStore, workUnitStore);
} else //TURBOPACK unreachable
;
default:
workUnitStore;
}
}
(0, _workunitasyncstorageexternal.throwInvariantForMissingStore)();
}
function createPrerenderParamsForClientSegment(underlyingParams) {
const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
if (!workStore) {
throw Object.defineProperty(new _invarianterror.InvariantError('Missing workStore in createPrerenderParamsForClientSegment'), "__NEXT_ERROR_CODE", {
value: "E773",
enumerable: false,
configurable: true
});
}
const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
if (workUnitStore) {
switch(workUnitStore.type){
case 'prerender':
case 'prerender-client':
const fallbackParams = workUnitStore.fallbackRouteParams;
if (fallbackParams) {
for(let key in underlyingParams){
if (fallbackParams.has(key)) {
// This params object has one or more fallback params, so we need
// to consider the awaiting of this params object "dynamic". Since
// we are in cacheComponents mode we encode this as a promise that never
// resolves.
return (0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, workStore.route, '`params`');
}
}
}
break;
case 'cache':
case 'private-cache':
case 'unstable-cache':
throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderParamsForClientSegment should not be called in cache contexts.'), "__NEXT_ERROR_CODE", {
value: "E734",
enumerable: false,
configurable: true
});
case 'prerender-ppr':
case 'prerender-legacy':
case 'prerender-runtime':
case 'request':
break;
default:
workUnitStore;
}
}
// We're prerendering in a mode that does not abort. We resolve the promise without
// any tracking because we're just transporting a value from server to client where the tracking
// will be applied.
return Promise.resolve(underlyingParams);
}
function createStaticPrerenderParams(underlyingParams, workStore, prerenderStore) {
switch(prerenderStore.type){
case 'prerender':
case 'prerender-client':
{
const fallbackParams = prerenderStore.fallbackRouteParams;
if (fallbackParams) {
for(const key in underlyingParams){
if (fallbackParams.has(key)) {
// This params object has one or more fallback params, so we need
// to consider the awaiting of this params object "dynamic". Since
// we are in cacheComponents mode we encode this as a promise that never
// resolves.
return makeHangingParams(underlyingParams, workStore, prerenderStore);
}
}
}
break;
}
case 'prerender-ppr':
{
const fallbackParams = prerenderStore.fallbackRouteParams;
if (fallbackParams) {
for(const key in underlyingParams){
if (fallbackParams.has(key)) {
return makeErroringParams(underlyingParams, fallbackParams, workStore, prerenderStore);
}
}
}
break;
}
case 'prerender-legacy':
break;
default:
prerenderStore;
}
return makeUntrackedParams(underlyingParams);
}
function createRuntimePrerenderParams(underlyingParams, workUnitStore) {
return (0, _dynamicrendering.delayUntilRuntimeStage)(workUnitStore, makeUntrackedParams(underlyingParams));
}
function createRenderParamsInProd(underlyingParams) {
return makeUntrackedParams(underlyingParams);
}
function createRenderParamsInDev(underlyingParams, devFallbackParams, workStore, requestStore) {
let hasFallbackParams = false;
if (devFallbackParams) {
for(let key in underlyingParams){
if (devFallbackParams.has(key)) {
hasFallbackParams = true;
break;
}
}
}
return makeDynamicallyTrackedParamsWithDevWarnings(underlyingParams, hasFallbackParams, workStore, requestStore);
}
const CachedParams = new WeakMap();
const fallbackParamsProxyHandler = {
get: function get(target, prop, receiver) {
if (prop === 'then' || prop === 'catch' || prop === 'finally') {
const originalMethod = _reflect.ReflectAdapter.get(target, prop, receiver);
return ({
[prop]: (...args)=>{
const store = _dynamicaccessasyncstorageexternal.dynamicAccessAsyncStorage.getStore();
if (store) {
store.abortController.abort(Object.defineProperty(new Error(`Accessed fallback \`params\` during prerendering.`), "__NEXT_ERROR_CODE", {
value: "E691",
enumerable: false,
configurable: true
}));
}
return new Proxy(originalMethod.apply(target, args), fallbackParamsProxyHandler);
}
})[prop];
}
return _reflect.ReflectAdapter.get(target, prop, receiver);
}
};
function makeHangingParams(underlyingParams, workStore, prerenderStore) {
const cachedParams = CachedParams.get(underlyingParams);
if (cachedParams) {
return cachedParams;
}
const promise = new Proxy((0, _dynamicrenderingutils.makeHangingPromise)(prerenderStore.renderSignal, workStore.route, '`params`'), fallbackParamsProxyHandler);
CachedParams.set(underlyingParams, promise);
return promise;
}
function makeErroringParams(underlyingParams, fallbackParams, workStore, prerenderStore) {
const cachedParams = CachedParams.get(underlyingParams);
if (cachedParams) {
return cachedParams;
}
const augmentedUnderlying = {
...underlyingParams
};
// We don't use makeResolvedReactPromise here because params
// supports copying with spread and we don't want to unnecessarily
// instrument the promise with spreadable properties of ReactPromise.
const promise = Promise.resolve(augmentedUnderlying);
CachedParams.set(underlyingParams, promise);
Object.keys(underlyingParams).forEach((prop)=>{
if (_reflectutils.wellKnownProperties.has(prop)) {
// These properties cannot be shadowed because they need to be the
// true underlying value for Promises to work correctly at runtime
} else {
if (fallbackParams.has(prop)) {
Object.defineProperty(augmentedUnderlying, prop, {
get () {
const expression = (0, _reflectutils.describeStringPropertyAccess)('params', prop);
// In most dynamic APIs we also throw if `dynamic = "error"` however
// for params is only dynamic when we're generating a fallback shell
// and even when `dynamic = "error"` we still support generating dynamic
// fallback shells
// TODO remove this comment when cacheComponents is the default since there
// will be no `dynamic = "error"`
if (prerenderStore.type === 'prerender-ppr') {
// PPR Prerender (no cacheComponents)
(0, _dynamicrendering.postponeWithTracking)(workStore.route, expression, prerenderStore.dynamicTracking);
} else {
// Legacy Prerender
(0, _dynamicrendering.throwToInterruptStaticGeneration)(expression, workStore, prerenderStore);
}
},
enumerable: true
});
}
}
});
return promise;
}
function makeUntrackedParams(underlyingParams) {
const cachedParams = CachedParams.get(underlyingParams);
if (cachedParams) {
return cachedParams;
}
const promise = Promise.resolve(underlyingParams);
CachedParams.set(underlyingParams, promise);
return promise;
}
function makeDynamicallyTrackedParamsWithDevWarnings(underlyingParams, hasFallbackParams, workStore, requestStore) {
if (requestStore.asyncApiPromises && hasFallbackParams) {
// We wrap each instance of params in a `new Promise()`, because deduping
// them across requests doesn't work anyway and this let us show each
// await a different set of values. This is important when all awaits
// are in third party which would otherwise track all the way to the
// internal params.
const sharedParamsParent = requestStore.asyncApiPromises.sharedParamsParent;
const promise = new Promise((resolve, reject)=>{
sharedParamsParent.then(()=>resolve(underlyingParams), reject);
});
// @ts-expect-error
promise.displayName = 'params';
return instrumentParamsPromiseWithDevWarnings(underlyingParams, promise, workStore);
}
const cachedParams = CachedParams.get(underlyingParams);
if (cachedParams) {
return cachedParams;
}
// We don't use makeResolvedReactPromise here because params
// supports copying with spread and we don't want to unnecessarily
// instrument the promise with spreadable properties of ReactPromise.
const promise = hasFallbackParams ? (0, _dynamicrenderingutils.makeDevtoolsIOAwarePromise)(underlyingParams, requestStore, _stagedrendering.RenderStage.Runtime) : Promise.resolve(underlyingParams);
const proxiedPromise = instrumentParamsPromiseWithDevWarnings(underlyingParams, promise, workStore);
CachedParams.set(underlyingParams, proxiedPromise);
return proxiedPromise;
}
function instrumentParamsPromiseWithDevWarnings(underlyingParams, promise, workStore) {
// Track which properties we should warn for.
const proxiedProperties = new Set();
Object.keys(underlyingParams).forEach((prop)=>{
if (_reflectutils.wellKnownProperties.has(prop)) {
// These properties cannot be shadowed because they need to be the
// true underlying value for Promises to work correctly at runtime
} else {
proxiedProperties.add(prop);
}
});
return new Proxy(promise, {
get (target, prop, receiver) {
if (typeof prop === 'string') {
if (proxiedProperties.has(prop)) {
const expression = (0, _reflectutils.describeStringPropertyAccess)('params', prop);
warnForSyncAccess(workStore.route, expression);
}
}
return _reflect.ReflectAdapter.get(target, prop, receiver);
},
set (target, prop, value, receiver) {
if (typeof prop === 'string') {
proxiedProperties.delete(prop);
}
return _reflect.ReflectAdapter.set(target, prop, value, receiver);
},
ownKeys (target) {
const expression = '`...params` or similar expression';
warnForSyncAccess(workStore.route, expression);
return Reflect.ownKeys(target);
}
});
}
const warnForSyncAccess = (0, _creatededupedbycallsiteservererrorlogger.createDedupedByCallsiteServerErrorLoggerDev)(createParamsAccessError);
function createParamsAccessError(route, expression) {
const prefix = route ? `Route "${route}" ` : 'This route ';
return Object.defineProperty(new Error(`${prefix}used ${expression}. ` + `\`params\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`), "__NEXT_ERROR_CODE", {
value: "E834",
enumerable: false,
configurable: true
});
} //# sourceMappingURL=params.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/client-page.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "ClientPageRoot", {
enumerable: true,
get: function() {
return ClientPageRoot;
}
});
const _jsxruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
const _invarianterror = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/invariant-error.js [app-client] (ecmascript)");
const _approutercontextsharedruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js [app-client] (ecmascript)");
const _react = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
const _routeparams = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/route-params.js [app-client] (ecmascript)");
const _hooksclientcontextsharedruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js [app-client] (ecmascript)");
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 } = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-async-storage.external.js [app-client] (ecmascript)");
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 } = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/request/search-params.js [app-client] (ecmascript)");
clientSearchParams = createSearchParamsFromClient(searchParams, store);
const { createParamsFromClient } = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/request/params.js [app-client] (ecmascript)");
clientParams = createParamsFromClient(params, store);
return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {
params: clientParams,
searchParams: clientSearchParams
});
} else {
const { createRenderSearchParamsFromClient } = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/request/search-params.browser.js [app-client] (ecmascript)");
const clientSearchParams = createRenderSearchParamsFromClient(searchParams);
const { createRenderParamsFromClient } = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/request/params.browser.js [app-client] (ecmascript)");
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
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/client-segment.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "ClientSegmentRoot", {
enumerable: true,
get: function() {
return ClientSegmentRoot;
}
});
const _jsxruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
const _invarianterror = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/invariant-error.js [app-client] (ecmascript)");
const _approutercontextsharedruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js [app-client] (ecmascript)");
const _react = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
function ClientSegmentRoot({ Component, slots, serverProvidedParams }) {
let params;
if (serverProvidedParams !== null) {
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 : {};
}
if (typeof window === 'undefined') {
const { workAsyncStorage } = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-async-storage.external.js [app-client] (ecmascript)");
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 params in a client segment such as a Layout or Template.'), "__NEXT_ERROR_CODE", {
value: "E600",
enumerable: false,
configurable: true
});
}
const { createParamsFromClient } = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/request/params.js [app-client] (ecmascript)");
clientParams = createParamsFromClient(params, store);
return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {
...slots,
params: clientParams
});
} else {
const { createRenderParamsFromClient } = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/request/params.browser.js [app-client] (ecmascript)");
const clientParams = createRenderParamsFromClient(params);
return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {
...slots,
params: clientParams
});
}
}
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-segment.js.map
}),
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/metadata/generate/icon-mark.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "IconMark", {
enumerable: true,
get: function() {
return IconMark;
}
});
const _jsxruntime = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
const IconMark = ()=>{
if (typeof window !== 'undefined') {
return null;
}
return /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", {
name: "\xabnxt-icon\xbb"
});
}; //# sourceMappingURL=icon-mark.js.map
}),
]);
//# sourceMappingURL=a0629__pnpm_398c3dda._.js.map